summaryrefslogtreecommitdiff
path: root/tests/specs/npm/node_modules_import_auto
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs/npm/node_modules_import_auto')
-rw-r--r--tests/specs/npm/node_modules_import_auto/__test__.jsonc23
-rw-r--r--tests/specs/npm/node_modules_import_auto/deno.json3
-rw-r--r--tests/specs/npm/node_modules_import_auto/main.out6
-rw-r--r--tests/specs/npm/node_modules_import_auto/main.ts16
-rw-r--r--tests/specs/npm/node_modules_import_auto/main_check.out20
-rw-r--r--tests/specs/npm/node_modules_import_auto/package.json5
6 files changed, 73 insertions, 0 deletions
diff --git a/tests/specs/npm/node_modules_import_auto/__test__.jsonc b/tests/specs/npm/node_modules_import_auto/__test__.jsonc
new file mode 100644
index 000000000..4f18ebe60
--- /dev/null
+++ b/tests/specs/npm/node_modules_import_auto/__test__.jsonc
@@ -0,0 +1,23 @@
+{
+ "tempDir": true,
+ "tests": {
+ "node_modules_import_run": {
+ "steps": [
+ {
+ "args": "run main.ts",
+ "output": "main.out",
+ "exitCode": 0
+ }
+ ]
+ },
+ "node_modules_import_check": {
+ "steps": [
+ {
+ "args": "check main.ts",
+ "output": "main_check.out",
+ "exitCode": 1
+ }
+ ]
+ }
+ }
+}
diff --git a/tests/specs/npm/node_modules_import_auto/deno.json b/tests/specs/npm/node_modules_import_auto/deno.json
new file mode 100644
index 000000000..fbd70ec48
--- /dev/null
+++ b/tests/specs/npm/node_modules_import_auto/deno.json
@@ -0,0 +1,3 @@
+{
+ "nodeModulesDir": "auto"
+}
diff --git a/tests/specs/npm/node_modules_import_auto/main.out b/tests/specs/npm/node_modules_import_auto/main.out
new file mode 100644
index 000000000..8fda5cda1
--- /dev/null
+++ b/tests/specs/npm/node_modules_import_auto/main.out
@@ -0,0 +1,6 @@
+Download http://localhost:4260/@denotest/esm-basic
+Download http://localhost:4260/@denotest/esm-basic/1.0.0.tgz
+Initialize @denotest/esm-basic@1.0.0
+2
+2
+2
diff --git a/tests/specs/npm/node_modules_import_auto/main.ts b/tests/specs/npm/node_modules_import_auto/main.ts
new file mode 100644
index 000000000..848ca0f81
--- /dev/null
+++ b/tests/specs/npm/node_modules_import_auto/main.ts
@@ -0,0 +1,16 @@
+import * as myImport1 from "@denotest/esm-basic";
+import * as myImport2 from "./node_modules/@denotest/esm-basic/main.mjs";
+import * as myImport3 from "@denotest/esm-basic/main.mjs";
+
+myImport1.setValue(5);
+myImport2.setValue(2);
+
+// these should all give type errors
+const value1: string = myImport1.getValue();
+const value2: string = myImport2.getValue();
+const value3: string = myImport3.getValue();
+
+// these should all be equal because it should be mutating the same module
+console.log(value1);
+console.log(value2);
+console.log(value3);
diff --git a/tests/specs/npm/node_modules_import_auto/main_check.out b/tests/specs/npm/node_modules_import_auto/main_check.out
new file mode 100644
index 000000000..24249f357
--- /dev/null
+++ b/tests/specs/npm/node_modules_import_auto/main_check.out
@@ -0,0 +1,20 @@
+Download http://localhost:4260/@denotest/esm-basic
+Download http://localhost:4260/@denotest/esm-basic/1.0.0.tgz
+Initialize @denotest/esm-basic@1.0.0
+Check file:///[WILDCARD]/main.ts
+error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'.
+const value1: string = myImport1.getValue();
+ ~~~~~~
+ at file:///[WILDCARD]/main.ts:9:7
+
+TS2322 [ERROR]: Type 'number' is not assignable to type 'string'.
+const value2: string = myImport2.getValue();
+ ~~~~~~
+ at file:///[WILDCARD]/main.ts:10:7
+
+TS2322 [ERROR]: Type 'number' is not assignable to type 'string'.
+const value3: string = myImport3.getValue();
+ ~~~~~~
+ at file:///[WILDCARD]/main.ts:11:7
+
+Found 3 errors.
diff --git a/tests/specs/npm/node_modules_import_auto/package.json b/tests/specs/npm/node_modules_import_auto/package.json
new file mode 100644
index 000000000..ed77298e0
--- /dev/null
+++ b/tests/specs/npm/node_modules_import_auto/package.json
@@ -0,0 +1,5 @@
+{
+ "dependencies": {
+ "@denotest/esm-basic": "^1"
+ }
+}