From 35220f0069931c6c4b9023c2d123f3b37f7e9c56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Tue, 23 Apr 2024 16:21:06 +0100 Subject: fix(workspace): provide workspace members as 'imports' in import map (#23492) This commit changes the workspace support to provide all workspace members to be available as imports based on their names and versions. Closes https://github.com/denoland/deno/issues/23343 --- tests/integration/run_tests.rs | 29 ---------------------- tests/specs/run/workspaces/basic/__test__.jsonc | 5 ++++ tests/specs/run/workspaces/basic/bar/deno.json | 8 ++++++ tests/specs/run/workspaces/basic/bar/fizz/buzz.ts | 1 + tests/specs/run/workspaces/basic/bar/mod.ts | 5 ++++ .../run/workspaces/basic/bar/some_mod/hello.ts | 1 + tests/specs/run/workspaces/basic/deno.json | 9 +++++++ tests/specs/run/workspaces/basic/foo/bar/hello.ts | 1 + tests/specs/run/workspaces/basic/foo/deno.json | 8 ++++++ tests/specs/run/workspaces/basic/foo/fizz/buzz.ts | 1 + tests/specs/run/workspaces/basic/foo/mod.ts | 5 ++++ tests/specs/run/workspaces/basic/main.out | 26 +++++++++++++++++++ tests/specs/run/workspaces/basic/main.ts | 5 ++++ .../member_outside_root_dir/__test__.jsonc | 6 +++++ .../workspaces/member_outside_root_dir/deno.json | 9 +++++++ .../member_outside_root_dir/foo/bar/hello.ts | 1 + .../member_outside_root_dir/foo/deno.json | 8 ++++++ .../member_outside_root_dir/foo/fizz/buzz.ts | 1 + .../workspaces/member_outside_root_dir/foo/mod.ts | 5 ++++ .../workspaces/member_outside_root_dir/main.out | 1 + .../run/workspaces/member_outside_root_dir/main.ts | 4 +++ .../workspaces/members_are_imports/__test__.jsonc | 5 ++++ .../workspaces/members_are_imports/bar/deno.jsonc | 7 ++++++ .../run/workspaces/members_are_imports/bar/mod.ts | 1 + .../run/workspaces/members_are_imports/deno.json | 9 +++++++ .../workspaces/members_are_imports/foo/deno.jsonc | 7 ++++++ .../run/workspaces/members_are_imports/foo/mod.ts | 1 + .../run/workspaces/members_are_imports/main.out | 1 + .../run/workspaces/members_are_imports/main.ts | 4 +++ .../run/workspaces/nested_member/__test__.jsonc | 6 +++++ .../run/workspaces/nested_member/bar/deno.json | 8 ++++++ .../run/workspaces/nested_member/bar/fizz/buzz.ts | 1 + .../specs/run/workspaces/nested_member/bar/mod.ts | 5 ++++ .../workspaces/nested_member/bar/some_mod/hello.ts | 1 + tests/specs/run/workspaces/nested_member/deno.json | 6 +++++ .../run/workspaces/nested_member/foo/bar/deno.json | 7 ++++++ .../run/workspaces/nested_member/foo/bar/hello.ts | 3 +++ .../run/workspaces/nested_member/foo/deno.json | 7 ++++++ .../run/workspaces/nested_member/foo/fizz/buzz.ts | 1 + .../specs/run/workspaces/nested_member/foo/mod.ts | 3 +++ tests/specs/run/workspaces/nested_member/main.out | 1 + tests/specs/run/workspaces/nested_member/main.ts | 4 +++ tests/testdata/run/workspaces/basic/bar/deno.json | 8 ------ .../testdata/run/workspaces/basic/bar/fizz/buzz.ts | 1 - tests/testdata/run/workspaces/basic/bar/mod.ts | 5 ---- .../run/workspaces/basic/bar/some_mod/hello.ts | 1 - tests/testdata/run/workspaces/basic/deno.json | 9 ------- .../testdata/run/workspaces/basic/foo/bar/hello.ts | 1 - tests/testdata/run/workspaces/basic/foo/deno.json | 8 ------ .../testdata/run/workspaces/basic/foo/fizz/buzz.ts | 1 - tests/testdata/run/workspaces/basic/foo/mod.ts | 5 ---- tests/testdata/run/workspaces/basic/main.out | 22 ---------------- tests/testdata/run/workspaces/basic/main.ts | 5 ---- .../workspaces/member_outside_root_dir/deno.json | 9 ------- .../member_outside_root_dir/foo/bar/hello.ts | 1 - .../member_outside_root_dir/foo/deno.json | 8 ------ .../member_outside_root_dir/foo/fizz/buzz.ts | 1 - .../workspaces/member_outside_root_dir/foo/mod.ts | 5 ---- .../workspaces/member_outside_root_dir/main.out | 1 - .../run/workspaces/member_outside_root_dir/main.ts | 4 --- .../run/workspaces/nested_member/bar/deno.json | 8 ------ .../run/workspaces/nested_member/bar/fizz/buzz.ts | 1 - .../run/workspaces/nested_member/bar/mod.ts | 5 ---- .../workspaces/nested_member/bar/some_mod/hello.ts | 1 - .../run/workspaces/nested_member/deno.json | 6 ----- .../run/workspaces/nested_member/foo/bar/deno.json | 7 ------ .../run/workspaces/nested_member/foo/bar/hello.ts | 3 --- .../run/workspaces/nested_member/foo/deno.json | 7 ------ .../run/workspaces/nested_member/foo/fizz/buzz.ts | 1 - .../run/workspaces/nested_member/foo/mod.ts | 3 --- .../testdata/run/workspaces/nested_member/main.out | 1 - .../testdata/run/workspaces/nested_member/main.ts | 4 --- 72 files changed, 198 insertions(+), 171 deletions(-) create mode 100644 tests/specs/run/workspaces/basic/__test__.jsonc create mode 100644 tests/specs/run/workspaces/basic/bar/deno.json create mode 100644 tests/specs/run/workspaces/basic/bar/fizz/buzz.ts create mode 100644 tests/specs/run/workspaces/basic/bar/mod.ts create mode 100644 tests/specs/run/workspaces/basic/bar/some_mod/hello.ts create mode 100644 tests/specs/run/workspaces/basic/deno.json create mode 100644 tests/specs/run/workspaces/basic/foo/bar/hello.ts create mode 100644 tests/specs/run/workspaces/basic/foo/deno.json create mode 100644 tests/specs/run/workspaces/basic/foo/fizz/buzz.ts create mode 100644 tests/specs/run/workspaces/basic/foo/mod.ts create mode 100644 tests/specs/run/workspaces/basic/main.out create mode 100644 tests/specs/run/workspaces/basic/main.ts create mode 100644 tests/specs/run/workspaces/member_outside_root_dir/__test__.jsonc create mode 100644 tests/specs/run/workspaces/member_outside_root_dir/deno.json create mode 100644 tests/specs/run/workspaces/member_outside_root_dir/foo/bar/hello.ts create mode 100644 tests/specs/run/workspaces/member_outside_root_dir/foo/deno.json create mode 100644 tests/specs/run/workspaces/member_outside_root_dir/foo/fizz/buzz.ts create mode 100644 tests/specs/run/workspaces/member_outside_root_dir/foo/mod.ts create mode 100644 tests/specs/run/workspaces/member_outside_root_dir/main.out create mode 100644 tests/specs/run/workspaces/member_outside_root_dir/main.ts create mode 100644 tests/specs/run/workspaces/members_are_imports/__test__.jsonc create mode 100644 tests/specs/run/workspaces/members_are_imports/bar/deno.jsonc create mode 100644 tests/specs/run/workspaces/members_are_imports/bar/mod.ts create mode 100644 tests/specs/run/workspaces/members_are_imports/deno.json create mode 100644 tests/specs/run/workspaces/members_are_imports/foo/deno.jsonc create mode 100644 tests/specs/run/workspaces/members_are_imports/foo/mod.ts create mode 100644 tests/specs/run/workspaces/members_are_imports/main.out create mode 100644 tests/specs/run/workspaces/members_are_imports/main.ts create mode 100644 tests/specs/run/workspaces/nested_member/__test__.jsonc create mode 100644 tests/specs/run/workspaces/nested_member/bar/deno.json create mode 100644 tests/specs/run/workspaces/nested_member/bar/fizz/buzz.ts create mode 100644 tests/specs/run/workspaces/nested_member/bar/mod.ts create mode 100644 tests/specs/run/workspaces/nested_member/bar/some_mod/hello.ts create mode 100644 tests/specs/run/workspaces/nested_member/deno.json create mode 100644 tests/specs/run/workspaces/nested_member/foo/bar/deno.json create mode 100644 tests/specs/run/workspaces/nested_member/foo/bar/hello.ts create mode 100644 tests/specs/run/workspaces/nested_member/foo/deno.json create mode 100644 tests/specs/run/workspaces/nested_member/foo/fizz/buzz.ts create mode 100644 tests/specs/run/workspaces/nested_member/foo/mod.ts create mode 100644 tests/specs/run/workspaces/nested_member/main.out create mode 100644 tests/specs/run/workspaces/nested_member/main.ts delete mode 100644 tests/testdata/run/workspaces/basic/bar/deno.json delete mode 100644 tests/testdata/run/workspaces/basic/bar/fizz/buzz.ts delete mode 100644 tests/testdata/run/workspaces/basic/bar/mod.ts delete mode 100644 tests/testdata/run/workspaces/basic/bar/some_mod/hello.ts delete mode 100644 tests/testdata/run/workspaces/basic/deno.json delete mode 100644 tests/testdata/run/workspaces/basic/foo/bar/hello.ts delete mode 100644 tests/testdata/run/workspaces/basic/foo/deno.json delete mode 100644 tests/testdata/run/workspaces/basic/foo/fizz/buzz.ts delete mode 100644 tests/testdata/run/workspaces/basic/foo/mod.ts delete mode 100644 tests/testdata/run/workspaces/basic/main.out delete mode 100644 tests/testdata/run/workspaces/basic/main.ts delete mode 100644 tests/testdata/run/workspaces/member_outside_root_dir/deno.json delete mode 100644 tests/testdata/run/workspaces/member_outside_root_dir/foo/bar/hello.ts delete mode 100644 tests/testdata/run/workspaces/member_outside_root_dir/foo/deno.json delete mode 100644 tests/testdata/run/workspaces/member_outside_root_dir/foo/fizz/buzz.ts delete mode 100644 tests/testdata/run/workspaces/member_outside_root_dir/foo/mod.ts delete mode 100644 tests/testdata/run/workspaces/member_outside_root_dir/main.out delete mode 100644 tests/testdata/run/workspaces/member_outside_root_dir/main.ts delete mode 100644 tests/testdata/run/workspaces/nested_member/bar/deno.json delete mode 100644 tests/testdata/run/workspaces/nested_member/bar/fizz/buzz.ts delete mode 100644 tests/testdata/run/workspaces/nested_member/bar/mod.ts delete mode 100644 tests/testdata/run/workspaces/nested_member/bar/some_mod/hello.ts delete mode 100644 tests/testdata/run/workspaces/nested_member/deno.json delete mode 100644 tests/testdata/run/workspaces/nested_member/foo/bar/deno.json delete mode 100644 tests/testdata/run/workspaces/nested_member/foo/bar/hello.ts delete mode 100644 tests/testdata/run/workspaces/nested_member/foo/deno.json delete mode 100644 tests/testdata/run/workspaces/nested_member/foo/fizz/buzz.ts delete mode 100644 tests/testdata/run/workspaces/nested_member/foo/mod.ts delete mode 100644 tests/testdata/run/workspaces/nested_member/main.out delete mode 100644 tests/testdata/run/workspaces/nested_member/main.ts (limited to 'tests') diff --git a/tests/integration/run_tests.rs b/tests/integration/run_tests.rs index c298e4f5b..6419f6ff0 100644 --- a/tests/integration/run_tests.rs +++ b/tests/integration/run_tests.rs @@ -4918,35 +4918,6 @@ itest!(explicit_resource_management { output: "run/explicit_resource_management/main.out", }); -itest!(workspaces_basic { - args: "run -L debug -A main.ts", - output: "run/workspaces/basic/main.out", - cwd: Some("run/workspaces/basic/"), - copy_temp_dir: Some("run/workspaces/basic/"), - envs: env_vars_for_npm_tests(), - http_server: true, -}); - -itest!(workspaces_member_outside_root_dir { - args: "run -A main.ts", - output: "run/workspaces/member_outside_root_dir/main.out", - cwd: Some("run/workspaces/member_outside_root_dir/"), - copy_temp_dir: Some("run/workspaces/member_outside_root_dir/"), - envs: env_vars_for_npm_tests(), - http_server: true, - exit_code: 1, -}); - -itest!(workspaces_nested_member { - args: "run -A main.ts", - output: "run/workspaces/nested_member/main.out", - cwd: Some("run/workspaces/nested_member/"), - copy_temp_dir: Some("run/workspaces/nested_member/"), - envs: env_vars_for_npm_tests(), - http_server: true, - exit_code: 1, -}); - itest!(unsafe_proto { args: "run -A run/unsafe_proto/main.js", output: "run/unsafe_proto/main.out", diff --git a/tests/specs/run/workspaces/basic/__test__.jsonc b/tests/specs/run/workspaces/basic/__test__.jsonc new file mode 100644 index 000000000..ea467e51b --- /dev/null +++ b/tests/specs/run/workspaces/basic/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "run -L debug -A main.ts", + "output": "main.out", + "tempDir": true +} diff --git a/tests/specs/run/workspaces/basic/bar/deno.json b/tests/specs/run/workspaces/basic/bar/deno.json new file mode 100644 index 000000000..ef3bfc37a --- /dev/null +++ b/tests/specs/run/workspaces/basic/bar/deno.json @@ -0,0 +1,8 @@ +{ + "name": "asdfasdfasdf", + "version": "0.0.0", + "imports": { + "@/": "./", + "secret_mod/": "./some_mod/" + } +} diff --git a/tests/specs/run/workspaces/basic/bar/fizz/buzz.ts b/tests/specs/run/workspaces/basic/bar/fizz/buzz.ts new file mode 100644 index 000000000..f88d62fcc --- /dev/null +++ b/tests/specs/run/workspaces/basic/bar/fizz/buzz.ts @@ -0,0 +1 @@ +export const buzz = "buzz from bar"; diff --git a/tests/specs/run/workspaces/basic/bar/mod.ts b/tests/specs/run/workspaces/basic/bar/mod.ts new file mode 100644 index 000000000..6f898e389 --- /dev/null +++ b/tests/specs/run/workspaces/basic/bar/mod.ts @@ -0,0 +1,5 @@ +import { hello } from "secret_mod/hello.ts"; +import { buzz } from "@/fizz/buzz.ts"; + +console.log(hello); +console.log(buzz); diff --git a/tests/specs/run/workspaces/basic/bar/some_mod/hello.ts b/tests/specs/run/workspaces/basic/bar/some_mod/hello.ts new file mode 100644 index 000000000..1013de8d2 --- /dev/null +++ b/tests/specs/run/workspaces/basic/bar/some_mod/hello.ts @@ -0,0 +1 @@ +export const hello = "hello from bar"; diff --git a/tests/specs/run/workspaces/basic/deno.json b/tests/specs/run/workspaces/basic/deno.json new file mode 100644 index 000000000..b971c4f3d --- /dev/null +++ b/tests/specs/run/workspaces/basic/deno.json @@ -0,0 +1,9 @@ +{ + "workspaces": [ + "foo", + "bar" + ], + "imports": { + "chalk": "npm:chalk" + } +} diff --git a/tests/specs/run/workspaces/basic/foo/bar/hello.ts b/tests/specs/run/workspaces/basic/foo/bar/hello.ts new file mode 100644 index 000000000..c8a7e57c4 --- /dev/null +++ b/tests/specs/run/workspaces/basic/foo/bar/hello.ts @@ -0,0 +1 @@ +export const hello = "hello from foo"; diff --git a/tests/specs/run/workspaces/basic/foo/deno.json b/tests/specs/run/workspaces/basic/foo/deno.json new file mode 100644 index 000000000..46d84f06f --- /dev/null +++ b/tests/specs/run/workspaces/basic/foo/deno.json @@ -0,0 +1,8 @@ +{ + "name": "qwerqwer", + "version": "0.0.0", + "imports": { + "~/": "./", + "foo/": "./bar/" + } +} diff --git a/tests/specs/run/workspaces/basic/foo/fizz/buzz.ts b/tests/specs/run/workspaces/basic/foo/fizz/buzz.ts new file mode 100644 index 000000000..4e03777d1 --- /dev/null +++ b/tests/specs/run/workspaces/basic/foo/fizz/buzz.ts @@ -0,0 +1 @@ +export const buzz = "buzz from foo"; diff --git a/tests/specs/run/workspaces/basic/foo/mod.ts b/tests/specs/run/workspaces/basic/foo/mod.ts new file mode 100644 index 000000000..d7b16dcc0 --- /dev/null +++ b/tests/specs/run/workspaces/basic/foo/mod.ts @@ -0,0 +1,5 @@ +import { hello } from "foo/hello.ts"; +import { buzz } from "~/fizz/buzz.ts"; + +console.log(hello); +console.log(buzz); diff --git a/tests/specs/run/workspaces/basic/main.out b/tests/specs/run/workspaces/basic/main.out new file mode 100644 index 000000000..57d8c9f1e --- /dev/null +++ b/tests/specs/run/workspaces/basic/main.out @@ -0,0 +1,26 @@ +[WILDCARD]Workspace config generated this import map { + "imports": { + "chalk": "npm:chalk", + "chalk/": "npm:/chalk/", + "qwerqwer": "jsr:qwerqwer@^0.0.0", + "qwerqwer/": "jsr:/qwerqwer@^0.0.0/", + "asdfasdfasdf": "jsr:asdfasdfasdf@^0.0.0", + "asdfasdfasdf/": "jsr:/asdfasdfasdf@^0.0.0/" + }, + "scopes": { + "./foo/": { + "~/": "./foo/", + "foo/": "./foo/bar/" + }, + "./bar/": { + "@/": "./bar/", + "secret_mod/": "./bar/some_mod/" + } + } +} +[WILDCARD] +hello from foo +buzz from foo +hello from bar +buzz from bar +[Function: chalk][WILDCARD] \ No newline at end of file diff --git a/tests/specs/run/workspaces/basic/main.ts b/tests/specs/run/workspaces/basic/main.ts new file mode 100644 index 000000000..380c97619 --- /dev/null +++ b/tests/specs/run/workspaces/basic/main.ts @@ -0,0 +1,5 @@ +import chalk from "chalk"; +import "./foo/mod.ts"; +import "./bar/mod.ts"; + +console.log(chalk); diff --git a/tests/specs/run/workspaces/member_outside_root_dir/__test__.jsonc b/tests/specs/run/workspaces/member_outside_root_dir/__test__.jsonc new file mode 100644 index 000000000..a7669c1ec --- /dev/null +++ b/tests/specs/run/workspaces/member_outside_root_dir/__test__.jsonc @@ -0,0 +1,6 @@ +{ + "args": "run -A main.ts", + "output": "main.out", + "tempDir": true, + "exitCode": 1 +} diff --git a/tests/specs/run/workspaces/member_outside_root_dir/deno.json b/tests/specs/run/workspaces/member_outside_root_dir/deno.json new file mode 100644 index 000000000..25feefad8 --- /dev/null +++ b/tests/specs/run/workspaces/member_outside_root_dir/deno.json @@ -0,0 +1,9 @@ +{ + "workspaces": [ + "foo", + "../other_folder" + ], + "imports": { + "chalk": "npm:chalk" + } +} diff --git a/tests/specs/run/workspaces/member_outside_root_dir/foo/bar/hello.ts b/tests/specs/run/workspaces/member_outside_root_dir/foo/bar/hello.ts new file mode 100644 index 000000000..c8a7e57c4 --- /dev/null +++ b/tests/specs/run/workspaces/member_outside_root_dir/foo/bar/hello.ts @@ -0,0 +1 @@ +export const hello = "hello from foo"; diff --git a/tests/specs/run/workspaces/member_outside_root_dir/foo/deno.json b/tests/specs/run/workspaces/member_outside_root_dir/foo/deno.json new file mode 100644 index 000000000..46d84f06f --- /dev/null +++ b/tests/specs/run/workspaces/member_outside_root_dir/foo/deno.json @@ -0,0 +1,8 @@ +{ + "name": "qwerqwer", + "version": "0.0.0", + "imports": { + "~/": "./", + "foo/": "./bar/" + } +} diff --git a/tests/specs/run/workspaces/member_outside_root_dir/foo/fizz/buzz.ts b/tests/specs/run/workspaces/member_outside_root_dir/foo/fizz/buzz.ts new file mode 100644 index 000000000..4e03777d1 --- /dev/null +++ b/tests/specs/run/workspaces/member_outside_root_dir/foo/fizz/buzz.ts @@ -0,0 +1 @@ +export const buzz = "buzz from foo"; diff --git a/tests/specs/run/workspaces/member_outside_root_dir/foo/mod.ts b/tests/specs/run/workspaces/member_outside_root_dir/foo/mod.ts new file mode 100644 index 000000000..d7b16dcc0 --- /dev/null +++ b/tests/specs/run/workspaces/member_outside_root_dir/foo/mod.ts @@ -0,0 +1,5 @@ +import { hello } from "foo/hello.ts"; +import { buzz } from "~/fizz/buzz.ts"; + +console.log(hello); +console.log(buzz); diff --git a/tests/specs/run/workspaces/member_outside_root_dir/main.out b/tests/specs/run/workspaces/member_outside_root_dir/main.out new file mode 100644 index 000000000..205d95aea --- /dev/null +++ b/tests/specs/run/workspaces/member_outside_root_dir/main.out @@ -0,0 +1 @@ +error: Workspace member '../other_folder' is outside root configuration directory[WILDCARD] \ No newline at end of file diff --git a/tests/specs/run/workspaces/member_outside_root_dir/main.ts b/tests/specs/run/workspaces/member_outside_root_dir/main.ts new file mode 100644 index 000000000..182fd8517 --- /dev/null +++ b/tests/specs/run/workspaces/member_outside_root_dir/main.ts @@ -0,0 +1,4 @@ +import chalk from "chalk"; +import "./foo/mod.ts"; + +console.log(chalk); diff --git a/tests/specs/run/workspaces/members_are_imports/__test__.jsonc b/tests/specs/run/workspaces/members_are_imports/__test__.jsonc new file mode 100644 index 000000000..f9b807142 --- /dev/null +++ b/tests/specs/run/workspaces/members_are_imports/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "run -A main.ts", + "output": "main.out", + "tempDir": true +} diff --git a/tests/specs/run/workspaces/members_are_imports/bar/deno.jsonc b/tests/specs/run/workspaces/members_are_imports/bar/deno.jsonc new file mode 100644 index 000000000..a6431c8d1 --- /dev/null +++ b/tests/specs/run/workspaces/members_are_imports/bar/deno.jsonc @@ -0,0 +1,7 @@ +{ + "name": "@deno-test/bar", + "version": "0.0.1", + "exports": { + ".": "./mod.ts" + } +} diff --git a/tests/specs/run/workspaces/members_are_imports/bar/mod.ts b/tests/specs/run/workspaces/members_are_imports/bar/mod.ts new file mode 100644 index 000000000..46d3ca8c6 --- /dev/null +++ b/tests/specs/run/workspaces/members_are_imports/bar/mod.ts @@ -0,0 +1 @@ +export const value = 42; diff --git a/tests/specs/run/workspaces/members_are_imports/deno.json b/tests/specs/run/workspaces/members_are_imports/deno.json new file mode 100644 index 000000000..56105365a --- /dev/null +++ b/tests/specs/run/workspaces/members_are_imports/deno.json @@ -0,0 +1,9 @@ +{ + "workspaces": [ + "foo", + "bar" + ], + "tasks": { + "dev": "deno run --watch main.ts" + } +} diff --git a/tests/specs/run/workspaces/members_are_imports/foo/deno.jsonc b/tests/specs/run/workspaces/members_are_imports/foo/deno.jsonc new file mode 100644 index 000000000..355350012 --- /dev/null +++ b/tests/specs/run/workspaces/members_are_imports/foo/deno.jsonc @@ -0,0 +1,7 @@ +{ + "name": "@deno-test/foo", + "version": "0.0.1", + "exports": { + ".": "./mod.ts" + } +} diff --git a/tests/specs/run/workspaces/members_are_imports/foo/mod.ts b/tests/specs/run/workspaces/members_are_imports/foo/mod.ts new file mode 100644 index 000000000..46d3ca8c6 --- /dev/null +++ b/tests/specs/run/workspaces/members_are_imports/foo/mod.ts @@ -0,0 +1 @@ +export const value = 42; diff --git a/tests/specs/run/workspaces/members_are_imports/main.out b/tests/specs/run/workspaces/members_are_imports/main.out new file mode 100644 index 000000000..af23dac2e --- /dev/null +++ b/tests/specs/run/workspaces/members_are_imports/main.out @@ -0,0 +1 @@ +[Module: null prototype] { value: 42 } [Module: null prototype] { value: 42 } diff --git a/tests/specs/run/workspaces/members_are_imports/main.ts b/tests/specs/run/workspaces/members_are_imports/main.ts new file mode 100644 index 000000000..d2c2f2308 --- /dev/null +++ b/tests/specs/run/workspaces/members_are_imports/main.ts @@ -0,0 +1,4 @@ +import * as foo from "@deno-test/foo"; +import * as bar from "@deno-test/bar"; + +console.log(foo, bar); diff --git a/tests/specs/run/workspaces/nested_member/__test__.jsonc b/tests/specs/run/workspaces/nested_member/__test__.jsonc new file mode 100644 index 000000000..a7669c1ec --- /dev/null +++ b/tests/specs/run/workspaces/nested_member/__test__.jsonc @@ -0,0 +1,6 @@ +{ + "args": "run -A main.ts", + "output": "main.out", + "tempDir": true, + "exitCode": 1 +} diff --git a/tests/specs/run/workspaces/nested_member/bar/deno.json b/tests/specs/run/workspaces/nested_member/bar/deno.json new file mode 100644 index 000000000..ef3bfc37a --- /dev/null +++ b/tests/specs/run/workspaces/nested_member/bar/deno.json @@ -0,0 +1,8 @@ +{ + "name": "asdfasdfasdf", + "version": "0.0.0", + "imports": { + "@/": "./", + "secret_mod/": "./some_mod/" + } +} diff --git a/tests/specs/run/workspaces/nested_member/bar/fizz/buzz.ts b/tests/specs/run/workspaces/nested_member/bar/fizz/buzz.ts new file mode 100644 index 000000000..f88d62fcc --- /dev/null +++ b/tests/specs/run/workspaces/nested_member/bar/fizz/buzz.ts @@ -0,0 +1 @@ +export const buzz = "buzz from bar"; diff --git a/tests/specs/run/workspaces/nested_member/bar/mod.ts b/tests/specs/run/workspaces/nested_member/bar/mod.ts new file mode 100644 index 000000000..6f898e389 --- /dev/null +++ b/tests/specs/run/workspaces/nested_member/bar/mod.ts @@ -0,0 +1,5 @@ +import { hello } from "secret_mod/hello.ts"; +import { buzz } from "@/fizz/buzz.ts"; + +console.log(hello); +console.log(buzz); diff --git a/tests/specs/run/workspaces/nested_member/bar/some_mod/hello.ts b/tests/specs/run/workspaces/nested_member/bar/some_mod/hello.ts new file mode 100644 index 000000000..1013de8d2 --- /dev/null +++ b/tests/specs/run/workspaces/nested_member/bar/some_mod/hello.ts @@ -0,0 +1 @@ +export const hello = "hello from bar"; diff --git a/tests/specs/run/workspaces/nested_member/deno.json b/tests/specs/run/workspaces/nested_member/deno.json new file mode 100644 index 000000000..6d9c09d4d --- /dev/null +++ b/tests/specs/run/workspaces/nested_member/deno.json @@ -0,0 +1,6 @@ +{ + "workspaces": [ + "foo", + "foo/bar" + ] +} diff --git a/tests/specs/run/workspaces/nested_member/foo/bar/deno.json b/tests/specs/run/workspaces/nested_member/foo/bar/deno.json new file mode 100644 index 000000000..d40328b36 --- /dev/null +++ b/tests/specs/run/workspaces/nested_member/foo/bar/deno.json @@ -0,0 +1,7 @@ +{ + "name": "bar", + "version": "0.0.0", + "imports": { + "chalk": "npm:chalk" + } +} diff --git a/tests/specs/run/workspaces/nested_member/foo/bar/hello.ts b/tests/specs/run/workspaces/nested_member/foo/bar/hello.ts new file mode 100644 index 000000000..9c1023153 --- /dev/null +++ b/tests/specs/run/workspaces/nested_member/foo/bar/hello.ts @@ -0,0 +1,3 @@ +import chalk from "chalk"; + +export default chalk; diff --git a/tests/specs/run/workspaces/nested_member/foo/deno.json b/tests/specs/run/workspaces/nested_member/foo/deno.json new file mode 100644 index 000000000..68e053b02 --- /dev/null +++ b/tests/specs/run/workspaces/nested_member/foo/deno.json @@ -0,0 +1,7 @@ +{ + "name": "qwerqwer", + "version": "0.0.0", + "imports": { + "~/": "./" + } +} diff --git a/tests/specs/run/workspaces/nested_member/foo/fizz/buzz.ts b/tests/specs/run/workspaces/nested_member/foo/fizz/buzz.ts new file mode 100644 index 000000000..4e03777d1 --- /dev/null +++ b/tests/specs/run/workspaces/nested_member/foo/fizz/buzz.ts @@ -0,0 +1 @@ +export const buzz = "buzz from foo"; diff --git a/tests/specs/run/workspaces/nested_member/foo/mod.ts b/tests/specs/run/workspaces/nested_member/foo/mod.ts new file mode 100644 index 000000000..b9d4d3c04 --- /dev/null +++ b/tests/specs/run/workspaces/nested_member/foo/mod.ts @@ -0,0 +1,3 @@ +import { buzz } from "~/fizz/buzz.ts"; + +console.log(buzz); diff --git a/tests/specs/run/workspaces/nested_member/main.out b/tests/specs/run/workspaces/nested_member/main.out new file mode 100644 index 000000000..98598a306 --- /dev/null +++ b/tests/specs/run/workspaces/nested_member/main.out @@ -0,0 +1 @@ +error: Workspace member 'foo/bar' is nested within other workspace member 'foo' diff --git a/tests/specs/run/workspaces/nested_member/main.ts b/tests/specs/run/workspaces/nested_member/main.ts new file mode 100644 index 000000000..2bf53f7c2 --- /dev/null +++ b/tests/specs/run/workspaces/nested_member/main.ts @@ -0,0 +1,4 @@ +import "./foo/mod.ts"; +import chalk from "./foo/bar/hello.ts"; + +console.log(chalk); diff --git a/tests/testdata/run/workspaces/basic/bar/deno.json b/tests/testdata/run/workspaces/basic/bar/deno.json deleted file mode 100644 index ef3bfc37a..000000000 --- a/tests/testdata/run/workspaces/basic/bar/deno.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "asdfasdfasdf", - "version": "0.0.0", - "imports": { - "@/": "./", - "secret_mod/": "./some_mod/" - } -} diff --git a/tests/testdata/run/workspaces/basic/bar/fizz/buzz.ts b/tests/testdata/run/workspaces/basic/bar/fizz/buzz.ts deleted file mode 100644 index f88d62fcc..000000000 --- a/tests/testdata/run/workspaces/basic/bar/fizz/buzz.ts +++ /dev/null @@ -1 +0,0 @@ -export const buzz = "buzz from bar"; diff --git a/tests/testdata/run/workspaces/basic/bar/mod.ts b/tests/testdata/run/workspaces/basic/bar/mod.ts deleted file mode 100644 index 6f898e389..000000000 --- a/tests/testdata/run/workspaces/basic/bar/mod.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { hello } from "secret_mod/hello.ts"; -import { buzz } from "@/fizz/buzz.ts"; - -console.log(hello); -console.log(buzz); diff --git a/tests/testdata/run/workspaces/basic/bar/some_mod/hello.ts b/tests/testdata/run/workspaces/basic/bar/some_mod/hello.ts deleted file mode 100644 index 1013de8d2..000000000 --- a/tests/testdata/run/workspaces/basic/bar/some_mod/hello.ts +++ /dev/null @@ -1 +0,0 @@ -export const hello = "hello from bar"; diff --git a/tests/testdata/run/workspaces/basic/deno.json b/tests/testdata/run/workspaces/basic/deno.json deleted file mode 100644 index b971c4f3d..000000000 --- a/tests/testdata/run/workspaces/basic/deno.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "workspaces": [ - "foo", - "bar" - ], - "imports": { - "chalk": "npm:chalk" - } -} diff --git a/tests/testdata/run/workspaces/basic/foo/bar/hello.ts b/tests/testdata/run/workspaces/basic/foo/bar/hello.ts deleted file mode 100644 index c8a7e57c4..000000000 --- a/tests/testdata/run/workspaces/basic/foo/bar/hello.ts +++ /dev/null @@ -1 +0,0 @@ -export const hello = "hello from foo"; diff --git a/tests/testdata/run/workspaces/basic/foo/deno.json b/tests/testdata/run/workspaces/basic/foo/deno.json deleted file mode 100644 index 46d84f06f..000000000 --- a/tests/testdata/run/workspaces/basic/foo/deno.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "qwerqwer", - "version": "0.0.0", - "imports": { - "~/": "./", - "foo/": "./bar/" - } -} diff --git a/tests/testdata/run/workspaces/basic/foo/fizz/buzz.ts b/tests/testdata/run/workspaces/basic/foo/fizz/buzz.ts deleted file mode 100644 index 4e03777d1..000000000 --- a/tests/testdata/run/workspaces/basic/foo/fizz/buzz.ts +++ /dev/null @@ -1 +0,0 @@ -export const buzz = "buzz from foo"; diff --git a/tests/testdata/run/workspaces/basic/foo/mod.ts b/tests/testdata/run/workspaces/basic/foo/mod.ts deleted file mode 100644 index d7b16dcc0..000000000 --- a/tests/testdata/run/workspaces/basic/foo/mod.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { hello } from "foo/hello.ts"; -import { buzz } from "~/fizz/buzz.ts"; - -console.log(hello); -console.log(buzz); diff --git a/tests/testdata/run/workspaces/basic/main.out b/tests/testdata/run/workspaces/basic/main.out deleted file mode 100644 index a955ac54c..000000000 --- a/tests/testdata/run/workspaces/basic/main.out +++ /dev/null @@ -1,22 +0,0 @@ -[WILDCARD]Workspace config generated this import map { - "imports": { - "chalk": "npm:chalk", - "chalk/": "npm:/chalk/" - }, - "scopes": { - "./foo/": { - "~/": "./foo/", - "foo/": "./foo/bar/" - }, - "./bar/": { - "@/": "./bar/", - "secret_mod/": "./bar/some_mod/" - } - } -} -[WILDCARD] -hello from foo -buzz from foo -hello from bar -buzz from bar -[Function: chalk][WILDCARD] \ No newline at end of file diff --git a/tests/testdata/run/workspaces/basic/main.ts b/tests/testdata/run/workspaces/basic/main.ts deleted file mode 100644 index 380c97619..000000000 --- a/tests/testdata/run/workspaces/basic/main.ts +++ /dev/null @@ -1,5 +0,0 @@ -import chalk from "chalk"; -import "./foo/mod.ts"; -import "./bar/mod.ts"; - -console.log(chalk); diff --git a/tests/testdata/run/workspaces/member_outside_root_dir/deno.json b/tests/testdata/run/workspaces/member_outside_root_dir/deno.json deleted file mode 100644 index 25feefad8..000000000 --- a/tests/testdata/run/workspaces/member_outside_root_dir/deno.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "workspaces": [ - "foo", - "../other_folder" - ], - "imports": { - "chalk": "npm:chalk" - } -} diff --git a/tests/testdata/run/workspaces/member_outside_root_dir/foo/bar/hello.ts b/tests/testdata/run/workspaces/member_outside_root_dir/foo/bar/hello.ts deleted file mode 100644 index c8a7e57c4..000000000 --- a/tests/testdata/run/workspaces/member_outside_root_dir/foo/bar/hello.ts +++ /dev/null @@ -1 +0,0 @@ -export const hello = "hello from foo"; diff --git a/tests/testdata/run/workspaces/member_outside_root_dir/foo/deno.json b/tests/testdata/run/workspaces/member_outside_root_dir/foo/deno.json deleted file mode 100644 index 46d84f06f..000000000 --- a/tests/testdata/run/workspaces/member_outside_root_dir/foo/deno.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "qwerqwer", - "version": "0.0.0", - "imports": { - "~/": "./", - "foo/": "./bar/" - } -} diff --git a/tests/testdata/run/workspaces/member_outside_root_dir/foo/fizz/buzz.ts b/tests/testdata/run/workspaces/member_outside_root_dir/foo/fizz/buzz.ts deleted file mode 100644 index 4e03777d1..000000000 --- a/tests/testdata/run/workspaces/member_outside_root_dir/foo/fizz/buzz.ts +++ /dev/null @@ -1 +0,0 @@ -export const buzz = "buzz from foo"; diff --git a/tests/testdata/run/workspaces/member_outside_root_dir/foo/mod.ts b/tests/testdata/run/workspaces/member_outside_root_dir/foo/mod.ts deleted file mode 100644 index d7b16dcc0..000000000 --- a/tests/testdata/run/workspaces/member_outside_root_dir/foo/mod.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { hello } from "foo/hello.ts"; -import { buzz } from "~/fizz/buzz.ts"; - -console.log(hello); -console.log(buzz); diff --git a/tests/testdata/run/workspaces/member_outside_root_dir/main.out b/tests/testdata/run/workspaces/member_outside_root_dir/main.out deleted file mode 100644 index 205d95aea..000000000 --- a/tests/testdata/run/workspaces/member_outside_root_dir/main.out +++ /dev/null @@ -1 +0,0 @@ -error: Workspace member '../other_folder' is outside root configuration directory[WILDCARD] \ No newline at end of file diff --git a/tests/testdata/run/workspaces/member_outside_root_dir/main.ts b/tests/testdata/run/workspaces/member_outside_root_dir/main.ts deleted file mode 100644 index 182fd8517..000000000 --- a/tests/testdata/run/workspaces/member_outside_root_dir/main.ts +++ /dev/null @@ -1,4 +0,0 @@ -import chalk from "chalk"; -import "./foo/mod.ts"; - -console.log(chalk); diff --git a/tests/testdata/run/workspaces/nested_member/bar/deno.json b/tests/testdata/run/workspaces/nested_member/bar/deno.json deleted file mode 100644 index ef3bfc37a..000000000 --- a/tests/testdata/run/workspaces/nested_member/bar/deno.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "asdfasdfasdf", - "version": "0.0.0", - "imports": { - "@/": "./", - "secret_mod/": "./some_mod/" - } -} diff --git a/tests/testdata/run/workspaces/nested_member/bar/fizz/buzz.ts b/tests/testdata/run/workspaces/nested_member/bar/fizz/buzz.ts deleted file mode 100644 index f88d62fcc..000000000 --- a/tests/testdata/run/workspaces/nested_member/bar/fizz/buzz.ts +++ /dev/null @@ -1 +0,0 @@ -export const buzz = "buzz from bar"; diff --git a/tests/testdata/run/workspaces/nested_member/bar/mod.ts b/tests/testdata/run/workspaces/nested_member/bar/mod.ts deleted file mode 100644 index 6f898e389..000000000 --- a/tests/testdata/run/workspaces/nested_member/bar/mod.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { hello } from "secret_mod/hello.ts"; -import { buzz } from "@/fizz/buzz.ts"; - -console.log(hello); -console.log(buzz); diff --git a/tests/testdata/run/workspaces/nested_member/bar/some_mod/hello.ts b/tests/testdata/run/workspaces/nested_member/bar/some_mod/hello.ts deleted file mode 100644 index 1013de8d2..000000000 --- a/tests/testdata/run/workspaces/nested_member/bar/some_mod/hello.ts +++ /dev/null @@ -1 +0,0 @@ -export const hello = "hello from bar"; diff --git a/tests/testdata/run/workspaces/nested_member/deno.json b/tests/testdata/run/workspaces/nested_member/deno.json deleted file mode 100644 index 6d9c09d4d..000000000 --- a/tests/testdata/run/workspaces/nested_member/deno.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "workspaces": [ - "foo", - "foo/bar" - ] -} diff --git a/tests/testdata/run/workspaces/nested_member/foo/bar/deno.json b/tests/testdata/run/workspaces/nested_member/foo/bar/deno.json deleted file mode 100644 index d40328b36..000000000 --- a/tests/testdata/run/workspaces/nested_member/foo/bar/deno.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "bar", - "version": "0.0.0", - "imports": { - "chalk": "npm:chalk" - } -} diff --git a/tests/testdata/run/workspaces/nested_member/foo/bar/hello.ts b/tests/testdata/run/workspaces/nested_member/foo/bar/hello.ts deleted file mode 100644 index 9c1023153..000000000 --- a/tests/testdata/run/workspaces/nested_member/foo/bar/hello.ts +++ /dev/null @@ -1,3 +0,0 @@ -import chalk from "chalk"; - -export default chalk; diff --git a/tests/testdata/run/workspaces/nested_member/foo/deno.json b/tests/testdata/run/workspaces/nested_member/foo/deno.json deleted file mode 100644 index 68e053b02..000000000 --- a/tests/testdata/run/workspaces/nested_member/foo/deno.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "qwerqwer", - "version": "0.0.0", - "imports": { - "~/": "./" - } -} diff --git a/tests/testdata/run/workspaces/nested_member/foo/fizz/buzz.ts b/tests/testdata/run/workspaces/nested_member/foo/fizz/buzz.ts deleted file mode 100644 index 4e03777d1..000000000 --- a/tests/testdata/run/workspaces/nested_member/foo/fizz/buzz.ts +++ /dev/null @@ -1 +0,0 @@ -export const buzz = "buzz from foo"; diff --git a/tests/testdata/run/workspaces/nested_member/foo/mod.ts b/tests/testdata/run/workspaces/nested_member/foo/mod.ts deleted file mode 100644 index b9d4d3c04..000000000 --- a/tests/testdata/run/workspaces/nested_member/foo/mod.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { buzz } from "~/fizz/buzz.ts"; - -console.log(buzz); diff --git a/tests/testdata/run/workspaces/nested_member/main.out b/tests/testdata/run/workspaces/nested_member/main.out deleted file mode 100644 index 98598a306..000000000 --- a/tests/testdata/run/workspaces/nested_member/main.out +++ /dev/null @@ -1 +0,0 @@ -error: Workspace member 'foo/bar' is nested within other workspace member 'foo' diff --git a/tests/testdata/run/workspaces/nested_member/main.ts b/tests/testdata/run/workspaces/nested_member/main.ts deleted file mode 100644 index 2bf53f7c2..000000000 --- a/tests/testdata/run/workspaces/nested_member/main.ts +++ /dev/null @@ -1,4 +0,0 @@ -import "./foo/mod.ts"; -import chalk from "./foo/bar/hello.ts"; - -console.log(chalk); -- cgit v1.2.3