From 44ed25a94b522797c8d3bea9d67be831de689161 Mon Sep 17 00:00:00 2001 From: "Node.js GitHub Bot" Date: Sat, 15 Nov 2025 08:35:49 +0000 Subject: [PATCH] deps: update cjs-module-lexer to 2.1.1 PR-URL: https://github.com/nodejs/node/pull/60646 Reviewed-By: Rafael Gonzaga Reviewed-By: Colin Ihrig Reviewed-By: Luigi Pinca Reviewed-By: Antoine du Hamel --- deps/cjs-module-lexer/dist/lexer.js | 2 +- deps/cjs-module-lexer/dist/lexer.mjs | 4 ++-- deps/cjs-module-lexer/lexer.js | 6 ++++-- deps/cjs-module-lexer/src/Makefile | 7 +++++-- deps/cjs-module-lexer/src/build/wasm.js | 2 +- deps/cjs-module-lexer/src/lexer.js | 6 ++++-- deps/cjs-module-lexer/src/lib/lexer.wasm | Bin 22164 -> 22164 bytes deps/cjs-module-lexer/src/package-lock.json | 6 ++++-- deps/cjs-module-lexer/src/package.json | 2 +- deps/cjs-module-lexer/src/src/lexer.c | 4 +++- src/cjs_module_lexer_version.h | 2 +- 11 files changed, 26 insertions(+), 15 deletions(-) diff --git a/deps/cjs-module-lexer/dist/lexer.js b/deps/cjs-module-lexer/dist/lexer.js index d59aaf1bc47..cb397040a42 100644 --- a/deps/cjs-module-lexer/dist/lexer.js +++ b/deps/cjs-module-lexer/dist/lexer.js @@ -1 +1 @@ -"use strict";exports.init=init;exports.initSync=initSync;exports.parse=parse;let A;const B=1===new Uint8Array(new Uint16Array([1]).buffer)[0];function parse(I,C="@"){if(!A)throw new Error("Not initialized");const w=I.length+1,D=(A.__heap_base.value||A.__heap_base)+4*w-A.memory.buffer.byteLength;D>0&&A.memory.grow(Math.ceil(D/65536));const G=A.sa(w);(B?g:E)(I,new Uint16Array(A.memory.buffer,G,w));const S=A.parseCJS(G,I.length,0,0,0);if(S){const B=new Error(`Parse error ${C}${A.e()}:${I.slice(0,A.e()).split("\n").length}:${A.e()-I.lastIndexOf("\n",A.e()-1)}`);throw Object.assign(B,{idx:A.e()}),5!==S&&6!==S&&7!==S||Object.assign(B,{code:"ERR_LEXER_ESM_SYNTAX"}),B}let R=new Set,o=new Set,H=new Set;for(;A.rre();){const B=Q(I.slice(A.res(),A.ree()));B&&o.add(B)}for(;A.ru();)H.add(Q(I.slice(A.us(),A.ue())));for(;A.re();){let B=Q(I.slice(A.es(),A.ee()));void 0===B||H.has(B)||R.add(B)}return{exports:[...R],reexports:[...o]}}function Q(A){if('"'!==A[0]&&"'"!==A[0])return A;try{const B=(0,eval)(A);for(let A=0;A>>8}}function g(A,B){const Q=A.length;let E=0;for(;EA.charCodeAt(0))}let C;function init(){return C||(C=(async()=>{const B=await WebAssembly.compile(I()),{exports:Q}=await WebAssembly.instantiate(B);A=Q})())}function initSync(){if(A)return;const B=new WebAssembly.Module(I()),{exports:Q}=new WebAssembly.Instance(B);A=Q} \ No newline at end of file +"use strict";exports.init=init;exports.initSync=initSync;exports.parse=parse;let A;const B=1===new Uint8Array(new Uint16Array([1]).buffer)[0];function parse(I,C="@"){if(!A)throw new Error("Not initialized");const w=I.length+1,D=(A.__heap_base.value||A.__heap_base)+4*w-A.memory.buffer.byteLength;D>0&&A.memory.grow(Math.ceil(D/65536));const G=A.sa(w);(B?g:E)(I,new Uint16Array(A.memory.buffer,G,w));const S=A.parseCJS(G,I.length,0,0,0);if(S){const B=new Error(`Parse error ${C}${A.e()}:${I.slice(0,A.e()).split("\n").length}:${A.e()-I.lastIndexOf("\n",A.e()-1)}`);throw Object.assign(B,{idx:A.e()}),5!==S&&6!==S&&7!==S||Object.assign(B,{code:"ERR_LEXER_ESM_SYNTAX"}),B}let R=new Set,H=new Set,o=new Set;for(;A.rre();){const B=Q(I.slice(A.res(),A.ree()));B&&H.add(B)}for(;A.ru();)o.add(Q(I.slice(A.us(),A.ue())));for(;A.re();){let B=Q(I.slice(A.es(),A.ee()));void 0===B||o.has(B)||R.add(B)}return{exports:[...R],reexports:[...H]}}function Q(A){if('"'!==A[0]&&"'"!==A[0])return A;try{const B=(0,eval)(A);for(let A=0;A>>8}}function g(A,B){const Q=A.length;let E=0;for(;EA.charCodeAt(0))}let C;function init(){return C||(C=(async()=>{const B=await WebAssembly.compile(I()),{exports:Q}=await WebAssembly.instantiate(B);A=Q})())}function initSync(){if(A)return;const B=new WebAssembly.Module(I()),{exports:Q}=new WebAssembly.Instance(B);A=Q} \ No newline at end of file diff --git a/deps/cjs-module-lexer/dist/lexer.mjs b/deps/cjs-module-lexer/dist/lexer.mjs index b6f5fb548bb..a6bbeffdf8a 100644 --- a/deps/cjs-module-lexer/dist/lexer.mjs +++ b/deps/cjs-module-lexer/dist/lexer.mjs @@ -1,2 +1,2 @@ -/* cjs-module-lexer 2.1.0 */ -let A;const B=1===new Uint8Array(new Uint16Array([1]).buffer)[0];export function parse(I,C="@"){if(!A)throw new Error("Not initialized");const w=I.length+1,D=(A.__heap_base.value||A.__heap_base)+4*w-A.memory.buffer.byteLength;D>0&&A.memory.grow(Math.ceil(D/65536));const G=A.sa(w);(B?g:E)(I,new Uint16Array(A.memory.buffer,G,w));const S=A.parseCJS(G,I.length,0,0,0);if(S){const B=new Error(`Parse error ${C}${A.e()}:${I.slice(0,A.e()).split("\n").length}:${A.e()-I.lastIndexOf("\n",A.e()-1)}`);throw Object.assign(B,{idx:A.e()}),5!==S&&6!==S&&7!==S||Object.assign(B,{code:"ERR_LEXER_ESM_SYNTAX"}),B}let R=new Set,o=new Set,H=new Set;for(;A.rre();){const B=Q(I.slice(A.res(),A.ree()));B&&o.add(B)}for(;A.ru();)H.add(Q(I.slice(A.us(),A.ue())));for(;A.re();){let B=Q(I.slice(A.es(),A.ee()));void 0===B||H.has(B)||R.add(B)}return{exports:[...R],reexports:[...o]}}function Q(A){if('"'!==A[0]&&"'"!==A[0])return A;try{const B=(0,eval)(A);for(let A=0;A>>8}}function g(A,B){const Q=A.length;let E=0;for(;EA.charCodeAt(0))}let C;export function init(){return C||(C=(async()=>{const B=await WebAssembly.compile(I()),{exports:Q}=await WebAssembly.instantiate(B);A=Q})())}export function initSync(){if(A)return;const B=new WebAssembly.Module(I()),{exports:Q}=new WebAssembly.Instance(B);A=Q} \ No newline at end of file +/* cjs-module-lexer 2.1.1 */ +let A;const B=1===new Uint8Array(new Uint16Array([1]).buffer)[0];export function parse(I,C="@"){if(!A)throw new Error("Not initialized");const w=I.length+1,D=(A.__heap_base.value||A.__heap_base)+4*w-A.memory.buffer.byteLength;D>0&&A.memory.grow(Math.ceil(D/65536));const G=A.sa(w);(B?g:E)(I,new Uint16Array(A.memory.buffer,G,w));const S=A.parseCJS(G,I.length,0,0,0);if(S){const B=new Error(`Parse error ${C}${A.e()}:${I.slice(0,A.e()).split("\n").length}:${A.e()-I.lastIndexOf("\n",A.e()-1)}`);throw Object.assign(B,{idx:A.e()}),5!==S&&6!==S&&7!==S||Object.assign(B,{code:"ERR_LEXER_ESM_SYNTAX"}),B}let R=new Set,H=new Set,o=new Set;for(;A.rre();){const B=Q(I.slice(A.res(),A.ree()));B&&H.add(B)}for(;A.ru();)o.add(Q(I.slice(A.us(),A.ue())));for(;A.re();){let B=Q(I.slice(A.es(),A.ee()));void 0===B||o.has(B)||R.add(B)}return{exports:[...R],reexports:[...H]}}function Q(A){if('"'!==A[0]&&"'"!==A[0])return A;try{const B=(0,eval)(A);for(let A=0;A>>8}}function g(A,B){const Q=A.length;let E=0;for(;EA.charCodeAt(0))}let C;export function init(){return C||(C=(async()=>{const B=await WebAssembly.compile(I()),{exports:Q}=await WebAssembly.instantiate(B);A=Q})())}export function initSync(){if(A)return;const B=new WebAssembly.Module(I()),{exports:Q}=new WebAssembly.Instance(B);A=Q} \ No newline at end of file diff --git a/deps/cjs-module-lexer/lexer.js b/deps/cjs-module-lexer/lexer.js index aaf7dde807f..6807f0bffc2 100755 --- a/deps/cjs-module-lexer/lexer.js +++ b/deps/cjs-module-lexer/lexer.js @@ -137,8 +137,10 @@ function parseSource (cjsSource) { pos += 4; if (source.charCodeAt(pos) === 40/*(*/) { openTokenPosStack[openTokenDepth++] = lastTokenPos; - if (source.charCodeAt(++pos) === 114/*r*/) + if (source.charCodeAt(pos + 1) === 114/*r*/) { + pos++; tryParseRequire(ExportStar); + } } } lastTokenPos = pos; @@ -288,7 +290,7 @@ function tryBacktrackAddStarExportBinding (bPos) { // `Object.` `prototype.`? hasOwnProperty.call(` IDENTIFIER `, ` IDENTIFIER$2 `)` function tryParseObjectHasOwnProperty (it_id) { - ch = commentWhitespace(); + let ch = commentWhitespace(); if (ch !== 79/*O*/ || !source.startsWith('bject', pos + 1)) return false; pos += 6; ch = commentWhitespace(); diff --git a/deps/cjs-module-lexer/src/Makefile b/deps/cjs-module-lexer/src/Makefile index 9a75850f73a..bf45b6270a5 100755 --- a/deps/cjs-module-lexer/src/Makefile +++ b/deps/cjs-module-lexer/src/Makefile @@ -1,5 +1,5 @@ -WASM2WAT := ../wabt/bin/wasm2wat -WASM_OPT := ../binaryen/bin/wasm-opt +WASM2WAT ?= ../wabt/bin/wasm2wat +WASM_OPT ?= ../binaryen/bin/wasm-opt .PHONY: optimize clean @@ -12,5 +12,8 @@ lib/lexer.wasm: include-wasm/cjs-module-lexer.h src/lexer.c | lib/ lib/: @mkdir -p $@ +optimize: lib/lexer.wasm + $(WASM_OPT) -Oz --enable-bulk-memory --strip-debug lib/lexer.wasm -o lib/lexer.wasm + clean: $(RM) lib/* diff --git a/deps/cjs-module-lexer/src/build/wasm.js b/deps/cjs-module-lexer/src/build/wasm.js index 58fb64041d7..ad83d599286 100644 --- a/deps/cjs-module-lexer/src/build/wasm.js +++ b/deps/cjs-module-lexer/src/build/wasm.js @@ -2,7 +2,7 @@ const WASM_BUILDER_CONTAINER = 'ghcr.io/nodejs/wasm-builder@sha256:975f391d907e42a75b8c72eb77c782181e941608687d4d8694c3e9df415a0970' // v0.0.9 -const WASM_OPT = './wasm-opt' +const WASM_OPT = process.env.WASM_OPT || './wasm-opt' const { execSync } = require('node:child_process') const { writeFileSync, readFileSync, existsSync, mkdirSync } = require('node:fs') diff --git a/deps/cjs-module-lexer/src/lexer.js b/deps/cjs-module-lexer/src/lexer.js index aaf7dde807f..6807f0bffc2 100755 --- a/deps/cjs-module-lexer/src/lexer.js +++ b/deps/cjs-module-lexer/src/lexer.js @@ -137,8 +137,10 @@ function parseSource (cjsSource) { pos += 4; if (source.charCodeAt(pos) === 40/*(*/) { openTokenPosStack[openTokenDepth++] = lastTokenPos; - if (source.charCodeAt(++pos) === 114/*r*/) + if (source.charCodeAt(pos + 1) === 114/*r*/) { + pos++; tryParseRequire(ExportStar); + } } } lastTokenPos = pos; @@ -288,7 +290,7 @@ function tryBacktrackAddStarExportBinding (bPos) { // `Object.` `prototype.`? hasOwnProperty.call(` IDENTIFIER `, ` IDENTIFIER$2 `)` function tryParseObjectHasOwnProperty (it_id) { - ch = commentWhitespace(); + let ch = commentWhitespace(); if (ch !== 79/*O*/ || !source.startsWith('bject', pos + 1)) return false; pos += 6; ch = commentWhitespace(); diff --git a/deps/cjs-module-lexer/src/lib/lexer.wasm b/deps/cjs-module-lexer/src/lib/lexer.wasm index ae6ac5a0f43621081c1ad45c3524b27f230c6f6f..d58cc87e730790acf37dc69dc3bc2efc02e82f4a 100755 GIT binary patch delta 40 wcmbQTmT}5j#toD8BsG{Alo<3GnH)bcxbreN?peU7z~IP~WyZ95jou4&0O>soQvd(} delta 40 wcmbQTmT}5j#toD8BpvrGVANn@P-1Xo$}(eOP+-t!WODq(;Lf{wjou4&0Q5WyQvd(} diff --git a/deps/cjs-module-lexer/src/package-lock.json b/deps/cjs-module-lexer/src/package-lock.json index e8de2e3e921..f80411b7d93 100644 --- a/deps/cjs-module-lexer/src/package-lock.json +++ b/deps/cjs-module-lexer/src/package-lock.json @@ -1,12 +1,12 @@ { "name": "cjs-module-lexer", - "version": "2.1.0", + "version": "2.1.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "cjs-module-lexer", - "version": "2.1.0", + "version": "2.1.1", "license": "MIT", "devDependencies": { "@babel/cli": "^7.5.5", @@ -86,6 +86,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", "dev": true, + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.5", @@ -554,6 +555,7 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001489", "electron-to-chromium": "^1.4.411", diff --git a/deps/cjs-module-lexer/src/package.json b/deps/cjs-module-lexer/src/package.json index 9ef0db81e12..d6c84bdd432 100755 --- a/deps/cjs-module-lexer/src/package.json +++ b/deps/cjs-module-lexer/src/package.json @@ -1,6 +1,6 @@ { "name": "cjs-module-lexer", - "version": "2.1.0", + "version": "2.1.1", "description": "Lexes CommonJS modules, returning their named exports metadata", "main": "lexer.js", "exports": { diff --git a/deps/cjs-module-lexer/src/src/lexer.c b/deps/cjs-module-lexer/src/src/lexer.c index 78c6849f9c9..fd7ba8b4e7e 100755 --- a/deps/cjs-module-lexer/src/src/lexer.c +++ b/deps/cjs-module-lexer/src/src/lexer.c @@ -120,8 +120,10 @@ uint32_t parseCJS (uint16_t* _source, uint32_t _sourceLen, void (*_addExport)(co pos += 4; if (*pos == '(') { openTokenPosStack[openTokenDepth++] = lastTokenPos; - if (*(++pos) == 'r') + if (*(pos + 1) == 'r') { + pos++; tryParseRequire(ExportStar); + } } } lastTokenPos = pos; diff --git a/src/cjs_module_lexer_version.h b/src/cjs_module_lexer_version.h index 8d754aadde0..0aaa4cc5fca 100644 --- a/src/cjs_module_lexer_version.h +++ b/src/cjs_module_lexer_version.h @@ -2,5 +2,5 @@ // Refer to tools/dep_updaters/update-cjs-module-lexer.sh #ifndef SRC_CJS_MODULE_LEXER_VERSION_H_ #define SRC_CJS_MODULE_LEXER_VERSION_H_ -#define CJS_MODULE_LEXER_VERSION "2.1.0" +#define CJS_MODULE_LEXER_VERSION "2.1.1" #endif // SRC_CJS_MODULE_LEXER_VERSION_H_