diff --git a/src/cjs_module_lexer_version.h b/src/cjs_module_lexer_version.h new file mode 100644 index 00000000000000..b330c09f9f901e --- /dev/null +++ b/src/cjs_module_lexer_version.h @@ -0,0 +1 @@ +#define CJS_MODULE_LEXER_VERSION "1.2.2" diff --git a/src/node_metadata.cc b/src/node_metadata.cc index a221dcde050ad7..eb744c9e394ffa 100644 --- a/src/node_metadata.cc +++ b/src/node_metadata.cc @@ -8,6 +8,7 @@ #include "uv.h" #include "v8.h" #include "zlib.h" +#include "cjs_module_lexer_version.h" #if HAVE_OPENSSL #include @@ -89,6 +90,7 @@ Metadata::Versions::Versions() { std::to_string((BrotliEncoderVersion() & 0xFFF000) >> 12) + "." + std::to_string(BrotliEncoderVersion() & 0xFFF); + cjs_module_lexer_version = CJS_MODULE_LEXER_VERSION; #if HAVE_OPENSSL openssl = GetOpenSSLVersion(); diff --git a/src/node_metadata.h b/src/node_metadata.h index b7cacae4c3d430..603d96e80194a1 100644 --- a/src/node_metadata.h +++ b/src/node_metadata.h @@ -38,6 +38,7 @@ namespace node { V(nghttp2) \ V(napi) \ V(llhttp) \ + V(cjs_module_lexer_version) \ #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..06ba7aca432259 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_version = require('../../deps/cjs-module-lexer/package.json'); + const expected_keys = [ 'ares', 'brotli', @@ -13,6 +15,7 @@ const expected_keys = [ 'nghttp2', 'napi', 'llhttp', + 'cjs_module_lexer_version' ]; if (common.hasCrypto) { @@ -50,6 +53,7 @@ assert.match( /^\d+\.\d+\.\d+(?:\.\d+)?-node\.\d+(?: \(candidate\))?$/ ); assert.match(process.versions.modules, /^\d+$/); +assert.match(process.versions.cjs_module_lexer_version, commonTemplate); if (common.hasCrypto) { const versionRegex = common.hasOpenSSL3 ? @@ -69,3 +73,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.version; +assert.strictEqual(process.versions.cjs_module_lexer_version, expectedCjsModuleLexerVersion); diff --git a/tools/update-deps-version-files.sh b/tools/update-deps-version-files.sh new file mode 100755 index 00000000000000..f82e006f3e637f --- /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 + # 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\"" > "$ROOT/src/cjs_module_lexer_version.h" +} \ No newline at end of file