summaryrefslogtreecommitdiff
path: root/tests/specs/import_map
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs/import_map')
-rw-r--r--tests/specs/import_map/import_map_config/__test__.json28
-rw-r--r--tests/specs/import_map/import_map_config/cache.out0
-rw-r--r--tests/specs/import_map/import_map_config/config.json15
-rw-r--r--tests/specs/import_map/import_map_config/config.out8
-rw-r--r--tests/specs/import_map/import_map_config/flag_has_precedence.out1
-rw-r--r--tests/specs/import_map/import_map_config/import_data_url.out3
-rw-r--r--tests/specs/import_map/import_map_config/import_data_url.ts12
-rw-r--r--tests/specs/import_map/import_map_config/import_map.json14
-rw-r--r--tests/specs/import_map/import_map_config/import_map_invalid.json7
-rw-r--r--tests/specs/import_map/import_map_config/info.out6
-rw-r--r--tests/specs/import_map/import_map_config/lodash/lodash.ts1
-rw-r--r--tests/specs/import_map/import_map_config/lodash/other_file.ts1
-rw-r--r--tests/specs/import_map/import_map_config/moment/moment.ts1
-rw-r--r--tests/specs/import_map/import_map_config/moment/other_file.ts1
-rw-r--r--tests/specs/import_map/import_map_config/run.out7
-rw-r--r--tests/specs/import_map/import_map_config/scope/scoped.ts2
-rw-r--r--tests/specs/import_map/import_map_config/scoped_moment.ts1
-rw-r--r--tests/specs/import_map/import_map_config/test.ts6
-rw-r--r--tests/specs/import_map/import_map_config/unmapped_bare_specifier.out6
-rw-r--r--tests/specs/import_map/import_map_config/unmapped_bare_specifier.ts1
-rw-r--r--tests/specs/import_map/import_map_config/vue.ts1
21 files changed, 122 insertions, 0 deletions
diff --git a/tests/specs/import_map/import_map_config/__test__.json b/tests/specs/import_map/import_map_config/__test__.json
new file mode 100644
index 000000000..b0463a231
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/__test__.json
@@ -0,0 +1,28 @@
+{
+ "steps": [{
+ "args": "run --quiet --reload --import-map=import_map.json test.ts",
+ "output": "run.out"
+ }, {
+ "args": "run --quiet --reload --import-map=import_map_invalid.json --config=config.json test.ts",
+ "output": "flag_has_precedence.out",
+ "exitCode": 1
+ }, {
+ "args": "run --reload --config=config.json test.ts",
+ "output": "config.out"
+ }, {
+ "cleanDenoDir": true,
+ "args": "cache --quiet --reload --import-map=import_map.json test.ts",
+ "output": "cache.out"
+ }, {
+ "cleanDenoDir": true,
+ "args": "info --quiet --import-map=import_map.json test.ts",
+ "output": "info.out"
+ }, {
+ "args": "run --quiet --reload --import-map=import_map.json unmapped_bare_specifier.ts",
+ "output": "unmapped_bare_specifier.out",
+ "exitCode": 1
+ }, {
+ "args": "run --quiet --reload --import-map import_map.json import_data_url.ts",
+ "output": "import_data_url.out"
+ }]
+}
diff --git a/tests/specs/import_map/import_map_config/cache.out b/tests/specs/import_map/import_map_config/cache.out
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/cache.out
diff --git a/tests/specs/import_map/import_map_config/config.json b/tests/specs/import_map/import_map_config/config.json
new file mode 100644
index 000000000..b296a63c7
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/config.json
@@ -0,0 +1,15 @@
+{
+ "importMap": "./import_map.json",
+ "imports": {
+ "moment": "./moment/moment.ts",
+ "moment/": "./moment/",
+ "lodash": "./lodash/lodash.ts",
+ "lodash/": "./lodash/",
+ "https://www.unpkg.com/vue/dist/vue.runtime.esm.js": "./vue.ts"
+ },
+ "scopes": {
+ "scope/": {
+ "moment": "./scoped_moment.ts"
+ }
+ }
+}
diff --git a/tests/specs/import_map/import_map_config/config.out b/tests/specs/import_map/import_map_config/config.out
new file mode 100644
index 000000000..72df124a2
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/config.out
@@ -0,0 +1,8 @@
+Warning "importMap" setting is ignored when "imports" or "scopes" are specified in the config file.
+Hello from remapped moment!
+Hello from remapped moment dir!
+Hello from remapped lodash!
+Hello from remapped lodash dir!
+Hello from remapped Vue!
+Hello from scoped moment!
+Hello from scoped!
diff --git a/tests/specs/import_map/import_map_config/flag_has_precedence.out b/tests/specs/import_map/import_map_config/flag_has_precedence.out
new file mode 100644
index 000000000..e9b183ee6
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/flag_has_precedence.out
@@ -0,0 +1 @@
+error: Relative import path [WILDCARD] not prefixed with / or ./ or ../ and not in import map [WILDCARD]
diff --git a/tests/specs/import_map/import_map_config/import_data_url.out b/tests/specs/import_map/import_map_config/import_data_url.out
new file mode 100644
index 000000000..bfa0b9d94
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/import_data_url.out
@@ -0,0 +1,3 @@
+a
+{ "0": "A", "1": "B", "2": "C", A: 0, B: 1, C: 2 }
+0
diff --git a/tests/specs/import_map/import_map_config/import_data_url.ts b/tests/specs/import_map/import_map_config/import_data_url.ts
new file mode 100644
index 000000000..258514a5e
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/import_data_url.ts
@@ -0,0 +1,12 @@
+// export const a = "a";
+
+// export enum A {
+// A,
+// B,
+// C,
+// }
+import * as a from "data:application/typescript;base64,ZXhwb3J0IGNvbnN0IGEgPSAiYSI7CgpleHBvcnQgZW51bSBBIHsKICBBLAogIEIsCiAgQywKfQo=";
+
+console.log(a.a);
+console.log(a.A);
+console.log(a.A.A);
diff --git a/tests/specs/import_map/import_map_config/import_map.json b/tests/specs/import_map/import_map_config/import_map.json
new file mode 100644
index 000000000..601874aab
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/import_map.json
@@ -0,0 +1,14 @@
+{
+ "imports": {
+ "moment": "./moment/moment.ts",
+ "moment/": "./moment/",
+ "lodash": "./lodash/lodash.ts",
+ "lodash/": "./lodash/",
+ "https://www.unpkg.com/vue/dist/vue.runtime.esm.js": "./vue.ts"
+ },
+ "scopes": {
+ "scope/": {
+ "moment": "./scoped_moment.ts"
+ }
+ }
+}
diff --git a/tests/specs/import_map/import_map_config/import_map_invalid.json b/tests/specs/import_map/import_map_config/import_map_invalid.json
new file mode 100644
index 000000000..a09d280c5
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/import_map_invalid.json
@@ -0,0 +1,7 @@
+{
+ "imports": {
+ "https://www.unpkg.com/vue/dist/vue.runtime.esm.js": "./vue.ts"
+ },
+ "scopes": {
+ }
+}
diff --git a/tests/specs/import_map/import_map_config/info.out b/tests/specs/import_map/import_map_config/info.out
new file mode 100644
index 000000000..68d98f14a
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/info.out
@@ -0,0 +1,6 @@
+local: [WILDCARD]test.ts
+type: TypeScript
+dependencies: 7 unique
+size: [WILDCARD]
+
+[WILDCARD]
diff --git a/tests/specs/import_map/import_map_config/lodash/lodash.ts b/tests/specs/import_map/import_map_config/lodash/lodash.ts
new file mode 100644
index 000000000..2ec04ed3c
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/lodash/lodash.ts
@@ -0,0 +1 @@
+console.log("Hello from remapped lodash!");
diff --git a/tests/specs/import_map/import_map_config/lodash/other_file.ts b/tests/specs/import_map/import_map_config/lodash/other_file.ts
new file mode 100644
index 000000000..714adae3f
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/lodash/other_file.ts
@@ -0,0 +1 @@
+console.log("Hello from remapped lodash dir!");
diff --git a/tests/specs/import_map/import_map_config/moment/moment.ts b/tests/specs/import_map/import_map_config/moment/moment.ts
new file mode 100644
index 000000000..2b54a431e
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/moment/moment.ts
@@ -0,0 +1 @@
+console.log("Hello from remapped moment!");
diff --git a/tests/specs/import_map/import_map_config/moment/other_file.ts b/tests/specs/import_map/import_map_config/moment/other_file.ts
new file mode 100644
index 000000000..24f3a0226
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/moment/other_file.ts
@@ -0,0 +1 @@
+console.log("Hello from remapped moment dir!");
diff --git a/tests/specs/import_map/import_map_config/run.out b/tests/specs/import_map/import_map_config/run.out
new file mode 100644
index 000000000..e9b9160e9
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/run.out
@@ -0,0 +1,7 @@
+Hello from remapped moment!
+Hello from remapped moment dir!
+Hello from remapped lodash!
+Hello from remapped lodash dir!
+Hello from remapped Vue!
+Hello from scoped moment!
+Hello from scoped!
diff --git a/tests/specs/import_map/import_map_config/scope/scoped.ts b/tests/specs/import_map/import_map_config/scope/scoped.ts
new file mode 100644
index 000000000..9a0b5d8e3
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/scope/scoped.ts
@@ -0,0 +1,2 @@
+import "moment";
+console.log("Hello from scoped!");
diff --git a/tests/specs/import_map/import_map_config/scoped_moment.ts b/tests/specs/import_map/import_map_config/scoped_moment.ts
new file mode 100644
index 000000000..9f67f88d4
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/scoped_moment.ts
@@ -0,0 +1 @@
+console.log("Hello from scoped moment!");
diff --git a/tests/specs/import_map/import_map_config/test.ts b/tests/specs/import_map/import_map_config/test.ts
new file mode 100644
index 000000000..9b09e9953
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/test.ts
@@ -0,0 +1,6 @@
+import "moment";
+import "moment/other_file.ts";
+import "lodash";
+import "lodash/other_file.ts";
+import "https://www.unpkg.com/vue/dist/vue.runtime.esm.js";
+import "./scope/scoped.ts";
diff --git a/tests/specs/import_map/import_map_config/unmapped_bare_specifier.out b/tests/specs/import_map/import_map_config/unmapped_bare_specifier.out
new file mode 100644
index 000000000..6980fc16b
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/unmapped_bare_specifier.out
@@ -0,0 +1,6 @@
+error: Uncaught (in promise) TypeError: Relative import path "unmapped" not prefixed with / or ./ or ../ and not in import map from "file://[WILDCARD]/unmapped_bare_specifier.ts"
+ at file://[WILDCARD]/unmapped_bare_specifier.ts:1:14
+
+await import("unmapped");
+^
+ at async file://[WILDCARD]/unmapped_bare_specifier.ts:1:1
diff --git a/tests/specs/import_map/import_map_config/unmapped_bare_specifier.ts b/tests/specs/import_map/import_map_config/unmapped_bare_specifier.ts
new file mode 100644
index 000000000..87684430d
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/unmapped_bare_specifier.ts
@@ -0,0 +1 @@
+await import("unmapped");
diff --git a/tests/specs/import_map/import_map_config/vue.ts b/tests/specs/import_map/import_map_config/vue.ts
new file mode 100644
index 000000000..76dbe1917
--- /dev/null
+++ b/tests/specs/import_map/import_map_config/vue.ts
@@ -0,0 +1 @@
+console.log("Hello from remapped Vue!");