@poleski/quality-tools 0.2.0 → 0.2.1
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/CHANGELOG.md +6 -0
- package/README.md +37 -3
- package/dist/cli/main.js +707 -166
- package/dist/cli/templates/playwright-acceptance-runtime.ts.template +170 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ pnpm add -D link:/absolute/path/to/quality-tools
|
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
26
|
pnpm exec quality-tools organize .
|
|
27
|
-
pnpm exec quality-tools acceptance compile
|
|
27
|
+
pnpm exec quality-tools acceptance compile "tests/acceptance/specs/**/*.feature" "tests/playwright/generated" --steps "tests/acceptance/steps.ts" --ir "build/acceptance/ir" --dry "build/acceptance/dry"
|
|
28
28
|
pnpm exec quality-tools boundaries . --strict
|
|
29
29
|
pnpm exec quality-tools reachability . --strict
|
|
30
30
|
pnpm exec quality-tools scrap ./tests
|
|
@@ -40,6 +40,40 @@ hardcoded folder names. The starter config uses `src` as a conventional default,
|
|
|
40
40
|
but the tools scope from the target path plus your configured include/exclude
|
|
41
41
|
globs.
|
|
42
42
|
|
|
43
|
+
## Acceptance
|
|
44
|
+
|
|
45
|
+
The acceptance tool follows a small parser -> IR -> DRY check -> entrypoint
|
|
46
|
+
generator pipeline:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
pnpm exec quality-tools acceptance parse features/example.feature build/acceptance/ir/example.json
|
|
50
|
+
pnpm exec quality-tools acceptance dry-check build/acceptance/ir/example.json build/acceptance/dry/example.json
|
|
51
|
+
pnpm exec quality-tools acceptance generate build/acceptance/ir/example.json acceptance/generated/example.spec.ts --steps acceptance/steps.ts
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
For host projects with many specs, `compile` loops the same pipeline over a
|
|
55
|
+
glob, writes one JSON IR file per source spec, optionally writes advisory DRY
|
|
56
|
+
reports, and creates thin Playwright entrypoints that load the IR at runtime:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
pnpm exec quality-tools acceptance compile "tests/acceptance/specs/**/*.feature" "tests/playwright/generated" --steps "tests/acceptance/steps.ts" --ir "build/acceptance/ir" --dry "build/acceptance/dry"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
The generated Playwright files delegate all behavior to the host step registry.
|
|
63
|
+
DRY reports are advisory; they do not rewrite the source specs, IR, generated
|
|
64
|
+
tests, or host bindings.
|
|
65
|
+
|
|
66
|
+
The checker treats exact duplicate assertions as actionable only when no setup
|
|
67
|
+
or action step occurs between the repeated assertions. This keeps restoration
|
|
68
|
+
checks such as toggling a graph-scope filter off and back on out of the major
|
|
69
|
+
cleanup path while still flagging accidental duplicate lines.
|
|
70
|
+
|
|
71
|
+
Scenario Outline examples may include a `case`, `name`, `title`, or `example`
|
|
72
|
+
column to control the generated Playwright case suffix. Prefer `case` as the
|
|
73
|
+
first column when the remaining example values are detailed test data; this
|
|
74
|
+
keeps generated test names readable while preserving the full row in the runtime
|
|
75
|
+
example payload.
|
|
76
|
+
|
|
43
77
|
## Reports
|
|
44
78
|
|
|
45
79
|
All quality-tool artifacts use one report root:
|
|
@@ -245,14 +279,14 @@ root, then falls back to the bundled base config.
|
|
|
245
279
|
## Other Tools
|
|
246
280
|
|
|
247
281
|
```bash
|
|
248
|
-
pnpm exec quality-tools acceptance compile
|
|
282
|
+
pnpm exec quality-tools acceptance compile "tests/acceptance/specs/**/*.feature" "tests/playwright/generated" --steps "tests/acceptance/steps.ts" --ir "build/acceptance/ir" --dry "build/acceptance/dry"
|
|
249
283
|
pnpm exec quality-tools organize ./src
|
|
250
284
|
pnpm exec quality-tools boundaries parser --strict
|
|
251
285
|
pnpm exec quality-tools reachability parser --strict
|
|
252
286
|
pnpm exec quality-tools scrap ./tests --strict
|
|
253
287
|
```
|
|
254
288
|
|
|
255
|
-
- `acceptance` compiles human-authored Gherkin
|
|
289
|
+
- `acceptance` compiles human-authored Gherkin `.feature` specs into
|
|
256
290
|
executable Playwright specs that import host-owned step bindings.
|
|
257
291
|
- `organize` checks directory size, depth, naming, barrels, and cohesion. Use
|
|
258
292
|
`--write-baseline` and `--compare <path>` for baseline workflows.
|