About this documentation#
Welcome to the official API reference documentation for Node.js!
Node.js is a JavaScript runtime built on theV8 JavaScript engine.
Contributing#
Report errors in this documentation inthe issue tracker. Seethe contributing guide for directions on how to submit pull requests.
Stability index#
Throughout the documentation are indications of a section's stability. Some APIsare so proven and so relied upon that they are unlikely to ever change at all.Others are brand new and experimental, or known to be hazardous.
The stability indexes are as follows:
Experimental features are subdivided into stages:
- 1.0 - Early development. Experimental features at this stage are unfinishedand subject to substantial change.
- 1.1 - Active development. Experimental features at this stage are nearingminimum viability.
- 1.2 - Release candidate. Experimental features at this stage are hopefullyready to become stable. No further breaking changes are anticipated but maystill occur in response to user feedback. We encourage user testing andfeedback so that we can know that this feature is ready to be marked asstable.
Experimental features leave the experimental status typically either bygraduating to stable, or are removed without a deprecation cycle.
Features are marked as legacy rather than being deprecated if their use does noharm, and they are widely relied upon within the npm ecosystem. Bugs found inlegacy features are unlikely to be fixed.
Use caution when making use of Experimental features, particularly whenauthoring libraries. Users may not be aware that experimental features are beingused. Bugs or behavior changes may surprise users when Experimental APImodifications occur. To avoid surprises, use of an Experimental feature may needa command-line flag. Experimental features may also emit awarning.
Stability overview#
API | Stability |
---|---|
Assert | (2) Stable |
Async hooks | (1) Experimental |
Asynchronous context tracking | (2) Stable |
Buffer | (2) Stable |
Child process | (2) Stable |
Cluster | (2) Stable |
Console | (2) Stable |
Crypto | (2) Stable |
Diagnostics Channel | (2) Stable |
DNS | (2) Stable |
Domain | (0) Deprecated |
File system | (2) Stable |
HTTP | (2) Stable |
HTTP/2 | (2) Stable |
HTTPS | (2) Stable |
Inspector | (2) Stable |
Modules:node:module API | (1) .2 - Release candidate (asynchronous version) Stability: 1.1 - Active development (synchronous version) |
Modules: CommonJS modules | (2) Stable |
Modules: TypeScript | (1) .2 - Release candidate |
OS | (2) Stable |
Path | (2) Stable |
Performance measurement APIs | (2) Stable |
Punycode | (0) Deprecated |
Query string | (2) Stable |
Readline | (2) Stable |
REPL | (2) Stable |
Single executable applications | (1) .1 - Active development |
SQLite | (1) .1 - Active development. |
Stream | (2) Stable |
String decoder | (2) Stable |
Test runner | (2) Stable |
Timers | (2) Stable |
TLS (SSL) | (2) Stable |
Trace events | (1) Experimental |
TTY | (2) Stable |
UDP/datagram sockets | (2) Stable |
URL | (2) Stable |
Util | (2) Stable |
VM (executing JavaScript) | (2) Stable |
Web Crypto API | (2) Stable |
Web Streams API | (2) Stable |
WebAssembly System Interface (WASI) | (1) Experimental |
Worker threads | (2) Stable |
Zlib | (2) Stable |
JSON output#
Every.html
document has a corresponding.json
document. This is for IDEsand other utilities that consume the documentation.
System calls and man pages#
Node.js functions which wrap a system call will document that. The docs linkto the corresponding man pages which describe how the system call works.
Most Unix system calls have Windows analogues. Still, behavior differences maybe unavoidable.