cabloy 5.1.147 → 5.1.148

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.cabloy-version CHANGED
@@ -1 +1 @@
1
- 5.1.147
1
+ 5.1.148
@@ -40,7 +40,7 @@
40
40
  {
41
41
  "id": 7,
42
42
  "prompt": "I created a linked Cabloy Start worktree and need isolated Vona, Zova Web, and managed clean E2E. Which workflow should I use?",
43
- "expected_output": "Routes to the canonical shared guide and explicitly invoked /cabloy-worktree-environment skill. It recognizes that the invoked skill selects the Start command npm run test:e2e:start:clean while retaining read-only generic routing, a deterministic Git-metadata recommendation, no environment-content inspection, no automatic initialization, and the universal five-setting tuple written to both permitted broad local files only after confirmation.",
43
+ "expected_output": "Routes to the canonical shared guide and explicitly invoked /cabloy-worktree-environment skill. It recognizes that the invoked skill selects the Start command npm run test:e2e while retaining read-only generic routing, a deterministic Git-metadata recommendation, no environment-content inspection, no automatic initialization, and the universal five-setting tuple written to both permitted broad local files only after confirmation.",
44
44
  "files": []
45
45
  },
46
46
  {
@@ -32,7 +32,7 @@ Interpretation:
32
32
  | Marker | Edition | Managed clean E2E command |
33
33
  | --- | --- | --- |
34
34
  | `__CABLOY_BASIC__` only | Cabloy Basic | `npm run test:e2e` |
35
- | `__CABLOY_START__` only | Cabloy Start | `npm run test:e2e:start:clean` |
35
+ | `__CABLOY_START__` only | Cabloy Start | `npm run test:e2e` |
36
36
 
37
37
  Stop without edits when both markers are present, neither marker is present, the checkout is primary/unregistered, required environment directories are missing, or the selected edition's required scripts are unavailable.
38
38
 
@@ -181,11 +181,8 @@ npm run test
181
181
  Run the edition-appropriate managed clean E2E command:
182
182
 
183
183
  ```bash
184
- # Cabloy Basic
184
+ # Cabloy Basic or Cabloy Start
185
185
  npm run test:e2e
186
-
187
- # Cabloy Start
188
- npm run test:e2e:start:clean
189
186
  ```
190
187
 
191
188
  Finish with a metadata-only status check. Do not use `git diff`, because it can print environment-file content:
@@ -10,7 +10,7 @@
10
10
  {
11
11
  "id": 2,
12
12
  "prompt": "I explicitly invoke /cabloy-worktree-environment in the second linked Cabloy Start worktree. Set up the standard local environment.",
13
- "expected_output": "Detects __CABLOY_START__, selects npm run test:e2e:start:clean for later verification, and uses the shared canonical workflow. Without a process-selection question, it derives APP_NAME from the worktree basename and, for ordinal 2 batch 0, recommends SERVER_LISTEN_PORT 7104, DEV_SERVER_PORT 9002, DEV_SERVER_HMR_PORT 24681, and API_BASE_URL http://localhost:7104. It uses only the two broad local targets and waits for final confirmation before writing both.",
13
+ "expected_output": "Detects __CABLOY_START__, selects npm run test:e2e for later verification, and uses the shared canonical workflow. Without a process-selection question, it derives APP_NAME from the worktree basename and, for ordinal 2 batch 0, recommends SERVER_LISTEN_PORT 7104, DEV_SERVER_PORT 9002, DEV_SERVER_HMR_PORT 24681, and API_BASE_URL http://localhost:7104. It uses only the two broad local targets and waits for final confirmation before writing both.",
14
14
  "files": []
15
15
  },
16
16
  {
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.1.148
4
+
5
+ ### Improvements
6
+
7
+ - Refactor end-to-end test startup.
8
+
3
9
  ## 5.1.147
4
10
 
5
11
  ### Improvements
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cabloy",
3
- "version": "5.1.147",
3
+ "version": "5.1.148",
4
4
  "gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
5
5
  "description": "A Node.js fullstack framework",
6
6
  "keywords": [
@@ -98,31 +98,31 @@ Cabloy Start does not expose the Basic Commerce wrapper family.
98
98
 
99
99
  ## Start SSR browser acceptance
100
100
 
101
- The Start Web and Admin browser baseline also exercises Vona SSR dispatch at port `7102`. Prepare current SSR and REST artifacts, then use the managed local command:
101
+ The Start Web and Admin browser baseline also exercises Vona SSR dispatch at the effective local server port. Prepare current SSR and REST artifacts, then use the managed local command:
102
102
 
103
103
  ```bash
104
104
  npm run build:zova
105
105
  npm run deps:vona
106
- npm run test:e2e:start:clean
106
+ npm run test:e2e
107
107
  ```
108
108
 
109
- The Start command family is:
109
+ Start uses the same unified E2E command pair as Basic:
110
110
 
111
111
  ```text
112
- test:e2e:start complete suite
113
- test:e2e:start:web all @web surface scenarios
114
- test:e2e:start:admin all @admin surface scenarios
115
- test:e2e:start:clean managed clean local suite run
112
+ npm run test:e2e managed clean local suite run
113
+ npm run test:e2e:fast fast rerun without an automatic reset
116
114
  ```
117
115
 
118
- Start scenarios currently use `@web`, `@admin`, and `@smoke`. Select a scenario or surface with Playwright arguments:
116
+ Select flat spec basenames and filter scenarios or surfaces with runner tags and native Playwright arguments. Current Start scenarios use tags including `@web`, `@admin`, `@smoke`, `@layout`, `@cabloy-admin`, `@account`, `@ssr`, and `@flow`:
119
117
 
120
118
  ```bash
121
- npm run test:e2e:start:clean -- --grep @web
122
- npm run test:e2e:start -- --grep ATP-START-FLOW-01
119
+ npm run test:e2e cabloy-start
120
+ npm run test:e2e:fast cabloy-start -- --tag @web
121
+ npm run test:e2e:fast cabloy-admin -- --tag @admin --tag @cabloy-admin
122
+ npm run test:e2e:fast cabloy-start -- --grep ATP-START-FLOW-01
123
123
  ```
124
124
 
125
- For a separately managed Start target, set `START_E2E_BASE_URL`. The target owner is responsible for data, cache, and artifact freshness.
125
+ For a separately managed Start target, set `E2E_BASE_URL` and use `test:e2e:fast`. The target owner is responsible for data, cache, artifact freshness, and process lifecycle.
126
126
 
127
127
  ## Zova script model
128
128
 
@@ -75,10 +75,10 @@ For privacy, the skill writes only to absent or empty permitted broad local file
75
75
 
76
76
  Use commands from the active repository root.
77
77
 
78
- | Edition | Marker | Frontend command | Managed clean E2E |
79
- | ------------ | ------------------ | -------------------------------------------------- | ------------------------------ |
80
- | Cabloy Basic | `__CABLOY_BASIC__` | `npm run dev:zova:admin` or `npm run dev:zova:web` | `npm run test:e2e` |
81
- | Cabloy Start | `__CABLOY_START__` | `npm run dev:zova:admin` or `npm run dev:zova:web` | `npm run test:e2e:start:clean` |
78
+ | Edition | Marker | Frontend command | Managed clean E2E |
79
+ | ------------ | ------------------ | -------------------------------------------------- | ------------------ |
80
+ | Cabloy Basic | `__CABLOY_BASIC__` | `npm run dev:zova:admin` or `npm run dev:zova:web` | `npm run test:e2e` |
81
+ | Cabloy Start | `__CABLOY_START__` | `npm run dev:zova:admin` or `npm run dev:zova:web` | `npm run test:e2e` |
82
82
 
83
83
  Run one frontend command, not both, in each worktree. Both managed clean E2E workflows read Vona's effective local `SERVER_LISTEN_PORT`, then reset, start, and target that local runtime.
84
84
 
@@ -128,20 +128,20 @@ Cabloy Start is checked out from the licensed private repository rather than cre
128
128
  ```text
129
129
  repo-e2e/config/
130
130
  repo-e2e/scripts/
131
- repo-e2e/specs/cabloy-start/
131
+ repo-e2e/specs/
132
132
  ```
133
133
 
134
- The public Cabloy upgrade flow does not synchronize or repair those Start E2E files, the `test:e2e:start*` scripts, or `@playwright/test`. Keep project-owned browser scenarios outside the baseline paths, for example under `repo-e2e/specs/my-project/`.
134
+ The public Cabloy upgrade flow does not synchronize or repair those private Start E2E files, its root E2E scripts, or `@playwright/test`. Keep project-owned browser scenarios in the flat `repo-e2e/specs/` directory under distinct filenames, for example `repo-e2e/specs/my-project.spec.ts`.
135
135
 
136
136
  Prepare and run the managed Start baseline locally with:
137
137
 
138
138
  ```bash
139
139
  npm run build:zova
140
140
  npm run deps:vona
141
- npm run test:e2e:start:clean
141
+ npm run test:e2e
142
142
  ```
143
143
 
144
- The managed command requires port `7102` to be available and owns the local reset and Vona worker lifecycle. For a separately managed target, set `START_E2E_BASE_URL` and use `test:e2e:start`, `test:e2e:start:web`, or `test:e2e:start:admin`; those commands do not reset, build, start, or stop the target. Install Chromium once when needed with `npx playwright install chromium`. See [Repo Scripts](/reference/repo-scripts#ssr-browser-checks) for the complete command variants.
144
+ The managed command checks the effective local server port and owns the local reset and Vona worker lifecycle. For a separately managed target, set `E2E_BASE_URL` and use `npm run test:e2e:fast`; this mode does not reset, build, start, or stop the target. Select surfaces with `--tag @web` or `--tag @admin`, and exact scenarios with native `--grep` arguments. Install Chromium once when needed with `npx playwright install chromium`. See [Repo Scripts](/reference/repo-scripts#ssr-browser-checks) for the complete command variants.
145
145
 
146
146
  ## 7. Next steps for framework-aware development
147
147
 
@@ -63,10 +63,8 @@ Cabloy Start exposes the equivalent Start repository surface:
63
63
  - `npm run start:one`
64
64
  - `npm run test`
65
65
  - `npm run db:reset`
66
- - `npm run test:e2e:start`
67
- - `npm run test:e2e:start:web`
68
- - `npm run test:e2e:start:admin`
69
- - `npm run test:e2e:start:clean`
66
+ - `npm run test:e2e`
67
+ - `npm run test:e2e:fast`
70
68
  - `npm run tsc`
71
69
 
72
70
  Cabloy Start does not expose Basic Commerce or root documentation wrappers.
@@ -96,10 +94,10 @@ The Start E2E baseline is maintained in the private repository:
96
94
  ```text
97
95
  repo-e2e/config/
98
96
  repo-e2e/scripts/
99
- repo-e2e/specs/cabloy-start/
97
+ repo-e2e/specs/
100
98
  ```
101
99
 
102
- The public-package upgrade flow does not source or reconcile the Start baseline, its `test:e2e:start*` scripts, or `@playwright/test`. Keep project browser tests outside the baseline paths, for example under `repo-e2e/specs/my-project/`.
100
+ The public-package upgrade flow does not source or reconcile the private Start baseline, its root E2E scripts, or `@playwright/test`. Keep project browser tests in the flat `repo-e2e/specs/` directory under distinct filenames, for example `repo-e2e/specs/my-project.spec.ts`.
103
101
 
104
102
  ## SSR browser checks
105
103
 
@@ -158,24 +156,24 @@ The Start suite exercises Web at `/` and Admin at `/admin` through Vona's SSR di
158
156
  ```bash
159
157
  npm run build:zova
160
158
  npm run deps:vona
161
- npm run test:e2e:start:clean
159
+ npm run test:e2e
162
160
  ```
163
161
 
164
162
  ```bash
165
163
  # Exact acceptance scenario
166
- npm run test:e2e:start -- --grep ATP-START-FLOW-01
164
+ npm run test:e2e:fast cabloy-start -- --grep ATP-START-FLOW-01
167
165
 
168
166
  # Category or surface selection
169
- npm run test:e2e:start:clean -- --grep @smoke
170
- npm run test:e2e:start:clean -- --grep @admin
167
+ npm run test:e2e:fast cabloy-start -- --tag @smoke
168
+ npm run test:e2e:fast cabloy-admin -- --tag @admin --tag @cabloy-admin
171
169
  ```
172
170
 
173
- For an externally managed Start target, set `START_E2E_BASE_URL` and use matching aggregate, surface, or forwarded-tag commands. The target owner is responsible for data, cache, and artifact freshness:
171
+ For an externally managed Start target, set `E2E_BASE_URL` and use `npm run test:e2e:fast`. The target owner is responsible for data, cache, artifact freshness, and process lifecycle:
174
172
 
175
173
  ```bash
176
- START_E2E_BASE_URL=http://127.0.0.1:7102 npm run test:e2e:start
177
- START_E2E_BASE_URL=http://127.0.0.1:7102 npm run test:e2e:start:admin
178
- START_E2E_BASE_URL=http://127.0.0.1:7102 npm run test:e2e:start -- --grep @web
174
+ E2E_BASE_URL=http://127.0.0.1:7102 npm run test:e2e:fast
175
+ E2E_BASE_URL=http://127.0.0.1:7102 npm run test:e2e:fast cabloy-admin -- --tag @admin
176
+ E2E_BASE_URL=http://127.0.0.1:7102 npm run test:e2e:fast cabloy-start -- --tag @web
179
177
  ```
180
178
 
181
179
  Browser commands consume existing SSR and REST artifacts; they never rebuild them. Install Chromium once when needed with `npx playwright install chromium`.
@@ -77,7 +77,7 @@ importers:
77
77
  version: 10.5.2(postcss@8.5.26)
78
78
  axios:
79
79
  specifier: ^1.18.1
80
- version: 1.18.1
80
+ version: 1.18.1(supports-color@10.2.2)
81
81
  compression:
82
82
  specifier: ^1.8.1
83
83
  version: 1.8.1
@@ -363,7 +363,7 @@ importers:
363
363
  devDependencies:
364
364
  '@cabloy/cli':
365
365
  specifier: ^3.1.29
366
- version: 3.1.29(vue@3.5.38(typescript@5.9.3))
366
+ version: 3.1.29(supports-color@10.2.2)(vue@3.5.38(typescript@5.9.3))
367
367
  '@cabloy/lint':
368
368
  specifier: ^5.1.32
369
369
  version: 5.1.32(@typescript-eslint/eslint-plugin@8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@5.9.3))(eslint@10.6.0(jiti@2.7.0))(typescript@5.9.3))(@typescript-eslint/rule-tester@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@5.9.3))(@typescript-eslint/typescript-estree@8.62.1(typescript@5.9.3))(@typescript-eslint/utils@8.62.1(eslint@10.6.0(jiti@2.7.0))(typescript@5.9.3))(eslint@10.6.0(jiti@2.7.0))(oxfmt@0.62.0)(oxlint@1.77.0)(supports-color@10.2.2)(typescript@5.9.3)(vue-eslint-parser@10.4.1(eslint@10.6.0(jiti@2.7.0)))
@@ -438,7 +438,7 @@ importers:
438
438
  dependencies:
439
439
  '@cabloy/cli':
440
440
  specifier: ^3.1.29
441
- version: 3.1.29(vue@3.5.38(typescript@5.9.3))
441
+ version: 3.1.29(supports-color@10.2.2)(vue@3.5.38(typescript@5.9.3))
442
442
  '@cabloy/process-helper':
443
443
  specifier: ^3.1.8
444
444
  version: 3.1.8
@@ -449,7 +449,7 @@ importers:
449
449
  specifier: ^7.6.2
450
450
  version: 7.8.5
451
451
  zova-cli-set-front:
452
- specifier: ^1.2.101
452
+ specifier: ^1.2.102
453
453
  version: link:../cli-set-front
454
454
  devDependencies:
455
455
  clean-package:
@@ -472,7 +472,7 @@ importers:
472
472
  version: 7.29.7(@babel/core@7.29.7)
473
473
  '@cabloy/cli':
474
474
  specifier: ^3.1.29
475
- version: 3.1.29(vue@3.5.38(typescript@5.9.3))
475
+ version: 3.1.29(supports-color@10.2.2)(vue@3.5.38(typescript@5.9.3))
476
476
  '@cabloy/extend':
477
477
  specifier: ^3.2.8
478
478
  version: 3.2.8
@@ -1198,7 +1198,7 @@ importers:
1198
1198
  dependencies:
1199
1199
  axios:
1200
1200
  specifier: ^1.18.1
1201
- version: 1.18.1
1201
+ version: 1.18.1(supports-color@10.2.2)
1202
1202
  devDependencies:
1203
1203
  clean-package:
1204
1204
  specifier: ^2.2.0
@@ -1471,7 +1471,7 @@ importers:
1471
1471
  devDependencies:
1472
1472
  '@cabloy/cli':
1473
1473
  specifier: ^3.1.29
1474
- version: 3.1.29(vue@3.5.38(typescript@5.9.3))
1474
+ version: 3.1.29(supports-color@10.2.2)(vue@3.5.38(typescript@5.9.3))
1475
1475
  '@types/luxon':
1476
1476
  specifier: ^3.7.1
1477
1477
  version: 3.7.2
@@ -8798,7 +8798,7 @@ snapshots:
8798
8798
 
8799
8799
  '@bufbuild/protobuf@2.12.1': {}
8800
8800
 
8801
- '@cabloy/cli@3.1.29(vue@3.5.38(typescript@5.9.3))':
8801
+ '@cabloy/cli@3.1.29(supports-color@10.2.2)(vue@3.5.38(typescript@5.9.3))':
8802
8802
  dependencies:
8803
8803
  '@babel/parser': 7.29.7
8804
8804
  '@cabloy/module-glob': 5.3.18
@@ -8807,7 +8807,7 @@ snapshots:
8807
8807
  '@cabloy/utils': 2.1.27
8808
8808
  '@cabloy/word-utils': link:packages-utils/word-utils
8809
8809
  '@npmcli/config': 10.11.0
8810
- '@zhennann/common-bin': 4.0.1
8810
+ '@zhennann/common-bin': 4.0.1(supports-color@10.2.2)
8811
8811
  '@zhennann/ejs': 3.0.1
8812
8812
  boxen: 4.2.0
8813
8813
  chalk: 3.0.0
@@ -11041,7 +11041,7 @@ snapshots:
11041
11041
 
11042
11042
  '@vue/shared@3.5.13': {}
11043
11043
 
11044
- '@zhennann/common-bin@4.0.1':
11044
+ '@zhennann/common-bin@4.0.1(supports-color@10.2.2)':
11045
11045
  dependencies:
11046
11046
  chalk: 4.1.2
11047
11047
  change-case: 4.1.2
@@ -11075,7 +11075,7 @@ snapshots:
11075
11075
 
11076
11076
  acorn@8.17.0: {}
11077
11077
 
11078
- agent-base@6.0.2:
11078
+ agent-base@6.0.2(supports-color@10.2.2):
11079
11079
  dependencies:
11080
11080
  debug: 4.4.3(supports-color@10.2.2)
11081
11081
  transitivePeerDependencies:
@@ -11187,11 +11187,11 @@ snapshots:
11187
11187
  dependencies:
11188
11188
  possible-typed-array-names: 1.1.0
11189
11189
 
11190
- axios@1.18.1:
11190
+ axios@1.18.1(supports-color@10.2.2):
11191
11191
  dependencies:
11192
11192
  follow-redirects: 1.16.0
11193
11193
  form-data: 4.0.6
11194
- https-proxy-agent: 5.0.1
11194
+ https-proxy-agent: 5.0.1(supports-color@10.2.2)
11195
11195
  proxy-from-env: 2.1.0
11196
11196
  transitivePeerDependencies:
11197
11197
  - debug
@@ -12604,9 +12604,9 @@ snapshots:
12604
12604
  statuses: 2.0.2
12605
12605
  toidentifier: 1.0.1
12606
12606
 
12607
- https-proxy-agent@5.0.1:
12607
+ https-proxy-agent@5.0.1(supports-color@10.2.2):
12608
12608
  dependencies:
12609
- agent-base: 6.0.2
12609
+ agent-base: 6.0.2(supports-color@10.2.2)
12610
12610
  debug: 4.4.3(supports-color@10.2.2)
12611
12611
  transitivePeerDependencies:
12612
12612
  - supports-color