summaryrefslogtreecommitdiff
path: root/tests/specs/npm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs/npm')
-rw-r--r--tests/specs/npm/conditional_exports/__test__.json5
-rw-r--r--tests/specs/npm/conditional_exports/main.js15
-rw-r--r--tests/specs/npm/conditional_exports/main.out19
-rw-r--r--tests/specs/npm/conditional_exports_node_modules_dir/__test__.json6
-rw-r--r--tests/specs/npm/conditional_exports_node_modules_dir/main.js15
-rw-r--r--tests/specs/npm/conditional_exports_node_modules_dir/main.out23
-rw-r--r--tests/specs/npm/es_module/__test__.json22
-rw-r--r--tests/specs/npm/es_module/bundle.out1
-rw-r--r--tests/specs/npm/es_module/main.js9
-rw-r--r--tests/specs/npm/es_module/main.out3
-rw-r--r--tests/specs/npm/es_module/test.js5
-rw-r--r--tests/specs/npm/es_module/test.out11
12 files changed, 134 insertions, 0 deletions
diff --git a/tests/specs/npm/conditional_exports/__test__.json b/tests/specs/npm/conditional_exports/__test__.json
new file mode 100644
index 000000000..72b058cbf
--- /dev/null
+++ b/tests/specs/npm/conditional_exports/__test__.json
@@ -0,0 +1,5 @@
+{
+ "base": "npm",
+ "args": "run --allow-read main.js",
+ "output": "main.out"
+}
diff --git a/tests/specs/npm/conditional_exports/main.js b/tests/specs/npm/conditional_exports/main.js
new file mode 100644
index 000000000..52b78bc22
--- /dev/null
+++ b/tests/specs/npm/conditional_exports/main.js
@@ -0,0 +1,15 @@
+import mod from "npm:@denotest/conditional-exports";
+import foo from "npm:@denotest/conditional-exports/foo.js";
+import client from "npm:@denotest/conditional-exports/client";
+import clientFoo from "npm:@denotest/conditional-exports/client/foo";
+import clientBar from "npm:@denotest/conditional-exports/client/bar";
+import clientM from "npm:@denotest/conditional-exports/client/m";
+import supportsESM from "npm:supports-esm";
+
+console.log(mod);
+console.log(foo);
+console.log(client);
+console.log(clientFoo);
+console.log(clientBar);
+console.log(clientM);
+console.log(supportsESM);
diff --git a/tests/specs/npm/conditional_exports/main.out b/tests/specs/npm/conditional_exports/main.out
new file mode 100644
index 000000000..dbd1b87fe
--- /dev/null
+++ b/tests/specs/npm/conditional_exports/main.out
@@ -0,0 +1,19 @@
+[UNORDERED_START]
+Download http://localhost:4545/npm/registry/@denotest/conditional-exports
+Download http://localhost:4545/npm/registry/supports-esm
+Download http://localhost:4545/npm/registry/has-package-exports
+Download http://localhost:4545/npm/registry/@ljharb/has-package-exports-patterns
+[UNORDERED_END]
+[UNORDERED_START]
+Download http://localhost:4545/npm/registry/@denotest/conditional-exports/1.0.0.tgz
+Download http://localhost:4545/npm/registry/@ljharb/has-package-exports-patterns/has-package-exports-patterns-0.0.2.tgz
+Download http://localhost:4545/npm/registry/has-package-exports/has-package-exports-1.3.0.tgz
+Download http://localhost:4545/npm/registry/supports-esm/supports-esm-1.0.0.tgz
+[UNORDERED_END]
+{ hello: "from esm" }
+{ hello: "from foo" }
+{ hello: "from esm client" }
+{ hello: "from esm client foo" }
+{ hello: "from esm client bar" }
+{ hello: "from esm client m" }
+true
diff --git a/tests/specs/npm/conditional_exports_node_modules_dir/__test__.json b/tests/specs/npm/conditional_exports_node_modules_dir/__test__.json
new file mode 100644
index 000000000..09ea8b23b
--- /dev/null
+++ b/tests/specs/npm/conditional_exports_node_modules_dir/__test__.json
@@ -0,0 +1,6 @@
+{
+ "base": "npm",
+ "tempDir": true,
+ "args": "run --allow-read --node-modules-dir main.js",
+ "output": "main.out"
+}
diff --git a/tests/specs/npm/conditional_exports_node_modules_dir/main.js b/tests/specs/npm/conditional_exports_node_modules_dir/main.js
new file mode 100644
index 000000000..52b78bc22
--- /dev/null
+++ b/tests/specs/npm/conditional_exports_node_modules_dir/main.js
@@ -0,0 +1,15 @@
+import mod from "npm:@denotest/conditional-exports";
+import foo from "npm:@denotest/conditional-exports/foo.js";
+import client from "npm:@denotest/conditional-exports/client";
+import clientFoo from "npm:@denotest/conditional-exports/client/foo";
+import clientBar from "npm:@denotest/conditional-exports/client/bar";
+import clientM from "npm:@denotest/conditional-exports/client/m";
+import supportsESM from "npm:supports-esm";
+
+console.log(mod);
+console.log(foo);
+console.log(client);
+console.log(clientFoo);
+console.log(clientBar);
+console.log(clientM);
+console.log(supportsESM);
diff --git a/tests/specs/npm/conditional_exports_node_modules_dir/main.out b/tests/specs/npm/conditional_exports_node_modules_dir/main.out
new file mode 100644
index 000000000..460aec0f1
--- /dev/null
+++ b/tests/specs/npm/conditional_exports_node_modules_dir/main.out
@@ -0,0 +1,23 @@
+[UNORDERED_START]
+Download http://localhost:4545/npm/registry/@denotest/conditional-exports
+Download http://localhost:4545/npm/registry/supports-esm
+Download http://localhost:4545/npm/registry/has-package-exports
+Download http://localhost:4545/npm/registry/@ljharb/has-package-exports-patterns
+[UNORDERED_END]
+[UNORDERED_START]
+Download http://localhost:4545/npm/registry/@denotest/conditional-exports/1.0.0.tgz
+Initialize @denotest/conditional-exports@1.0.0
+Download http://localhost:4545/npm/registry/@ljharb/has-package-exports-patterns/has-package-exports-patterns-0.0.2.tgz
+Initialize @ljharb/has-package-exports-patterns@0.0.2
+Download http://localhost:4545/npm/registry/has-package-exports/has-package-exports-1.3.0.tgz
+Initialize has-package-exports@1.3.0
+Download http://localhost:4545/npm/registry/supports-esm/supports-esm-1.0.0.tgz
+Initialize supports-esm@1.0.0
+[UNORDERED_END]
+{ hello: "from esm" }
+{ hello: "from foo" }
+{ hello: "from esm client" }
+{ hello: "from esm client foo" }
+{ hello: "from esm client bar" }
+{ hello: "from esm client m" }
+true
diff --git a/tests/specs/npm/es_module/__test__.json b/tests/specs/npm/es_module/__test__.json
new file mode 100644
index 000000000..f720a2bc0
--- /dev/null
+++ b/tests/specs/npm/es_module/__test__.json
@@ -0,0 +1,22 @@
+{
+ "base": "npm",
+ "steps": [{
+ "args": "run --allow-read --allow-env main.js",
+ "output": "main.out"
+ }, {
+ "cleanDenoDir": true,
+ "args": "test --allow-read --allow-env test.js",
+ "output": "test.out"
+ }, {
+ "cleanDenoDir": true,
+ "args": [
+ "eval",
+ "import chalk from 'npm:chalk@5'; console.log(chalk.green('chalk esm loads'));"
+ ],
+ "output": "main.out"
+ }, {
+ "args": "bundle --quiet main.js",
+ "output": "bundle.out",
+ "exitCode": 1
+ }]
+}
diff --git a/tests/specs/npm/es_module/bundle.out b/tests/specs/npm/es_module/bundle.out
new file mode 100644
index 000000000..c749a236a
--- /dev/null
+++ b/tests/specs/npm/es_module/bundle.out
@@ -0,0 +1 @@
+error: npm specifiers have not yet been implemented for this subcommand (https://github.com/denoland/deno/issues/15960). Found: npm:/chalk@5.0.1
diff --git a/tests/specs/npm/es_module/main.js b/tests/specs/npm/es_module/main.js
new file mode 100644
index 000000000..0f1fa2590
--- /dev/null
+++ b/tests/specs/npm/es_module/main.js
@@ -0,0 +1,9 @@
+import chalk from "npm:chalk@5";
+
+if (import.meta.main) {
+ console.log(chalk.green("chalk esm loads"));
+}
+
+export function test(value) {
+ return chalk.red(value);
+}
diff --git a/tests/specs/npm/es_module/main.out b/tests/specs/npm/es_module/main.out
new file mode 100644
index 000000000..2010a5b73
--- /dev/null
+++ b/tests/specs/npm/es_module/main.out
@@ -0,0 +1,3 @@
+Download http://localhost:4545/npm/registry/chalk
+Download http://localhost:4545/npm/registry/chalk/chalk-5.0.1.tgz
+chalk esm loads
diff --git a/tests/specs/npm/es_module/test.js b/tests/specs/npm/es_module/test.js
new file mode 100644
index 000000000..b9c91c715
--- /dev/null
+++ b/tests/specs/npm/es_module/test.js
@@ -0,0 +1,5 @@
+import { test } from "./main.js";
+
+Deno.test("test", () => {
+ console.log(test("test"));
+});
diff --git a/tests/specs/npm/es_module/test.out b/tests/specs/npm/es_module/test.out
new file mode 100644
index 000000000..0ed0fbd3c
--- /dev/null
+++ b/tests/specs/npm/es_module/test.out
@@ -0,0 +1,11 @@
+Download http://localhost:4545/npm/registry/chalk
+Download http://localhost:4545/npm/registry/chalk/chalk-5.0.1.tgz
+running 1 test from ./test.js
+test ...
+------- output -------
+test
+----- output end -----
+test ... ok ([WILDCARD]s)
+
+ok | 1 passed | 0 failed ([WILDCARD]s)
+