We stand with Ukraine to help keep people safe. Join us
When you purchase through links on our site, we may earn an affiliate commission

Node.js for Mac

Scalable event-driven JavaScript runtime.

Free
In English
Version 22.20.0
4.0
Based on 3 user rates

Node.js overview

As an asynchronous event-driven JavaScript runtime, Node.js is designed to build scalable network applications.

Node.js is similar in design to, and influenced by, systems like Ruby's Event Machine and Python's Twisted. Node.js takes the event model a bit further. It presents an event loop as a runtime construct instead of as a library. In other systems, there is always a blocking call to start the event-loop. Typically, behavior is defined through callbacks at the beginning of a script, and at the end a server is started through a blocking call like EventMachine::run(). In Node.js, there is no such start-the-event-loop call. Node.js simply enters the event loop after executing the input script. Node.js exits the event loop when there are no more callbacks to perform. This behavior is like browser JavaScript - the event loop is hidden from the user.

HTTP is a first-class citizen in Node.js, designed with streaming and low latency in mind. This makes Nodejs well suited for the foundation of a web library or framework.

Node.js being designed without threads doesn't mean you can't take advantage of multiple cores in your environment. Child processes can be spawned by using our child_process.fork() API, and are designed to be easy to communicate with. Built upon that same interface is the cluster module, which allows you to share sockets between processes to enable load balancing over your cores.

What’s new in version 22.20.0

Notable Changes
  • OpenSSL updated to 3.5.2.
  • For official Node.js builds, or builds using the default build configuration, Node.js now bundles **OpenSSL 3.5.2**. This update allows Node.js 22.x to be supported through to the planned End-of-Life date of **2027-04-30** as the previously bundled OpenSSL 3.0.x goes out of support in September 2026.
  • This change does not affect third-party builds of Node.js that link to an external OpenSSL (or OpenSSL-compatible) library.
Other Notable Changes (SEMVER-MINOR Features)
  • **http:** Added **Agent.agentKeepAliveTimeoutBuffer** option.
  • **http2:** Added support for raw header arrays in `h2Stream.respond()`.
  • **stream:** Added **brotli** support to **CompressionStream** and **DecompressionStream**.
  • **test_runner:** Supported object property mocking.
  • **worker:** Added **cpu profile APIs** for worker.
  • **sea:** Implemented `execArgvExtension`.
  • **sea:** Supported `execArgv` in sea config.
Other Notable Changes (General)
  • **crypto:** Updated root certificates to **NSS 3.114**.
  • **doc:** Stabilized `--disable-sigusr1`.
  • **doc:** Marked `path.matchesGlob` as stable.
  • **inspector:** Added **http2 tracking** support.
Commits and Fixes
  • **assert:** Capped input size in `myersDiff` to avoid `Int32Array` overflow.
  • **build:** Fixed getting OpenSSL version on Windows.
  • **build:** Fixed 'implicit-function-declaration' on OpenHarmony platform.
  • **build:** Used `windows-2025` runner.
  • **build:** Compiled bundled uvwasi conditionally.
  • **build:** Did not set `-mminimal-toc` with `clang`.
  • **child_process:** Removed unsafe array iteration.
  • **crypto:** Loaded system CA certificates off thread.
  • **deps:** Updated **uvwasi** to 0.0.23, **histogram** to 0.11.9, **googletest** to eb2d85e, and **amaro** to 1.1.2.
  • **deps:** Upgraded **openssl** sources to **openssl-3.5.2** and **openssl-3.5.1**.
  • **deps:** Fixed OpenSSL security level at 1.
  • **diagnostics_channel:** Revoked DEP0163.
  • **esm:** Added experimental support for addon modules.
  • **esm:** Linked modules synchronously when no async loader hooks are used.
  • **fs:** Fixed wrong order of file names in `cpSync` error message.
  • **fs:** Fixed `dereference: false` on `cpSync`.
  • **fs:** Fixed return value of fs APIs.
  • **http:** Unbroke `keepAliveTimeoutBuffer`.
  • **http:** Used cached '1.1' http version string.
  • **http2:** Reported sent headers object in client stream dcs.
  • **inspector:** Prevented propagation of promise hooks to `noPromise` hooks.
  • **lib:** Fixed `DOMException` subclass support.
  • **lib:** Reverted "lib: optimize writable stream buffer clearing."
  • **module:** Correctly detected top-level await in ambiguous contexts.
  • **path:** Refactored path joining logic for clarity and performance.
  • **path,win:** Fixed bug in `resolve` and `normalize`.
  • **sea:** Implemented `sea.getAssetKeys()`.
  • **sea:** Allowed using inspector command line flags with SEA.
  • **sqlite:** Handled `?NNN` parameters as positional.
  • **src:** Tracked BaseObjects with an efficient list.
  • **src:** Fixed build on NetBSD.
  • **src:** Fixed race on process

Node.js for Mac

Free
In English
Version 22.20.0
Write a detailed review about Node.js

Write your thoughts in our old-fashioned comment

MacUpdate Comment Policy. We strongly recommend leaving comments, however comments with abusive words, bullying, personal attacks of any type will be moderated.
4.0

(2 Reviews of Node.js)

  • Comments

  • User Ratings

premkumar3192146
premkumar3192146
Feb 23 2024
21.6.2
0.0
Feb 23 2024
0.0
Version: 21.6.2
Poor boy
Awado
Awado
Oct 22 2022
19.0.0
5.0
Oct 22 2022
5.0
Version: 19.0.0
Giving node.js a one star rating means the person had no clue what it is.
Awado
Awado
Apr 4 2024
21.7.2
5.0
Apr 4 2024
5.0
Version: 21.7.2
Yaroslav
Yaroslav
Oct 24 2022
19.0.0
5.0
Oct 24 2022
5.0
Version: 19.0.0
barin
barin
Oct 24 2022
19.0.0
5.0
Oct 24 2022
5.0
Version: 19.0.0