Path to this page:
Subject: CVS commit: pkgsrc/lang/nodejs
From: Adam Ciarcinski
Date: 2023-11-02 14:18:16
Message id: 20231102131816.2E57BFA2A@cvs.NetBSD.org
Log Message:
nodejs: updated to 21.1.0
Version 21.1.0 (Current)
Notable Changes
Automatically detect and run ESM syntax
The new flag --experimental-detect-module can be used to automatically run ES \
modules when their syntax can be detected. For “ambiguous” files, which are \
.js or extensionless files with no package.json with a type field, Node.js will \
parse the file to detect ES module syntax; if found, it will run the file as an \
ES module, otherwise it will run the file as a CommonJS module. The same applies \
to string input via --eval or STDIN.
We hope to make detection enabled by default in a future version of Node.js. \
Detection increases startup time, so we encourage everyone — especially \
package authors — to add a type field to package.json, even for the default \
"type": "commonjs". The presence of a type field, or \
explicit extensions such as .mjs or .cjs, will opt out of detection.
vm: fix V8 compilation cache support for vm.Script
Previously repeated compilation of the same source code using vm.Script stopped \
hitting the V8 compilation cache after v16.x when support for \
importModuleDynamically was added to vm.Script, resulting in a performance \
regression that blocked users (in particular Jest users) from upgrading from \
v16.x.
The recent fixes landed in v21.1.0 allow the compilation cache to be hit again \
for vm.Script when --experimental-vm-modules is not used even in the presence of \
the importModuleDynamically option, so that users affected by the performance \
regression can now upgrade. Ongoing work is also being done to enable \
compilation cache support for vm.CompileFunction.
Files: