@juangadm/pre-post 0.2.0 → 0.3.0

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
@@ -10,7 +10,7 @@ Visual diff tool that captures pre/post screenshots for PRs. Use it as a Claude
10
10
  |------|-----------------|----------|
11
11
  | Browser engine | `agent-browser` (Vercel-proprietary) | **Playwright** (direct dependency) |
12
12
  | Screenshot quality | 1x | **2x retina** (`deviceScaleFactor: 2`) |
13
- | Route detection | Manual | **Automatic** from `git diff` (Next.js App/Pages Router, Remix, SvelteKit) |
13
+ | Route detection | Manual | **Automatic** from `git diff` (Next.js App/Pages Router, generic fallback) |
14
14
  | Responsive capture | Single viewport | **Desktop + mobile** per route (`--responsive`) |
15
15
  | CLI subcommands | URL pairs only | `detect`, `compare`, `run` subcommands |
16
16
  | Skill orchestration | Basic capture | Full workflow: route detection, Claude refinement, user approval, PR posting |
@@ -23,41 +23,55 @@ flowchart TD
23
23
  A[pre-post] --> B{Mode?}
24
24
 
25
25
  B -->|Manual| C["pre-post url1 url2"]
26
- B -->|Automatic| D["pre-post run"]
26
+ B -->|Subcommand| D{"detect | compare | run"}
27
27
  B -->|Claude Code Skill| E["/pre-post"]
28
28
 
29
- D --> F["git diff --name-only"]
29
+ D -->|detect| F["Git: diff, staged, unstaged, untracked"]
30
+ D -->|compare| J
31
+ D -->|run| F
32
+
30
33
  F --> G{Detect framework}
31
34
  G -->|Next.js App Router| H[Map files → routes]
32
35
  G -->|Next.js Pages Router| H
33
- G -->|Remix / SvelteKit| H
34
- G -->|Unknown| I["Default to /"]
35
- H --> J[Route list with confidence]
36
-
37
- E --> F
38
- E --> K[Claude refines routes]
39
- K --> J
36
+ G -->|Generic| H
37
+ H --> I{Routes found?}
38
+ I -->|Yes| J[Route list with confidence]
39
+ I -->|No| J2["Default to /"]
40
+ J2 --> J
41
+
42
+ E --> E1[Pre-flight checks]
43
+ E1 --> F
44
+ E1 --> K[Claude refines routes]
45
+ K --> K1[User approves routes]
46
+ K1 --> J
40
47
 
41
48
  C --> L[Playwright]
42
49
  J --> L
43
50
 
44
- L --> M{System Chrome?}
45
- M -->|Found| N[Use system Chrome]
46
- M -->|Not found| O[Use bundled Chromium]
47
- N --> P[Capture screenshots]
48
- O --> P
51
+ L --> M{Launch Chromium}
52
+ M -->|"PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH"| M1[Custom path — fail hard if invalid]
53
+ M -->|Auto-detect| M2[System Chrome → Bundled → Cached]
54
+ M1 --> P[Navigate + wait for network idle]
55
+ M2 --> P
49
56
 
50
- P --> Q[Disable animations]
51
- Q --> R[Wait for fonts]
57
+ P --> Q[Disable CSS animations]
58
+ Q --> R[Wait for document.fonts.ready]
52
59
  R --> S[Take 2x retina screenshot]
53
60
 
54
- S --> T{Output}
55
- T -->|Default| U["Save to ~/Downloads"]
56
- T -->|--markdown| V{Upload}
57
- V -->|Default| W["Commit to .pre-post/ (blob+SHA URL)"]
58
- V -->|--upload-url| Y["Custom storage"]
59
- W --> Z[Markdown table for PR]
60
- Y --> Z
61
+ S --> T[Save to ~/Downloads]
62
+ T --> T1{--markdown?}
63
+ T1 -->|No| U[Done]
64
+ T1 -->|Yes| V{Upload method}
65
+ V -->|Default| W["git-native: commit to .pre-post/"]
66
+ V -->|--upload-url| Y["HTTP: 0x0.st / Vercel Blob / PUT"]
67
+ W --> X[Build blob+SHA URL]
68
+ Y --> X
69
+ X --> Z[Markdown table]
70
+
71
+ Z --> Z1{Skill mode?}
72
+ Z1 -->|Yes| Z2[User approves screenshots]
73
+ Z2 --> Z3["gh pr edit — append to PR body"]
74
+ Z1 -->|No| Z4[Copy to clipboard]
61
75
 
62
76
  style A fill:#4f46e5,color:#fff
63
77
  style L fill:#2563eb,color:#fff
@@ -231,20 +245,24 @@ Pre-post automatically maps `git diff --name-only` to affected UI routes:
231
245
  Supports:
232
246
  - **Next.js App Router** (route groups, dynamic segments, parallel routes, catch-all)
233
247
  - **Next.js Pages Router** (`pages/`, `_app.tsx`, `_document.tsx`)
234
- - **Remix** (`routes/` directory)
235
- - **SvelteKit** (`src/routes/+page.svelte`)
236
248
  - **Generic fallback** (defaults to `/`)
237
249
 
238
250
  ## Add Skill
239
251
 
240
- Install as a Claude Code skill:
252
+ Install as an agent skill using the [`skills` CLI](https://github.com/vercel-labs/skills):
241
253
 
242
254
  ```bash
243
- npx skills add juangadm/pre-post
255
+ npx skills add juangadm/pre-post # interactive — pick your agent(s)
256
+ npx skills add juangadm/pre-post -y # auto-install to all universal agents
257
+ npx skills add juangadm/pre-post -y -g # install globally (all projects)
244
258
  ```
245
259
 
260
+ This copies `skill/SKILL.md` into the appropriate directory for your agent (e.g., `.claude/skills/` for Claude Code, `.agents/skills/` for Amp/Codex/Gemini CLI, etc.).
261
+
246
262
  The skill uses `gh` to detect the associated PR and Playwright for screenshots.
247
263
 
264
+ > **Note:** The npm package (`@juangadm/pre-post`) is published on [npmjs.com](https://www.npmjs.com/package/@juangadm/pre-post), not GitHub Packages — so the "Packages" section on the GitHub repo page will show none.
265
+
248
266
  ## Credits
249
267
 
250
268
  - Original [before-and-after](https://github.com/vercel-labs/before-and-after) by [James Clements](https://github.com/jamesclement) at [Vercel Labs](https://github.com/vercel-labs)
package/dist/bin/cli.js CHANGED
@@ -6,9 +6,11 @@ import { BeforeAndAfter, generateFilename } from '../index.js';
6
6
  import { VIEWPORT_PRESETS } from '../types.js';
7
7
  import { closeBrowser } from '../browser.js';
8
8
  import { captureScreenshot } from '../capture.js';
9
+ import { captureVideo } from '../video.js';
9
10
  import { uploadBeforeAfter } from '../upload.js';
10
11
  import { copyToClipboard } from '../clipboard.js';
11
12
  import { detectRoutes, getChangedFiles, detectFramework } from '../routes.js';
13
+ import { resolveViewport } from '../viewport.js';
12
14
  // Determine subcommand
13
15
  const subcommand = process.argv[2];
14
16
  const isSubcommand = ['detect', 'compare', 'run'].includes(subcommand);
@@ -38,6 +40,11 @@ const { values, positionals } = parseArgs({
38
40
  framework: { type: 'string' },
39
41
  'before-base': { type: 'string' },
40
42
  'after-base': { type: 'string' },
43
+ // Video/GIF options
44
+ video: { type: 'boolean' },
45
+ duration: { type: 'string' },
46
+ fps: { type: 'string' },
47
+ delay: { type: 'string' },
41
48
  },
42
49
  });
43
50
  function printHelp() {
@@ -78,6 +85,12 @@ COMPARE OPTIONS:
78
85
  --before-base <url> Base URL for "before" state (production)
79
86
  --after-base <url> Base URL for "after" state (localhost)
80
87
 
88
+ VIDEO OPTIONS:
89
+ --video Capture animated GIF instead of static screenshot
90
+ --duration <seconds> Recording duration (default: 3, max: 10)
91
+ --fps <n> Target frames per second (default: 5, max: 10)
92
+ --delay <ms> Wait after page load before recording (default: 0)
93
+
81
94
  OUTPUT OPTIONS:
82
95
  -o, --output <dir> Output directory (default: ~/Downloads)
83
96
  --markdown Upload images & output markdown table
@@ -105,6 +118,13 @@ EXAMPLES:
105
118
  # Responsive capture (desktop + mobile)
106
119
  pre-post compare --before-base url1 --after-base url2 --responsive
107
120
 
121
+ # Capture animated GIFs instead of static screenshots
122
+ pre-post google.com facebook.com --video
123
+ pre-post google.com facebook.com --video --duration 5 --fps 8
124
+
125
+ # GIF capture with compare mode
126
+ pre-post compare --before-base url1 --after-base url2 --video --delay 500
127
+
108
128
  # Use existing images (auto-detected)
109
129
  pre-post before.png after.png --markdown
110
130
  `);
@@ -123,6 +143,58 @@ function normalizeUrl(url) {
123
143
  }
124
144
  return `https://${url}`;
125
145
  }
146
+ function parseStrictNumber(value, flag) {
147
+ if (!/^-?\d+(?:\.\d+)?$/.test(value.trim())) {
148
+ console.error(`Invalid value for ${flag}: ${value}. Expected a number.`);
149
+ process.exit(1);
150
+ }
151
+ const parsed = Number(value);
152
+ if (!Number.isFinite(parsed)) {
153
+ console.error(`Invalid value for ${flag}: ${value}. Expected a finite number.`);
154
+ process.exit(1);
155
+ }
156
+ return parsed;
157
+ }
158
+ function parseStrictInteger(value, flag) {
159
+ if (!/^-?\d+$/.test(value.trim())) {
160
+ console.error(`Invalid value for ${flag}: ${value}. Expected an integer.`);
161
+ process.exit(1);
162
+ }
163
+ const parsed = Number(value);
164
+ if (!Number.isSafeInteger(parsed)) {
165
+ console.error(`Invalid value for ${flag}: ${value}. Expected a safe integer.`);
166
+ process.exit(1);
167
+ }
168
+ return parsed;
169
+ }
170
+ /**
171
+ * Validate --video flag combinations and parse video-related options.
172
+ * Returns parsed options if --video is set, undefined otherwise.
173
+ */
174
+ function validateVideoFlags() {
175
+ if (!values.video)
176
+ return undefined;
177
+ if (values.full) {
178
+ console.error('--full (fullPage) is not supported with --video');
179
+ process.exit(1);
180
+ }
181
+ const duration = values.duration ? parseStrictNumber(values.duration, '--duration') : undefined;
182
+ if (duration !== undefined && (duration <= 0 || duration > 10)) {
183
+ console.error('Duration must be between 0.1 and 10 seconds');
184
+ process.exit(1);
185
+ }
186
+ const fps = values.fps ? parseStrictInteger(values.fps, '--fps') : undefined;
187
+ if (fps !== undefined && (fps < 1 || fps > 10)) {
188
+ console.error('FPS must be between 1 and 10');
189
+ process.exit(1);
190
+ }
191
+ const delay = values.delay ? parseStrictInteger(values.delay, '--delay') : undefined;
192
+ if (delay !== undefined && delay < 0) {
193
+ console.error('Delay must be a non-negative integer in milliseconds');
194
+ process.exit(1);
195
+ }
196
+ return { duration, fps, delay };
197
+ }
126
198
  function resolveViewportFlag() {
127
199
  if (values.mobile)
128
200
  return 'mobile';
@@ -160,63 +232,80 @@ async function runDetect() {
160
232
  // ============================================================
161
233
  // Subcommand: compare
162
234
  // ============================================================
163
- async function runCompare() {
235
+ async function runCompare(routeOverrides, videoOpts) {
164
236
  const beforeBase = values['before-base'];
165
237
  const afterBase = values['after-base'];
166
238
  if (!beforeBase || !afterBase) {
167
239
  console.error('Both --before-base and --after-base are required for compare.');
168
240
  process.exit(1);
169
241
  }
170
- const routeList = values.routes
171
- ? values.routes.split(',').map(r => r.trim())
172
- : ['/'];
242
+ const routeList = routeOverrides
243
+ ?? (values.routes ? values.routes.split(',').map(r => r.trim()) : ['/']);
173
244
  const responsive = values.responsive ?? false;
174
- const viewport = resolveViewportFlag();
245
+ const isVideo = values.video ?? false;
246
+ const ext = isVideo ? 'gif' : 'png';
247
+ const captureType = isVideo ? 'GIF' : 'screenshot';
175
248
  const outputDir = values.output || path.join(process.env.HOME || '~', 'Downloads');
176
249
  fs.mkdirSync(outputDir, { recursive: true });
177
250
  const timestamp = new Date();
251
+ const viewports = responsive
252
+ ? ['desktop', 'mobile'].map(p => ({ label: p, size: VIEWPORT_PRESETS[p] }))
253
+ : [{ size: resolveViewport(resolveViewportFlag()) }];
254
+ const tasks = [];
255
+ for (const route of routeList) {
256
+ const beforeUrl = normalizeUrl(beforeBase.replace(/\/$/, '') + route);
257
+ const afterUrl = normalizeUrl(afterBase.replace(/\/$/, '') + route);
258
+ const routeSlug = route === '/' ? 'home' : route.replace(/^\//, '').replace(/\//g, '-');
259
+ for (const { label: presetLabel, size: vp } of viewports) {
260
+ const filePrefix = presetLabel ? `${routeSlug}-${presetLabel}` : routeSlug;
261
+ tasks.push({
262
+ route,
263
+ presetLabel,
264
+ vp,
265
+ beforeUrl,
266
+ afterUrl,
267
+ beforeFilename: `${filePrefix}-before-${formatTimestamp(timestamp)}.${ext}`,
268
+ afterFilename: `${filePrefix}-after-${formatTimestamp(timestamp)}.${ext}`,
269
+ });
270
+ }
271
+ }
272
+ const totalCaptures = tasks.length * 2;
273
+ console.log(`Capturing ${totalCaptures} ${captureType}s across ${routeList.length} route(s)...`);
178
274
  try {
179
- for (const route of routeList) {
180
- const beforeUrl = normalizeUrl(beforeBase.replace(/\/$/, '') + route);
181
- const afterUrl = normalizeUrl(afterBase.replace(/\/$/, '') + route);
182
- if (responsive) {
183
- // Capture desktop + mobile for each route
184
- for (const preset of ['desktop', 'mobile']) {
185
- const vp = VIEWPORT_PRESETS[preset];
186
- console.log(`Capturing ${route} @ ${preset} (${vp.width}x${vp.height})...`);
187
- const beforeResult = await captureScreenshot({
188
- url: beforeUrl,
189
- viewport: preset,
190
- fullPage: values.full,
191
- selector: values.selector,
192
- });
193
- const afterResult = await captureScreenshot({
194
- url: afterUrl,
195
- viewport: preset,
196
- fullPage: values.full,
197
- selector: values.selector,
198
- });
199
- const routeSlug = route === '/' ? 'home' : route.replace(/^\//, '').replace(/\//g, '-');
200
- const beforeFilename = `${routeSlug}-${preset}-before-${formatTimestamp(timestamp)}.png`;
201
- const afterFilename = `${routeSlug}-${preset}-after-${formatTimestamp(timestamp)}.png`;
202
- fs.writeFileSync(path.join(outputDir, beforeFilename), beforeResult.image);
203
- fs.writeFileSync(path.join(outputDir, afterFilename), afterResult.image);
204
- console.log(` Saved: ${beforeFilename}, ${afterFilename}`);
205
- }
275
+ // Execute all tasks in parallel (pool limits concurrency)
276
+ const results = await Promise.allSettled(tasks.map(async (task) => {
277
+ if (isVideo) {
278
+ const opts = { viewport: task.vp, ...videoOpts, selector: values.selector };
279
+ const [beforeResult, afterResult] = await Promise.all([
280
+ captureVideo(task.beforeUrl, opts),
281
+ captureVideo(task.afterUrl, opts),
282
+ ]);
283
+ fs.writeFileSync(path.join(outputDir, task.beforeFilename), beforeResult.gif);
284
+ fs.writeFileSync(path.join(outputDir, task.afterFilename), afterResult.gif);
285
+ console.log(` Done: ${task.route}${task.presetLabel ? ` @ ${task.presetLabel}` : ''} (${beforeResult.frameCount}f + ${afterResult.frameCount}f)`);
206
286
  }
207
287
  else {
208
- console.log(`Capturing ${route}...`);
209
- const beforeResult = await captureScreenshot({ url: beforeUrl, viewport, fullPage: values.full });
210
- const afterResult = await captureScreenshot({ url: afterUrl, viewport, fullPage: values.full });
211
- const routeSlug = route === '/' ? 'home' : route.replace(/^\//, '').replace(/\//g, '-');
212
- const beforeFilename = `${routeSlug}-before-${formatTimestamp(timestamp)}.png`;
213
- const afterFilename = `${routeSlug}-after-${formatTimestamp(timestamp)}.png`;
214
- fs.writeFileSync(path.join(outputDir, beforeFilename), beforeResult.image);
215
- fs.writeFileSync(path.join(outputDir, afterFilename), afterResult.image);
216
- console.log(` Saved: ${beforeFilename}, ${afterFilename}`);
288
+ const [beforeResult, afterResult] = await Promise.all([
289
+ captureScreenshot({
290
+ url: task.beforeUrl, viewport: task.vp, fullPage: values.full, selector: values.selector,
291
+ }),
292
+ captureScreenshot({
293
+ url: task.afterUrl, viewport: task.vp, fullPage: values.full, selector: values.selector,
294
+ }),
295
+ ]);
296
+ fs.writeFileSync(path.join(outputDir, task.beforeFilename), beforeResult.image);
297
+ fs.writeFileSync(path.join(outputDir, task.afterFilename), afterResult.image);
298
+ console.log(` Done: ${task.route}${task.presetLabel ? ` @ ${task.presetLabel}` : ''}`);
217
299
  }
300
+ }));
301
+ const failures = results.filter((r) => r.status === 'rejected');
302
+ if (failures.length > 0) {
303
+ for (const f of failures)
304
+ console.error(` Failed: ${f.reason}`);
305
+ if (failures.length === results.length)
306
+ throw new Error('All captures failed');
218
307
  }
219
- console.log(`\nAll screenshots saved to: ${outputDir}`);
308
+ console.log(`\nAll ${captureType}s saved to: ${outputDir}`);
220
309
  }
221
310
  finally {
222
311
  await closeBrowser();
@@ -225,14 +314,13 @@ async function runCompare() {
225
314
  // ============================================================
226
315
  // Subcommand: run (detect + compare)
227
316
  // ============================================================
228
- async function runFull() {
317
+ async function runFull(videoOpts) {
229
318
  const beforeBase = values['before-base'];
230
319
  const afterBase = values['after-base'];
231
320
  if (!beforeBase || !afterBase) {
232
321
  console.error('Both --before-base and --after-base are required for run.');
233
322
  process.exit(1);
234
323
  }
235
- // Detect routes
236
324
  const framework = values.framework;
237
325
  const maxRoutes = values['max-routes'] ? parseInt(values['max-routes']) : undefined;
238
326
  const changedFiles = getChangedFiles();
@@ -255,14 +343,12 @@ async function runFull() {
255
343
  console.log('No changed files detected. Defaulting to /');
256
344
  routeList = ['/'];
257
345
  }
258
- // Override routes in values for compare to pick up
259
- values.routes = routeList.join(',');
260
- await runCompare();
346
+ await runCompare(routeList, videoOpts);
261
347
  }
262
348
  // ============================================================
263
349
  // Default mode (original before-and-after behavior)
264
350
  // ============================================================
265
- async function runDefault() {
351
+ async function runDefault(videoOpts) {
266
352
  if (values.help) {
267
353
  printHelp();
268
354
  return;
@@ -305,40 +391,59 @@ async function runDefault() {
305
391
  }
306
392
  const outputDir = values.output || path.join(process.env.HOME || '~', 'Downloads');
307
393
  fs.mkdirSync(outputDir, { recursive: true });
308
- console.log(`Capturing before: ${beforeUrl}${beforeSelector ? ` (${beforeSelector})` : ''}`);
309
- console.log(`Capturing after: ${afterUrl}${afterSelector ? ` (${afterSelector})` : ''}`);
310
- const result = await ba.captureBeforeAfter({
311
- before: {
312
- url: beforeUrl,
394
+ const isVideo = values.video ?? false;
395
+ const captureType = isVideo ? 'GIF' : 'screenshot';
396
+ console.log(`Capturing ${captureType} before: ${beforeUrl}${beforeSelector ? ` (${beforeSelector})` : ''}`);
397
+ console.log(`Capturing ${captureType} after: ${afterUrl}${afterSelector ? ` (${afterSelector})` : ''}`);
398
+ if (isVideo) {
399
+ // Video/GIF mode
400
+ const resolvedViewport = resolveViewport(viewport);
401
+ const opts = {
402
+ viewport: resolvedViewport,
403
+ ...videoOpts,
313
404
  selector: beforeSelector,
314
- fullPage: values.full,
315
- },
316
- after: {
317
- url: afterUrl,
318
- selector: afterSelector,
319
- fullPage: values.full,
320
- },
321
- });
322
- // Generate filenames
323
- const timestamp = new Date();
324
- const beforeFilename = generateFilename({
325
- url: beforeUrl,
326
- suffix: 'before',
327
- timestamp,
328
- });
329
- const afterFilename = generateFilename({
330
- url: afterUrl,
331
- suffix: 'after',
332
- timestamp,
333
- });
334
- const beforePath = path.join(outputDir, beforeFilename);
335
- const afterPath = path.join(outputDir, afterFilename);
336
- fs.writeFileSync(beforePath, result.before.image);
337
- fs.writeFileSync(afterPath, result.after.image);
338
- console.log(`\nSaved: ${beforePath}`);
339
- console.log(`Saved: ${afterPath}`);
340
- if (values.markdown) {
341
- await uploadAndOutputMarkdown(result.before.image, result.after.image, beforeFilename, afterFilename);
405
+ };
406
+ const beforeResult = await captureVideo(beforeUrl, opts);
407
+ const afterResult = await captureVideo(afterUrl, { ...opts, selector: afterSelector });
408
+ const timestamp = new Date();
409
+ const beforeFilename = generateFilename({ url: beforeUrl, suffix: 'before', timestamp, format: 'gif' });
410
+ const afterFilename = generateFilename({ url: afterUrl, suffix: 'after', timestamp, format: 'gif' });
411
+ const beforePath = path.join(outputDir, beforeFilename);
412
+ const afterPath = path.join(outputDir, afterFilename);
413
+ fs.writeFileSync(beforePath, beforeResult.gif);
414
+ fs.writeFileSync(afterPath, afterResult.gif);
415
+ console.log(`\nSaved: ${beforePath} (${beforeResult.frameCount} frames)`);
416
+ console.log(`Saved: ${afterPath} (${afterResult.frameCount} frames)`);
417
+ if (values.markdown) {
418
+ await uploadAndOutputMarkdown(beforeResult.gif, afterResult.gif, beforeFilename, afterFilename);
419
+ }
420
+ }
421
+ else {
422
+ // Static screenshot mode
423
+ const result = await ba.captureBeforeAfter({
424
+ before: {
425
+ url: beforeUrl,
426
+ selector: beforeSelector,
427
+ fullPage: values.full,
428
+ },
429
+ after: {
430
+ url: afterUrl,
431
+ selector: afterSelector,
432
+ fullPage: values.full,
433
+ },
434
+ });
435
+ const timestamp = new Date();
436
+ const beforeFilename = generateFilename({ url: beforeUrl, suffix: 'before', timestamp });
437
+ const afterFilename = generateFilename({ url: afterUrl, suffix: 'after', timestamp });
438
+ const beforePath = path.join(outputDir, beforeFilename);
439
+ const afterPath = path.join(outputDir, afterFilename);
440
+ fs.writeFileSync(beforePath, result.before.image);
441
+ fs.writeFileSync(afterPath, result.after.image);
442
+ console.log(`\nSaved: ${beforePath}`);
443
+ console.log(`Saved: ${afterPath}`);
444
+ if (values.markdown) {
445
+ await uploadAndOutputMarkdown(result.before.image, result.after.image, beforeFilename, afterFilename);
446
+ }
342
447
  }
343
448
  }
344
449
  finally {
@@ -372,15 +477,16 @@ async function main() {
372
477
  printHelp();
373
478
  return;
374
479
  }
480
+ const videoOpts = validateVideoFlags();
375
481
  switch (subcommand) {
376
482
  case 'detect':
377
483
  return runDetect();
378
484
  case 'compare':
379
- return runCompare();
485
+ return runCompare(undefined, videoOpts);
380
486
  case 'run':
381
- return runFull();
487
+ return runFull(videoOpts);
382
488
  default:
383
- return runDefault();
489
+ return runDefault(videoOpts);
384
490
  }
385
491
  }
386
492
  main()
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"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"}
package/dist/browser.d.ts CHANGED
@@ -2,7 +2,22 @@
2
2
  * Browser automation via Playwright.
3
3
  * Launches headless Chromium for screenshot capture.
4
4
  */
5
+ import { Browser, Page } from 'playwright';
5
6
  import { ViewportSize } from './types.js';
7
+ /**
8
+ * Get the shared Browser instance (creating it if needed).
9
+ * Used by video.ts to create fresh pages without animation-killing CSS.
10
+ */
11
+ export declare function getBrowser(): Promise<Browser>;
12
+ /**
13
+ * Acquire a page from the pool. Blocks if MAX_CONCURRENT_PAGES are in use.
14
+ * Each page gets its own viewport and deviceScaleFactor.
15
+ */
16
+ export declare function acquirePage(viewport: ViewportSize): Promise<Page>;
17
+ /**
18
+ * Release a page back to the pool (closes it).
19
+ */
20
+ export declare function releasePage(pg: Page): Promise<void>;
6
21
  export interface ScreenshotOptions {
7
22
  viewport: ViewportSize;
8
23
  fullPage?: boolean;
@@ -10,7 +25,8 @@ export interface ScreenshotOptions {
10
25
  }
11
26
  /**
12
27
  * Capture a screenshot using Playwright.
13
- * Returns the screenshot as a Buffer.
28
+ * Acquires a page from the pool, captures, and releases.
29
+ * Safe to call concurrently — pool limits parallelism.
14
30
  */
15
31
  export declare function captureScreenshot(url: string, options: ScreenshotOptions): Promise<Buffer>;
16
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAO1C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA8GD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CASlD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKvD"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU1C;;;GAGG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAKnD;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAOvE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzD;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAyFD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,CAoCjB;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAOlD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKvD"}