screenci 0.0.10 → 0.0.11

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.
Files changed (68) hide show
  1. package/README.md +44 -58
  2. package/dist/Dockerfile +16 -2
  3. package/dist/cli.d.ts +21 -1
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +1199 -420
  6. package/dist/cli.js.map +1 -1
  7. package/dist/e2e/instrument.e2e.js +12 -0
  8. package/dist/e2e/instrument.e2e.js.map +1 -1
  9. package/dist/index.d.ts +7 -7
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -2
  12. package/dist/index.js.map +1 -1
  13. package/dist/playwright.config.d.ts +1 -1
  14. package/dist/src/asset.d.ts +27 -67
  15. package/dist/src/asset.d.ts.map +1 -1
  16. package/dist/src/asset.js +44 -45
  17. package/dist/src/asset.js.map +1 -1
  18. package/dist/src/caption.d.ts +164 -54
  19. package/dist/src/caption.d.ts.map +1 -1
  20. package/dist/src/caption.js +304 -131
  21. package/dist/src/caption.js.map +1 -1
  22. package/dist/src/events.d.ts +67 -25
  23. package/dist/src/events.d.ts.map +1 -1
  24. package/dist/src/events.js +34 -18
  25. package/dist/src/events.js.map +1 -1
  26. package/dist/src/instrument.d.ts.map +1 -1
  27. package/dist/src/instrument.js +142 -35
  28. package/dist/src/instrument.js.map +1 -1
  29. package/dist/src/logger.d.ts.map +1 -1
  30. package/dist/src/logger.js +2 -1
  31. package/dist/src/logger.js.map +1 -1
  32. package/dist/src/recording.d.ts +1 -1
  33. package/dist/src/recording.d.ts.map +1 -1
  34. package/dist/src/recordingData.d.ts +145 -0
  35. package/dist/src/recordingData.d.ts.map +1 -0
  36. package/dist/src/recordingData.js +2 -0
  37. package/dist/src/recordingData.js.map +1 -0
  38. package/dist/src/types.d.ts +133 -66
  39. package/dist/src/types.d.ts.map +1 -1
  40. package/dist/src/video.d.ts.map +1 -1
  41. package/dist/src/video.js +28 -20
  42. package/dist/src/video.js.map +1 -1
  43. package/dist/src/voices.d.ts +344 -41
  44. package/dist/src/voices.d.ts.map +1 -1
  45. package/dist/src/voices.js +261 -30
  46. package/dist/src/voices.js.map +1 -1
  47. package/dist/test-fixtures/screenci.config.d.ts +5 -0
  48. package/dist/test-fixtures/screenci.config.d.ts.map +1 -0
  49. package/dist/test-fixtures/screenci.config.js +4 -0
  50. package/dist/test-fixtures/screenci.config.js.map +1 -0
  51. package/dist/tsconfig.tsbuildinfo +1 -1
  52. package/package.json +34 -4
  53. package/skills/playwright-cli/SKILL.md +348 -0
  54. package/skills/screenci/SKILL.md +55 -0
  55. package/skills/screenci/references/init.md +47 -0
  56. package/skills/screenci/references/record.md +41 -0
  57. package/dist/reporter.d.ts +0 -9
  58. package/dist/reporter.d.ts.map +0 -1
  59. package/dist/reporter.js +0 -49
  60. package/dist/reporter.js.map +0 -1
  61. package/dist/src/caption.test-d.d.ts +0 -2
  62. package/dist/src/caption.test-d.d.ts.map +0 -1
  63. package/dist/src/caption.test-d.js +0 -50
  64. package/dist/src/caption.test-d.js.map +0 -1
  65. package/dist/src/captionHash.d.ts +0 -12
  66. package/dist/src/captionHash.d.ts.map +0 -1
  67. package/dist/src/captionHash.js +0 -17
  68. package/dist/src/captionHash.js.map +0 -1
@@ -0,0 +1,145 @@
1
+ import type { CaptionConfig, Easing, RecordOptions, ResolvedRenderOptions } from './types.js';
2
+ import type { VoiceKey } from './voices.js';
3
+ export type VideoStartEvent = {
4
+ type: 'videoStart';
5
+ timeMs: 0;
6
+ };
7
+ export type ElementRect = {
8
+ x: number;
9
+ y: number;
10
+ width: number;
11
+ height: number;
12
+ };
13
+ export type MouseMoveEvent = {
14
+ type: 'mouseMove';
15
+ startMs: number;
16
+ endMs: number;
17
+ duration: number;
18
+ x: number;
19
+ y: number;
20
+ easing?: Easing;
21
+ zoomFollow?: boolean;
22
+ elementRect?: ElementRect;
23
+ };
24
+ export type MouseDownEvent = {
25
+ type: 'mouseDown';
26
+ startMs: number;
27
+ endMs: number;
28
+ mouseSize?: number;
29
+ easing?: Easing;
30
+ };
31
+ export type MouseUpEvent = {
32
+ type: 'mouseUp';
33
+ startMs: number;
34
+ endMs: number;
35
+ easing?: Easing;
36
+ };
37
+ export type MouseShowEvent = {
38
+ type: 'mouseShow';
39
+ startMs: number;
40
+ endMs: number;
41
+ };
42
+ export type MouseHideEvent = {
43
+ type: 'mouseHide';
44
+ startMs: number;
45
+ endMs: number;
46
+ };
47
+ export type MouseWaitEvent = {
48
+ type: 'mouseWait';
49
+ startMs: number;
50
+ endMs: number;
51
+ };
52
+ export type InputEvent = {
53
+ type: 'input';
54
+ subType: 'click' | 'pressSequentially' | 'tap' | 'check' | 'uncheck' | 'select' | 'mouseMove' | 'mouseShow' | 'mouseHide' | 'hover' | 'selectText' | 'dragTo';
55
+ elementRect?: ElementRect;
56
+ events: Array<MouseMoveEvent | MouseDownEvent | MouseUpEvent | MouseShowEvent | MouseHideEvent | MouseWaitEvent>;
57
+ };
58
+ export type RecordingCustomVoiceRef = {
59
+ assetHash: string;
60
+ assetPath?: string;
61
+ };
62
+ export type CaptionTranslation = {
63
+ text: string;
64
+ voice: VoiceKey | RecordingCustomVoiceRef;
65
+ };
66
+ export type CaptionStartEvent = {
67
+ type: 'captionStart';
68
+ timeMs: number;
69
+ name: string;
70
+ text?: string;
71
+ captionConfig?: CaptionConfig;
72
+ translations?: Record<string, CaptionTranslation>;
73
+ };
74
+ export type CaptionEndEvent = {
75
+ type: 'captionEnd';
76
+ timeMs: number;
77
+ reason?: 'auto' | 'waitEnd';
78
+ };
79
+ export type VideoCaptionTranslationFile = {
80
+ assetHash: string;
81
+ assetPath?: string;
82
+ subtitle?: string;
83
+ };
84
+ export type VideoCaptionTranslationTTS = {
85
+ text: string;
86
+ voice: VoiceKey | RecordingCustomVoiceRef;
87
+ };
88
+ export type VideoCaptionTranslation = VideoCaptionTranslationFile | VideoCaptionTranslationTTS;
89
+ export type VideoCaptionStartEvent = {
90
+ type: 'videoCaptionStart';
91
+ timeMs: number;
92
+ name: string;
93
+ assetHash?: string;
94
+ assetPath?: string;
95
+ subtitle?: string;
96
+ translations?: Record<string, VideoCaptionTranslation>;
97
+ };
98
+ export type AssetStartEvent = {
99
+ type: 'assetStart';
100
+ timeMs: number;
101
+ name: string;
102
+ path: string;
103
+ fileHash?: string;
104
+ audio: number;
105
+ fullScreen: boolean;
106
+ };
107
+ export type HideStartEvent = {
108
+ type: 'hideStart';
109
+ timeMs: number;
110
+ };
111
+ export type HideEndEvent = {
112
+ type: 'hideEnd';
113
+ timeMs: number;
114
+ };
115
+ export type AutoZoomStartEvent = {
116
+ type: 'autoZoomStart';
117
+ timeMs: number;
118
+ easing: string;
119
+ duration: number;
120
+ amount: number;
121
+ centering?: {
122
+ cursor?: number;
123
+ input?: number;
124
+ click?: number;
125
+ };
126
+ allowZoomingOut?: boolean;
127
+ };
128
+ export type AutoZoomEndEvent = {
129
+ type: 'autoZoomEnd';
130
+ timeMs: number;
131
+ easing: string;
132
+ duration: number;
133
+ };
134
+ export type RecordingEvent = VideoStartEvent | InputEvent | CaptionStartEvent | CaptionEndEvent | VideoCaptionStartEvent | AssetStartEvent | HideStartEvent | HideEndEvent | AutoZoomStartEvent | AutoZoomEndEvent;
135
+ export type RecordingMetadata = {
136
+ videoName: string;
137
+ languages?: string[];
138
+ };
139
+ export type RecordingData = {
140
+ events: RecordingEvent[];
141
+ renderOptions: ResolvedRenderOptions;
142
+ recordOptions?: RecordOptions;
143
+ metadata?: RecordingMetadata;
144
+ };
145
+ //# sourceMappingURL=recordingData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordingData.d.ts","sourceRoot":"","sources":["../../src/recordingData.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=recordingData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordingData.js","sourceRoot":"","sources":["../../src/recordingData.ts"],"names":[],"mappings":""}
@@ -41,7 +41,7 @@ export type Quality = '720p' | '1080p' | '1440p' | '2160p';
41
41
  * - `30` - Standard video, balanced quality and size
42
42
  * - `60` - Smooth motion, best for fast interactions
43
43
  *
44
- * @note Chrome caps recording at 60 FPS: https://stackoverflow.com/a/63972999
44
+ * @remarks Chrome caps recording at 60 FPS: https://stackoverflow.com/a/63972999
45
45
  */
46
46
  export type FPS = 24 | 30 | 60;
47
47
  /**
@@ -251,23 +251,50 @@ export type AutoZoomOptions = {
251
251
  * animation completes. Defaults to 500. */
252
252
  postZoomInOutDelay?: number;
253
253
  };
254
+ export type MouseMoveTimingOption = {
255
+ duration?: number;
256
+ speed?: never;
257
+ } | {
258
+ duration?: never;
259
+ speed?: number;
260
+ };
261
+ export type RequiredMouseMoveTimingOption = {
262
+ duration: number;
263
+ speed?: never;
264
+ } | {
265
+ duration?: never;
266
+ speed: number;
267
+ };
268
+ export type CursorMoveTimingOption = {
269
+ moveDuration?: number;
270
+ moveSpeed?: never;
271
+ } | {
272
+ moveDuration?: never;
273
+ moveSpeed?: number;
274
+ };
275
+ export type CursorDragTimingOption = {
276
+ dragDuration?: number;
277
+ dragSpeed?: never;
278
+ } | {
279
+ dragDuration?: never;
280
+ dragSpeed?: number;
281
+ };
254
282
  /**
255
- * Options for an automatic click that precedes a `fill` or `pressSequentially`.
283
+ * Options for an automatic click that precedes a `fill`, `pressSequentially`,
284
+ * `check`, `uncheck`, `setChecked`, or `selectOption`.
285
+ *
286
+ * When passed as `click` to these methods, the locator is clicked first (with
287
+ * animated cursor movement), then the action begins immediately. No extra
288
+ * zoom-pan sleep is inserted — the cursor-move animation covers it.
256
289
  *
257
- * When passed as `click` to `fill`/`pressSequentially`, the locator is clicked
258
- * first (with animated cursor movement), then typing begins immediately. No
259
- * extra zoom-pan sleep is inserted — the cursor-move animation covers it.
290
+ * To control where on the element the cursor moves, pass `position` at the
291
+ * top level of the method's options (not inside `click`).
260
292
  */
261
- export type ClickBeforeFillOption = {
262
- moveDuration?: number;
293
+ export type ClickBeforeFillOption = CursorMoveTimingOption & {
263
294
  beforeClickPause?: number;
264
295
  moveEasing?: Easing;
265
296
  postClickPause?: number;
266
297
  postClickMove?: PostClickMove;
267
- position?: {
268
- x: number;
269
- y: number;
270
- };
271
298
  };
272
299
  /**
273
300
  * Camera pan to perform after a click completes.
@@ -279,19 +306,82 @@ export type ClickBeforeFillOption = {
279
306
  * Pixel-based: the camera shifts by explicit `x` / `y` output-pixel offsets
280
307
  * (negative values pan in the opposite direction).
281
308
  */
282
- export type PostClickMove = {
283
- duration: number;
309
+ export type PostClickMove = (RequiredMouseMoveTimingOption & {
284
310
  easing?: Easing;
285
311
  /** Output pixels added to each side of the element rect before computing the shift. */
286
312
  padding?: number;
287
313
  direction: 'up' | 'down' | 'left' | 'right';
288
- } | {
289
- duration: number;
314
+ }) | (RequiredMouseMoveTimingOption & {
290
315
  easing?: Easing;
291
316
  /** Horizontal camera shift in output pixels (negative = left). */
292
317
  x: number;
293
318
  /** Vertical camera shift in output pixels (negative = up). */
294
319
  y: number;
320
+ });
321
+ export type ScreenCILocatorClickOptions = Omit<NonNullable<Parameters<Locator['click']>[0]>, 'steps'> & CursorMoveTimingOption & {
322
+ beforeClickPause?: number;
323
+ moveEasing?: Easing;
324
+ postClickPause?: number;
325
+ postClickMove?: PostClickMove;
326
+ };
327
+ export type ScreenCILocatorFillOptions = {
328
+ duration?: number;
329
+ timeout?: number;
330
+ click?: ClickBeforeFillOption;
331
+ position?: {
332
+ x: number;
333
+ y: number;
334
+ };
335
+ hideMouse?: boolean;
336
+ };
337
+ export type ScreenCILocatorPressSequentiallyOptions = Omit<NonNullable<Parameters<Locator['pressSequentially']>[1]>, 'delay'> & {
338
+ delay?: number;
339
+ click?: ClickBeforeFillOption;
340
+ position?: {
341
+ x: number;
342
+ y: number;
343
+ };
344
+ hideMouse?: boolean;
345
+ };
346
+ export type ScreenCILocatorCheckOptions = NonNullable<Parameters<Locator['check']>[0]> & {
347
+ position?: {
348
+ x: number;
349
+ y: number;
350
+ };
351
+ click?: ClickBeforeFillOption;
352
+ };
353
+ export type ScreenCILocatorHoverOptions = Omit<NonNullable<Parameters<Locator['hover']>[0]>, 'steps'> & CursorMoveTimingOption & {
354
+ easing?: Easing;
355
+ hoverDuration?: number;
356
+ position?: {
357
+ x: number;
358
+ y: number;
359
+ };
360
+ };
361
+ export type ScreenCILocatorSelectTextOptions = Omit<NonNullable<Parameters<Locator['selectText']>[0]>, 'steps'> & CursorMoveTimingOption & {
362
+ easing?: Easing;
363
+ beforeClickPause?: number;
364
+ selectDuration?: number;
365
+ };
366
+ export type ScreenCILocatorDragToOptions = Omit<NonNullable<Parameters<Locator['dragTo']>[1]>, 'steps'> & CursorMoveTimingOption & CursorDragTimingOption & {
367
+ moveEasing?: Easing;
368
+ preDragPause?: number;
369
+ dragEasing?: Easing;
370
+ sourcePosition?: {
371
+ x: number;
372
+ y: number;
373
+ };
374
+ targetPosition?: {
375
+ x: number;
376
+ y: number;
377
+ };
378
+ };
379
+ export type ScreenCILocatorSelectOptionOptions = NonNullable<Parameters<Locator['selectOption']>[1]> & {
380
+ click?: ClickBeforeFillOption;
381
+ position?: {
382
+ x: number;
383
+ y: number;
384
+ };
295
385
  };
296
386
  type LocatorReturnMethodNames = 'locator' | 'getByAltText' | 'getByLabel' | 'getByPlaceholder' | 'getByRole' | 'getByTestId' | 'getByText' | 'getByTitle' | 'and' | 'describe' | 'filter' | 'first' | 'last' | 'nth' | 'or';
297
387
  type ScreenCIMouse = Omit<Mouse, 'move'> & {
@@ -301,13 +391,13 @@ type ScreenCIMouse = Omit<Mouse, 'move'> & {
301
391
  * @param options.steps - Ignored; use `duration` and `easing` instead.
302
392
  * @param options.duration - Duration of the animated move in milliseconds.
303
393
  * When provided and greater than 0, the cursor is animated with easing.
394
+ * @param options.speed - Cursor speed in pixels per second.
304
395
  * @param options.easing - Easing function for the cursor animation (default: 'ease-in-out').
305
396
  */
306
397
  move(x: number, y: number, options?: {
307
398
  steps?: number;
308
- duration?: number;
309
399
  easing?: Easing;
310
- }): Promise<void>;
400
+ } & MouseMoveTimingOption): Promise<void>;
311
401
  /**
312
402
  * Shows the mouse cursor in the recorded video.
313
403
  *
@@ -332,13 +422,7 @@ export type ScreenCILocator = Omit<Locator, 'click' | 'fill' | 'check' | 'unchec
332
422
  * @param options.postClickMove - When provided, animates the cursor away from
333
423
  * the element after the click (e.g. to simulate the cursor moving off a button).
334
424
  */
335
- click(options?: Parameters<Locator['click']>[0] & {
336
- moveDuration?: number;
337
- beforeClickPause?: number;
338
- moveEasing?: Easing;
339
- postClickPause?: number;
340
- postClickMove?: PostClickMove;
341
- }): Promise<void>;
425
+ click(options?: ScreenCILocatorClickOptions): Promise<void>;
342
426
  /**
343
427
  * Types `value` character-by-character using `pressSequentially`.
344
428
  *
@@ -350,15 +434,13 @@ export type ScreenCILocator = Omit<Locator, 'click' | 'fill' | 'check' | 'unchec
350
434
  * element to be actionable.
351
435
  * @param options.click - When provided, clicks the element before typing
352
436
  * (animated cursor move + click). No extra zoom-pan sleep is inserted.
437
+ * @param options.position - Point relative to the element's top-left corner
438
+ * to click before filling. Only used when `click` is also provided.
439
+ * Defaults to the element center.
353
440
  * @param options.hideMouse - When `true`, the mouse cursor is hidden while
354
441
  * typing and shown again on the next mouse move. Defaults to `false`.
355
442
  */
356
- fill(value: string, options?: {
357
- duration?: number;
358
- timeout?: number;
359
- click?: ClickBeforeFillOption;
360
- hideMouse?: boolean;
361
- }): Promise<void>;
443
+ fill(value: string, options?: ScreenCILocatorFillOptions): Promise<void>;
362
444
  /**
363
445
  * Presses keys one by one as if on a physical keyboard.
364
446
  *
@@ -368,41 +450,41 @@ export type ScreenCILocator = Omit<Locator, 'click' | 'fill' | 'check' | 'unchec
368
450
  * element to be actionable.
369
451
  * @param options.click - When provided, clicks the element before typing
370
452
  * (animated cursor move + click). No extra zoom-pan sleep is inserted.
453
+ * @param options.position - Point relative to the element's top-left corner
454
+ * to click before typing. Only used when `click` is also provided.
455
+ * Defaults to the element center.
371
456
  * @param options.hideMouse - When `true`, the mouse cursor is hidden while
372
457
  * typing and shown again on the next mouse move. Defaults to `false`.
373
458
  */
374
- pressSequentially(text: string, options?: Parameters<Locator['pressSequentially']>[1] & {
375
- click?: ClickBeforeFillOption;
376
- hideMouse?: boolean;
377
- }): Promise<void>;
459
+ pressSequentially(text: string, options?: ScreenCILocatorPressSequentiallyOptions): Promise<void>;
378
460
  /**
379
461
  * Checks the checkbox or radio button.
380
462
  *
463
+ * @param options.position - Point relative to the element's top-left corner
464
+ * to click. Defaults to the element center.
381
465
  * @param options.click - When provided, animates the cursor to the element
382
466
  * before checking it. The click timing data is embedded in the recorded event.
383
467
  */
384
- check(options?: Parameters<Locator['check']>[0] & {
385
- click?: Omit<ClickBeforeFillOption, 'position'>;
386
- }): Promise<void>;
468
+ check(options?: ScreenCILocatorCheckOptions): Promise<void>;
387
469
  /**
388
470
  * Unchecks the checkbox.
389
471
  *
472
+ * @param options.position - Point relative to the element's top-left corner
473
+ * to click. Defaults to the element center.
390
474
  * @param options.click - When provided, animates the cursor to the element
391
475
  * before unchecking it. The click timing data is embedded in the recorded event.
392
476
  */
393
- uncheck(options?: Parameters<Locator['uncheck']>[0] & {
394
- click?: Omit<ClickBeforeFillOption, 'position'>;
395
- }): Promise<void>;
477
+ uncheck(options?: ScreenCILocatorCheckOptions): Promise<void>;
396
478
  /**
397
479
  * Sets the checked state of a checkbox or radio element.
398
480
  * Delegates to the instrumented `check()` or `uncheck()` based on `checked`.
399
481
  *
482
+ * @param options.position - Point relative to the element's top-left corner
483
+ * to click. Defaults to the element center.
400
484
  * @param options.click - When provided, animates the cursor to the element
401
485
  * before acting. The click timing data is embedded in the recorded event.
402
486
  */
403
- setChecked(checked: boolean, options?: Parameters<Locator['check']>[0] & {
404
- click?: Omit<ClickBeforeFillOption, 'position'>;
405
- }): Promise<void>;
487
+ setChecked(checked: boolean, options?: ScreenCILocatorCheckOptions): Promise<void>;
406
488
  /**
407
489
  * Taps the element (touch event).
408
490
  *
@@ -421,11 +503,7 @@ export type ScreenCILocator = Omit<Locator, 'click' | 'fill' | 'check' | 'unchec
421
503
  * @param options.position - Point relative to the element's top-left corner to hover over.
422
504
  * Defaults to the element center.
423
505
  */
424
- hover(options?: Parameters<Locator['hover']>[0] & {
425
- moveDuration?: number;
426
- easing?: Easing;
427
- hoverDuration?: number;
428
- }): Promise<void>;
506
+ hover(options?: ScreenCILocatorHoverOptions): Promise<void>;
429
507
  /**
430
508
  * Selects all text content of the element with an animated cursor move and
431
509
  * triple-click animation.
@@ -436,12 +514,7 @@ export type ScreenCILocator = Omit<Locator, 'click' | 'fill' | 'check' | 'unchec
436
514
  * @param options.selectDuration - Total duration of the triple-click animation in ms (default: 600).
437
515
  * Divided into 6 equal segments: 3 mouseDown + 3 mouseUp phases.
438
516
  */
439
- selectText(options?: Parameters<Locator['selectText']>[0] & {
440
- moveDuration?: number;
441
- easing?: Easing;
442
- beforeClickPause?: number;
443
- selectDuration?: number;
444
- }): Promise<void>;
517
+ selectText(options?: ScreenCILocatorSelectTextOptions): Promise<void>;
445
518
  /**
446
519
  * Drags the element to the target locator with animated cursor movement.
447
520
  *
@@ -460,13 +533,7 @@ export type ScreenCILocator = Omit<Locator, 'click' | 'fill' | 'check' | 'unchec
460
533
  * @param options.sourcePosition - Point relative to source element's top-left for the drag start.
461
534
  * @param options.targetPosition - Point relative to target element's top-left for the drop.
462
535
  */
463
- dragTo(target: Locator, options?: Omit<NonNullable<Parameters<Locator['dragTo']>[1]>, 'steps'> & {
464
- moveDuration?: number;
465
- moveEasing?: Easing;
466
- preDragPause?: number;
467
- dragDuration?: number;
468
- dragEasing?: Easing;
469
- }): Promise<void>;
536
+ dragTo(target: Locator, options?: ScreenCILocatorDragToOptions): Promise<void>;
470
537
  /**
471
538
  * Selects an option in a `<select>` element.
472
539
  *
@@ -478,10 +545,11 @@ export type ScreenCILocator = Omit<Locator, 'click' | 'fill' | 'check' | 'unchec
478
545
  * @param values - The option(s) to select (value, label, index, or element).
479
546
  * @param options.click - When provided, animates the cursor to the select
480
547
  * element. The click timing data is embedded in the recorded event.
548
+ * @param options.position - Point relative to the element's top-left corner
549
+ * to click before selecting. Only used when `click` is also provided.
550
+ * Defaults to the element center.
481
551
  */
482
- selectOption(values: Parameters<Locator['selectOption']>[0], options?: Parameters<Locator['selectOption']>[1] & {
483
- click?: ClickBeforeFillOption;
484
- }): Promise<string[]>;
552
+ selectOption(values: Parameters<Locator['selectOption']>[0], options?: ScreenCILocatorSelectOptionOptions): Promise<string[]>;
485
553
  page(): ScreenCIPage;
486
554
  locator(...args: Parameters<Locator['locator']>): ScreenCILocator;
487
555
  getByAltText(...args: Parameters<Locator['getByAltText']>): ScreenCILocator;
@@ -502,8 +570,7 @@ export type ScreenCILocator = Omit<Locator, 'click' | 'fill' | 'check' | 'unchec
502
570
  };
503
571
  export type ScreenCIPage = Omit<Page, 'click' | 'mouse' | LocatorReturnMethodNames> & {
504
572
  mouse: ScreenCIMouse;
505
- click(selector: string, options?: Parameters<Page['click']>[1] & {
506
- moveDuration?: number;
573
+ click(selector: string, options?: Parameters<Page['click']>[1] & CursorMoveTimingOption & {
507
574
  beforeClickPause?: number;
508
575
  moveEasing?: Easing;
509
576
  postClickMove?: PostClickMove;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/video.ts"],"names":[],"mappings":"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"}
package/dist/src/video.js CHANGED
@@ -6,15 +6,15 @@ import { sanitizeVideoName } from './sanitize.js';
6
6
  export { getDimensions } from './dimensions.js';
7
7
  import { getDimensions } from './dimensions.js';
8
8
  import { isHeadless, startXvfb } from './xvfb.js';
9
- import { setActiveCaptionRecorder, resetCaptionChain } from './caption.js';
9
+ import { setActiveCaptionRecorder, resetCaptionChain, validateCustomVoiceRefs, } from './caption.js';
10
10
  import { setActiveHideRecorder } from './hide.js';
11
11
  import { setActiveAutoZoomRecorder } from './autoZoom.js';
12
- import { setActiveAssetRecorder } from './asset.js';
12
+ import { setActiveAssetRecorder, validateRegisteredAssetPaths, } from './asset.js';
13
13
  import { DEFAULT_VIDEO_OPTIONS, DEFAULT_ASPECT_RATIO, DEFAULT_QUALITY, DEFAULT_FPS, } from './defaults.js';
14
14
  import { EventRecorder } from './events.js';
15
15
  import { setActiveClickRecorder, instrumentBrowser, instrumentContext, } from './instrument.js';
16
16
  import { logger } from './logger.js';
17
- async function setupMouseTracking(page, recorder) {
17
+ async function setupMouseTracking(_page, _recorder) {
18
18
  /*
19
19
  await page.exposeFunction(
20
20
  '__screenci_recordMouseMove',
@@ -207,9 +207,9 @@ process.on('exit', () => {
207
207
  catch { }
208
208
  }
209
209
  });
210
- // Forward SIGTERM/SIGINT: kill ffmpeg and Xvfb, then let the process exit.
210
+ // Forward SIGTERM/SIGINT: clean up recorder processes, then re-raise the
211
+ // original signal so parent processes treat the worker as interrupted.
211
212
  const handleTermSignal = (signal) => {
212
- logger.info(`Worker received ${signal}, killing ffmpeg and Xvfb...`);
213
213
  killActiveFFmpegProcesses();
214
214
  if (currentXvfb) {
215
215
  try {
@@ -217,16 +217,20 @@ const handleTermSignal = (signal) => {
217
217
  }
218
218
  catch { }
219
219
  }
220
- process.exit(0);
220
+ process.off('SIGTERM', handleSigterm);
221
+ process.off('SIGINT', handleSigint);
222
+ process.kill(process.pid, signal);
221
223
  };
222
- process.on('SIGTERM', handleTermSignal);
223
- process.on('SIGINT', handleTermSignal);
224
+ const handleSigterm = () => handleTermSignal('SIGTERM');
225
+ const handleSigint = () => handleTermSignal('SIGINT');
226
+ process.on('SIGTERM', handleSigterm);
227
+ process.on('SIGINT', handleSigint);
224
228
  const _videoBase = base.extend({
225
229
  recordOptions: [DEFAULT_VIDEO_OPTIONS, { option: true }],
226
230
  renderOptions: [undefined, { option: true }],
227
231
  // Internal worker fixture to manage xvfb per test
228
232
  _xvfbSetup: [
229
- async ({ recordOptions }, use) => {
233
+ async ({ recordOptions: _recordOptions }, use) => {
230
234
  const shouldRecord = process.env.SCREENCI_RECORD === 'true';
231
235
  if (shouldRecord && !currentXvfb && isHeadless()) {
232
236
  // Start Xvfb once per worker at 3840×3840 — a square large enough to
@@ -336,6 +340,8 @@ const _videoBase = base.extend({
336
340
  // Wait for browser window to be fully rendered before starting recording
337
341
  // This prevents black screen captures
338
342
  await page.waitForTimeout(1500);
343
+ await validateCustomVoiceRefs(testInfo.file);
344
+ await validateRegisteredAssetPaths(testInfo.file);
339
345
  // Hide browser toolbar via CDP fullscreen. --kiosk alone is not reliable on
340
346
  // Xvfb; the CDP call triggers Chromium's internal fullscreen mode which
341
347
  // removes all browser UI chrome. No explicit dims here — those conflict with
@@ -361,24 +367,15 @@ const _videoBase = base.extend({
361
367
  recorder.start();
362
368
  }
363
369
  else {
364
- logger.warn('Warning: Screen recording failed to start. Test will continue without recording.');
370
+ logger.warn('Screen recording failed to start. Test will continue without recording.');
365
371
  logger.warn(`Note: Recording at ${dimensions.width}x${dimensions.height} requires a display of at least that size.`);
366
372
  }
367
373
  await use(page);
368
- await page.close();
369
- setActiveCaptionRecorder(null);
370
- setActiveClickRecorder(null);
371
- setActiveHideRecorder(null);
372
- setActiveAutoZoomRecorder(null);
373
- setActiveAssetRecorder(null);
374
- // Stop ffmpeg recording after test (only if it started)
374
+ // Stop ffmpeg BEFORE closing the page to avoid a black frame at the end
375
375
  if (didStart) {
376
376
  logger.info('Stopping recording...');
377
377
  await stopScreenRecording(ffmpegProcess);
378
378
  logger.info(`Video saved to: ${videoPath}`);
379
- // Write recorded events next to the video
380
- await recorder.writeToFile(videoDir, testInfo.title);
381
- logger.info(`Events saved to: ${join(videoDir, 'data.json')}`);
382
379
  }
383
380
  else {
384
381
  // Kill the process if it's still running
@@ -386,6 +383,17 @@ const _videoBase = base.extend({
386
383
  ffmpegProcess.kill('SIGKILL');
387
384
  }
388
385
  }
386
+ await page.close();
387
+ setActiveCaptionRecorder(null);
388
+ setActiveClickRecorder(null);
389
+ setActiveHideRecorder(null);
390
+ setActiveAutoZoomRecorder(null);
391
+ setActiveAssetRecorder(null);
392
+ // Write recorded events next to the video
393
+ if (didStart) {
394
+ await recorder.writeToFile(videoDir, testInfo.title);
395
+ logger.info(`Events saved to: ${join(videoDir, 'data.json')}`);
396
+ }
389
397
  },
390
398
  });
391
399
  /**