tuffgal 0.1.0-alpha.2 → 0.1.0-alpha.3
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 +16 -12
- package/dist/runner/runStory.js +1 -0
- package/dist/runner/runStory.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# Tuffgal
|
|
2
2
|
|
|
3
|
-
](LICENSE)
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
> screenshots become a committable build artifact.
|
|
5
|
+
JSON-driven visual regression testing for web apps.
|
|
7
6
|
|
|
8
7
|
<img src="tuffgal.png" alt="Tuffgal" />
|
|
9
8
|
|
|
10
|
-
**Status:** Pre-
|
|
11
|
-
|
|
9
|
+
**Status:** Pre-1.0. Published on npm as `tuffgal@0.1.0-alpha.3` with
|
|
10
|
+
provenance. [Linklater](https://github.com/nschneble/linklater) is the
|
|
11
|
+
pilot consumer.
|
|
12
12
|
|
|
13
13
|
Public API is unstable until `v1.0.0`.
|
|
14
14
|
|
|
@@ -24,9 +24,9 @@ When a screenshot changes, a human reviews the diff and decides what to do.
|
|
|
24
24
|
|
|
25
25
|
## What ships in v1
|
|
26
26
|
|
|
27
|
-
-
|
|
28
|
-
`navigate`, `read`, `scroll`, `type`, `wait`, `waitFor
|
|
29
|
-
|
|
27
|
+
- 9 step primitives as action verbs: `click`, `input`, `intercept`,
|
|
28
|
+
`navigate`, `read`, `scroll`, `type`, `wait`, `waitFor`
|
|
29
|
+
- An implicit screenshot at the end of every action
|
|
30
30
|
- DAG scheduler with `needs`/`produces` labels and parallel workers
|
|
31
31
|
- SSIM-gated visual diff + pixelmatch overlay + a11y-tree snapshots
|
|
32
32
|
- Trace zip on failure (Playwright trace viewer)
|
|
@@ -45,14 +45,18 @@ When a screenshot changes, a human reviews the diff and decides what to do.
|
|
|
45
45
|
- WebDriver / Puppeteer substrate
|
|
46
46
|
- Supporting browsers other than Chromium
|
|
47
47
|
|
|
48
|
-
## Quick start
|
|
48
|
+
## Quick start
|
|
49
49
|
|
|
50
50
|
```bash
|
|
51
|
-
npm install -D tuffgal
|
|
51
|
+
npm install -D tuffgal@alpha
|
|
52
52
|
npx tuffgal init # scaffolds tuffgal.config.ts
|
|
53
53
|
npx tuffgal run # runs all stories
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
+
For CI on GitHub Actions, use the companion
|
|
57
|
+
[`nschneble/tuffgal-action`](https://github.com/nschneble/tuffgal-action)
|
|
58
|
+
composite action.
|
|
59
|
+
|
|
56
60
|
## Documentation
|
|
57
61
|
|
|
58
62
|
- [App contract](docs/app-contract.md)
|
|
@@ -76,8 +80,8 @@ MIT. See [LICENSE](LICENSE).
|
|
|
76
80
|
| Core extraction | ✅ |
|
|
77
81
|
| Bridges | ✅ |
|
|
78
82
|
| Linklater migration | ✅ |
|
|
79
|
-
| GitHub Action |
|
|
80
|
-
| `v0.1.0-alpha` npm publish |
|
|
83
|
+
| GitHub Action | ✅ |
|
|
84
|
+
| `v0.1.0-alpha` npm publish | ✅ |
|
|
81
85
|
| `v1.0.0` public launch | ⏳ |
|
|
82
86
|
| `v1.1.0` AI fuzzy matching | Deferred |
|
|
83
87
|
|
package/dist/runner/runStory.js
CHANGED
|
@@ -33,6 +33,7 @@ async function runStoryWithBrowser(browser, options, startedAt) {
|
|
|
33
33
|
viewport: config.viewport,
|
|
34
34
|
storageState: storageStatePath,
|
|
35
35
|
ignoreHTTPSErrors: true,
|
|
36
|
+
permissions: ['clipboard-read', 'clipboard-write'],
|
|
36
37
|
});
|
|
37
38
|
context.setDefaultTimeout(config.defaultTimeoutMs);
|
|
38
39
|
await context.tracing.start({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runStory.js","sourceRoot":"","sources":["../../src/runner/runStory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAqC,MAAM,YAAY,CAAC;AASzE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAa3C,MAAM,YAAY,GAAG,QAAQ,CAAC;AAE9B;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACrD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACnD,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,OAAO,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAAgB,EAChB,OAAwB,EACxB,SAAe;IAEf,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC5E,MAAM,gBAAgB,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;QACvC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,gBAAgB;QAC9B,iBAAiB,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"runStory.js","sourceRoot":"","sources":["../../src/runner/runStory.ts"],"names":[],"mappings":"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"}
|