diff --git a/src/base64_version.h b/src/base64_version.h new file mode 100644 index 00000000000000..bc25dfafb79f4f --- /dev/null +++ b/src/base64_version.h @@ -0,0 +1 @@ +#define BASE64_VERSION "0.5.0" // NOLINT(build/header_guard) diff --git a/src/cjs_module_lexer_version.h b/src/cjs_module_lexer_version.h new file mode 100644 index 00000000000000..eb45bfa9d8ad5d --- /dev/null +++ b/src/cjs_module_lexer_version.h @@ -0,0 +1 @@ +#define CJS_MODULE_LEXER_VERSION "1.2.2" // NOLINT(build/header_guard) diff --git a/src/node_metadata.cc b/src/node_metadata.cc index a221dcde050ad7..1a3edefe21238f 100644 --- a/src/node_metadata.cc +++ b/src/node_metadata.cc @@ -1,6 +1,8 @@ #include "node_metadata.h" #include "ares.h" +#include "base64_version.h" #include "brotli/encode.h" +#include "cjs_module_lexer_version.h" #include "llhttp.h" #include "nghttp2/nghttp2ver.h" #include "node.h" @@ -89,6 +91,8 @@ Metadata::Versions::Versions() { std::to_string((BrotliEncoderVersion() & 0xFFF000) >> 12) + "." + std::to_string(BrotliEncoderVersion() & 0xFFF); + cjs_module_lexer = CJS_MODULE_LEXER_VERSION; + base64 = BASE64_VERSION; #if HAVE_OPENSSL openssl = GetOpenSSLVersion(); diff --git a/src/node_metadata.h b/src/node_metadata.h index b7cacae4c3d430..e8f3c6df0c149c 100644 --- a/src/node_metadata.h +++ b/src/node_metadata.h @@ -38,6 +38,8 @@ namespace node { V(nghttp2) \ V(napi) \ V(llhttp) \ + V(cjs_module_lexer) \ + V(base64) #if HAVE_OPENSSL #define NODE_VERSIONS_KEY_CRYPTO(V) V(openssl) diff --git a/test/parallel/test-process-versions.js b/test/parallel/test-process-versions.js index e63848b1faff90..7c22cbe31feabe 100644 --- a/test/parallel/test-process-versions.js +++ b/test/parallel/test-process-versions.js @@ -2,6 +2,8 @@ const common = require('../common'); const assert = require('assert'); +const cjs_module_lexer = require('../../deps/cjs-module-lexer/package.json'); + const expected_keys = [ 'ares', 'brotli', @@ -13,6 +15,8 @@ const expected_keys = [ 'nghttp2', 'napi', 'llhttp', + 'cjs_module_lexer', + 'base64', ]; if (common.hasCrypto) { @@ -50,6 +54,7 @@ assert.match( /^\d+\.\d+\.\d+(?:\.\d+)?-node\.\d+(?: \(candidate\))?$/ ); assert.match(process.versions.modules, /^\d+$/); +assert.match(process.versions.cjs_module_lexer, commonTemplate); if (common.hasCrypto) { const versionRegex = common.hasOpenSSL3 ? @@ -69,3 +74,6 @@ for (let i = 0; i < expected_keys.length; i++) { assert.strictEqual(process.config.variables.napi_build_version, process.versions.napi); + +const expectedCjsModuleLexerVersion = cjs_module_lexer.version; +assert.strictEqual(process.versions.cjs_module_lexer, expectedCjsModuleLexerVersion); diff --git a/tools/update-base64.sh b/tools/update-base64.sh index 50b8da7adb867c..0918ae2c63d86a 100755 --- a/tools/update-base64.sh +++ b/tools/update-base64.sh @@ -45,3 +45,5 @@ echo "" echo "$ git add -A deps/base64/base64" echo "$ git commit -m \"deps: update base64 to $BASE64_VERSION\"" echo "" + +echo "#define BASE64_VERSION \"$BASE64_VERSION\" // NOLINT(build/header_guard)" > "$BASE_DIR/src/base64_version.h" diff --git a/tools/update-deps-version-files.sh b/tools/update-deps-version-files.sh new file mode 100755 index 00000000000000..d0968649c155b1 --- /dev/null +++ b/tools/update-deps-version-files.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +# Shell script to update version file of the deps in the source tree. +# This script could be used to update the version file for deps doesn't have update scripts + + +# update cjs_module_lexer_version.h +{ + ROOT="$PWD/" + [ -z "$NODE" ] && NODE="$ROOT/out/Release/node" + [ -x "$NODE" ] || NODE=$(command -v node) + + # cjs-module-lexer + cd deps/cjs-module-lexer || exit + # get cjs-module-lexer version + CJS_MODULE_LEXER_VERSION=$("$NODE" -p "require('./package.json').version") + # update this version information in src/cjs_module_lexer_version.h + echo "#define CJS_MODULE_LEXER_VERSION \"$CJS_MODULE_LEXER_VERSION\" // NOLINT(build/header_guard)" > "$ROOT/src/cjs_module_lexer_version.h" +}