summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-03-09 10:21:31 -0500
committerGitHub <noreply@github.com>2024-03-09 10:21:31 -0500
commit5d3d4eba398ce862aa57d5de43d17e7ae1d45d3c (patch)
tree75f528a8e1593ed46383aab2e7114445e0f8d34d /tests
parente1fb174f86adce421ee6bbce70e5dc1558c10868 (diff)
fix(node): require of pkg json imports was broken (#22821)
Diffstat (limited to 'tests')
-rw-r--r--tests/integration/npm_tests.rs7
-rw-r--r--tests/testdata/npm/cjs_pkg_imports/main.out3
-rw-r--r--tests/testdata/npm/cjs_pkg_imports/main.ts3
-rw-r--r--tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/index.js7
-rw-r--r--tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/number.js1
-rw-r--r--tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/package.json13
-rw-r--r--tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/sub/dist/crypto.js1
-rw-r--r--tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/sub/dist/crypto.mjs1
8 files changed, 36 insertions, 0 deletions
diff --git a/tests/integration/npm_tests.rs b/tests/integration/npm_tests.rs
index 7c34415da..7df9e4f8a 100644
--- a/tests/integration/npm_tests.rs
+++ b/tests/integration/npm_tests.rs
@@ -477,6 +477,13 @@ itest!(run_existing_npm_package_with_subpath {
copy_temp_dir: Some("npm/run_existing_npm_package_with_subpath/"),
});
+itest!(cjs_pkg_imports {
+ args: "run -A npm/cjs_pkg_imports/main.ts",
+ output: "npm/cjs_pkg_imports/main.out",
+ envs: env_vars_for_npm_tests(),
+ http_server: true,
+});
+
#[test]
fn parallel_downloading() {
let (out, _err) = util::run_and_collect_output_with_args(
diff --git a/tests/testdata/npm/cjs_pkg_imports/main.out b/tests/testdata/npm/cjs_pkg_imports/main.out
new file mode 100644
index 000000000..b2df56f80
--- /dev/null
+++ b/tests/testdata/npm/cjs_pkg_imports/main.out
@@ -0,0 +1,3 @@
+Download http://localhost:4545/npm/registry/@denotest/cjs-pkg-imports
+Download http://localhost:4545/npm/registry/@denotest/cjs-pkg-imports/1.0.0.tgz
+{ crypto: Crypto { subtle: SubtleCrypto {} }, number: 5 }
diff --git a/tests/testdata/npm/cjs_pkg_imports/main.ts b/tests/testdata/npm/cjs_pkg_imports/main.ts
new file mode 100644
index 000000000..b30a3f85c
--- /dev/null
+++ b/tests/testdata/npm/cjs_pkg_imports/main.ts
@@ -0,0 +1,3 @@
+import crypto from "npm:@denotest/cjs-pkg-imports";
+
+console.log(crypto);
diff --git a/tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/index.js b/tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/index.js
new file mode 100644
index 000000000..0f8665277
--- /dev/null
+++ b/tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/index.js
@@ -0,0 +1,7 @@
+const crypto = require("#crypto");
+const number = require("#number");
+
+module.exports = {
+ crypto,
+ number,
+};
diff --git a/tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/number.js b/tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/number.js
new file mode 100644
index 000000000..f4e8d9d29
--- /dev/null
+++ b/tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/number.js
@@ -0,0 +1 @@
+module.exports = 5;
diff --git a/tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/package.json b/tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/package.json
new file mode 100644
index 000000000..a9281c88f
--- /dev/null
+++ b/tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/package.json
@@ -0,0 +1,13 @@
+{
+ "name": "@denotest/cjs-pkg-imports",
+ "version": "1.0.0",
+ "imports": {
+ "#crypto": {
+ "node": "./sub/dist/crypto.js",
+ "default": "./sub/dist/crypto.mjs"
+ },
+ "#number": {
+ "node": "./number.js"
+ }
+ }
+} \ No newline at end of file
diff --git a/tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/sub/dist/crypto.js b/tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/sub/dist/crypto.js
new file mode 100644
index 000000000..70ffd5e5b
--- /dev/null
+++ b/tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/sub/dist/crypto.js
@@ -0,0 +1 @@
+module.exports = require('node:crypto').webcrypto;
diff --git a/tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/sub/dist/crypto.mjs b/tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/sub/dist/crypto.mjs
new file mode 100644
index 000000000..fe98f1154
--- /dev/null
+++ b/tests/testdata/npm/registry/@denotest/cjs-pkg-imports/1.0.0/sub/dist/crypto.mjs
@@ -0,0 +1 @@
+export default crypto;