JavaScript Engine

Starting from version 0.8.6, multiple JavaScript engines are supported. To specify a particular engine, use the js_engine directive available for both the http and stream. By default, the njs engine is used.

njs engine

njs is an embeddable JavaScript engine developed as a part of the njs module. See the Сompatibility section for details.

QuickJS engine

QuickJS is a lightweight, embeddable JavaScript engine that supports the ES2023 specification, including features as modules, asynchronous generators, proxies and BigInt.

Since version 0.8.6, a drop-in replacement for njs/nginx objects has been introduced to ensure compatibility with the njs engine, with the following exceptions:

  • njs-specific API: njs.dump(), njs.on(), console.dump().
  • deprecated API: require(), use the import statement instead.
  • js_preload_object directive for http and stream.

njs built-in modules status:

njs built-in objects status:

nginx built-in objects status: