2012-02-27 20:06:14 +01:00
|
|
|
# About this Documentation
|
|
|
|
|
2017-01-23 04:16:21 +01:00
|
|
|
<!--introduced_in=v0.10.0-->
|
2012-02-27 20:06:14 +01:00
|
|
|
<!-- type=misc -->
|
|
|
|
|
2015-08-13 18:14:34 +02:00
|
|
|
The goal of this documentation is to comprehensively explain the Node.js
|
2017-04-28 16:24:19 +02:00
|
|
|
API, both from a reference as well as a conceptual point of view. Each
|
2012-02-27 20:06:14 +01:00
|
|
|
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.
|
|
|
|
|
2017-12-15 22:49:36 +01:00
|
|
|
## Contributing
|
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.
|
|
|
|
|
2017-12-15 22:49:36 +01:00
|
|
|
Every file is generated based on the corresponding `.md` file in the
|
|
|
|
`doc/api/` folder in Node.js's source tree. The documentation is generated
|
|
|
|
using the `tools/doc/generate.js` program. An HTML template is located at
|
|
|
|
`doc/template.html`.
|
|
|
|
|
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:
|
|
|
|
|
2018-08-27 03:30:48 +02:00
|
|
|
> Stability: 0 - Deprecated. The feature may emit warnings. Backward
|
|
|
|
> compatibility is not guaranteed.
|
2018-05-06 02:59:23 +02:00
|
|
|
|
|
|
|
<!-- separator -->
|
|
|
|
|
|
|
|
> Stability: 1 - Experimental. This feature is still under active development
|
2018-08-27 03:30:48 +02:00
|
|
|
> and subject to non-backward compatible changes or removal in any future
|
|
|
|
> version. Use of the feature is not recommended in production environments.
|
|
|
|
> Experimental features are not subject to the Node.js Semantic Versioning
|
|
|
|
> model.
|
2018-05-06 02:59:23 +02:00
|
|
|
|
|
|
|
<!-- separator -->
|
|
|
|
|
2018-08-27 03:30:48 +02:00
|
|
|
> Stability: 2 - Stable. Compatibility with the npm ecosystem is a high
|
|
|
|
> priority.
|
2012-02-27 20:06:14 +01:00
|
|
|
|
2018-02-06 06:55:16 +01:00
|
|
|
Caution must be used when making use of `Experimental` features, particularly
|
|
|
|
within modules that may be used as dependencies (or dependencies of
|
|
|
|
dependencies) within a Node.js application. End users may not be aware that
|
2017-12-15 22:49:36 +01:00
|
|
|
experimental features are being used, and therefore may experience unexpected
|
|
|
|
failures or behavior changes when API modifications occur. To help avoid such
|
|
|
|
surprises, `Experimental` features may require a command-line flag to
|
|
|
|
explicitly enable them, or may cause a process warning to be emitted.
|
|
|
|
By default, such warnings are printed to [`stderr`][] and may be handled by
|
2018-04-09 18:30:22 +02:00
|
|
|
attaching a listener to the [`'warning'`][] event.
|
2017-12-15 22:49:36 +01:00
|
|
|
|
2012-03-04 00:51:14 +01:00
|
|
|
## JSON Output
|
2017-12-15 22:49:36 +01:00
|
|
|
<!-- YAML
|
|
|
|
added: v0.6.12
|
|
|
|
-->
|
2012-03-04 00:51:14 +01:00
|
|
|
|
2016-07-16 00:35:38 +02:00
|
|
|
> Stability: 1 - Experimental
|
2012-03-04 00:51:14 +01:00
|
|
|
|
2017-12-15 22:49:36 +01:00
|
|
|
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.
|
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
|
2018-03-04 14:46:49 +01:00
|
|
|
and the underlying operating system. Node.js functions
|
|
|
|
which simply wrap a syscall,
|
2017-12-15 22:49:36 +01:00
|
|
|
like [`fs.open()`][], will document that. The docs link to the corresponding man
|
2016-02-04 13:11:17 +01:00
|
|
|
pages (short for manual pages) which describe how the syscalls work.
|
|
|
|
|
|
|
|
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
|
2018-10-30 06:04:25 +01:00
|
|
|
sometimes impossible to replace Unix syscall semantics on Windows, see [Node.js
|
2016-02-04 13:11:17 +01:00
|
|
|
issue 4760](https://github.com/nodejs/node/issues/4760).
|
2016-01-08 19:32:50 +01:00
|
|
|
|
2018-04-09 18:30:22 +02:00
|
|
|
[`'warning'`]: process.html#process_event_warning
|
2017-12-15 22:49:36 +01:00
|
|
|
[`stderr`]: process.html#process_process_stderr
|
|
|
|
[`fs.open()`]: fs.html#fs_fs_open_path_flags_mode_callback
|
2018-04-09 18:30:22 +02:00
|
|
|
[submit an issue]: https://github.com/nodejs/node/issues/new
|
|
|
|
[the contributing guide]: https://github.com/nodejs/node/blob/master/CONTRIBUTING.md
|