summaryrefslogtreecommitdiff
path: root/cli/tests/integration/run_tests.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2023-11-17 02:28:38 +0100
committerGitHub <noreply@github.com>2023-11-17 01:28:38 +0000
commit9534e6e1131542653c4e266f712c4067af2c8ec0 (patch)
tree1a74cccdcdb6bb12c10ab3e2a34d93fd8c4ccc55 /cli/tests/integration/run_tests.rs
parent544923afdc67e9946453901642746f37f22c8e24 (diff)
feat(unstable): Workspaces support (#20410)
This commit adds unstable workspace support. This is extremely bare-bones and minimal first-pass at this. With this change `deno.json` supports specifying `workspaces` key, that accepts a list of subdirectories. Each workspace can have its own import map. It's required to specify a `"name"` and `"version"` properties in the configuration file for the workspace: ```jsonc // deno.json { "workspaces": [ "a", "b" }, "imports": { "express": "npm:express@5" } } ``` ``` jsonc // a/deno.json { "name": "a", "version": "1.0.2", "imports": { "kleur": "npm:kleur" } } ``` ```jsonc // b/deno.json { "name": "b", "version": "0.51.0", "imports": { "chalk": "npm:chalk" } } ``` `--unstable-workspaces` flag is required to use this feature: ``` $ deno run --unstable-workspaces mod.ts ``` --------- Co-authored-by: David Sherret <dsherret@gmail.com>
Diffstat (limited to 'cli/tests/integration/run_tests.rs')
-rw-r--r--cli/tests/integration/run_tests.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/cli/tests/integration/run_tests.rs b/cli/tests/integration/run_tests.rs
index c24464eba..306d4df67 100644
--- a/cli/tests/integration/run_tests.rs
+++ b/cli/tests/integration/run_tests.rs
@@ -4759,3 +4759,32 @@ itest!(explicit_resource_management {
args: "run --quiet --check run/explicit_resource_management/main.ts",
output: "run/explicit_resource_management/main.out",
});
+
+itest!(workspaces_basic {
+ args: "run -L debug -A --unstable-workspaces 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 --unstable-workspaces 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 --unstable-workspaces 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,
+});