2012-02-27 20:06:14 +01:00
|
|
|
# About this Documentation
|
|
|
|
|
|
|
|
<!-- type=misc -->
|
|
|
|
|
2015-08-13 18:14:34 +02:00
|
|
|
The goal of this documentation is to comprehensively explain the Node.js
|
2012-02-27 20:06:14 +01:00
|
|
|
API, both from a reference as well as a conceptual point of view. Each
|
|
|
|
section describes a built-in module or high-level concept.
|
|
|
|
|
|
|
|
Where appropriate, property types, method arguments, and the arguments
|
|
|
|
provided to event handlers are detailed in a list underneath the topic
|
|
|
|
heading.
|
|
|
|
|
|
|
|
Every `.html` document has a corresponding `.json` document presenting
|
|
|
|
the same information in a structured manner. This feature is
|
|
|
|
experimental, and added for the benefit of IDEs and other utilities that
|
|
|
|
wish to do programmatic things with the documentation.
|
|
|
|
|
|
|
|
Every `.html` and `.json` file is generated based on the corresponding
|
2016-04-21 00:12:40 +02:00
|
|
|
`.md` file in the `doc/api/` folder in Node.js's source tree. The
|
2012-02-27 20:06:14 +01:00
|
|
|
documentation is generated using the `tools/doc/generate.js` program.
|
|
|
|
The HTML template is located at `doc/template.html`.
|
|
|
|
|
2016-01-08 19:32:50 +01:00
|
|
|
|
2017-04-26 19:16:12 +02:00
|
|
|
If errors are found in this documentation, please [submit an issue][]
|
2016-01-08 19:32:50 +01:00
|
|
|
or see [the contributing guide][] for directions on how to submit a patch.
|
|
|
|
|
2012-02-27 20:06:14 +01:00
|
|
|
## Stability Index
|
|
|
|
|
|
|
|
<!--type=misc-->
|
|
|
|
|
2017-04-26 19:16:12 +02:00
|
|
|
Throughout the documentation are indications of a section's
|
|
|
|
stability. The Node.js API is still somewhat changing, and as it
|
|
|
|
matures, certain parts are more reliable than others. Some are so
|
2012-02-27 20:06:14 +01:00
|
|
|
proven, and so relied upon, that they are unlikely to ever change at
|
2017-04-26 19:16:12 +02:00
|
|
|
all. Others are brand new and experimental, or known to be hazardous
|
2012-02-27 20:06:14 +01:00
|
|
|
and in the process of being redesigned.
|
|
|
|
|
|
|
|
The stability indices are as follows:
|
|
|
|
|
2016-07-09 07:13:09 +02:00
|
|
|
```txt
|
2012-12-28 02:32:53 +01:00
|
|
|
Stability: 0 - Deprecated
|
|
|
|
This feature is known to be problematic, and changes are
|
2012-02-27 20:06:14 +01:00
|
|
|
planned. Do not rely on it. Use of the feature may cause warnings. Backwards
|
|
|
|
compatibility should not be expected.
|
2012-12-28 02:32:53 +01:00
|
|
|
```
|
2012-02-27 20:06:14 +01:00
|
|
|
|
2016-07-09 07:13:09 +02:00
|
|
|
```txt
|
2012-12-28 02:32:53 +01:00
|
|
|
Stability: 1 - Experimental
|
2015-02-25 01:15:26 +01:00
|
|
|
This feature is subject to change, and is gated by a command line flag.
|
|
|
|
It may change or be removed in future versions.
|
2012-12-28 02:32:53 +01:00
|
|
|
```
|
2012-02-27 20:06:14 +01:00
|
|
|
|
2016-07-09 07:13:09 +02:00
|
|
|
```txt
|
2015-02-25 01:15:26 +01:00
|
|
|
Stability: 2 - Stable
|
|
|
|
The API has proven satisfactory. Compatibility with the npm ecosystem
|
|
|
|
is a high priority, and will not be broken unless absolutely necessary.
|
2012-12-28 02:32:53 +01:00
|
|
|
```
|
2012-02-27 20:06:14 +01:00
|
|
|
|
2012-03-04 00:51:14 +01:00
|
|
|
## JSON Output
|
|
|
|
|
2016-07-16 00:35:38 +02:00
|
|
|
> Stability: 1 - Experimental
|
2012-03-04 00:51:14 +01:00
|
|
|
|
|
|
|
Every HTML file in the markdown has a corresponding JSON file with the
|
|
|
|
same data.
|
|
|
|
|
2015-12-03 20:11:22 +01:00
|
|
|
This feature was added in Node.js v0.6.12. It is experimental.
|
2016-02-04 13:11:17 +01:00
|
|
|
|
|
|
|
## Syscalls and man pages
|
|
|
|
|
|
|
|
System calls like open(2) and read(2) define the interface between user programs
|
|
|
|
and the underlying operating system. Node functions which simply wrap a syscall,
|
|
|
|
like `fs.open()`, will document that. The docs link to the corresponding man
|
|
|
|
pages (short for manual pages) which describe how the syscalls work.
|
|
|
|
|
|
|
|
**Caveat:** some syscalls, like lchown(2), are BSD-specific. That means, for
|
2017-03-29 01:46:10 +02:00
|
|
|
example, that `fs.lchown()` only works on macOS and other BSD-derived systems,
|
2016-02-04 13:11:17 +01:00
|
|
|
and is not available on Linux.
|
|
|
|
|
|
|
|
Most Unix syscalls have Windows equivalents, but behavior may differ on Windows
|
2017-03-29 01:46:10 +02:00
|
|
|
relative to Linux and macOS. For an example of the subtle ways in which it's
|
2016-02-04 13:11:17 +01:00
|
|
|
sometimes impossible to replace Unix syscall semantics on Windows, see [Node
|
|
|
|
issue 4760](https://github.com/nodejs/node/issues/4760).
|
2016-01-08 19:32:50 +01:00
|
|
|
|
|
|
|
[submit an issue]: https://github.com/nodejs/node/issues/new
|
|
|
|
[the contributing guide]: https://github.com/nodejs/node/blob/master/CONTRIBUTING.md
|