Wed Sep 6 19:28:21 2023 UTC ()
nodejs: updated to 20.6.0
Version 20.6.0 (Current)
Notable changes
built-in .env file support
Starting from Node.js v20.6.0, Node.js supports .env files for configuring environment variables.
Your configuration file should follow the INI file format, with each line containing a key-value pair for an environment variable. To initialize your Node.js application with predefined configurations, use the following CLI command: node --env-file=config.env index.js.
For example, you can access the following environment variable using process.env.PASSWORD when your application is initialized:
PASSWORD=nodejs
In addition to environment variables, this change allows you to define your NODE_OPTIONS directly in the .env file, eliminating the need to include it in your package.json.
import.meta.resolve unflagged
In ES modules, import.meta.resolve(specifier) can be used to get an absolute URL string to which specifier resolves, similar to require.resolve in CommonJS. This aligns Node.js with browsers and other server-side runtimes.
New node:module API register for module customization hooks; new initialize hook
There is a new API register available on node:module to specify a file that exports module customization hooks, and pass data to the hooks, and establish communication channels with them. The ���define the file with the hooks��� part was previously handled by a flag --experimental-loader, but when the hooks moved into a dedicated thread in 20.0.0 there was a need to provide a way to communicate between the main (application) thread and the hooks thread. This can now be done by calling register from the main thread and passing data, including MessageChannel instances.
We encourage users to migrate to an approach that uses --import with register, such as:
node --import ./file-that-calls-register.js ./app.js
Using --import ensures that the customization hooks are registered before any application code runs, even the entry point.
Module customization load hook can now support CommonJS
(adam)
diff -r1.270 -r1.271 pkgsrc/lang/nodejs/Makefile
diff -r1.75 -r1.76 pkgsrc/lang/nodejs/PLIST
diff -r1.242 -r1.243 pkgsrc/lang/nodejs/distinfo
--- pkgsrc/lang/nodejs/Makefile 2023/08/14 05:24:45 1.270
+++ pkgsrc/lang/nodejs/Makefile 2023/09/06 19:28:20 1.271
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.270 2023/08/14 05:24:45 wiz Exp $
+# $NetBSD: Makefile,v 1.271 2023/09/06 19:28:20 adam Exp $
-DISTNAME= node-v20.5.1
+DISTNAME= node-v20.6.0
EXTRACT_SUFX= .tar.xz
USE_LANGUAGES= c gnu++17
@@ -9,7 +9,6 @@
TOOL_DEPENDS+= ${PYPKGPREFIX}-expat>=0:../../textproc/py-expat
-PKGREVISION= 1
.include "../../mk/bsd.prefs.mk"
# XXX: figure out a way to add rpaths to torque
--- pkgsrc/lang/nodejs/PLIST 2023/07/25 06:42:43 1.75
+++ pkgsrc/lang/nodejs/PLIST 2023/09/06 19:28:20 1.76
@@ -1,11 +1,52 @@
-@comment $NetBSD: PLIST,v 1.75 2023/07/25 06:42:43 adam Exp $
+@comment $NetBSD: PLIST,v 1.76 2023/09/06 19:28:20 adam Exp $
bin/corepack
bin/node
bin/npm
bin/npx
include/node/common.gypi
include/node/config.gypi
+include/node/cppgc/allocation.h
include/node/cppgc/common.h
+include/node/cppgc/cross-thread-persistent.h
+include/node/cppgc/custom-space.h
+include/node/cppgc/default-platform.h
+include/node/cppgc/ephemeron-pair.h
+include/node/cppgc/explicit-management.h
+include/node/cppgc/garbage-collected.h
+include/node/cppgc/heap-consistency.h
+include/node/cppgc/heap-handle.h
+include/node/cppgc/heap-state.h
+include/node/cppgc/heap-statistics.h
+include/node/cppgc/heap.h
+include/node/cppgc/internal/api-constants.h
+include/node/cppgc/internal/atomic-entry-flag.h
+include/node/cppgc/internal/base-page-handle.h
+include/node/cppgc/internal/caged-heap-local-data.h
+include/node/cppgc/internal/caged-heap.h
+include/node/cppgc/internal/compiler-specific.h
+include/node/cppgc/internal/finalizer-trait.h
+include/node/cppgc/internal/gc-info.h
+include/node/cppgc/internal/logging.h
+include/node/cppgc/internal/member-storage.h
+include/node/cppgc/internal/name-trait.h
+include/node/cppgc/internal/persistent-node.h
+include/node/cppgc/internal/pointer-policies.h
+include/node/cppgc/internal/write-barrier.h
+include/node/cppgc/liveness-broker.h
+include/node/cppgc/macros.h
+include/node/cppgc/member.h
+include/node/cppgc/name-provider.h
+include/node/cppgc/object-size-trait.h
+include/node/cppgc/persistent.h
+include/node/cppgc/platform.h
+include/node/cppgc/prefinalizer.h
+include/node/cppgc/process-heap-statistics.h
+include/node/cppgc/sentinel-pointer.h
+include/node/cppgc/source-location.h
+include/node/cppgc/testing.h
+include/node/cppgc/trace-trait.h
+include/node/cppgc/type-traits.h
+include/node/cppgc/visitor.h
include/node/js_native_api.h
include/node/js_native_api_types.h
include/node/libplatform/libplatform-export.h
@@ -21,6 +62,7 @@
include/node/v8-callbacks.h
include/node/v8-container.h
include/node/v8-context.h
+include/node/v8-cppgc.h
include/node/v8-data.h
include/node/v8-date.h
include/node/v8-debug.h
--- pkgsrc/lang/nodejs/distinfo 2023/08/11 05:25:17 1.242
+++ pkgsrc/lang/nodejs/distinfo 2023/09/06 19:28:21 1.243
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.242 2023/08/11 05:25:17 adam Exp $
+$NetBSD: distinfo,v 1.243 2023/09/06 19:28:21 adam Exp $
-BLAKE2s (node-v20.5.1.tar.xz) = d4b65e72751e657084aa8d70648eecfe4a3cfaea320c83a58443b1119de87463
-SHA512 (node-v20.5.1.tar.xz) = 2828930bf2df0769ec7116fc6b89c7069294426b937ce38543426e0108a8c953301c523eb03419e35a993773895d74b28838bec96ffc01ab0e138a4b2a52737d
-Size (node-v20.5.1.tar.xz) = 41532256 bytes
+BLAKE2s (node-v20.6.0.tar.xz) = a36a1d3dd65c0b322945536e5b75b56da6392fc0d57655ee435d9f248f1b2625
+SHA512 (node-v20.6.0.tar.xz) = 2d50407e55008fba82a8568287c77c690b43953bc9068a22714e8c19809e5130b15b01770c6aabfa6269ab1b58c2f1fde3c58822cabe2cae4b5067e27e38f204
+Size (node-v20.6.0.tar.xz) = 41787960 bytes
SHA1 (patch-common.gypi) = f50615affd26c2c7902d2112c8e9f2704c057b9c
SHA1 (patch-deps_cares_cares.gyp) = 22b44f2ac59963f694dfe4f4585e08960b3dec32
SHA1 (patch-deps_uv_common.gypi) = 29f0c382b68f77749a71ce39fa2ca37338ca18ec