summaryrefslogtreecommitdiff
path: root/tests/testdata/jsr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/testdata/jsr')
-rw-r--r--tests/testdata/jsr/deps/main.out13
-rw-r--r--tests/testdata/jsr/deps/main.ts3
-rw-r--r--tests/testdata/jsr/deps/main_info.out22
-rw-r--r--tests/testdata/jsr/module_graph/main.out7
-rw-r--r--tests/testdata/jsr/module_graph/main.ts3
-rw-r--r--tests/testdata/jsr/module_graph/main_info.out14
-rw-r--r--tests/testdata/jsr/no_module_graph/main.out6
-rw-r--r--tests/testdata/jsr/no_module_graph/main.ts4
-rw-r--r--tests/testdata/jsr/no_module_graph/main_info.out12
-rw-r--r--tests/testdata/jsr/no_module_graph/multiple.out2
-rw-r--r--tests/testdata/jsr/no_module_graph/multiple.ts5
-rw-r--r--tests/testdata/jsr/registry/@denotest/add/1.0.0/mod.ts3
-rw-r--r--tests/testdata/jsr/registry/@denotest/add/1.0.0_meta.json8
-rw-r--r--tests/testdata/jsr/registry/@denotest/add/meta.json5
-rw-r--r--tests/testdata/jsr/registry/@denotest/deps/1.0.0/mod.ts7
-rw-r--r--tests/testdata/jsr/registry/@denotest/deps/1.0.0_meta.json22
-rw-r--r--tests/testdata/jsr/registry/@denotest/deps/meta.json5
-rw-r--r--tests/testdata/jsr/registry/@denotest/module_graph/1.4.0/mod.ts5
-rw-r--r--tests/testdata/jsr/registry/@denotest/module_graph/1.4.0/other.ts2
-rw-r--r--tests/testdata/jsr/registry/@denotest/module_graph/1.4.0_meta.json18
-rw-r--r--tests/testdata/jsr/registry/@denotest/module_graph/meta.json6
-rw-r--r--tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.0/TestClass.ts1
-rw-r--r--tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.0/mod.ts3
-rw-r--r--tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.0_meta.json5
-rw-r--r--tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.1/TestClass.ts1
-rw-r--r--tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.1/mod.ts3
-rw-r--r--tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.1_meta.json5
-rw-r--r--tests/testdata/jsr/registry/@denotest/no_module_graph/0.2.0/TestClass.ts1
-rw-r--r--tests/testdata/jsr/registry/@denotest/no_module_graph/0.2.0/mod.ts3
-rw-r--r--tests/testdata/jsr/registry/@denotest/no_module_graph/0.2.0_meta.json5
-rw-r--r--tests/testdata/jsr/registry/@denotest/no_module_graph/meta.json7
-rw-r--r--tests/testdata/jsr/registry/@denotest/subset_type_graph/0.1.0/mod.ts17
-rw-r--r--tests/testdata/jsr/registry/@denotest/subset_type_graph/0.1.0_meta.json5
-rw-r--r--tests/testdata/jsr/registry/@denotest/subset_type_graph/meta.json5
-rw-r--r--tests/testdata/jsr/registry/@denotest/subset_type_graph_invalid/0.1.0/mod.ts12
-rw-r--r--tests/testdata/jsr/registry/@denotest/subset_type_graph_invalid/0.1.0_meta.json5
-rw-r--r--tests/testdata/jsr/registry/@denotest/subset_type_graph_invalid/meta.json5
-rw-r--r--tests/testdata/jsr/subset_type_graph/main.check.out45
-rw-r--r--tests/testdata/jsr/subset_type_graph/main.ts13
-rw-r--r--tests/testdata/jsr/version_not_found/main.out5
-rw-r--r--tests/testdata/jsr/version_not_found/main.ts2
41 files changed, 320 insertions, 0 deletions
diff --git a/tests/testdata/jsr/deps/main.out b/tests/testdata/jsr/deps/main.out
new file mode 100644
index 000000000..621703c4b
--- /dev/null
+++ b/tests/testdata/jsr/deps/main.out
@@ -0,0 +1,13 @@
+Download http://127.0.0.1:4250/@denotest/deps/meta.json
+Download http://127.0.0.1:4250/@denotest/deps/1.0.0_meta.json
+Download http://127.0.0.1:4250/@denotest/module_graph/meta.json
+Download http://127.0.0.1:4250/@denotest/no_module_graph/meta.json
+Download http://127.0.0.1:4250/@denotest/module_graph/1.4.0_meta.json
+Download http://127.0.0.1:4250/@denotest/no_module_graph/0.1.1_meta.json
+[UNORDERED_START]
+Download http://127.0.0.1:4250/@denotest/deps/1.0.0/mod.ts
+Download http://127.0.0.1:4250/@denotest/module_graph/1.4.0/other.ts
+Download http://127.0.0.1:4250/@denotest/no_module_graph/0.1.1/mod.ts
+Download http://127.0.0.1:4250/@denotest/no_module_graph/0.1.1/TestClass.ts
+[UNORDERED_END]
+{ version: "0.1.1", other: Other {} }
diff --git a/tests/testdata/jsr/deps/main.ts b/tests/testdata/jsr/deps/main.ts
new file mode 100644
index 000000000..f48255299
--- /dev/null
+++ b/tests/testdata/jsr/deps/main.ts
@@ -0,0 +1,3 @@
+import value from "jsr:@denotest/deps";
+
+console.log(value);
diff --git a/tests/testdata/jsr/deps/main_info.out b/tests/testdata/jsr/deps/main_info.out
new file mode 100644
index 000000000..c4d412707
--- /dev/null
+++ b/tests/testdata/jsr/deps/main_info.out
@@ -0,0 +1,22 @@
+Download http://127.0.0.1:4250/@denotest/deps/meta.json
+Download http://127.0.0.1:4250/@denotest/deps/1.0.0_meta.json
+Download http://127.0.0.1:4250/@denotest/module_graph/meta.json
+Download http://127.0.0.1:4250/@denotest/no_module_graph/meta.json
+Download http://127.0.0.1:4250/@denotest/module_graph/1.4.0_meta.json
+Download http://127.0.0.1:4250/@denotest/no_module_graph/0.1.1_meta.json
+[UNORDERED_START]
+Download http://127.0.0.1:4250/@denotest/deps/1.0.0/mod.ts
+Download http://127.0.0.1:4250/@denotest/module_graph/1.4.0/other.ts
+Download http://127.0.0.1:4250/@denotest/no_module_graph/0.1.1/mod.ts
+Download http://127.0.0.1:4250/@denotest/no_module_graph/0.1.1/TestClass.ts
+[UNORDERED_END]
+local: [WILDCARD]main.ts
+type: TypeScript
+dependencies: 4 unique
+size: [WILDCARD]
+
+file:///[WILDCARD]main.ts ([WILDCARD])
+└─┬ http://127.0.0.1:4250/@denotest/deps/1.0.0/mod.ts ([WILDCARD])
+ ├── http://127.0.0.1:4250/@denotest/module_graph/1.4.0/other.ts ([WILDCARD])
+ └─┬ http://127.0.0.1:4250/@denotest/no_module_graph/0.1.1/mod.ts ([WILDCARD])
+ └── http://127.0.0.1:4250/@denotest/no_module_graph/0.1.1/TestClass.ts ([WILDCARD])
diff --git a/tests/testdata/jsr/module_graph/main.out b/tests/testdata/jsr/module_graph/main.out
new file mode 100644
index 000000000..1cd0115b9
--- /dev/null
+++ b/tests/testdata/jsr/module_graph/main.out
@@ -0,0 +1,7 @@
+Download http://127.0.0.1:4250/@denotest/module_graph/meta.json
+Download http://127.0.0.1:4250/@denotest/module_graph/1.4.0_meta.json
+[UNORDERED_START]
+Download http://127.0.0.1:4250/@denotest/module_graph/1.4.0/other.ts
+Download http://127.0.0.1:4250/@denotest/module_graph/1.4.0/mod.ts
+[UNORDERED_END]
+Test { other: Other {} }
diff --git a/tests/testdata/jsr/module_graph/main.ts b/tests/testdata/jsr/module_graph/main.ts
new file mode 100644
index 000000000..c92823cc2
--- /dev/null
+++ b/tests/testdata/jsr/module_graph/main.ts
@@ -0,0 +1,3 @@
+import { Test } from "jsr:@denotest/module_graph";
+
+console.log(new Test());
diff --git a/tests/testdata/jsr/module_graph/main_info.out b/tests/testdata/jsr/module_graph/main_info.out
new file mode 100644
index 000000000..c35cca5b4
--- /dev/null
+++ b/tests/testdata/jsr/module_graph/main_info.out
@@ -0,0 +1,14 @@
+Download http://127.0.0.1:4250/@denotest/module_graph/meta.json
+Download http://127.0.0.1:4250/@denotest/module_graph/1.4.0_meta.json
+[UNORDERED_START]
+Download http://127.0.0.1:4250/@denotest/module_graph/1.4.0/mod.ts
+Download http://127.0.0.1:4250/@denotest/module_graph/1.4.0/other.ts
+[UNORDERED_END]
+local: [WILDCARD]main.ts
+type: TypeScript
+dependencies: 2 unique
+size: [WILDCARD]
+
+file:///[WILDCARD]/module_graph/main.ts ([WILDCARD])
+└─┬ http://127.0.0.1:4250/@denotest/module_graph/1.4.0/mod.ts ([WILDCARD])
+ └── http://127.0.0.1:4250/@denotest/module_graph/1.4.0/other.ts ([WILDCARD])
diff --git a/tests/testdata/jsr/no_module_graph/main.out b/tests/testdata/jsr/no_module_graph/main.out
new file mode 100644
index 000000000..da9b67e11
--- /dev/null
+++ b/tests/testdata/jsr/no_module_graph/main.out
@@ -0,0 +1,6 @@
+Download http://127.0.0.1:4250/@denotest/no_module_graph/meta.json
+Download http://127.0.0.1:4250/@denotest/no_module_graph/0.1.0_meta.json
+Download http://127.0.0.1:4250/@denotest/no_module_graph/0.1.0/mod.ts
+Download http://127.0.0.1:4250/@denotest/no_module_graph/0.1.0/TestClass.ts
+0.1.0
+TestClass {}
diff --git a/tests/testdata/jsr/no_module_graph/main.ts b/tests/testdata/jsr/no_module_graph/main.ts
new file mode 100644
index 000000000..6ea030c59
--- /dev/null
+++ b/tests/testdata/jsr/no_module_graph/main.ts
@@ -0,0 +1,4 @@
+import version, { TestClass } from "jsr:@denotest/no_module_graph@0.1.0";
+
+console.log(version);
+console.log(new TestClass());
diff --git a/tests/testdata/jsr/no_module_graph/main_info.out b/tests/testdata/jsr/no_module_graph/main_info.out
new file mode 100644
index 000000000..0293e4120
--- /dev/null
+++ b/tests/testdata/jsr/no_module_graph/main_info.out
@@ -0,0 +1,12 @@
+Download http://127.0.0.1:4250/@denotest/no_module_graph/meta.json
+Download http://127.0.0.1:4250/@denotest/no_module_graph/0.1.0_meta.json
+Download http://127.0.0.1:4250/@denotest/no_module_graph/0.1.0/mod.ts
+Download http://127.0.0.1:4250/@denotest/no_module_graph/0.1.0/TestClass.ts
+local: [WILDCARD]main.ts
+type: TypeScript
+dependencies: 2 unique
+size: [WILDCARD]
+
+file:///[WILDCARD]/jsr/no_module_graph/main.ts ([WILDCARD])
+└─┬ http://127.0.0.1:4250/@denotest/no_module_graph/0.1.0/mod.ts ([WILDCARD])
+ └── http://127.0.0.1:4250/@denotest/no_module_graph/0.1.0/TestClass.ts ([WILDCARD])
diff --git a/tests/testdata/jsr/no_module_graph/multiple.out b/tests/testdata/jsr/no_module_graph/multiple.out
new file mode 100644
index 000000000..8146276d0
--- /dev/null
+++ b/tests/testdata/jsr/no_module_graph/multiple.out
@@ -0,0 +1,2 @@
+0.1.0
+0.2.0
diff --git a/tests/testdata/jsr/no_module_graph/multiple.ts b/tests/testdata/jsr/no_module_graph/multiple.ts
new file mode 100644
index 000000000..660ed8be6
--- /dev/null
+++ b/tests/testdata/jsr/no_module_graph/multiple.ts
@@ -0,0 +1,5 @@
+import version1 from "jsr:@denotest/no_module_graph@0.1.0";
+import version2 from "jsr:@denotest/no_module_graph@^0.2";
+
+console.log(version1);
+console.log(version2);
diff --git a/tests/testdata/jsr/registry/@denotest/add/1.0.0/mod.ts b/tests/testdata/jsr/registry/@denotest/add/1.0.0/mod.ts
new file mode 100644
index 000000000..8d9b8a22a
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/add/1.0.0/mod.ts
@@ -0,0 +1,3 @@
+export function add(a: number, b: number): number {
+ return a + b;
+}
diff --git a/tests/testdata/jsr/registry/@denotest/add/1.0.0_meta.json b/tests/testdata/jsr/registry/@denotest/add/1.0.0_meta.json
new file mode 100644
index 000000000..6eebe2198
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/add/1.0.0_meta.json
@@ -0,0 +1,8 @@
+{
+ "exports": {
+ ".": "./mod.ts"
+ },
+ "moduleGraph1": {
+ "/mod.ts": {}
+ }
+}
diff --git a/tests/testdata/jsr/registry/@denotest/add/meta.json b/tests/testdata/jsr/registry/@denotest/add/meta.json
new file mode 100644
index 000000000..02601e4d0
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/add/meta.json
@@ -0,0 +1,5 @@
+{
+ "versions": {
+ "1.0.0": {}
+ }
+}
diff --git a/tests/testdata/jsr/registry/@denotest/deps/1.0.0/mod.ts b/tests/testdata/jsr/registry/@denotest/deps/1.0.0/mod.ts
new file mode 100644
index 000000000..4ba0d8aaf
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/deps/1.0.0/mod.ts
@@ -0,0 +1,7 @@
+import { Other } from "jsr:@denotest/module_graph@1/other";
+import version from "jsr:@denotest/no_module_graph@^0.1";
+
+export default {
+ version,
+ other: new Other(),
+};
diff --git a/tests/testdata/jsr/registry/@denotest/deps/1.0.0_meta.json b/tests/testdata/jsr/registry/@denotest/deps/1.0.0_meta.json
new file mode 100644
index 000000000..914e4bd73
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/deps/1.0.0_meta.json
@@ -0,0 +1,22 @@
+{
+ "exports": {
+ ".": "./mod.ts"
+ },
+ "moduleGraph1": {
+ "/mod.ts": {
+ "dependencies": [{
+ "type": "static",
+ "kind": "import",
+ "range": [[0, 0], [0, 59]],
+ "specifier": "jsr:@denotest/module_graph@1/other",
+ "specifierRange": [[0, 22], [0, 58]]
+ }, {
+ "type": "static",
+ "kind": "import",
+ "range": [[1, 0], [1, 57]],
+ "specifier": "jsr:@denotest/no_module_graph@^0.1",
+ "specifierRange": [[1, 20], [1, 56]]
+ }]
+ }
+ }
+}
diff --git a/tests/testdata/jsr/registry/@denotest/deps/meta.json b/tests/testdata/jsr/registry/@denotest/deps/meta.json
new file mode 100644
index 000000000..02601e4d0
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/deps/meta.json
@@ -0,0 +1,5 @@
+{
+ "versions": {
+ "1.0.0": {}
+ }
+}
diff --git a/tests/testdata/jsr/registry/@denotest/module_graph/1.4.0/mod.ts b/tests/testdata/jsr/registry/@denotest/module_graph/1.4.0/mod.ts
new file mode 100644
index 000000000..cb3c4a5e0
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/module_graph/1.4.0/mod.ts
@@ -0,0 +1,5 @@
+import { Other } from "./other.ts";
+
+export class Test {
+ other = new Other();
+}
diff --git a/tests/testdata/jsr/registry/@denotest/module_graph/1.4.0/other.ts b/tests/testdata/jsr/registry/@denotest/module_graph/1.4.0/other.ts
new file mode 100644
index 000000000..57e436cf8
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/module_graph/1.4.0/other.ts
@@ -0,0 +1,2 @@
+export class Other {
+}
diff --git a/tests/testdata/jsr/registry/@denotest/module_graph/1.4.0_meta.json b/tests/testdata/jsr/registry/@denotest/module_graph/1.4.0_meta.json
new file mode 100644
index 000000000..ff105b58a
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/module_graph/1.4.0_meta.json
@@ -0,0 +1,18 @@
+{
+ "exports": {
+ ".": "./mod.ts",
+ "./other": "./other.ts"
+ },
+ "moduleGraph1": {
+ "/mod.ts": {
+ "dependencies": [{
+ "kind": "import",
+ "type": "static",
+ "range": [[0, 0], [0, 35]],
+ "specifier": "./other.ts",
+ "specifierRange": [[0, 22], [0, 34]]
+ }]
+ },
+ "/other.ts": {}
+ }
+}
diff --git a/tests/testdata/jsr/registry/@denotest/module_graph/meta.json b/tests/testdata/jsr/registry/@denotest/module_graph/meta.json
new file mode 100644
index 000000000..9a450c08b
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/module_graph/meta.json
@@ -0,0 +1,6 @@
+{
+ "versions": {
+ "1.0.0": {},
+ "1.4.0": {}
+ }
+}
diff --git a/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.0/TestClass.ts b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.0/TestClass.ts
new file mode 100644
index 000000000..88ac04c12
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.0/TestClass.ts
@@ -0,0 +1 @@
+export default class TestClass {}
diff --git a/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.0/mod.ts b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.0/mod.ts
new file mode 100644
index 000000000..57600eb4b
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.0/mod.ts
@@ -0,0 +1,3 @@
+export default "0.1.0";
+
+export { default as TestClass } from "./TestClass.ts";
diff --git a/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.0_meta.json b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.0_meta.json
new file mode 100644
index 000000000..631a18d0e
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.0_meta.json
@@ -0,0 +1,5 @@
+{
+ "exports": {
+ ".": "./mod.ts"
+ }
+}
diff --git a/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.1/TestClass.ts b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.1/TestClass.ts
new file mode 100644
index 000000000..88ac04c12
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.1/TestClass.ts
@@ -0,0 +1 @@
+export default class TestClass {}
diff --git a/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.1/mod.ts b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.1/mod.ts
new file mode 100644
index 000000000..5e1fd9435
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.1/mod.ts
@@ -0,0 +1,3 @@
+export default "0.1.1";
+
+export { default as TestClass } from "./TestClass.ts";
diff --git a/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.1_meta.json b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.1_meta.json
new file mode 100644
index 000000000..631a18d0e
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.1.1_meta.json
@@ -0,0 +1,5 @@
+{
+ "exports": {
+ ".": "./mod.ts"
+ }
+}
diff --git a/tests/testdata/jsr/registry/@denotest/no_module_graph/0.2.0/TestClass.ts b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.2.0/TestClass.ts
new file mode 100644
index 000000000..88ac04c12
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.2.0/TestClass.ts
@@ -0,0 +1 @@
+export default class TestClass {}
diff --git a/tests/testdata/jsr/registry/@denotest/no_module_graph/0.2.0/mod.ts b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.2.0/mod.ts
new file mode 100644
index 000000000..edf9622fb
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.2.0/mod.ts
@@ -0,0 +1,3 @@
+export default "0.2.0";
+
+export { default as TestClass } from "./TestClass.ts";
diff --git a/tests/testdata/jsr/registry/@denotest/no_module_graph/0.2.0_meta.json b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.2.0_meta.json
new file mode 100644
index 000000000..631a18d0e
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/no_module_graph/0.2.0_meta.json
@@ -0,0 +1,5 @@
+{
+ "exports": {
+ ".": "./mod.ts"
+ }
+}
diff --git a/tests/testdata/jsr/registry/@denotest/no_module_graph/meta.json b/tests/testdata/jsr/registry/@denotest/no_module_graph/meta.json
new file mode 100644
index 000000000..0268b6c8a
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/no_module_graph/meta.json
@@ -0,0 +1,7 @@
+{
+ "versions": {
+ "0.1.0": {},
+ "0.1.1": {},
+ "0.2.0": {}
+ }
+}
diff --git a/tests/testdata/jsr/registry/@denotest/subset_type_graph/0.1.0/mod.ts b/tests/testdata/jsr/registry/@denotest/subset_type_graph/0.1.0/mod.ts
new file mode 100644
index 000000000..e81b2309a
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/subset_type_graph/0.1.0/mod.ts
@@ -0,0 +1,17 @@
+// add some statements that will be removed by the subset
+// type graph so that we can test that the source map works
+console.log(1);
+console.log(2);
+console.log(3);
+
+export class Foo {
+ method(): number {
+ return Math.random();
+ }
+}
+
+// this won't be type checked against because the subset
+// type graph omit this code because it's not part of the
+// public API.
+const invalidTypeCheck: number = "";
+console.log(invalidTypeCheck);
diff --git a/tests/testdata/jsr/registry/@denotest/subset_type_graph/0.1.0_meta.json b/tests/testdata/jsr/registry/@denotest/subset_type_graph/0.1.0_meta.json
new file mode 100644
index 000000000..631a18d0e
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/subset_type_graph/0.1.0_meta.json
@@ -0,0 +1,5 @@
+{
+ "exports": {
+ ".": "./mod.ts"
+ }
+}
diff --git a/tests/testdata/jsr/registry/@denotest/subset_type_graph/meta.json b/tests/testdata/jsr/registry/@denotest/subset_type_graph/meta.json
new file mode 100644
index 000000000..d10aa5c3a
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/subset_type_graph/meta.json
@@ -0,0 +1,5 @@
+{
+ "versions": {
+ "0.1.0": {}
+ }
+}
diff --git a/tests/testdata/jsr/registry/@denotest/subset_type_graph_invalid/0.1.0/mod.ts b/tests/testdata/jsr/registry/@denotest/subset_type_graph_invalid/0.1.0/mod.ts
new file mode 100644
index 000000000..6a5036bf5
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/subset_type_graph_invalid/0.1.0/mod.ts
@@ -0,0 +1,12 @@
+export class Foo {
+ method() {
+ return Math.random();
+ }
+}
+
+// This will be analyzed because the method above is missing an
+// explicit type which is required for the subset type graph to take
+// effect. So the entire source file will be type checked against,
+// causing a type error here.
+const invalidTypeCheck: number = "";
+console.log(invalidTypeCheck);
diff --git a/tests/testdata/jsr/registry/@denotest/subset_type_graph_invalid/0.1.0_meta.json b/tests/testdata/jsr/registry/@denotest/subset_type_graph_invalid/0.1.0_meta.json
new file mode 100644
index 000000000..631a18d0e
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/subset_type_graph_invalid/0.1.0_meta.json
@@ -0,0 +1,5 @@
+{
+ "exports": {
+ ".": "./mod.ts"
+ }
+}
diff --git a/tests/testdata/jsr/registry/@denotest/subset_type_graph_invalid/meta.json b/tests/testdata/jsr/registry/@denotest/subset_type_graph_invalid/meta.json
new file mode 100644
index 000000000..d10aa5c3a
--- /dev/null
+++ b/tests/testdata/jsr/registry/@denotest/subset_type_graph_invalid/meta.json
@@ -0,0 +1,5 @@
+{
+ "versions": {
+ "0.1.0": {}
+ }
+}
diff --git a/tests/testdata/jsr/subset_type_graph/main.check.out b/tests/testdata/jsr/subset_type_graph/main.check.out
new file mode 100644
index 000000000..278884579
--- /dev/null
+++ b/tests/testdata/jsr/subset_type_graph/main.check.out
@@ -0,0 +1,45 @@
+Download http://127.0.0.1:4250/@denotest/subset_type_graph/meta.json
+Download http://127.0.0.1:4250/@denotest/subset_type_graph_invalid/meta.json
+Download http://127.0.0.1:4250/@denotest/subset_type_graph/0.1.0_meta.json
+Download http://127.0.0.1:4250/@denotest/subset_type_graph_invalid/0.1.0_meta.json
+[UNORDERED_START]
+Download http://127.0.0.1:4250/@denotest/subset_type_graph/0.1.0/mod.ts
+Download http://127.0.0.1:4250/@denotest/subset_type_graph_invalid/0.1.0/mod.ts
+[UNORDERED_END]
+Check file:///[WILDCARD]/subset_type_graph/main.ts
+error: TS2322 [ERROR]: Type 'string' is not assignable to type 'number'.
+const invalidTypeCheck: number = "";
+ ~~~~~~~~~~~~~~~~
+ at http://127.0.0.1:4250/@denotest/subset_type_graph_invalid/0.1.0/mod.ts:11:7
+
+TS2322 [ERROR]: Type 'number' is not assignable to type 'string'.
+const error1: string = new Foo1().method();
+ ~~~~~~
+ at file:///[WILDCARD]/subset_type_graph/main.ts:5:7
+
+TS2322 [ERROR]: Type 'number' is not assignable to type 'string'.
+const error2: string = new Foo2().method();
+ ~~~~~~
+ at file:///[WILDCARD]/subset_type_graph/main.ts:6:7
+
+TS2551 [ERROR]: Property 'method2' does not exist on type 'Foo'. Did you mean 'method'?
+new Foo1().method2();
+ ~~~~~~~
+ at file:///[WILDCARD]/subset_type_graph/main.ts:12:12
+
+ 'method' is declared here.
+ method(): number {
+ ~~~~~~
+ at http://127.0.0.1:4250/@denotest/subset_type_graph/0.1.0/mod.ts:8:3
+
+TS2551 [ERROR]: Property 'method2' does not exist on type 'Foo'. Did you mean 'method'?
+new Foo2().method2();
+ ~~~~~~~
+ at file:///[WILDCARD]/subset_type_graph/main.ts:13:12
+
+ 'method' is declared here.
+ method() {
+ ~~~~~~
+ at http://127.0.0.1:4250/@denotest/subset_type_graph_invalid/0.1.0/mod.ts:2:3
+
+Found 5 errors.
diff --git a/tests/testdata/jsr/subset_type_graph/main.ts b/tests/testdata/jsr/subset_type_graph/main.ts
new file mode 100644
index 000000000..2e1614be9
--- /dev/null
+++ b/tests/testdata/jsr/subset_type_graph/main.ts
@@ -0,0 +1,13 @@
+import { Foo as Foo1 } from "jsr:@denotest/subset_type_graph@0.1.0";
+import { Foo as Foo2 } from "jsr:@denotest/subset_type_graph_invalid@0.1.0";
+
+// these will both raise type checking errors
+const error1: string = new Foo1().method();
+const error2: string = new Foo2().method();
+console.log(error1);
+console.log(error2);
+
+// now raise some errors that will show the original code and
+// these should source map to the original
+new Foo1().method2();
+new Foo2().method2();
diff --git a/tests/testdata/jsr/version_not_found/main.out b/tests/testdata/jsr/version_not_found/main.out
new file mode 100644
index 000000000..6a32b5d81
--- /dev/null
+++ b/tests/testdata/jsr/version_not_found/main.out
@@ -0,0 +1,5 @@
+Download http://127.0.0.1:4250/@denotest/deps/meta.json
+Download http://127.0.0.1:4250/@denotest/deps/meta.json
+error: Could not find constraint in the list of versions: @denotest/deps@0.1.4
+ Specifier: jsr:@denotest/deps@0.1.4/mod.ts
+ at file:///[WILDCARD]/version_not_found/main.ts:1:19
diff --git a/tests/testdata/jsr/version_not_found/main.ts b/tests/testdata/jsr/version_not_found/main.ts
new file mode 100644
index 000000000..a7673b744
--- /dev/null
+++ b/tests/testdata/jsr/version_not_found/main.ts
@@ -0,0 +1,2 @@
+import value from "jsr:@denotest/deps@0.1.4/mod.ts";
+console.log(value);