laxy-verify 1.1.21 → 1.1.22
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/README.md +263 -263
- package/package.json +67 -67
package/README.md
CHANGED
|
@@ -1,263 +1,263 @@
|
|
|
1
|
-
# laxy-verify
|
|
2
|
-
|
|
3
|
-
A frontend verification CLI that catches build breaks, regressions, and client-visible issues before you ship.
|
|
4
|
-
|
|
5
|
-
`laxy-verify` runs production build checks, Lighthouse, tiered verify E2E, and plan-gated verification for Free, Pro, and Pro+ accounts.
|
|
6
|
-
It is built around three simple questions:
|
|
7
|
-
|
|
8
|
-
- Free: "Any critical issues right now?"
|
|
9
|
-
- Pro: "Ready to show a client?"
|
|
10
|
-
- Pro+: "Ready for production?"
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
npx laxy-verify --init --run
|
|
14
|
-
npx laxy-verify .
|
|
15
|
-
npx laxy-verify . --plan-override pro
|
|
16
|
-
npx laxy-verify login
|
|
17
|
-
npx laxy-verify whoami
|
|
18
|
-
npx laxy-verify --help
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
What you get from one run:
|
|
22
|
-
|
|
23
|
-
- a verification grade: `Gold`, `Silver`, `Bronze`, or `Unverified`
|
|
24
|
-
- a decision-oriented verdict such as `client-ready`, `release-ready`, `hold`, or `investigate`
|
|
25
|
-
- `.laxy-result.json` for automation
|
|
26
|
-
- `laxy-verify-report.md` on paid plans for human review and AI handoff
|
|
27
|
-
|
|
28
|
-
## Quick Start
|
|
29
|
-
|
|
30
|
-
### 1. Run it on a frontend app
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
cd your-project
|
|
34
|
-
npx laxy-verify .
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
This runs the default verification flow in the current app directory.
|
|
38
|
-
|
|
39
|
-
### 2. Generate config and CI workflow
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
npx laxy-verify --init
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
This creates:
|
|
46
|
-
|
|
47
|
-
- `.laxy.yml`
|
|
48
|
-
- `.github/workflows/laxy-verify.yml`
|
|
49
|
-
|
|
50
|
-
### 3. Commit the workflow
|
|
51
|
-
|
|
52
|
-
Once committed, each PR gets a verification run, grade output, and optional GitHub reporting.
|
|
53
|
-
|
|
54
|
-
### 4. Unlock paid plan features
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
npx laxy-verify login
|
|
58
|
-
npx laxy-verify whoami
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
For CI, set `LAXY_TOKEN` instead of using interactive login.
|
|
62
|
-
|
|
63
|
-
```yaml
|
|
64
|
-
env:
|
|
65
|
-
LAXY_TOKEN: ${{ secrets.LAXY_TOKEN }}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## What It Checks
|
|
69
|
-
|
|
70
|
-
- production build success
|
|
71
|
-
- Lighthouse thresholds
|
|
72
|
-
- verify E2E scenarios for real user flows
|
|
73
|
-
- Pro+ viewport and visual regression evidence
|
|
74
|
-
- plan-aware verdicts for local runs and CI
|
|
75
|
-
|
|
76
|
-
## Verification Tiers
|
|
77
|
-
|
|
78
|
-
| Plan | Question it answers |
|
|
79
|
-
|------|---------------------|
|
|
80
|
-
| Free | Any critical issues right now? |
|
|
81
|
-
| Pro | Ready to show a client? |
|
|
82
|
-
| Pro+ | Ready for production? |
|
|
83
|
-
|
|
84
|
-
## Grades
|
|
85
|
-
|
|
86
|
-
| Grade | Meaning |
|
|
87
|
-
|-------|---------|
|
|
88
|
-
| Gold | Build passed + E2E passed + Lighthouse passed + Pro+ viewport evidence passed |
|
|
89
|
-
| Silver | Build passed + E2E passed |
|
|
90
|
-
| Bronze | Build passed |
|
|
91
|
-
| Unverified | Build failed |
|
|
92
|
-
|
|
93
|
-
## Plan Differences
|
|
94
|
-
|
|
95
|
-
| Feature | Free | Pro | Pro+ |
|
|
96
|
-
|---------|------|-----|------|
|
|
97
|
-
| Build verification | Yes | Yes | Yes |
|
|
98
|
-
| Lighthouse | 1 run | 3 runs | 3 runs |
|
|
99
|
-
| Verify E2E | Smoke checks | Client-facing flow checks | Client-facing flow checks + release evidence |
|
|
100
|
-
| Detailed report view | No | Yes | Yes |
|
|
101
|
-
| `laxy-verify-report.md` export | No | Yes | Yes |
|
|
102
|
-
| Multi-viewport verification | No | No | Yes |
|
|
103
|
-
| Visual diff | No | No | Yes |
|
|
104
|
-
| Failure analysis signals | No | No | Yes |
|
|
105
|
-
|
|
106
|
-
Free tells you whether the app is basically standing.
|
|
107
|
-
Pro tells you whether the app is strong enough to call client-ready.
|
|
108
|
-
Pro+ adds the extra evidence needed for a real release-ready call.
|
|
109
|
-
|
|
110
|
-
## Sample Output
|
|
111
|
-
|
|
112
|
-
```text
|
|
113
|
-
Plan: Pro+
|
|
114
|
-
Grade: Gold
|
|
115
|
-
Verdict: release-ready
|
|
116
|
-
|
|
117
|
-
Passed:
|
|
118
|
-
- production build
|
|
119
|
-
- Lighthouse thresholds
|
|
120
|
-
- core E2E flows
|
|
121
|
-
- desktop, tablet, and mobile viewport checks
|
|
122
|
-
|
|
123
|
-
Artifacts:
|
|
124
|
-
- .laxy-result.json
|
|
125
|
-
- laxy-verify-report.md
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
## Configuration
|
|
129
|
-
|
|
130
|
-
All fields are optional in `.laxy.yml`.
|
|
131
|
-
|
|
132
|
-
```yaml
|
|
133
|
-
framework: "auto"
|
|
134
|
-
build_command: ""
|
|
135
|
-
dev_command: ""
|
|
136
|
-
package_manager: "auto"
|
|
137
|
-
port: 3000
|
|
138
|
-
build_timeout: 300
|
|
139
|
-
dev_timeout: 60
|
|
140
|
-
lighthouse_runs: 1
|
|
141
|
-
|
|
142
|
-
thresholds:
|
|
143
|
-
performance: 70
|
|
144
|
-
accessibility: 85
|
|
145
|
-
seo: 80
|
|
146
|
-
best_practices: 80
|
|
147
|
-
|
|
148
|
-
fail_on: "bronze"
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
Typical cases:
|
|
152
|
-
|
|
153
|
-
- raise `fail_on` to `silver` or `gold` in CI when you want stricter gates
|
|
154
|
-
- set `framework`, `build_command`, or `dev_command` if auto-detection is not enough
|
|
155
|
-
- increase `lighthouse_runs` when you want more stable performance evidence
|
|
156
|
-
|
|
157
|
-
## CLI Options
|
|
158
|
-
|
|
159
|
-
```text
|
|
160
|
-
npx laxy-verify [project-dir]
|
|
161
|
-
|
|
162
|
-
Options:
|
|
163
|
-
--format console|json
|
|
164
|
-
--ci
|
|
165
|
-
--config <path>
|
|
166
|
-
--fail-on unverified|bronze|silver|gold
|
|
167
|
-
--skip-lighthouse
|
|
168
|
-
--plan-override free|pro|pro_plus
|
|
169
|
-
--badge
|
|
170
|
-
--init
|
|
171
|
-
--multi-viewport
|
|
172
|
-
--help
|
|
173
|
-
|
|
174
|
-
Subcommands:
|
|
175
|
-
login [email]
|
|
176
|
-
logout
|
|
177
|
-
whoami
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
`--plan-override` is for downgrade testing only.
|
|
181
|
-
Example: if your account is Pro+, you can run `--plan-override pro` or `--plan-override free` to verify the lower-tier behavior without changing your subscription.
|
|
182
|
-
It will reject upgrades above your real entitlement.
|
|
183
|
-
|
|
184
|
-
## Result Files
|
|
185
|
-
|
|
186
|
-
Each run writes `.laxy-result.json`.
|
|
187
|
-
|
|
188
|
-
Paid plans also write a readable markdown summary to `laxy-verify-report.md`.
|
|
189
|
-
|
|
190
|
-
- `Pro`: client-ready delivery report
|
|
191
|
-
- `Pro+`: release-readiness report with viewport and visual evidence
|
|
192
|
-
|
|
193
|
-
Exit behavior follows the verification verdict, not just the legacy grade.
|
|
194
|
-
|
|
195
|
-
- `build-failed` -> exit 1
|
|
196
|
-
- `hold` -> exit 1
|
|
197
|
-
- `Pro+ investigate` -> exit 1
|
|
198
|
-
- plain lower-tier pass states can still exit 0
|
|
199
|
-
|
|
200
|
-
```json
|
|
201
|
-
{
|
|
202
|
-
"grade": "Gold",
|
|
203
|
-
"timestamp": "2026-04-09T09:00:00Z",
|
|
204
|
-
"build": { "success": true, "durationMs": 12000, "errors": [] },
|
|
205
|
-
"e2e": { "passed": 5, "failed": 0, "total": 5, "results": [] },
|
|
206
|
-
"lighthouse": { "performance": 82, "accessibility": 94, "seo": 90, "bestPractices": 92, "runs": 3 },
|
|
207
|
-
"multiViewport": {
|
|
208
|
-
"allPassed": true,
|
|
209
|
-
"summary": "Desktop, tablet, and mobile checks passed."
|
|
210
|
-
},
|
|
211
|
-
"visualDiff": {
|
|
212
|
-
"verdict": "pass",
|
|
213
|
-
"differencePercentage": 0
|
|
214
|
-
},
|
|
215
|
-
"verification": {
|
|
216
|
-
"tier": "pro_plus",
|
|
217
|
-
"report": { "verdict": "release-ready" }
|
|
218
|
-
},
|
|
219
|
-
"exitCode": 0,
|
|
220
|
-
"_plan": "pro_plus"
|
|
221
|
-
}
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
### `laxy-verify-report.md`
|
|
225
|
-
|
|
226
|
-
For Pro and Pro+ runs, the markdown report is designed to be easy to read and easy to paste into an AI coding tool.
|
|
227
|
-
|
|
228
|
-
It includes:
|
|
229
|
-
|
|
230
|
-
- the main decision in plain English
|
|
231
|
-
- what passed
|
|
232
|
-
- blockers and warnings
|
|
233
|
-
- exact verification evidence
|
|
234
|
-
- failed E2E scenarios
|
|
235
|
-
- a `Copy For AI` section you can paste directly into Codex, Cursor, Claude, or ChatGPT
|
|
236
|
-
|
|
237
|
-
## Environment Notes
|
|
238
|
-
|
|
239
|
-
- Best on current LTS Node releases. `Node 20.18+` is recommended.
|
|
240
|
-
- Monorepos should point `laxy-verify` at the actual app directory.
|
|
241
|
-
- `playwright` is optional. The CLI can run without it.
|
|
242
|
-
- Pro+ viewport and visual checks increase runtime.
|
|
243
|
-
|
|
244
|
-
## Regression Fixtures
|
|
245
|
-
|
|
246
|
-
The repo also includes dedicated regression fixtures under `.qa-regression-fixtures/`.
|
|
247
|
-
They intentionally break build, navigation, coverage, performance, viewport behavior, and visual stability so the verifier can be tested against known failure modes.
|
|
248
|
-
|
|
249
|
-
## Limitations
|
|
250
|
-
|
|
251
|
-
- Monorepos require targeting the app subdirectory explicitly.
|
|
252
|
-
- Dev-server-based Lighthouse can differ from production hosting.
|
|
253
|
-
- Pro+ visual diff and viewport checks increase runtime.
|
|
254
|
-
- Local verification is most stable on current LTS Node releases.
|
|
255
|
-
|
|
256
|
-
## Links
|
|
257
|
-
|
|
258
|
-
- GitHub: https://github.com/
|
|
259
|
-
- Issues: https://github.com/
|
|
260
|
-
|
|
261
|
-
## License
|
|
262
|
-
|
|
263
|
-
MIT
|
|
1
|
+
# laxy-verify
|
|
2
|
+
|
|
3
|
+
A frontend verification CLI that catches build breaks, regressions, and client-visible issues before you ship.
|
|
4
|
+
|
|
5
|
+
`laxy-verify` runs production build checks, Lighthouse, tiered verify E2E, and plan-gated verification for Free, Pro, and Pro+ accounts.
|
|
6
|
+
It is built around three simple questions:
|
|
7
|
+
|
|
8
|
+
- Free: "Any critical issues right now?"
|
|
9
|
+
- Pro: "Ready to show a client?"
|
|
10
|
+
- Pro+: "Ready for production?"
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npx laxy-verify --init --run
|
|
14
|
+
npx laxy-verify .
|
|
15
|
+
npx laxy-verify . --plan-override pro
|
|
16
|
+
npx laxy-verify login
|
|
17
|
+
npx laxy-verify whoami
|
|
18
|
+
npx laxy-verify --help
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
What you get from one run:
|
|
22
|
+
|
|
23
|
+
- a verification grade: `Gold`, `Silver`, `Bronze`, or `Unverified`
|
|
24
|
+
- a decision-oriented verdict such as `client-ready`, `release-ready`, `hold`, or `investigate`
|
|
25
|
+
- `.laxy-result.json` for automation
|
|
26
|
+
- `laxy-verify-report.md` on paid plans for human review and AI handoff
|
|
27
|
+
|
|
28
|
+
## Quick Start
|
|
29
|
+
|
|
30
|
+
### 1. Run it on a frontend app
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
cd your-project
|
|
34
|
+
npx laxy-verify .
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
This runs the default verification flow in the current app directory.
|
|
38
|
+
|
|
39
|
+
### 2. Generate config and CI workflow
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npx laxy-verify --init
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
This creates:
|
|
46
|
+
|
|
47
|
+
- `.laxy.yml`
|
|
48
|
+
- `.github/workflows/laxy-verify.yml`
|
|
49
|
+
|
|
50
|
+
### 3. Commit the workflow
|
|
51
|
+
|
|
52
|
+
Once committed, each PR gets a verification run, grade output, and optional GitHub reporting.
|
|
53
|
+
|
|
54
|
+
### 4. Unlock paid plan features
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
npx laxy-verify login
|
|
58
|
+
npx laxy-verify whoami
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
For CI, set `LAXY_TOKEN` instead of using interactive login.
|
|
62
|
+
|
|
63
|
+
```yaml
|
|
64
|
+
env:
|
|
65
|
+
LAXY_TOKEN: ${{ secrets.LAXY_TOKEN }}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## What It Checks
|
|
69
|
+
|
|
70
|
+
- production build success
|
|
71
|
+
- Lighthouse thresholds
|
|
72
|
+
- verify E2E scenarios for real user flows
|
|
73
|
+
- Pro+ viewport and visual regression evidence
|
|
74
|
+
- plan-aware verdicts for local runs and CI
|
|
75
|
+
|
|
76
|
+
## Verification Tiers
|
|
77
|
+
|
|
78
|
+
| Plan | Question it answers |
|
|
79
|
+
|------|---------------------|
|
|
80
|
+
| Free | Any critical issues right now? |
|
|
81
|
+
| Pro | Ready to show a client? |
|
|
82
|
+
| Pro+ | Ready for production? |
|
|
83
|
+
|
|
84
|
+
## Grades
|
|
85
|
+
|
|
86
|
+
| Grade | Meaning |
|
|
87
|
+
|-------|---------|
|
|
88
|
+
| Gold | Build passed + E2E passed + Lighthouse passed + Pro+ viewport evidence passed |
|
|
89
|
+
| Silver | Build passed + E2E passed |
|
|
90
|
+
| Bronze | Build passed |
|
|
91
|
+
| Unverified | Build failed |
|
|
92
|
+
|
|
93
|
+
## Plan Differences
|
|
94
|
+
|
|
95
|
+
| Feature | Free | Pro | Pro+ |
|
|
96
|
+
|---------|------|-----|------|
|
|
97
|
+
| Build verification | Yes | Yes | Yes |
|
|
98
|
+
| Lighthouse | 1 run | 3 runs | 3 runs |
|
|
99
|
+
| Verify E2E | Smoke checks | Client-facing flow checks | Client-facing flow checks + release evidence |
|
|
100
|
+
| Detailed report view | No | Yes | Yes |
|
|
101
|
+
| `laxy-verify-report.md` export | No | Yes | Yes |
|
|
102
|
+
| Multi-viewport verification | No | No | Yes |
|
|
103
|
+
| Visual diff | No | No | Yes |
|
|
104
|
+
| Failure analysis signals | No | No | Yes |
|
|
105
|
+
|
|
106
|
+
Free tells you whether the app is basically standing.
|
|
107
|
+
Pro tells you whether the app is strong enough to call client-ready.
|
|
108
|
+
Pro+ adds the extra evidence needed for a real release-ready call.
|
|
109
|
+
|
|
110
|
+
## Sample Output
|
|
111
|
+
|
|
112
|
+
```text
|
|
113
|
+
Plan: Pro+
|
|
114
|
+
Grade: Gold
|
|
115
|
+
Verdict: release-ready
|
|
116
|
+
|
|
117
|
+
Passed:
|
|
118
|
+
- production build
|
|
119
|
+
- Lighthouse thresholds
|
|
120
|
+
- core E2E flows
|
|
121
|
+
- desktop, tablet, and mobile viewport checks
|
|
122
|
+
|
|
123
|
+
Artifacts:
|
|
124
|
+
- .laxy-result.json
|
|
125
|
+
- laxy-verify-report.md
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Configuration
|
|
129
|
+
|
|
130
|
+
All fields are optional in `.laxy.yml`.
|
|
131
|
+
|
|
132
|
+
```yaml
|
|
133
|
+
framework: "auto"
|
|
134
|
+
build_command: ""
|
|
135
|
+
dev_command: ""
|
|
136
|
+
package_manager: "auto"
|
|
137
|
+
port: 3000
|
|
138
|
+
build_timeout: 300
|
|
139
|
+
dev_timeout: 60
|
|
140
|
+
lighthouse_runs: 1
|
|
141
|
+
|
|
142
|
+
thresholds:
|
|
143
|
+
performance: 70
|
|
144
|
+
accessibility: 85
|
|
145
|
+
seo: 80
|
|
146
|
+
best_practices: 80
|
|
147
|
+
|
|
148
|
+
fail_on: "bronze"
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Typical cases:
|
|
152
|
+
|
|
153
|
+
- raise `fail_on` to `silver` or `gold` in CI when you want stricter gates
|
|
154
|
+
- set `framework`, `build_command`, or `dev_command` if auto-detection is not enough
|
|
155
|
+
- increase `lighthouse_runs` when you want more stable performance evidence
|
|
156
|
+
|
|
157
|
+
## CLI Options
|
|
158
|
+
|
|
159
|
+
```text
|
|
160
|
+
npx laxy-verify [project-dir]
|
|
161
|
+
|
|
162
|
+
Options:
|
|
163
|
+
--format console|json
|
|
164
|
+
--ci
|
|
165
|
+
--config <path>
|
|
166
|
+
--fail-on unverified|bronze|silver|gold
|
|
167
|
+
--skip-lighthouse
|
|
168
|
+
--plan-override free|pro|pro_plus
|
|
169
|
+
--badge
|
|
170
|
+
--init
|
|
171
|
+
--multi-viewport
|
|
172
|
+
--help
|
|
173
|
+
|
|
174
|
+
Subcommands:
|
|
175
|
+
login [email]
|
|
176
|
+
logout
|
|
177
|
+
whoami
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
`--plan-override` is for downgrade testing only.
|
|
181
|
+
Example: if your account is Pro+, you can run `--plan-override pro` or `--plan-override free` to verify the lower-tier behavior without changing your subscription.
|
|
182
|
+
It will reject upgrades above your real entitlement.
|
|
183
|
+
|
|
184
|
+
## Result Files
|
|
185
|
+
|
|
186
|
+
Each run writes `.laxy-result.json`.
|
|
187
|
+
|
|
188
|
+
Paid plans also write a readable markdown summary to `laxy-verify-report.md`.
|
|
189
|
+
|
|
190
|
+
- `Pro`: client-ready delivery report
|
|
191
|
+
- `Pro+`: release-readiness report with viewport and visual evidence
|
|
192
|
+
|
|
193
|
+
Exit behavior follows the verification verdict, not just the legacy grade.
|
|
194
|
+
|
|
195
|
+
- `build-failed` -> exit 1
|
|
196
|
+
- `hold` -> exit 1
|
|
197
|
+
- `Pro+ investigate` -> exit 1
|
|
198
|
+
- plain lower-tier pass states can still exit 0
|
|
199
|
+
|
|
200
|
+
```json
|
|
201
|
+
{
|
|
202
|
+
"grade": "Gold",
|
|
203
|
+
"timestamp": "2026-04-09T09:00:00Z",
|
|
204
|
+
"build": { "success": true, "durationMs": 12000, "errors": [] },
|
|
205
|
+
"e2e": { "passed": 5, "failed": 0, "total": 5, "results": [] },
|
|
206
|
+
"lighthouse": { "performance": 82, "accessibility": 94, "seo": 90, "bestPractices": 92, "runs": 3 },
|
|
207
|
+
"multiViewport": {
|
|
208
|
+
"allPassed": true,
|
|
209
|
+
"summary": "Desktop, tablet, and mobile checks passed."
|
|
210
|
+
},
|
|
211
|
+
"visualDiff": {
|
|
212
|
+
"verdict": "pass",
|
|
213
|
+
"differencePercentage": 0
|
|
214
|
+
},
|
|
215
|
+
"verification": {
|
|
216
|
+
"tier": "pro_plus",
|
|
217
|
+
"report": { "verdict": "release-ready" }
|
|
218
|
+
},
|
|
219
|
+
"exitCode": 0,
|
|
220
|
+
"_plan": "pro_plus"
|
|
221
|
+
}
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### `laxy-verify-report.md`
|
|
225
|
+
|
|
226
|
+
For Pro and Pro+ runs, the markdown report is designed to be easy to read and easy to paste into an AI coding tool.
|
|
227
|
+
|
|
228
|
+
It includes:
|
|
229
|
+
|
|
230
|
+
- the main decision in plain English
|
|
231
|
+
- what passed
|
|
232
|
+
- blockers and warnings
|
|
233
|
+
- exact verification evidence
|
|
234
|
+
- failed E2E scenarios
|
|
235
|
+
- a `Copy For AI` section you can paste directly into Codex, Cursor, Claude, or ChatGPT
|
|
236
|
+
|
|
237
|
+
## Environment Notes
|
|
238
|
+
|
|
239
|
+
- Best on current LTS Node releases. `Node 20.18+` is recommended.
|
|
240
|
+
- Monorepos should point `laxy-verify` at the actual app directory.
|
|
241
|
+
- `playwright` is optional. The CLI can run without it.
|
|
242
|
+
- Pro+ viewport and visual checks increase runtime.
|
|
243
|
+
|
|
244
|
+
## Regression Fixtures
|
|
245
|
+
|
|
246
|
+
The repo also includes dedicated regression fixtures under `.qa-regression-fixtures/`.
|
|
247
|
+
They intentionally break build, navigation, coverage, performance, viewport behavior, and visual stability so the verifier can be tested against known failure modes.
|
|
248
|
+
|
|
249
|
+
## Limitations
|
|
250
|
+
|
|
251
|
+
- Monorepos require targeting the app subdirectory explicitly.
|
|
252
|
+
- Dev-server-based Lighthouse can differ from production hosting.
|
|
253
|
+
- Pro+ visual diff and viewport checks increase runtime.
|
|
254
|
+
- Local verification is most stable on current LTS Node releases.
|
|
255
|
+
|
|
256
|
+
## Links
|
|
257
|
+
|
|
258
|
+
- GitHub: https://github.com/SUNgm24/Laxy/tree/main/laxy-verify
|
|
259
|
+
- Issues: https://github.com/SUNgm24/Laxy/issues
|
|
260
|
+
|
|
261
|
+
## License
|
|
262
|
+
|
|
263
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "laxy-verify",
|
|
3
|
-
"version": "1.1.
|
|
4
|
-
"description": "Frontend verification CLI for build checks, Lighthouse, E2E, and release readiness",
|
|
5
|
-
"license": "MIT",
|
|
6
|
-
"type": "commonjs",
|
|
7
|
-
"homepage": "https://github.com/
|
|
8
|
-
"repository": {
|
|
9
|
-
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/
|
|
11
|
-
"directory": "laxy-verify"
|
|
12
|
-
},
|
|
13
|
-
"bugs": {
|
|
14
|
-
"url": "https://github.com/
|
|
15
|
-
},
|
|
16
|
-
"keywords": [
|
|
17
|
-
"frontend",
|
|
18
|
-
"verification",
|
|
19
|
-
"quality-gate",
|
|
20
|
-
"release-readiness",
|
|
21
|
-
"lighthouse",
|
|
22
|
-
"e2e",
|
|
23
|
-
"qa",
|
|
24
|
-
"cli",
|
|
25
|
-
"nextjs",
|
|
26
|
-
"vite"
|
|
27
|
-
],
|
|
28
|
-
"engines": {
|
|
29
|
-
"node": ">=20.18.0 <25"
|
|
30
|
-
},
|
|
31
|
-
"bin": {
|
|
32
|
-
"laxy-verify": "dist/cli.js"
|
|
33
|
-
},
|
|
34
|
-
"files": [
|
|
35
|
-
"dist/"
|
|
36
|
-
],
|
|
37
|
-
"scripts": {
|
|
38
|
-
"build": "tsc",
|
|
39
|
-
"start": "node dist/cli.js",
|
|
40
|
-
"test": "vitest run",
|
|
41
|
-
"test:coverage": "vitest run --coverage"
|
|
42
|
-
},
|
|
43
|
-
"dependencies": {
|
|
44
|
-
"@lhci/cli": "^0.14.0",
|
|
45
|
-
"chrome-launcher": "^0.13.4",
|
|
46
|
-
"js-yaml": "^4.1.0",
|
|
47
|
-
"lighthouse": "^12.1.0",
|
|
48
|
-
"pixelmatch": "^7.1.0",
|
|
49
|
-
"pngjs": "^7.0.0",
|
|
50
|
-
"puppeteer": "^24.40.0",
|
|
51
|
-
"tree-kill": "^1.2.2"
|
|
52
|
-
},
|
|
53
|
-
"devDependencies": {
|
|
54
|
-
"@types/js-yaml": "^4.0.9",
|
|
55
|
-
"@types/node": "^20.0.0",
|
|
56
|
-
"typescript": "^5.4.0",
|
|
57
|
-
"vitest": "^2.0.0"
|
|
58
|
-
},
|
|
59
|
-
"peerDependencies": {
|
|
60
|
-
"playwright": "^1.40.0"
|
|
61
|
-
},
|
|
62
|
-
"peerDependenciesMeta": {
|
|
63
|
-
"playwright": {
|
|
64
|
-
"optional": true
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "laxy-verify",
|
|
3
|
+
"version": "1.1.22",
|
|
4
|
+
"description": "Frontend verification CLI for build checks, Lighthouse, E2E, and release readiness",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "commonjs",
|
|
7
|
+
"homepage": "https://github.com/SUNgm24/Laxy/tree/main/laxy-verify#readme",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/SUNgm24/Laxy.git",
|
|
11
|
+
"directory": "laxy-verify"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/SUNgm24/Laxy/issues"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"frontend",
|
|
18
|
+
"verification",
|
|
19
|
+
"quality-gate",
|
|
20
|
+
"release-readiness",
|
|
21
|
+
"lighthouse",
|
|
22
|
+
"e2e",
|
|
23
|
+
"qa",
|
|
24
|
+
"cli",
|
|
25
|
+
"nextjs",
|
|
26
|
+
"vite"
|
|
27
|
+
],
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=20.18.0 <25"
|
|
30
|
+
},
|
|
31
|
+
"bin": {
|
|
32
|
+
"laxy-verify": "dist/cli.js"
|
|
33
|
+
},
|
|
34
|
+
"files": [
|
|
35
|
+
"dist/"
|
|
36
|
+
],
|
|
37
|
+
"scripts": {
|
|
38
|
+
"build": "tsc",
|
|
39
|
+
"start": "node dist/cli.js",
|
|
40
|
+
"test": "vitest run",
|
|
41
|
+
"test:coverage": "vitest run --coverage"
|
|
42
|
+
},
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"@lhci/cli": "^0.14.0",
|
|
45
|
+
"chrome-launcher": "^0.13.4",
|
|
46
|
+
"js-yaml": "^4.1.0",
|
|
47
|
+
"lighthouse": "^12.1.0",
|
|
48
|
+
"pixelmatch": "^7.1.0",
|
|
49
|
+
"pngjs": "^7.0.0",
|
|
50
|
+
"puppeteer": "^24.40.0",
|
|
51
|
+
"tree-kill": "^1.2.2"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@types/js-yaml": "^4.0.9",
|
|
55
|
+
"@types/node": "^20.0.0",
|
|
56
|
+
"typescript": "^5.4.0",
|
|
57
|
+
"vitest": "^2.0.0"
|
|
58
|
+
},
|
|
59
|
+
"peerDependencies": {
|
|
60
|
+
"playwright": "^1.40.0"
|
|
61
|
+
},
|
|
62
|
+
"peerDependenciesMeta": {
|
|
63
|
+
"playwright": {
|
|
64
|
+
"optional": true
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|