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 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+ and `tsx` | runs the pipeline |
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
- # The 2-minute static build beats compiling via brew:
81
- curl -L "https://evermeet.cx/ffmpeg/getrelease/ffmpeg/zip" -o /tmp/ffmpeg.zip \
82
- && unzip -o /tmp/ffmpeg.zip -d /tmp \
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.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
- if (!pkg.devDependencies?.tsx && !pkg.dependencies?.tsx) {
43
- console.log("⚠ tsx is not installed — run: npm install --save-dev tsx");
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