diff options
author | Nathan Whitaker <17734409+nathanwhit@users.noreply.github.com> | 2024-09-21 16:10:38 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-21 16:10:38 -0700 |
commit | 9be8dce0c7f8deaeff5523735e0867194ec04c59 (patch) | |
tree | 36977fc586cff680bb0847bdb19e586e0e777955 /tests | |
parent | 4b022103a14916de1c3bc539d123273750138915 (diff) |
fix(node): Include "node" condition during CJS re-export analysis (#25785)
Fixes #25777.
We were missing the "node" condition, so we were resolving to the wrong
conditional export, causing our analysis to be incorrect.
Diffstat (limited to 'tests')
12 files changed, 66 insertions, 0 deletions
diff --git a/tests/registry/npm/@denotest/conditional-exports-node/1.0.0/bad.js b/tests/registry/npm/@denotest/conditional-exports-node/1.0.0/bad.js new file mode 100644 index 000000000..e4f1bed50 --- /dev/null +++ b/tests/registry/npm/@denotest/conditional-exports-node/1.0.0/bad.js @@ -0,0 +1,3 @@ +module.exports = { + hello: "bad" +};
\ No newline at end of file diff --git a/tests/registry/npm/@denotest/conditional-exports-node/1.0.0/good.cjs b/tests/registry/npm/@denotest/conditional-exports-node/1.0.0/good.cjs new file mode 100644 index 000000000..f99f7732a --- /dev/null +++ b/tests/registry/npm/@denotest/conditional-exports-node/1.0.0/good.cjs @@ -0,0 +1,3 @@ +module.exports = { + hello: "from node" +};
\ No newline at end of file diff --git a/tests/registry/npm/@denotest/conditional-exports-node/1.0.0/index.js b/tests/registry/npm/@denotest/conditional-exports-node/1.0.0/index.js new file mode 100644 index 000000000..a440bdc74 --- /dev/null +++ b/tests/registry/npm/@denotest/conditional-exports-node/1.0.0/index.js @@ -0,0 +1,3 @@ +export default { + hello: "default export" +}
\ No newline at end of file diff --git a/tests/registry/npm/@denotest/conditional-exports-node/1.0.0/package.json b/tests/registry/npm/@denotest/conditional-exports-node/1.0.0/package.json new file mode 100644 index 000000000..00a43c78f --- /dev/null +++ b/tests/registry/npm/@denotest/conditional-exports-node/1.0.0/package.json @@ -0,0 +1,13 @@ +{ + "name": "@denotest/conditional-exports", + "version": "1.0.0", + "type": "module", + "exports": { + ".": { + "node": "./good.cjs", + "require": "./bad.js", + "default": "./index.js" + }, + "./*": "./*" + } +} diff --git a/tests/registry/npm/@denotest/mjs-reexport-cjs/1.0.0/dist/package.cjs.js b/tests/registry/npm/@denotest/mjs-reexport-cjs/1.0.0/dist/package.cjs.js new file mode 100644 index 000000000..1d1499e2c --- /dev/null +++ b/tests/registry/npm/@denotest/mjs-reexport-cjs/1.0.0/dist/package.cjs.js @@ -0,0 +1,7 @@ +Object.defineProperty(exports, '__esModule', { value: true }); + +const pkg = require("@denotest/conditional-exports-node"); + +Object.keys(pkg).forEach(function (k) { + if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = pkg[k]; +});
\ No newline at end of file diff --git a/tests/registry/npm/@denotest/mjs-reexport-cjs/1.0.0/index.js b/tests/registry/npm/@denotest/mjs-reexport-cjs/1.0.0/index.js new file mode 100644 index 000000000..9f407c0b1 --- /dev/null +++ b/tests/registry/npm/@denotest/mjs-reexport-cjs/1.0.0/index.js @@ -0,0 +1 @@ +module.exports = require('./dist/package.cjs.js')
\ No newline at end of file diff --git a/tests/registry/npm/@denotest/mjs-reexport-cjs/1.0.0/index.mjs b/tests/registry/npm/@denotest/mjs-reexport-cjs/1.0.0/index.mjs new file mode 100644 index 000000000..3767e9fcd --- /dev/null +++ b/tests/registry/npm/@denotest/mjs-reexport-cjs/1.0.0/index.mjs @@ -0,0 +1 @@ +export * from "./index.js";
\ No newline at end of file diff --git a/tests/registry/npm/@denotest/mjs-reexport-cjs/1.0.0/package.json b/tests/registry/npm/@denotest/mjs-reexport-cjs/1.0.0/package.json new file mode 100644 index 000000000..9a3ef3c84 --- /dev/null +++ b/tests/registry/npm/@denotest/mjs-reexport-cjs/1.0.0/package.json @@ -0,0 +1,11 @@ +{ + "name": "@denotest/mjs-reexport-cjs", + "version": "1.0.0", + "dependencies": { + "@denotest/conditional-exports-node": "*" + }, + "exports": { + "node": "./index.mjs", + "default": "./index.js" + } +}
\ No newline at end of file diff --git a/tests/specs/node/cjs_reexport_node_condition/__test__.jsonc b/tests/specs/node/cjs_reexport_node_condition/__test__.jsonc new file mode 100644 index 000000000..030f2aa07 --- /dev/null +++ b/tests/specs/node/cjs_reexport_node_condition/__test__.jsonc @@ -0,0 +1,13 @@ +{ + "tempDir": true, + "steps": [ + { + "args": "install", + "output": "[WILDCARD]" + }, + { + "args": "run -A ./main.ts", + "output": "from node\n" + } + ] +} diff --git a/tests/specs/node/cjs_reexport_node_condition/deno.json b/tests/specs/node/cjs_reexport_node_condition/deno.json new file mode 100644 index 000000000..fde86a1ef --- /dev/null +++ b/tests/specs/node/cjs_reexport_node_condition/deno.json @@ -0,0 +1,3 @@ +{ + "nodeModulesDir": "manual" +} diff --git a/tests/specs/node/cjs_reexport_node_condition/main.ts b/tests/specs/node/cjs_reexport_node_condition/main.ts new file mode 100644 index 000000000..09b8418a6 --- /dev/null +++ b/tests/specs/node/cjs_reexport_node_condition/main.ts @@ -0,0 +1,3 @@ +import { hello } from "@denotest/mjs-reexport-cjs"; + +console.log(hello); diff --git a/tests/specs/node/cjs_reexport_node_condition/package.json b/tests/specs/node/cjs_reexport_node_condition/package.json new file mode 100644 index 000000000..85ded5d50 --- /dev/null +++ b/tests/specs/node/cjs_reexport_node_condition/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "@denotest/mjs-reexport-cjs": "*" + } +} |