From f091d1ad69b4e5217ae3272b641171781a372c4f Mon Sep 17 00:00:00 2001 From: David Sherret Date: Wed, 13 Nov 2024 10:10:09 -0500 Subject: feat(node): stabilize detecting if CJS via `"type": "commonjs"` in a package.json (#26439) This will respect `"type": "commonjs"` in a package.json to determine if `.js`/`.jsx`/`.ts`/.tsx` files are CJS or ESM. If the file is found to be ESM it will be loaded as ESM though. --- .../@denotest/install-launch-cjs-temp-dir/1.0.0/install.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 tests/registry/npm/@denotest/install-launch-cjs-temp-dir/1.0.0/install.js (limited to 'tests/registry/npm/@denotest/install-launch-cjs-temp-dir/1.0.0/install.js') diff --git a/tests/registry/npm/@denotest/install-launch-cjs-temp-dir/1.0.0/install.js b/tests/registry/npm/@denotest/install-launch-cjs-temp-dir/1.0.0/install.js new file mode 100644 index 000000000..61aadeb83 --- /dev/null +++ b/tests/registry/npm/@denotest/install-launch-cjs-temp-dir/1.0.0/install.js @@ -0,0 +1,12 @@ +const tempDir = Deno.makeTempDirSync(); +try { + // should work requiring these because this was launched via a node binary entrypoint + Deno.writeTextFileSync(`${tempDir}/index.js`, "module.exports = require('./other');"); + Deno.writeTextFileSync(`${tempDir}/other.js`, "module.exports = (a, b) => a + b;"); + const add = require(`${tempDir}/index.js`); + if (add(1, 2) !== 3) { + throw new Error("FAILED"); + } +} finally { + Deno.removeSync(tempDir, { recursive: true }); +} -- cgit v1.2.3