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

cvs diff -r1.270 -r1.271 pkgsrc/lang/nodejs/Makefile (expand / switch to context diff)
--- 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

cvs diff -r1.75 -r1.76 pkgsrc/lang/nodejs/PLIST (expand / switch to context diff)
--- 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

cvs diff -r1.242 -r1.243 pkgsrc/lang/nodejs/distinfo (expand / switch to context diff)
--- 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