Open-Source Wikis

/

Node.js

/

Node.js

nodejs/node

Node.js

Node.js is an open-source, cross-platform JavaScript runtime built on top of Google's V8 engine, libuv, and a collection of native libraries vendored under deps/. The repository at nodejs/node produces the node binary, the npm/corepack shipped with it, and the public API surface documented at https://nodejs.org/api/.

The project is governed by an open governance model under the OpenJS Foundation, with a Technical Steering Committee defined in GOVERNANCE.md and dozens of working groups whose ownership is encoded in .github/CODEOWNERS.

What is in this repository

The repository contains every layer of the runtime:

Layer Where Language
Public JS API surface lib/*.js JavaScript
JS internals lib/internal/** JavaScript
C++ runtime src/** C++ (with -inl.h inline headers)
Native bindings src/node_*.cc, src/*_wrap.cc C++ ↔ V8
Vendored dependencies deps/** C, C++, Rust, JS
Build system *.gyp*, configure.py Python + GYP
Tests test/** JavaScript + C++ (cctest)
Documentation doc/api/** Markdown (custom doctool)
Tooling tools/** Python, JS, Shell

How the wiki is organized

  • Overview › Architecture — how the V8 engine, libuv event loop, C++ host and JavaScript modules fit together.
  • Overview › Getting started — how to clone, build, and run Node.js from source.
  • Overview › Glossary — the terms used throughout the codebase, mirrored from glossary.md and expanded with internal vocabulary.
  • By the numbers — quantitative snapshot of the codebase.
  • Lore — major eras of the project, from the 2009 origin to the current LTS cadence.
  • Fun facts — the things you only learn after git blame-ing for a while.
  • How to contribute — the workflow Collaborators actually follow.
  • Systems — internal subsystems: bootstrap, modules, streams, errors, fs, crypto, http(s), workers, and so on.
  • PrimitivesEnvironment, Realm, BaseObject, AsyncWrap, BindingData, snapshots — the building blocks that every subsystem uses.
  • Vendored deps and build — V8, libuv, OpenSSL/ncrypto, llhttp, ngtcp2, undici, ada, simdjson, ICU, npm, etc.
  • API surface — orientation in doc/api/ and how generated docs map to source.
  • Reference — configuration, exit codes, build flags, and dependency catalog.
  • Maintainers — the CODEOWNERS team-to-subsystem map.

Reading order suggestions

Where the binary's entry point lives

The C++ entry point is src/node_main.ccnode::Start() in src/node.cc. From there control flows through node::InitializeOncePerProcess, NodeMainInstance::Run, into Realm::BootstrapRealm(), which compiles and runs lib/internal/bootstrap/realm.js and then lib/internal/bootstrap/node.js. After bootstrap a "main script" is selected from lib/internal/main/ (e.g. run_main_module.js, repl.js, eval_string.js, worker_thread.js) and executed. The detailed flow is in Architecture and systems › bootstrap-and-startup.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Node.js – Node.js wiki | Factory