demowalk 1.0.0 → 1.0.2
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 +21 -8
- package/package.json +3 -2
- package/scripts/init.mjs +3 -2
package/README.md
CHANGED
|
@@ -63,7 +63,7 @@ The engine, starter templates and setup CLI live in this package; journeys
|
|
|
63
63
|
|
|
64
64
|
| Required | Why |
|
|
65
65
|
|---|---|
|
|
66
|
-
| Node 18+
|
|
66
|
+
| Node 18+ | runs the pipeline (demowalk ships its own `tsx` runner) |
|
|
67
67
|
| `@playwright/test` + Chromium | the capture engine (peer dependency) |
|
|
68
68
|
| ffmpeg on the machine | narration conversion + stitching |
|
|
69
69
|
| **macOS** (for now) | narration uses the built-in `say`; download a natural voice once via System Settings → Accessibility → Spoken Content → Manage Voices (e.g. "Tom (Enhanced)") |
|
|
@@ -76,15 +76,12 @@ journeys easier to author or redaction richer when present.
|
|
|
76
76
|
## Quick start
|
|
77
77
|
|
|
78
78
|
```bash
|
|
79
|
-
# 0. ffmpeg (once per machine — check first: `ffmpeg -version`)
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
&& sudo mv /tmp/ffmpeg /usr/local/bin/ffmpeg \
|
|
84
|
-
&& sudo xattr -d com.apple.quarantine /usr/local/bin/ffmpeg 2>/dev/null; ffmpeg -version
|
|
79
|
+
# 0. ffmpeg (once per machine — check first: `ffmpeg -version`):
|
|
80
|
+
brew install ffmpeg
|
|
81
|
+
# (no Homebrew, or brew starts compiling from source? see
|
|
82
|
+
# "ffmpeg without Homebrew" at the end of this README)
|
|
85
83
|
|
|
86
84
|
# 1. in your app's repo:
|
|
87
|
-
npm install --save-dev tsx
|
|
88
85
|
npm install --save-dev demowalk
|
|
89
86
|
# (straight from GitHub instead: npm i -D demowalk@github:360solutions-dev/demowalk
|
|
90
87
|
# from a local clone: npm i -D --install-links file:../demowalk
|
|
@@ -195,6 +192,22 @@ The full frame-styling contract lives in
|
|
|
195
192
|
In a host repo: `npm run demo:update` (set up by `demowalk-init`). Journeys
|
|
196
193
|
and config stay untouched; only the engine updates.
|
|
197
194
|
|
|
195
|
+
## ffmpeg without Homebrew
|
|
196
|
+
|
|
197
|
+
If you don't use Homebrew — or `brew install ffmpeg` starts compiling from
|
|
198
|
+
source (it does on machines with outdated Command Line Tools) — the static
|
|
199
|
+
build installs in about two minutes:
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
curl -L "https://evermeet.cx/ffmpeg/getrelease/ffmpeg/zip" -o /tmp/ffmpeg.zip \
|
|
203
|
+
&& unzip -o /tmp/ffmpeg.zip -d /tmp \
|
|
204
|
+
&& sudo mv /tmp/ffmpeg /usr/local/bin/ffmpeg \
|
|
205
|
+
&& sudo xattr -d com.apple.quarantine /usr/local/bin/ffmpeg 2>/dev/null; ffmpeg -version
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
(The `xattr` line clears macOS's quarantine flag on the downloaded binary so
|
|
209
|
+
it can run.)
|
|
210
|
+
|
|
198
211
|
## Contributing
|
|
199
212
|
|
|
200
213
|
PRs welcome — see [CONTRIBUTING.md](./CONTRIBUTING.md) for setup, code
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "demowalk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Self-regenerating product demo videos: Playwright walks your live app, every frame is branded and redacted, narration is voiced, ffmpeg stitches the MP4. One command, always up to date.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"demo",
|
|
@@ -49,7 +49,8 @@
|
|
|
49
49
|
"@playwright/test": ">=1.40.0"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"sharp": "^0.35.5"
|
|
52
|
+
"sharp": "^0.35.5",
|
|
53
|
+
"tsx": "^4.19.0"
|
|
53
54
|
},
|
|
54
55
|
"devDependencies": {
|
|
55
56
|
"@playwright/test": "^1.49.0",
|
package/scripts/init.mjs
CHANGED
|
@@ -39,8 +39,9 @@ pkg.scripts["demo:update"] = spec.startsWith("file:")
|
|
|
39
39
|
fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + "\n");
|
|
40
40
|
console.log("✓ scripts: demo:video, demo:update");
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
// tsx ships as a demowalk dependency, so its bin is normally already linked.
|
|
43
|
+
if (!fs.existsSync(path.join(hostRoot, "node_modules", ".bin", "tsx"))) {
|
|
44
|
+
console.log("⚠ tsx bin not found — run `npm install` (it comes with demowalk)");
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
// 1.5 AUTO-WIRE demo.config.ts when the host follows the common e2e
|