Skip to content

Commit 8d2a38d

Browse files
committed
test: snapshot local CLI boundary output directly
1 parent eeed262 commit 8d2a38d

6 files changed

Lines changed: 128 additions & 40 deletions

File tree

crates/vp_cli_snapshots/tests/cli_snapshots/fixtures/local_cli_workspace_boundary/assert-boundary.mjs

Lines changed: 0 additions & 28 deletions
This file was deleted.

crates/vp_cli_snapshots/tests/cli_snapshots/fixtures/local_cli_workspace_boundary/snapshots.toml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ comment = "An independent project outside the workspace patterns cannot borrow i
55
steps = [
66
{ argv = ["vpt", "mkdir", "-p", "outer/node_modules"], snapshot = false },
77
{ argv = ["vpt", "cp", "-r", "outer-cli", "outer/node_modules/vite-plus"], snapshot = false },
8-
["node", "assert-boundary.mjs", "outer/external/inner", "global"],
8+
{ argv = ["vp", "--version"], cwd = "outer/external/inner" },
9+
{ argv = ["vp", "lint", "--version"], cwd = "outer/external/inner" },
910
]
1011

1112
[[case]]
@@ -15,7 +16,8 @@ comment = "A member can use the workspace root's declared CLI dependency."
1516
steps = [
1617
{ argv = ["vpt", "mkdir", "-p", "outer/node_modules"], snapshot = false },
1718
{ argv = ["vpt", "cp", "-r", "outer-cli", "outer/node_modules/vite-plus"], snapshot = false },
18-
["node", "assert-boundary.mjs", "outer/packages/member", "local"],
19+
{ argv = ["vp", "--version"], cwd = "outer/packages/member" },
20+
{ argv = ["vp", "lint", "--version"], cwd = "outer/packages/member" },
1921
]
2022

2123
[[case]]
@@ -26,7 +28,8 @@ steps = [
2628
{ argv = ["vpt", "mkdir", "-p", "outer/node_modules"], snapshot = false },
2729
{ argv = ["vpt", "cp", "-r", "outer-cli", "outer/node_modules/vite-plus"], snapshot = false },
2830
{ argv = ["vpt", "write-file", "outer/package.json", "{"], snapshot = false },
29-
["node", "assert-boundary.mjs", "outer/external/inner", "global"],
31+
{ argv = ["vp", "--version"], cwd = "outer/external/inner" },
32+
{ argv = ["vp", "lint", "--version"], cwd = "outer/external/inner", comment = "the global CLI reports the malformed manifest instead of running the ancestor CLI" },
3033
]
3134

3235
[[case]]
@@ -38,5 +41,6 @@ steps = [
3841
{ argv = ["vpt", "cp", "-r", "outer-cli", "outer/node_modules/vite-plus"], snapshot = false },
3942
{ argv = ["vpt", "write-file", "outer/external/inner/package.json", "\uFEFF{\"name\":\"inner\",\"devDependencies\":{\"vite-plus\":\"0.3.1\"}}"], snapshot = false },
4043
{ argv = ["vpt", "write-file", "outer/external/inner/pnpm-workspace.yaml", "packages: []\n"], snapshot = false },
41-
["node", "assert-boundary.mjs", "outer/external/inner", "global"],
44+
{ argv = ["vp", "--version"], cwd = "outer/external/inner" },
45+
{ argv = ["vp", "lint", "--version"], cwd = "outer/external/inner" },
4246
]

crates/vp_cli_snapshots/tests/cli_snapshots/fixtures/local_cli_workspace_boundary/snapshots/bom_manifest.md

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,35 @@ A UTF-8 BOM does not hide the project's vite-plus dependency.
1515
'`
1616

1717

18-
## `node assert-boundary.mjs outer/external/inner global`
18+
## `cd outer/external/inner && vp --version`
1919

2020
```
21-
Version reports no local CLI; delegation uses the global CLI with an install warning.
21+
VITE+ - The Unified Toolchain for the Web
22+
23+
vp <version>
24+
25+
Local vite-plus:
26+
vite-plus Not found
27+
28+
Tools:
29+
vite Not found
30+
rolldown Not found
31+
vitest Not found
32+
oxfmt Not found
33+
oxlint Not found
34+
oxlint-tsgolint Not found
35+
tsdown Not found
36+
37+
Environment:
38+
Package manager Not found
39+
Node.js <version>
40+
```
41+
42+
## `cd outer/external/inner && vp lint --version`
43+
44+
```
45+
VITE+ - The Unified Toolchain for the Web
46+
47+
warn: No project-local vite-plus installation was found. Run `vp install` in `<workspace>/outer/external/inner` to install dependencies.
48+
Version: 1.81.0
2249
```

crates/vp_cli_snapshots/tests/cli_snapshots/fixtures/local_cli_workspace_boundary/snapshots/excluded_project.md

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,35 @@ An independent project outside the workspace patterns cannot borrow its ancestor
88
## `vpt cp -r outer-cli outer/node_modules/vite-plus`
99

1010

11-
## `node assert-boundary.mjs outer/external/inner global`
11+
## `cd outer/external/inner && vp --version`
1212

1313
```
14-
Version reports no local CLI; delegation uses the global CLI with an install warning.
14+
VITE+ - The Unified Toolchain for the Web
15+
16+
vp <version>
17+
18+
Local vite-plus:
19+
vite-plus Not found
20+
21+
Tools:
22+
vite Not found
23+
rolldown Not found
24+
vitest Not found
25+
oxfmt Not found
26+
oxlint Not found
27+
oxlint-tsgolint Not found
28+
tsdown Not found
29+
30+
Environment:
31+
Package manager Not found
32+
Node.js <version>
33+
```
34+
35+
## `cd outer/external/inner && vp lint --version`
36+
37+
```
38+
VITE+ - The Unified Toolchain for the Web
39+
40+
warn: No project-local vite-plus installation was found. Run `vp install` in `<workspace>/outer/external/inner` to install dependencies.
41+
Version: 1.81.0
1542
```

crates/vp_cli_snapshots/tests/cli_snapshots/fixtures/local_cli_workspace_boundary/snapshots/malformed_ancestor.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,40 @@ A malformed ancestor manifest cannot remove the independent project's boundary.
1111
## `vpt write-file outer/package.json {`
1212

1313

14-
## `node assert-boundary.mjs outer/external/inner global`
14+
## `cd outer/external/inner && vp --version`
1515

1616
```
17-
Version reports no local CLI; delegation uses the global CLI with an install warning.
17+
VITE+ - The Unified Toolchain for the Web
18+
19+
vp <version>
20+
21+
Local vite-plus:
22+
vite-plus Not found
23+
24+
Tools:
25+
vite Not found
26+
rolldown Not found
27+
vitest Not found
28+
oxfmt Not found
29+
oxlint Not found
30+
oxlint-tsgolint Not found
31+
tsdown Not found
32+
33+
Environment:
34+
Package manager Not found
35+
Node.js <version>
36+
```
37+
38+
## `cd outer/external/inner && vp lint --version`
39+
40+
the global CLI reports the malformed manifest instead of running the ancestor CLI
41+
42+
**Exit code:** 1
43+
44+
```
45+
VITE+ - The Unified Toolchain for the Web
46+
47+
warn: No project-local vite-plus installation was found. Run `vp install` in `<workspace>/outer/external/inner` to install dependencies.
48+
error: Failed to parse JSON file at <workspace>/outer/package.json
49+
* EOF while parsing an object at line 1 column 1
1850
```

crates/vp_cli_snapshots/tests/cli_snapshots/fixtures/local_cli_workspace_boundary/snapshots/workspace_member.md

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,34 @@ A member can use the workspace root's declared CLI dependency.
88
## `vpt cp -r outer-cli outer/node_modules/vite-plus`
99

1010

11-
## `node assert-boundary.mjs outer/packages/member local`
11+
## `cd outer/packages/member && vp --version`
1212

1313
```
14-
Version and delegation use the workspace root CLI without an install warning.
14+
VITE+ - The Unified Toolchain for the Web
15+
16+
vp <version>
17+
18+
Local vite-plus:
19+
vite-plus <version>
20+
21+
Tools:
22+
vite <version>
23+
rolldown <version>
24+
vitest Not found
25+
oxfmt Not found
26+
oxlint Not found
27+
oxlint-tsgolint Not found
28+
tsdown <version>
29+
30+
Environment:
31+
Package manager Not found
32+
Node.js <version>
33+
```
34+
35+
## `cd outer/packages/member && vp lint --version`
36+
37+
```
38+
VITE+ - The Unified Toolchain for the Web
39+
40+
Ancestor workspace CLI executed.
1541
```

0 commit comments

Comments
 (0)