node/doc
RafaelGSS a520a39adf
2025-10-15, Version 25.0.0 (Current)
assert:
  * (SEMVER-MAJOR) move assert.fail with multiple arguments to eol (James M Snell) https://github.com/nodejs/node/pull/58532
  * (SEMVER-MAJOR) move CallTracker to EOL (James M Snell) https://github.com/nodejs/node/pull/58006
assert,util:
  * (SEMVER-MAJOR) fail promise comparison in deep equal checks (Ruben Bridgewater) https://github.com/nodejs/node/pull/59448
  * (SEMVER-MAJOR) handle invalid dates as equal in deep comparison (Ruben Bridgewater) https://github.com/nodejs/node/pull/57627
async_hooks:
  * (SEMVER-MAJOR) move `asyncResource` property on bound function to EOL (James M Snell) https://github.com/nodejs/node/pull/58618
buffer:
  * (SEMVER-MAJOR) move SlowBuffer to EOL (Filip Skokan) https://github.com/nodejs/node/pull/58220
build:
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) bump minimum Clang version to 19 (Michaël Zasso) https://github.com/nodejs/node/pull/59048
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) stop distributing Corepack (Antoine du Hamel) https://github.com/nodejs/node/pull/57617
child_process:
  * (SEMVER-MAJOR) move _channel to end-of-life (James M Snell) https://github.com/nodejs/node/pull/58527
crypto:
  * (SEMVER-MAJOR) runtime-deprecate default shake128/256 output lengths (Filip Skokan) https://github.com/nodejs/node/pull/59008
  * (SEMVER-MAJOR) move deprecated hash and mgf1Hash options to EOL (James M Snell) https://github.com/nodejs/node/pull/58706
  * (SEMVER-MAJOR) runtime deprecate ECDH.setPublicKey() (James M Snell) https://github.com/nodejs/node/pull/58620
deps:
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/54077
  * (SEMVER-MAJOR) update V8 to 14.1.146.11 (Michaël Zasso) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) V8: backport 1d3362c55396 (Shu-yu Guo) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) V8: cherry-pick 4f38995c8295 (Shu-yu Guo) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) V8: cherry-pick 044b9b6f589d (Rezvan Mahdavi Hezaveh) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) V8: cherry-pick d2ad518a0b57 (Joyee Cheung) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) V8: revert 6d6c1e680c7b (Michaël Zasso) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) V8: revert e3cddbedb205 (Michaël Zasso) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) fix FP16 bitcasts.h (Stefan Stojanovic) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) update V8 to 13.7.152.9 (Michaël Zasso) https://github.com/nodejs/node/pull/58064
dgram:
  * (SEMVER-MAJOR) move deprecated APIs to EOL (James M Snell) https://github.com/nodejs/node/pull/58474
dns:
  * (SEMVER-MAJOR) move falsy hostname in lookup to end-of-life (James M Snell) https://github.com/nodejs/node/pull/58619
doc,src,test:
  * (SEMVER-MAJOR) replace use of deprecated `GetIsolate` (Michaël Zasso) https://github.com/nodejs/node/pull/59805
fs:
  * (SEMVER-MAJOR) move FileHandle close on GC to EOL (James M Snell) https://github.com/nodejs/node/pull/58536
  * (SEMVER-MAJOR) move rmdir recursive option to end-of-life (James M Snell) https://github.com/nodejs/node/pull/58616
  * (SEMVER-MAJOR) make `processReadResult()` and `readSyncRecursive()` private (Livia Medeiros) https://github.com/nodejs/node/pull/58672
  * (SEMVER-MAJOR) move fs stream open method to eol (James M Snell) https://github.com/nodejs/node/pull/58529
  * (SEMVER-MAJOR) remove `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) https://github.com/nodejs/node/pull/55862
http:
  * (SEMVER-MAJOR) deprecate writeHeader (Sebastian Beltran) https://github.com/nodejs/node/pull/59060
lib:
  * (SEMVER-MAJOR) use validators for argument validation (Nam Yooseong) https://github.com/nodejs/node/pull/59416
  * (SEMVER-MAJOR) expose global ErrorEvent (Richie Bendall) https://github.com/nodejs/node/pull/58920
  * (SEMVER-MAJOR) deprecate `_stream_*` modules (Dario Piotrowicz) https://github.com/nodejs/node/pull/58337
  * (SEMVER-MAJOR) deprecate _tls_common and _tls_wrap (Dario Piotrowicz) https://github.com/nodejs/node/pull/57643
module:
  * (SEMVER-MAJOR) move Module._debug to end-of-life (James M Snell) https://github.com/nodejs/node/pull/58473
node-api:
  * (SEMVER-MAJOR) add warning for NAPI_EXPERIMENTAL (Miguel Marcondes Filho) https://github.com/nodejs/node/pull/58280
perf_hooks:
  * (SEMVER-MAJOR) move deprecated accessors to EOF (James M Snell) https://github.com/nodejs/node/pull/58531
process:
  * (SEMVER-MAJOR) move multipleResolves event to EOL (James M Snell) https://github.com/nodejs/node/pull/58707
repl:
  * (SEMVER-MAJOR) eol deprecate instantiating without new (Aviv Keller) https://github.com/nodejs/node/pull/59495
src:
  * (SEMVER-MAJOR) update crypto.getCipherInfo() to use DictionaryTemplate (James M Snell) https://github.com/nodejs/node/pull/60036
  * (SEMVER-MAJOR) fix calls to v8::Object::wrap (Andreas Haas) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 141 (Michaël Zasso) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) improve performance of dotenv ToObject (James M Snell) https://github.com/nodejs/node/pull/60038
  * (SEMVER-MAJOR) use std::string_view from node_report (iknoom) https://github.com/nodejs/node/pull/60006
  * (SEMVER-MAJOR) unflag --experimental-webstorage by default (Daniel M Brasil) https://github.com/nodejs/node/pull/57666
  * (SEMVER-MAJOR) store `Local` for `CallbackScope` on stack (Anna Henningsen) https://github.com/nodejs/node/pull/59705
  * (SEMVER-MAJOR) remove node.h APIs to make callback without an async context (Chengzhong Wu) https://github.com/nodejs/node/pull/58471
  * (SEMVER-MAJOR) remove deprecated node::EmitBeforeExit and node::EmitExit (Chengzhong Wu) https://github.com/nodejs/node/pull/58469
  * (SEMVER-MAJOR) remove deprecated node::CreatePlatform and node::FreePlatform (Chengzhong Wu) https://github.com/nodejs/node/pull/58470
  * (SEMVER-MAJOR) remove deprecated node::InitializeNodeWithArgs (Chengzhong Wu) https://github.com/nodejs/node/pull/58470
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 138 (Michaël Zasso) https://github.com/nodejs/node/pull/58064
src,permission:
  * (SEMVER-MAJOR) add --allow-net permission (Rafael Gonzaga) https://github.com/nodejs/node/pull/58517
test:
  * (SEMVER-MAJOR) update cppgc-object addon config (StefanStojanovic) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) spin longer for sequential/test-worker-prof (Michaël Zasso) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) remove `--always-turbofan` flag (Michaël Zasso) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) update snapshot for V8 14.1 (Michaël Zasso) https://github.com/nodejs/node/pull/59805
test,win:
  * (SEMVER-MAJOR) split addon tests (StefanStojanovic) https://github.com/nodejs/node/pull/59805
tls:
  * (SEMVER-MAJOR) move IP-address servername deprecation to eol (James M Snell) https://github.com/nodejs/node/pull/58533
tools:
  * (SEMVER-MAJOR) update V8 gypfiles for 14.0 (Michaël Zasso) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) update V8 gypfiles for 13.9 (Michaël Zasso) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) update V8 gypfiles for 13.8 (Michaël Zasso) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) enable leaptiering for aix/ibmi (Abdirahim Musse) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) update V8 gypfiles for 13.7 (Michaël Zasso) https://github.com/nodejs/node/pull/58064
url:
  * (SEMVER-MAJOR) move bad port deprecation in legacy url to end-of-life (James M Snell) https://github.com/nodejs/node/pull/58617
util,console:
  * (SEMVER-MAJOR) colorize regexp groups, character classes, etc (Ruben Bridgewater) https://github.com/nodejs/node/pull/59710
worker:
  * (SEMVER-MAJOR) move terminate callback to end-of-life (James M Snell) https://github.com/nodejs/node/pull/58528

PR-URL: https://github.com/nodejs/node/pull/59896
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
2025-10-15 13:27:47 -03:00
..
api 2025-10-15, Version 25.0.0 (Current) 2025-10-15 13:27:47 -03:00
api_assets doc: add scroll margin to links 2025-07-10 16:22:51 +02:00
changelogs 2025-10-15, Version 25.0.0 (Current) 2025-10-15 13:27:47 -03:00
contributing doc: use markdown when branch-diff major release 2025-10-11 18:33:52 +00:00
abi_version_registry.json 2025-10-15, Version 25.0.0 (Current) 2025-10-15 13:27:47 -03:00
eslint.config_partial.mjs tools: import rather than require ESLint plugins 2025-03-07 14:52:52 +00:00
full-white-stripe.jpg
node-config-schema.json src: unflag --experimental-webstorage by default 2025-09-25 11:59:58 +00:00
node.1 test,doc: skip --max-old-space-size-percentage on 32-bit platforms 2025-10-09 16:23:51 +00:00
osx_installer_logo.png
README.md doc: update style guide 2024-09-26 22:56:35 +00:00
template.html doc: add "Skip to content" button 2025-01-26 18:41:45 +00:00
thin-white-stripe.jpg

Node.js documentation style guide

This guide provides clear and concise instructions to help you create well-organized and readable documentation for the Node.js community. It covers organization, spelling, formatting, and more to ensure consistency and professionalism across all documents.

Table of contents

  1. General Guidelines
  2. Writing Style
  3. Punctuation
  4. Document Structure
  5. API Documentation
  6. Code Blocks
  7. Formatting
  8. Product and Project Naming

General guidelines

File naming

  • Markdown Files: Use lowercase-with-dashes.md.
    • Use underscores only if they are part of the topic name (e.g., child_process).
    • Some files, like top-level Markdown files, may be exceptions.

Text wrapping

  • Wrap documents at 120 characters per line to enhance readability and version control.

Editor configuration

  • Follow the formatting rules specified in .editorconfig.
    • A plugin is available for some editors to enforce these rules.

Testing documentation

  • Validate documentation changes using make test-doc -j or vcbuild test-doc.

Writing style

Spelling and grammar

  • Spelling: Use US spelling.
  • Grammar: Use clear, concise language. Avoid unnecessary jargon.

Commas

  • Serial Commas: Use serial commas for clarity.
    • Example: apples, oranges, and bananas

Pronouns

  • Avoid first-person pronouns (I, we).
    • Exception: Use we recommend foo instead of foo is recommended.

Gender-neutral language

  • Use gender-neutral pronouns and plural nouns.
    • OK: they, their, them, folks, people, developers
    • NOT OK: his, hers, him, her, guys, dudes

Terminology

  • Use precise technical terms and avoid colloquialisms.
  • Define any specialized terms or acronyms at first use.

Punctuation

Terminal punctuation

  • Place inside parentheses or quotes if the content is a complete clause.
  • Place outside if the content is a fragment of a clause.

Quotation marks

  • Use double quotation marks for direct quotes.
  • Use single quotation marks for quotes within quotes.

Colons and semicolons

  • Use colons to introduce lists or explanations.
  • Use semicolons to link closely related independent clauses.

Document structure

Headings

  • Start documents with a level-one heading (#).
  • Use subsequent headings (##, ###, etc.) to organize content hierarchically.
  • Prefer reference-style links ([a link][]) over inline links ([a link](http://example.com)).

Lists

  • Use bullet points for unordered lists and numbers for ordered lists.
  • Keep list items parallel in structure.

Tables

  • Use tables to present structured information clearly. Ensure they are readable in plain text.

API documentation

YAML comments

  • Update the YAML comments associated with the API, especially when introducing or deprecating an API.

Usage examples

  • Provide a usage example or a link to an example for every function.

Parameter descriptions

  • Clearly describe parameters and return values, including types and defaults.
    • Example:
      * `byteOffset` {integer} Index of first byte to expose. **Default:** `0`.
      

Code blocks

Language-aware fences

  • Use language-aware fences (e.g., ```js) for code blocks.

    • Info String: Use the appropriate info string from the following list:

      Language Info String
      Bash bash
      C c
      CommonJS cjs
      CoffeeScript coffee
      Terminal Session console
      C++ cpp
      Diff diff
      HTTP http
      JavaScript js
      JSON json
      Markdown markdown
      EcmaScript mjs
      Powershell powershell
      R r
      Plaintext text
      TypeScript typescript
    • Use text for languages not listed until their grammar is added to remark-preset-lint-node.

Code comments

  • Use comments to explain complex logic within code examples.
  • Follow the standard commenting style of the respective language.

Formatting

Escaping characters

  • Use backslash-escaping for underscores, asterisks, and backticks: \_, \*, \`.

Naming conventions

  • Constructors: Use PascalCase.
  • Instances: Use camelCase.
  • Methods: Indicate methods with parentheses: socket.end() instead of socket.end.

Function arguments and returns

  • Arguments:
    * `name` {type|type2} Optional description. **Default:** `value`.
    
    Example:
    * `byteOffset` {integer} Index of first byte to expose. **Default:** `0`.
    
  • Returns:
    * Returns: {type|type2} Optional description.
    
    Example:
    * Returns: {AsyncHook} A reference to `asyncHook`.
    

Product and project naming

Official styling

  • Use official capitalization for products and projects.
    • OK: JavaScript, Google's V8
    • NOT OK: Javascript, Google's v8

Node.js references

  • Use Node.js instead of Node, NodeJS, or similar variants.
    • For the executable, node is acceptable.

Version references

  • Use Node.js and the version number in prose. Do not prefix the version number with v.
    • OK: Node.js 14.x, Node.js 14.3.1
    • NOT OK: Node.js v14

For topics not addressed here, please consult the Microsoft Writing Style Guide.