summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/node_resolver/analyze.rs2
-rw-r--r--tests/registry/npm/@denotest/conditional-exports-node/1.0.0/bad.js3
-rw-r--r--tests/registry/npm/@denotest/conditional-exports-node/1.0.0/good.cjs3
-rw-r--r--tests/registry/npm/@denotest/conditional-exports-node/1.0.0/index.js3
-rw-r--r--tests/registry/npm/@denotest/conditional-exports-node/1.0.0/package.json13
-rw-r--r--tests/registry/npm/@denotest/mjs-reexport-cjs/1.0.0/dist/package.cjs.js7
-rw-r--r--tests/registry/npm/@denotest/mjs-reexport-cjs/1.0.0/index.js1
-rw-r--r--tests/registry/npm/@denotest/mjs-reexport-cjs/1.0.0/index.mjs1
-rw-r--r--tests/registry/npm/@denotest/mjs-reexport-cjs/1.0.0/package.json11
-rw-r--r--tests/specs/node/cjs_reexport_node_condition/__test__.jsonc13
-rw-r--r--tests/specs/node/cjs_reexport_node_condition/deno.json3
-rw-r--r--tests/specs/node/cjs_reexport_node_condition/main.ts3
-rw-r--r--tests/specs/node/cjs_reexport_node_condition/package.json5
13 files changed, 67 insertions, 1 deletions
diff --git a/ext/node_resolver/analyze.rs b/ext/node_resolver/analyze.rs
index aea33e29a..deb56d064 100644
--- a/ext/node_resolver/analyze.rs
+++ b/ext/node_resolver/analyze.rs
@@ -196,7 +196,7 @@ impl<TCjsCodeAnalyzer: CjsCodeAnalyzer, TNodeResolverEnv: NodeResolverEnv>
&referrer,
// FIXME(bartlomieju): check if these conditions are okay, probably
// should be `deno-require`, because `deno` is already used in `esm_resolver.rs`
- &["deno", "require", "default"],
+ &["deno", "node", "require", "default"],
NodeResolutionMode::Execution,
);
let reexport_specifier = match result {
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": "*"
+ }
+}