screenci 0.0.76 → 0.0.78
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/dist/cli.d.ts +51 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +557 -200
- package/dist/cli.js.map +1 -1
- package/dist/docs/manifest.d.ts +253 -98
- package/dist/docs/manifest.d.ts.map +1 -1
- package/dist/docs/manifest.js +92 -32
- package/dist/docs/manifest.js.map +1 -1
- package/dist/docs/video-sources/camera-and-zooming.screenci.d.ts +2 -0
- package/dist/docs/video-sources/camera-and-zooming.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/camera-and-zooming.screenci.js +57 -0
- package/dist/docs/video-sources/camera-and-zooming.screenci.js.map +1 -0
- package/dist/docs/video-sources/installation.screenci.js +14 -3
- package/dist/docs/video-sources/installation.screenci.js.map +1 -1
- package/dist/docs/video-sources/languages.screenci.d.ts +2 -0
- package/dist/docs/video-sources/languages.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/languages.screenci.js +68 -0
- package/dist/docs/video-sources/languages.screenci.js.map +1 -0
- package/dist/docs/video-sources/locator-highlight-animated.screenci.js +1 -1
- package/dist/docs/video-sources/locator-highlight-animated.screenci.js.map +1 -1
- package/dist/docs/video-sources/narration.screenci.d.ts +2 -0
- package/dist/docs/video-sources/narration.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/narration.screenci.js +71 -0
- package/dist/docs/video-sources/narration.screenci.js.map +1 -0
- package/dist/docs/video-sources/public-urls-and-embeds.screenci.d.ts +2 -0
- package/dist/docs/video-sources/public-urls-and-embeds.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/public-urls-and-embeds.screenci.js +60 -0
- package/dist/docs/video-sources/public-urls-and-embeds.screenci.js.map +1 -0
- package/dist/docs/video-sources/speaking-style.screenci.d.ts +2 -0
- package/dist/docs/video-sources/speaking-style.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/speaking-style.screenci.js +76 -0
- package/dist/docs/video-sources/speaking-style.screenci.js.map +1 -0
- package/dist/docs/video-sources/vertical-video.screenci.d.ts +2 -0
- package/dist/docs/video-sources/vertical-video.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/vertical-video.screenci.js +58 -0
- package/dist/docs/video-sources/vertical-video.screenci.js.map +1 -0
- package/dist/docs/videos.d.ts +20 -0
- package/dist/docs/videos.d.ts.map +1 -1
- package/dist/docs/videos.js +25 -0
- package/dist/docs/videos.js.map +1 -1
- package/dist/e2e/instrument.e2e.js +8 -0
- package/dist/e2e/instrument.e2e.js.map +1 -1
- package/dist/e2e/redact.e2e.d.ts +2 -0
- package/dist/e2e/redact.e2e.d.ts.map +1 -0
- package/dist/e2e/redact.e2e.js +161 -0
- package/dist/e2e/redact.e2e.js.map +1 -0
- package/dist/index.d.ts +10 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/src/asset.d.ts +154 -13
- package/dist/src/asset.d.ts.map +1 -1
- package/dist/src/asset.js +262 -32
- package/dist/src/asset.js.map +1 -1
- package/dist/src/assetHash.d.ts +27 -0
- package/dist/src/assetHash.d.ts.map +1 -0
- package/dist/src/assetHash.js +0 -0
- package/dist/src/assetHash.js.map +1 -0
- package/dist/src/audio.d.ts +8 -5
- package/dist/src/audio.d.ts.map +1 -1
- package/dist/src/audio.js +56 -31
- package/dist/src/audio.js.map +1 -1
- package/dist/src/builder.d.ts +132 -32
- package/dist/src/builder.d.ts.map +1 -1
- package/dist/src/builder.js +66 -20
- package/dist/src/builder.js.map +1 -1
- package/dist/src/changeFocus.d.ts.map +1 -1
- package/dist/src/changeFocus.js +103 -34
- package/dist/src/changeFocus.js.map +1 -1
- package/dist/src/cue.d.ts +29 -17
- package/dist/src/cue.d.ts.map +1 -1
- package/dist/src/cue.js +138 -61
- package/dist/src/cue.js.map +1 -1
- package/dist/src/declare.d.ts +8 -4
- package/dist/src/declare.d.ts.map +1 -1
- package/dist/src/declare.js +28 -10
- package/dist/src/declare.js.map +1 -1
- package/dist/src/defaults.d.ts +23 -0
- package/dist/src/defaults.d.ts.map +1 -1
- package/dist/src/defaults.js +23 -0
- package/dist/src/defaults.js.map +1 -1
- package/dist/src/events.d.ts +289 -25
- package/dist/src/events.d.ts.map +1 -1
- package/dist/src/events.js +145 -13
- package/dist/src/events.js.map +1 -1
- package/dist/src/htmlRasterizer.d.ts +10 -0
- package/dist/src/htmlRasterizer.d.ts.map +1 -1
- package/dist/src/htmlRasterizer.js +12 -2
- package/dist/src/htmlRasterizer.js.map +1 -1
- package/dist/src/init.d.ts +2 -0
- package/dist/src/init.d.ts.map +1 -1
- package/dist/src/init.js +64 -18
- package/dist/src/init.js.map +1 -1
- package/dist/src/instrument.d.ts.map +1 -1
- package/dist/src/instrument.js +25 -7
- package/dist/src/instrument.js.map +1 -1
- package/dist/src/locales.d.ts.map +1 -1
- package/dist/src/locales.js +1 -0
- package/dist/src/locales.js.map +1 -1
- package/dist/src/localize.d.ts +25 -17
- package/dist/src/localize.d.ts.map +1 -1
- package/dist/src/localize.js +18 -10
- package/dist/src/localize.js.map +1 -1
- package/dist/src/localizeRuntime.d.ts +18 -13
- package/dist/src/localizeRuntime.d.ts.map +1 -1
- package/dist/src/localizeRuntime.js +28 -18
- package/dist/src/localizeRuntime.js.map +1 -1
- package/dist/src/logger.d.ts +5 -0
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/logger.js +7 -0
- package/dist/src/logger.js.map +1 -1
- package/dist/src/narrationVisibility.d.ts +19 -0
- package/dist/src/narrationVisibility.d.ts.map +1 -0
- package/dist/src/narrationVisibility.js +26 -0
- package/dist/src/narrationVisibility.js.map +1 -0
- package/dist/src/recordingData.d.ts +7 -0
- package/dist/src/recordingData.d.ts.map +1 -1
- package/dist/src/recordingSize.d.ts +32 -0
- package/dist/src/recordingSize.d.ts.map +1 -0
- package/dist/src/recordingSize.js +54 -0
- package/dist/src/recordingSize.js.map +1 -0
- package/dist/src/redact.d.ts +68 -0
- package/dist/src/redact.d.ts.map +1 -0
- package/dist/src/redact.js +138 -0
- package/dist/src/redact.js.map +1 -0
- package/dist/src/redactController.d.ts +61 -0
- package/dist/src/redactController.d.ts.map +1 -0
- package/dist/src/redactController.js +232 -0
- package/dist/src/redactController.js.map +1 -0
- package/dist/src/runtimeContext.d.ts +32 -0
- package/dist/src/runtimeContext.d.ts.map +1 -1
- package/dist/src/runtimeContext.js +21 -0
- package/dist/src/runtimeContext.js.map +1 -1
- package/dist/src/runtimeMode.d.ts +15 -7
- package/dist/src/runtimeMode.d.ts.map +1 -1
- package/dist/src/runtimeMode.js +17 -6
- package/dist/src/runtimeMode.js.map +1 -1
- package/dist/src/screenAudio.d.ts +34 -4
- package/dist/src/screenAudio.d.ts.map +1 -1
- package/dist/src/screenAudio.js +0 -0
- package/dist/src/screenAudio.js.map +1 -1
- package/dist/src/screenAudioSink.d.ts +12 -0
- package/dist/src/screenAudioSink.d.ts.map +1 -1
- package/dist/src/screenAudioSink.js +30 -0
- package/dist/src/screenAudioSink.js.map +1 -1
- package/dist/src/screenshot.d.ts +16 -14
- package/dist/src/screenshot.d.ts.map +1 -1
- package/dist/src/screenshot.js +11 -11
- package/dist/src/screenshot.js.map +1 -1
- package/dist/src/sourceTrim.d.ts +29 -0
- package/dist/src/sourceTrim.d.ts.map +1 -0
- package/dist/src/sourceTrim.js +76 -0
- package/dist/src/sourceTrim.js.map +1 -0
- package/dist/src/studio.d.ts +71 -3
- package/dist/src/studio.d.ts.map +1 -1
- package/dist/src/studio.js +19 -1
- package/dist/src/studio.js.map +1 -1
- package/dist/src/timelineOffset.d.ts +46 -0
- package/dist/src/timelineOffset.d.ts.map +1 -0
- package/dist/src/timelineOffset.js +66 -0
- package/dist/src/timelineOffset.js.map +1 -0
- package/dist/src/titleValidation.d.ts +38 -0
- package/dist/src/titleValidation.d.ts.map +1 -1
- package/dist/src/titleValidation.js +42 -0
- package/dist/src/titleValidation.js.map +1 -1
- package/dist/src/types.d.ts +85 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/video.d.ts +37 -34
- package/dist/src/video.d.ts.map +1 -1
- package/dist/src/video.js +99 -48
- package/dist/src/video.js.map +1 -1
- package/dist/src/voiceSampleAudio.d.ts +34 -0
- package/dist/src/voiceSampleAudio.d.ts.map +1 -0
- package/dist/src/voiceSampleAudio.js +105 -0
- package/dist/src/voiceSampleAudio.js.map +1 -0
- package/dist/src/voices.d.ts +2 -2
- package/dist/src/voices.d.ts.map +1 -1
- package/dist/src/voices.js +8 -3
- package/dist/src/voices.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/templates/recordings/assets/logo.png +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeContext.d.ts","sourceRoot":"","sources":["../../src/runtimeContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"runtimeContext.d.ts","sourceRoot":"","sources":["../../src/runtimeContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from 'async_hooks';
|
|
2
2
|
import { NOOP_EVENT_RECORDER, } from './events.js';
|
|
3
|
+
import { DEFAULT_SCROLL_CENTERING } from './defaults.js';
|
|
3
4
|
const runtimeContextStorage = new AsyncLocalStorage();
|
|
4
5
|
const fallbackRuntimeContext = createScreenCIRuntimeContext();
|
|
5
6
|
let activeRuntimeContext = null;
|
|
@@ -36,6 +37,12 @@ export function createScreenCIRuntimeContext(overrides = {}) {
|
|
|
36
37
|
mode: 'idle',
|
|
37
38
|
options: {},
|
|
38
39
|
currentZoomViewport: null,
|
|
40
|
+
scrollCentering: overrides.recordOptions?.scrollCentering ?? DEFAULT_SCROLL_CENTERING,
|
|
41
|
+
},
|
|
42
|
+
recordingSize: { current: 1 },
|
|
43
|
+
redact: {
|
|
44
|
+
controllerInstalled: false,
|
|
45
|
+
activeMasks: new Map(),
|
|
39
46
|
},
|
|
40
47
|
};
|
|
41
48
|
}
|
|
@@ -131,6 +138,14 @@ export function resetAudioRuntimeState() {
|
|
|
131
138
|
const context = getScreenCIRuntimeContext();
|
|
132
139
|
context.audio.activeRuns.clear();
|
|
133
140
|
}
|
|
141
|
+
export function getRuntimeRedactState() {
|
|
142
|
+
return getScreenCIRuntimeContext().redact;
|
|
143
|
+
}
|
|
144
|
+
export function resetRedactRuntimeState() {
|
|
145
|
+
const context = getScreenCIRuntimeContext();
|
|
146
|
+
context.redact.controllerInstalled = false;
|
|
147
|
+
context.redact.activeMasks.clear();
|
|
148
|
+
}
|
|
134
149
|
export function pushRuntimeTimelineBlock(block) {
|
|
135
150
|
getScreenCIRuntimeContext().timelineBlocks.push(block);
|
|
136
151
|
}
|
|
@@ -160,4 +175,10 @@ export function getRuntimeAutoZoomState() {
|
|
|
160
175
|
export function setRuntimeAutoZoomState(state) {
|
|
161
176
|
getScreenCIRuntimeContext().autoZoom = state;
|
|
162
177
|
}
|
|
178
|
+
export function getRuntimeRecordingSize() {
|
|
179
|
+
return getScreenCIRuntimeContext().recordingSize.current;
|
|
180
|
+
}
|
|
181
|
+
export function setRuntimeRecordingSize(size) {
|
|
182
|
+
getScreenCIRuntimeContext().recordingSize.current = size;
|
|
183
|
+
}
|
|
163
184
|
//# sourceMappingURL=runtimeContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeContext.js","sourceRoot":"","sources":["../../src/runtimeContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EACL,mBAAmB,GAGpB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"runtimeContext.js","sourceRoot":"","sources":["../../src/runtimeContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,18 @@ import type { AspectRatio, FPS, Quality } from './types.js';
|
|
|
2
2
|
export declare const SCREENCI_RECORDING_ENV = "SCREENCI_RECORDING";
|
|
3
3
|
export declare const SCREENCI_MOCK_RECORD_ENV = "SCREENCI_MOCK_RECORD";
|
|
4
4
|
export declare const SCREENCI_LANGUAGES_ENV = "SCREENCI_LANGUAGES";
|
|
5
|
-
export declare const
|
|
5
|
+
export declare const SCREENCI_VALUES_OVERRIDES_ENV = "SCREENCI_VALUES_OVERRIDES";
|
|
6
6
|
export declare const SCREENCI_RECORD_OPTIONS_ENV = "SCREENCI_RECORD_OPTIONS";
|
|
7
7
|
export declare const SCREENCI_DISABLE_RECORDING_TIMINGS_ENV = "SCREENCI_DISABLE_RECORDING_TIMINGS";
|
|
8
8
|
export declare const SCREENCI_DEBUG_TIMING_ENV = "SCREENCI_DEBUG_TIMING";
|
|
9
|
+
export declare const SCREENCI_UPLOAD_EXISTING_ENV = "UPLOAD_EXISTING";
|
|
10
|
+
/**
|
|
11
|
+
* When set, `screenci record` skips the Playwright recording run entirely and
|
|
12
|
+
* re-uploads whatever is already on disk under `.screenci`. Useful for resending
|
|
13
|
+
* the most recent local recordings when only the upload failed, without paying
|
|
14
|
+
* to re-record. Internal/debug-only: not surfaced as a documented flag.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isUploadExistingEnabled(env?: NodeJS.ProcessEnv): boolean;
|
|
9
17
|
/**
|
|
10
18
|
* When set, screenci logs a per-phase timing breakdown for each interaction so
|
|
11
19
|
* a slow recording can be traced to the phase responsible (snapshot, cursor
|
|
@@ -24,16 +32,16 @@ export declare function resolveRecordingTimingDuration(durationMs: number, env?:
|
|
|
24
32
|
* languages so a run never records or renders more than was asked for.
|
|
25
33
|
*/
|
|
26
34
|
export declare function parseRequestedLanguages(env?: NodeJS.ProcessEnv): string[] | null;
|
|
27
|
-
/** Per-language
|
|
28
|
-
export type
|
|
35
|
+
/** Per-language values-field overrides: `{ [language]: { [field]: value } }`. */
|
|
36
|
+
export type ValuesOverrides = Record<string, Record<string, string>>;
|
|
29
37
|
/**
|
|
30
|
-
* Parse Studio
|
|
38
|
+
* Parse Studio values-field overrides injected for a re-record. Because the
|
|
31
39
|
* recording process never reaches the backend, Studio edits are passed in via
|
|
32
|
-
* `
|
|
40
|
+
* `SCREENCI_VALUES_OVERRIDES` (a JSON map of language -> field -> value), set by
|
|
33
41
|
* the CLI from the backend before the recording runs. Returns `null` when unset
|
|
34
|
-
* or malformed, so the `
|
|
42
|
+
* or malformed, so the `values` fixture falls back to the code-declared seed.
|
|
35
43
|
*/
|
|
36
|
-
export declare function
|
|
44
|
+
export declare function parseValuesOverrides(env?: NodeJS.ProcessEnv): ValuesOverrides | null;
|
|
37
45
|
/** Studio record-option overrides per video name: `{ [videoName]: {...} }`. */
|
|
38
46
|
export type RecordOptionsOverrides = Record<string, {
|
|
39
47
|
aspectRatio?: AspectRatio;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeMode.d.ts","sourceRoot":"","sources":["../../src/runtimeMode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3D,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAC1D,eAAO,MAAM,wBAAwB,yBAAyB,CAAA;AAC9D,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAC1D,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"runtimeMode.d.ts","sourceRoot":"","sources":["../../src/runtimeMode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3D,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAC1D,eAAO,MAAM,wBAAwB,yBAAyB,CAAA;AAC9D,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAC1D,eAAO,MAAM,6BAA6B,8BAA8B,CAAA;AACxE,eAAO,MAAM,2BAA2B,4BAA4B,CAAA;AACpE,eAAO,MAAM,sCAAsC,uCACb,CAAA;AACtC,eAAO,MAAM,yBAAyB,0BAA0B,CAAA;AAChE,eAAO,MAAM,4BAA4B,oBAAoB,CAAA;AAE7D;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAKT;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAKT;AAED,wBAAgB,0BAA0B,CACxC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAET;AAED,wBAAgB,2BAA2B,CACzC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAET;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAUT;AAED,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,EAAE,GAAG,IAAI,CAcjB;AAED,iFAAiF;AACjF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAEpE;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,eAAe,GAAG,IAAI,CAqBxB;AAED,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAAG,MAAM,CACzC,MAAM,EACN;IAAE,WAAW,CAAC,EAAE,WAAW,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,CAC5D,CAAA;AAcD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,sBAAsB,GAAG,IAAI,CA4B/B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,CAAC,SAAS;IAAE,WAAW,CAAC,EAAE,WAAW,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,EACrE,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,CAAC,CAU7E"}
|
package/dist/src/runtimeMode.js
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
export const SCREENCI_RECORDING_ENV = 'SCREENCI_RECORDING';
|
|
2
2
|
export const SCREENCI_MOCK_RECORD_ENV = 'SCREENCI_MOCK_RECORD';
|
|
3
3
|
export const SCREENCI_LANGUAGES_ENV = 'SCREENCI_LANGUAGES';
|
|
4
|
-
export const
|
|
4
|
+
export const SCREENCI_VALUES_OVERRIDES_ENV = 'SCREENCI_VALUES_OVERRIDES';
|
|
5
5
|
export const SCREENCI_RECORD_OPTIONS_ENV = 'SCREENCI_RECORD_OPTIONS';
|
|
6
6
|
export const SCREENCI_DISABLE_RECORDING_TIMINGS_ENV = 'SCREENCI_DISABLE_RECORDING_TIMINGS';
|
|
7
7
|
export const SCREENCI_DEBUG_TIMING_ENV = 'SCREENCI_DEBUG_TIMING';
|
|
8
|
+
export const SCREENCI_UPLOAD_EXISTING_ENV = 'UPLOAD_EXISTING';
|
|
9
|
+
/**
|
|
10
|
+
* When set, `screenci record` skips the Playwright recording run entirely and
|
|
11
|
+
* re-uploads whatever is already on disk under `.screenci`. Useful for resending
|
|
12
|
+
* the most recent local recordings when only the upload failed, without paying
|
|
13
|
+
* to re-record. Internal/debug-only: not surfaced as a documented flag.
|
|
14
|
+
*/
|
|
15
|
+
export function isUploadExistingEnabled(env = process.env) {
|
|
16
|
+
return (env[SCREENCI_UPLOAD_EXISTING_ENV] === 'true' ||
|
|
17
|
+
env[SCREENCI_UPLOAD_EXISTING_ENV] === '1');
|
|
18
|
+
}
|
|
8
19
|
/**
|
|
9
20
|
* When set, screenci logs a per-phase timing breakdown for each interaction so
|
|
10
21
|
* a slow recording can be traced to the phase responsible (snapshot, cursor
|
|
@@ -55,14 +66,14 @@ export function parseRequestedLanguages(env = process.env) {
|
|
|
55
66
|
return languages.length > 0 ? languages : null;
|
|
56
67
|
}
|
|
57
68
|
/**
|
|
58
|
-
* Parse Studio
|
|
69
|
+
* Parse Studio values-field overrides injected for a re-record. Because the
|
|
59
70
|
* recording process never reaches the backend, Studio edits are passed in via
|
|
60
|
-
* `
|
|
71
|
+
* `SCREENCI_VALUES_OVERRIDES` (a JSON map of language -> field -> value), set by
|
|
61
72
|
* the CLI from the backend before the recording runs. Returns `null` when unset
|
|
62
|
-
* or malformed, so the `
|
|
73
|
+
* or malformed, so the `values` fixture falls back to the code-declared seed.
|
|
63
74
|
*/
|
|
64
|
-
export function
|
|
65
|
-
const raw = env[
|
|
75
|
+
export function parseValuesOverrides(env = process.env) {
|
|
76
|
+
const raw = env[SCREENCI_VALUES_OVERRIDES_ENV];
|
|
66
77
|
if (raw === undefined || raw.trim().length === 0)
|
|
67
78
|
return null;
|
|
68
79
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeMode.js","sourceRoot":"","sources":["../../src/runtimeMode.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAA;AAC1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,sBAAsB,CAAA;AAC9D,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAA;AAC1D,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"runtimeMode.js","sourceRoot":"","sources":["../../src/runtimeMode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,46 @@
|
|
|
1
1
|
import { spawn as nodeSpawn } from 'child_process';
|
|
2
2
|
import { readFile as nodeReadFile } from 'fs/promises';
|
|
3
|
+
/** Probes whether an ffmpeg binary exposes a given input demuxer by name. */
|
|
4
|
+
export type FfmpegDemuxerProbe = (ffmpegPath: string, demuxer: string) => boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Probes `ffmpeg -formats` for an input (demuxing) format by name. Results are
|
|
7
|
+
* memoised per binary+demuxer so resolving the capture binary once per video
|
|
8
|
+
* does not re-spawn ffmpeg. Returns `false` if the binary cannot be run.
|
|
9
|
+
*/
|
|
10
|
+
export declare const defaultProbeDemuxerSupport: FfmpegDemuxerProbe;
|
|
11
|
+
/** @internal - injected in tests */
|
|
12
|
+
export type ResolveCaptureFfmpegDeps = {
|
|
13
|
+
env?: NodeJS.ProcessEnv;
|
|
14
|
+
platform?: NodeJS.Platform;
|
|
15
|
+
probeDemuxerSupport?: FfmpegDemuxerProbe;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Resolves the ffmpeg binary used for audio capture.
|
|
19
|
+
*
|
|
20
|
+
* `SCREENCI_FFMPEG_PATH` always wins. Otherwise the bundled `ffmpeg-static` is
|
|
21
|
+
* used, except on Linux when it lacks the `pulse` input demuxer: the static
|
|
22
|
+
* johnvansickle builds omit libpulse (it would be a runtime dependency), so
|
|
23
|
+
* capturing the per-worker PulseAudio/PipeWire monitor would fail with
|
|
24
|
+
* "Unknown input format: 'pulse'". In that case screenci falls back to a system
|
|
25
|
+
* `ffmpeg` on PATH when it provides the demuxer. The bundled binary cannot be
|
|
26
|
+
* bridged through its own `alsa` either: loading the host's ALSA pulse plugin
|
|
27
|
+
* into its bundled libasound crashes on an ABI mismatch.
|
|
28
|
+
*/
|
|
29
|
+
export declare function resolveCaptureFfmpegPath(deps?: ResolveCaptureFfmpegDeps): string;
|
|
3
30
|
export declare const SCREEN_AUDIO_DOCS_URL = "https://screenci.com/docs/guides/screen-audio";
|
|
4
31
|
/**
|
|
5
32
|
* Screen audio capture is supported on Linux only. macOS and Windows have no
|
|
6
33
|
* way to route just the recording browser into an isolated capture device
|
|
7
34
|
* without third-party tooling, so capturing there would either pick up every
|
|
8
|
-
* app's sound or require muting the whole machine.
|
|
9
|
-
*
|
|
35
|
+
* app's sound or require muting the whole machine. Because captureAudio promises
|
|
36
|
+
* isolated audio, screenci fails fast on those platforms instead of writing a
|
|
37
|
+
* misleading (or silent) track.
|
|
10
38
|
*/
|
|
11
39
|
export declare function isScreenAudioSupported(platform?: NodeJS.Platform): boolean;
|
|
12
40
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
41
|
+
* Message used when audio capture is requested on a platform where it is not
|
|
42
|
+
* supported: an early heads-up warning at config load, and the error the
|
|
43
|
+
* recording fixture throws. Returns `null` on supported platforms.
|
|
15
44
|
*/
|
|
16
45
|
export declare function screenAudioUnsupportedMessage(platform?: NodeJS.Platform): string | null;
|
|
17
46
|
/** Sets (or clears with `null`) the capture device for this worker. */
|
|
@@ -45,6 +74,7 @@ export type ScreenAudioCapture = {
|
|
|
45
74
|
export type ScreenAudioDeps = {
|
|
46
75
|
spawn: typeof nodeSpawn;
|
|
47
76
|
readFile: typeof nodeReadFile;
|
|
77
|
+
ffmpegPath?: string;
|
|
48
78
|
};
|
|
49
79
|
/**
|
|
50
80
|
* Starts a background ffmpeg process that captures audio from the system's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenAudio.d.ts","sourceRoot":"","sources":["../../src/screenAudio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"screenAudio.d.ts","sourceRoot":"","sources":["../../src/screenAudio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAA8B,MAAM,eAAe,CAAA;AAE9E,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,aAAa,CAAA;AAKtD,6EAA6E;AAC7E,MAAM,MAAM,kBAAkB,GAAG,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,KACZ,OAAO,CAAA;AAIZ;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,kBAgCxC,CAAA;AAED,oCAAoC;AACpC,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;IAC1B,mBAAmB,CAAC,EAAE,kBAAkB,CAAA;CACzC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,GAAE,wBAA6B,GAClC,MAAM,CAmBR;AAED,eAAO,MAAM,qBAAqB,kDACe,CAAA;AAEjD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,IAAI,CASf;AAWD,uEAAuE;AACvE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAElE;AAED,gBAAgB;AAChB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,4DAA4D;IAC5D,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,MAAM,GAAE,MAAM,GAAG,IAA0B,GAC1C,iBAAiB,CAuBnB;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAA;CAC1C,CAAA;AAED,oCAAoC;AACpC,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,OAAO,SAAS,CAAA;IACvB,QAAQ,EAAE,OAAO,YAAY,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,eAA8D,GACnE,kBAAkB,CA+FpB"}
|
package/dist/src/screenAudio.js
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenAudio.js","sourceRoot":"","sources":["../../src/screenAudio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"screenAudio.js","sourceRoot":"","sources":["../../src/screenAudio.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,18 @@ export declare function workerSinkName(pid?: number): string;
|
|
|
29
29
|
* the command fails (callers fall back to the default device and warn).
|
|
30
30
|
*/
|
|
31
31
|
export declare function createNullSink(name?: string, deps?: SinkDeps): Promise<NullSink | null>;
|
|
32
|
+
/**
|
|
33
|
+
* Verifies that screen-audio capture can actually run on this machine: the
|
|
34
|
+
* `pactl` control tool is in PATH and a PulseAudio-compatible server is
|
|
35
|
+
* reachable. Throws an actionable error otherwise, so captureAudio fails fast
|
|
36
|
+
* instead of producing a recording that silently lacks the isolated audio it
|
|
37
|
+
* promises.
|
|
38
|
+
*
|
|
39
|
+
* Only `pactl` plus a running pulse server are required. The `pulseaudio` daemon
|
|
40
|
+
* binary itself is NOT needed: PipeWire systems provide the pulse server and
|
|
41
|
+
* `pactl` (via pipewire-pulse) without it, and capture works there.
|
|
42
|
+
*/
|
|
43
|
+
export declare function assertScreenAudioCaptureReady(deps?: SinkDeps): Promise<void>;
|
|
32
44
|
/** Unloads a previously created null sink. Best effort: never throws. */
|
|
33
45
|
export declare function unloadNullSink(sink: NullSink, deps?: SinkDeps): Promise<void>;
|
|
34
46
|
//# sourceMappingURL=screenAudioSink.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenAudioSink.d.ts","sourceRoot":"","sources":["../../src/screenAudioSink.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"screenAudioSink.d.ts","sourceRoot":"","sources":["../../src/screenAudioSink.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAA;IAChB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAA;IAChB,mEAAmE;IACnE,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,oCAAoC;AACpC,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAClE,CAAA;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAoB,GAAG,MAAM,CAEhE;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,IAAI,GAAE,MAAyB,EAC/B,IAAI,GAAE,QAAsB,GAC3B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAgB1B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,GAAE,QAAsB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED,yEAAyE;AACzE,wBAAsB,cAAc,CAClC,IAAI,EAAE,QAAQ,EACd,IAAI,GAAE,QAAsB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAMf"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { execFile as nodeExecFile } from 'child_process';
|
|
2
2
|
import { promisify } from 'util';
|
|
3
|
+
import { SCREEN_AUDIO_DOCS_URL } from './screenAudio.js';
|
|
3
4
|
const execFileAsync = promisify(nodeExecFile);
|
|
4
5
|
const defaultDeps = {
|
|
5
6
|
run: (cmd, args) => execFileAsync(cmd, args),
|
|
@@ -35,6 +36,35 @@ export async function createNullSink(name = workerSinkName(), deps = defaultDeps
|
|
|
35
36
|
return null;
|
|
36
37
|
}
|
|
37
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Verifies that screen-audio capture can actually run on this machine: the
|
|
41
|
+
* `pactl` control tool is in PATH and a PulseAudio-compatible server is
|
|
42
|
+
* reachable. Throws an actionable error otherwise, so captureAudio fails fast
|
|
43
|
+
* instead of producing a recording that silently lacks the isolated audio it
|
|
44
|
+
* promises.
|
|
45
|
+
*
|
|
46
|
+
* Only `pactl` plus a running pulse server are required. The `pulseaudio` daemon
|
|
47
|
+
* binary itself is NOT needed: PipeWire systems provide the pulse server and
|
|
48
|
+
* `pactl` (via pipewire-pulse) without it, and capture works there.
|
|
49
|
+
*/
|
|
50
|
+
export async function assertScreenAudioCaptureReady(deps = defaultDeps) {
|
|
51
|
+
try {
|
|
52
|
+
await deps.run('pactl', ['--version']);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
throw new Error(`[screenci] captureAudio: "pactl" is not installed or not in PATH. ` +
|
|
56
|
+
`Install "pulseaudio-utils" (or "pipewire-pulse") and try again. ` +
|
|
57
|
+
`See ${SCREEN_AUDIO_DOCS_URL} for setup instructions.`);
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
await deps.run('pactl', ['info']);
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
throw new Error(`[screenci] captureAudio: no PulseAudio/PipeWire server is reachable ` +
|
|
64
|
+
`(\`pactl info\` failed). Start one (for example "pulseaudio --start") ` +
|
|
65
|
+
`and try again. See ${SCREEN_AUDIO_DOCS_URL} for setup instructions.`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
38
68
|
/** Unloads a previously created null sink. Best effort: never throws. */
|
|
39
69
|
export async function unloadNullSink(sink, deps = defaultDeps) {
|
|
40
70
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenAudioSink.js","sourceRoot":"","sources":["../../src/screenAudioSink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"screenAudioSink.js","sourceRoot":"","sources":["../../src/screenAudioSink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,aAAa,GAAG,SAAS,CAAC,YAAY,CAAC,CAAA;AAqB7C,MAAM,WAAW,GAAa;IAC5B,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC;CAC7C,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,OAAO,CAAC,GAAG;IACtD,OAAO,YAAY,GAAG,EAAE,CAAA;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,cAAc,EAAE,EAC/B,OAAiB,WAAW;IAE5B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YACzC,aAAa;YACb,kBAAkB;YAClB,aAAa,IAAI,EAAE;YACnB,sCAAsC,IAAI,EAAE;SAC7C,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,UAAU,EAAE,CAAA;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAAiB,WAAW;IAE5B,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,oEAAoE;YAClE,kEAAkE;YAClE,OAAO,qBAAqB,0BAA0B,CACzD,CAAA;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,sEAAsE;YACpE,wEAAwE;YACxE,sBAAsB,qBAAqB,0BAA0B,CACxE,CAAA;IACH,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAc,EACd,OAAiB,WAAW;IAE5B,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;IACpE,CAAC;AACH,CAAC"}
|
package/dist/src/screenshot.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { TestType, PlaywrightTestArgs, PlaywrightTestOptions, PlaywrightWorkerArgs, PlaywrightWorkerOptions, TestDetails, TestInfo } from '@playwright/test';
|
|
2
2
|
import type { RecordOptions, RenderOptions, ScreenCIPage } from './types.js';
|
|
3
|
+
import type { StudioMarker } from './studio.js';
|
|
3
4
|
import { type OverlayController, type OverlayInputOrFactory } from './asset.js';
|
|
4
5
|
import type { CropTarget, CropOptions } from './crop.js';
|
|
5
6
|
import { type MediaBuilder } from './builder.js';
|
|
6
7
|
import type { NormalizedFeature } from './declare.js';
|
|
7
|
-
import { type
|
|
8
|
+
import { type Values } from './localizeRuntime.js';
|
|
8
9
|
/**
|
|
9
10
|
* The `crop` fixture argument. Call it inside a `screenshot()` body to crop the
|
|
10
11
|
* implicit end-of-body capture to a locator or pixel region. Replaces the
|
|
@@ -12,14 +13,14 @@ import { type TextValues } from './localizeRuntime.js';
|
|
|
12
13
|
*/
|
|
13
14
|
export type CropFixture = (target: CropTarget, options?: CropOptions) => Promise<void>;
|
|
14
15
|
type ScreenshotFixtureOptions = {
|
|
15
|
-
recordOptions: RecordOptions |
|
|
16
|
-
renderOptions: RenderOptions |
|
|
16
|
+
recordOptions: RecordOptions | StudioMarker<Partial<RecordOptions>>;
|
|
17
|
+
renderOptions: RenderOptions | StudioMarker<Partial<RenderOptions>> | undefined;
|
|
17
18
|
/** Active language for this pass; see {@link video} for details. Internal. */
|
|
18
19
|
_screenciLanguage: string | undefined;
|
|
19
20
|
/** Grouping name written to `metadata.videoName`. Internal. */
|
|
20
21
|
_screenciVideoName: string | undefined;
|
|
21
|
-
/**
|
|
22
|
-
|
|
22
|
+
/** Values-field declaration (`screenshot.values(...)`). Internal. */
|
|
23
|
+
_screenciValues: NormalizedFeature<string> | undefined;
|
|
23
24
|
/** Overlay declaration (`screenshot.overlays(...)`). Internal. */
|
|
24
25
|
_screenciOverlays: NormalizedFeature<OverlayInputOrFactory> | undefined;
|
|
25
26
|
/**
|
|
@@ -34,11 +35,11 @@ type ScreenshotFixtures = {
|
|
|
34
35
|
/** The language being captured in this pass; `undefined` outside per-language mode. */
|
|
35
36
|
language: string | undefined;
|
|
36
37
|
/**
|
|
37
|
-
* Injected
|
|
38
|
-
* declared in `screenshot.
|
|
38
|
+
* Injected values fields for the active language, keyed by the field names
|
|
39
|
+
* declared in `screenshot.values(...)`. A still is silent, so there is no
|
|
39
40
|
* `narration` fixture.
|
|
40
41
|
*/
|
|
41
|
-
|
|
42
|
+
values: Values;
|
|
42
43
|
/**
|
|
43
44
|
* Overlay controllers for the names declared in `screenshot.overlays(...)`.
|
|
44
45
|
* Empty when none are declared.
|
|
@@ -93,16 +94,17 @@ interface Screenshot extends ScreenshotCallSignatures {
|
|
|
93
94
|
/**
|
|
94
95
|
* Capture one localized screenshot per declared language. By default each
|
|
95
96
|
* language is captured in its own pass with the browser `locale` set from the
|
|
96
|
-
* language, and the body receives the active `language` and `
|
|
97
|
+
* language, and the body receives the active `language` and `values` fields.
|
|
97
98
|
* Chainable with `.each(...)`.
|
|
98
99
|
*/
|
|
99
|
-
/** Declare on-screen
|
|
100
|
-
|
|
101
|
-
/** Declare overlays (
|
|
100
|
+
/** Declare on-screen values fields (array = Studio-owned, object = code values). */
|
|
101
|
+
values: MediaBuilder<ScreenshotArgs>['values'];
|
|
102
|
+
/** Declare overlays (`studio([...])` = Studio-owned, object = code values/factories). */
|
|
102
103
|
overlays: MediaBuilder<ScreenshotArgs>['overlays'];
|
|
103
104
|
/**
|
|
104
|
-
* Declare the recorded language set / capture mode. Pass `
|
|
105
|
-
* web app own the set
|
|
105
|
+
* Declare the recorded language set / capture mode. Pass `studio()` to let the
|
|
106
|
+
* web app own the set (`studio(['en', 'fi'])` to seed it), an array
|
|
107
|
+
* `['en', 'fi']`, or an options object.
|
|
106
108
|
*/
|
|
107
109
|
languages: MediaBuilder<ScreenshotArgs>['languages'];
|
|
108
110
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/screenshot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,WAAW,EACX,QAAQ,EACT,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC5E,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC3B,MAAM,YAAY,CAAA;AAmBnB,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAUxD,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAGL,KAAK,
|
|
1
|
+
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/screenshot.ts"],"names":[],"mappings":"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"}
|
package/dist/src/screenshot.js
CHANGED
|
@@ -16,8 +16,8 @@ import { getRuntimePage, setRuntimeCrop } from './runtimeContext.js';
|
|
|
16
16
|
import { ScreenciError } from './errors.js';
|
|
17
17
|
import { withActiveRecordingContext, resolveEffectiveRecordOptions, resolveStudioRecordOptions, resolveStudioRenderOptions, } from './video.js';
|
|
18
18
|
import { createVideoBuilder, SCREENSHOT_FEATURES, } from './builder.js';
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
19
|
+
import { buildValuesDeclaration, buildValues, } from './localizeRuntime.js';
|
|
20
|
+
import { parseValuesOverrides } from './runtimeMode.js';
|
|
21
21
|
/** File name of the raw page capture written beside `data.json`. */
|
|
22
22
|
const SCREENSHOT_FILE_NAME = 'screenshot.png';
|
|
23
23
|
const _screenshotBase = base.extend({
|
|
@@ -25,14 +25,14 @@ const _screenshotBase = base.extend({
|
|
|
25
25
|
renderOptions: [undefined, { option: true }],
|
|
26
26
|
_screenciLanguage: [undefined, { option: true }],
|
|
27
27
|
_screenciVideoName: [undefined, { option: true }],
|
|
28
|
-
|
|
28
|
+
_screenciValues: [undefined, { option: true }],
|
|
29
29
|
_screenciOverlays: [undefined, { option: true }],
|
|
30
30
|
_screenciSourceFile: [undefined, { option: true }],
|
|
31
31
|
language: async ({ _screenciLanguage }, use) => {
|
|
32
32
|
await use(_screenciLanguage);
|
|
33
33
|
},
|
|
34
|
-
|
|
35
|
-
await use(
|
|
34
|
+
values: async ({ _screenciValues, _screenciLanguage }, use) => {
|
|
35
|
+
await use(buildValues(_screenciValues, _screenciLanguage, parseValuesOverrides()));
|
|
36
36
|
},
|
|
37
37
|
overlays: async ({ _screenciOverlays, _screenciLanguage }, use) => {
|
|
38
38
|
await use(buildOverlays(_screenciOverlays, _screenciLanguage));
|
|
@@ -96,7 +96,7 @@ const _screenshotBase = base.extend({
|
|
|
96
96
|
await context.close();
|
|
97
97
|
}
|
|
98
98
|
},
|
|
99
|
-
page: async ({ context, recordOptions: codeRecordOptions, renderOptions, deviceScaleFactor, _screenciLanguage,
|
|
99
|
+
page: async ({ context, recordOptions: codeRecordOptions, renderOptions, deviceScaleFactor, _screenciLanguage, _screenciValues, _screenciVideoName, _screenciSourceFile, }, use, testInfo) => {
|
|
100
100
|
const shouldRecord = process.env.SCREENCI_RECORDING === 'true';
|
|
101
101
|
const { base: baseRecordOptions, studio: studioRecord } = resolveStudioRecordOptions(codeRecordOptions);
|
|
102
102
|
const { obj: renderOptionsObj, studio: studioRender } = resolveStudioRenderOptions(renderOptions);
|
|
@@ -106,9 +106,9 @@ const _screenshotBase = base.extend({
|
|
|
106
106
|
recordOptions: studioRecord,
|
|
107
107
|
});
|
|
108
108
|
recorder.setActiveLanguage(_screenciLanguage ?? null);
|
|
109
|
-
// Declared `
|
|
109
|
+
// Declared `values` fields (and the active language's seeds) emitted once at
|
|
110
110
|
// recording start so the backend/Studio learn them.
|
|
111
|
-
const
|
|
111
|
+
const valuesDeclaration = buildValuesDeclaration(_screenciValues, _screenciLanguage);
|
|
112
112
|
const videoName = _screenciVideoName ?? testInfo.title;
|
|
113
113
|
// Asset paths are authored relative to the user's script. Playwright reports
|
|
114
114
|
// `testInfo.file` as the builder module that registered the test, so prefer
|
|
@@ -129,7 +129,7 @@ const _screenshotBase = base.extend({
|
|
|
129
129
|
page,
|
|
130
130
|
recorder,
|
|
131
131
|
unendedOverlays: 'autoEnd',
|
|
132
|
-
|
|
132
|
+
valuesDeclaration,
|
|
133
133
|
fn: async () => {
|
|
134
134
|
await use(page);
|
|
135
135
|
},
|
|
@@ -166,7 +166,7 @@ const _screenshotBase = base.extend({
|
|
|
166
166
|
page,
|
|
167
167
|
recorder,
|
|
168
168
|
unendedOverlays: 'autoEnd',
|
|
169
|
-
|
|
169
|
+
valuesDeclaration,
|
|
170
170
|
fn: async () => {
|
|
171
171
|
await use(page);
|
|
172
172
|
},
|
|
@@ -235,7 +235,7 @@ const _screenshotBase = base.extend({
|
|
|
235
235
|
export const screenshot = _screenshotBase;
|
|
236
236
|
// Attach the chainable fan-out builders, mirroring `video`.
|
|
237
237
|
const _screenshotRootBuilder = createVideoBuilder(_screenshotBase, SCREENSHOT_FEATURES);
|
|
238
|
-
screenshot.
|
|
238
|
+
screenshot.values = _screenshotRootBuilder.values;
|
|
239
239
|
screenshot.overlays = _screenshotRootBuilder.overlays;
|
|
240
240
|
screenshot.languages = _screenshotRootBuilder.languages;
|
|
241
241
|
screenshot.each = _screenshotRootBuilder.each;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/screenshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAU/C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/screenshot.ts"],"names":[],"mappings":"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"}
|