@argo-video/cli 0.5.0 → 0.7.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 +38 -4
- package/dist/camera.d.ts +30 -0
- package/dist/camera.d.ts.map +1 -0
- package/dist/camera.js +299 -0
- package/dist/camera.js.map +1 -0
- package/dist/chapters.d.ts +7 -0
- package/dist/chapters.d.ts.map +1 -0
- package/dist/chapters.js +22 -0
- package/dist/chapters.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +15 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/doctor.d.ts +9 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +119 -0
- package/dist/doctor.js.map +1 -0
- package/dist/export.d.ts +4 -0
- package/dist/export.d.ts.map +1 -1
- package/dist/export.js +51 -5
- package/dist/export.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -1
- package/dist/pipeline.d.ts +4 -1
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +37 -3
- package/dist/pipeline.js.map +1 -1
- package/dist/record.d.ts +1 -0
- package/dist/record.d.ts.map +1 -1
- package/dist/record.js +1 -0
- package/dist/record.js.map +1 -1
- package/dist/report.d.ts +16 -0
- package/dist/report.d.ts.map +1 -0
- package/dist/report.js +33 -0
- package/dist/report.js.map +1 -0
- package/dist/subtitles.d.ts +4 -0
- package/dist/subtitles.d.ts.map +1 -0
- package/dist/subtitles.js +34 -0
- package/dist/subtitles.js.map +1 -0
- package/dist/tts/cache.d.ts +1 -0
- package/dist/tts/cache.d.ts.map +1 -1
- package/dist/tts/cache.js +2 -2
- package/dist/tts/cache.js.map +1 -1
- package/dist/tts/engine.d.ts +5 -0
- package/dist/tts/engine.d.ts.map +1 -1
- package/dist/tts/engine.js +22 -0
- package/dist/tts/engine.js.map +1 -1
- package/dist/tts/engines/elevenlabs.d.ts +17 -0
- package/dist/tts/engines/elevenlabs.d.ts.map +1 -0
- package/dist/tts/engines/elevenlabs.js +52 -0
- package/dist/tts/engines/elevenlabs.js.map +1 -0
- package/dist/tts/engines/gemini.d.ts +13 -0
- package/dist/tts/engines/gemini.d.ts.map +1 -0
- package/dist/tts/engines/gemini.js +53 -0
- package/dist/tts/engines/gemini.js.map +1 -0
- package/dist/tts/engines/index.d.ts +28 -0
- package/dist/tts/engines/index.d.ts.map +1 -0
- package/dist/tts/engines/index.js +21 -0
- package/dist/tts/engines/index.js.map +1 -0
- package/dist/tts/engines/kokoro.d.ts +27 -0
- package/dist/tts/engines/kokoro.d.ts.map +1 -0
- package/dist/tts/engines/kokoro.js +76 -0
- package/dist/tts/engines/kokoro.js.map +1 -0
- package/dist/tts/engines/mlx-audio.d.ts +14 -0
- package/dist/tts/engines/mlx-audio.d.ts.map +1 -0
- package/dist/tts/engines/mlx-audio.js +40 -0
- package/dist/tts/engines/mlx-audio.js.map +1 -0
- package/dist/tts/engines/openai.d.ts +13 -0
- package/dist/tts/engines/openai.d.ts.map +1 -0
- package/dist/tts/engines/openai.js +50 -0
- package/dist/tts/engines/openai.js.map +1 -0
- package/dist/tts/engines/sarvam.d.ts +13 -0
- package/dist/tts/engines/sarvam.d.ts.map +1 -0
- package/dist/tts/engines/sarvam.js +51 -0
- package/dist/tts/engines/sarvam.js.map +1 -0
- package/dist/tts/generate.d.ts.map +1 -1
- package/dist/tts/generate.js +22 -16
- package/dist/tts/generate.js.map +1 -1
- package/dist/tts/kokoro.d.ts +1 -29
- package/dist/tts/kokoro.d.ts.map +1 -1
- package/dist/tts/kokoro.js +2 -72
- package/dist/tts/kokoro.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ Write a demo script with Playwright. Add a voiceover manifest. Run one command.
|
|
|
20
20
|
## Showcase
|
|
21
21
|
|
|
22
22
|
[Watch the demo video](
|
|
23
|
-
https://gist.github.com/user-attachments/assets/
|
|
23
|
+
https://gist.github.com/user-attachments/assets/57c877b7-fc53-4c92-968d-707ee63b2fec)
|
|
24
24
|
|
|
25
25
|
> *This demo was recorded by Argo, using Argo. Yes, really.*
|
|
26
26
|
|
|
@@ -179,11 +179,13 @@ argo tts generate <manifest> Generate TTS clips from manifest
|
|
|
179
179
|
argo export <demo> Merge video + audio to MP4
|
|
180
180
|
argo pipeline <demo> Run all steps end-to-end
|
|
181
181
|
argo validate <demo> Check scene name consistency (no TTS/recording)
|
|
182
|
+
argo doctor Check environment (ffmpeg, Playwright, config)
|
|
182
183
|
argo --config <path> <command> Use a custom config file
|
|
183
184
|
|
|
184
185
|
Options:
|
|
185
186
|
--browser <engine> chromium | webkit | firefox (overrides config)
|
|
186
187
|
--base-url <url> Override baseURL from config
|
|
188
|
+
--headed Run browser in visible mode
|
|
187
189
|
```
|
|
188
190
|
|
|
189
191
|
## API
|
|
@@ -194,8 +196,9 @@ Argo exports Playwright fixtures and helpers for use in demo scripts:
|
|
|
194
196
|
import { test, expect, demoType } from '@argo-video/cli';
|
|
195
197
|
import { showOverlay, hideOverlay, withOverlay } from '@argo-video/cli';
|
|
196
198
|
import { showConfetti } from '@argo-video/cli';
|
|
199
|
+
import { spotlight, focusRing, dimAround, zoomTo, resetCamera } from '@argo-video/cli';
|
|
197
200
|
import { showCaption, hideCaption, withCaption } from '@argo-video/cli';
|
|
198
|
-
import { defineConfig, demosProject } from '@argo-video/cli';
|
|
201
|
+
import { defineConfig, demosProject, engines } from '@argo-video/cli';
|
|
199
202
|
```
|
|
200
203
|
|
|
201
204
|
| Export | Description |
|
|
@@ -207,6 +210,11 @@ import { defineConfig, demosProject } from '@argo-video/cli';
|
|
|
207
210
|
| `withOverlay(page, scene, cue, action)` | Show overlay during an async action |
|
|
208
211
|
| `hideOverlay(page, zone?)` | Remove overlay from a zone |
|
|
209
212
|
| `showConfetti(page, opts?)` | Non-blocking confetti animation (`spread: 'burst' \| 'rain'`, `wait: true` to block) |
|
|
213
|
+
| `spotlight(page, selector, opts?)` | Dark overlay with hole around target element |
|
|
214
|
+
| `focusRing(page, selector, opts?)` | Pulsing glow border on target |
|
|
215
|
+
| `dimAround(page, selector, opts?)` | Fade sibling elements to highlight target |
|
|
216
|
+
| `zoomTo(page, selector, opts?)` | Scale viewport centered on target |
|
|
217
|
+
| `resetCamera(page)` | Clear all active camera effects |
|
|
210
218
|
| `showCaption(page, scene, text, durationMs)` | Show a simple text caption |
|
|
211
219
|
| `withCaption(page, scene, text, action)` | Show caption during an async action |
|
|
212
220
|
| `hideCaption(page)` | Remove caption |
|
|
@@ -230,13 +238,39 @@ choco install ffmpeg # Windows
|
|
|
230
238
|
|
|
231
239
|
## How the pipeline works
|
|
232
240
|
|
|
233
|
-
1. **TTS** —
|
|
241
|
+
1. **TTS** — Generates WAV clips from the voiceover manifest. Kokoro is the default (local, free), but you can swap in OpenAI, ElevenLabs, Gemini, Sarvam, or mlx-audio via `engines.*` factories. Clips are cached by content hash in `.argo/<demo>/clips/`.
|
|
242
|
+
|
|
243
|
+
```js
|
|
244
|
+
import { defineConfig, engines } from '@argo-video/cli';
|
|
245
|
+
export default defineConfig({
|
|
246
|
+
tts: { engine: engines.openai({ model: 'tts-1-hd' }) },
|
|
247
|
+
});
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
| Engine | Type | Install | API Key |
|
|
251
|
+
|--------|------|---------|---------|
|
|
252
|
+
| `engines.kokoro()` | local | built-in | none |
|
|
253
|
+
| `engines.mlxAudio()` | local | `pip install mlx-audio` | none |
|
|
254
|
+
| `engines.openai()` | cloud | `npm i openai` | `OPENAI_API_KEY` |
|
|
255
|
+
| `engines.elevenlabs()` | cloud | `npm i elevenlabs` | `ELEVENLABS_API_KEY` |
|
|
256
|
+
| `engines.gemini()` | cloud | `npm i @google/genai` | `GEMINI_API_KEY` |
|
|
257
|
+
| `engines.sarvam()` | cloud | none (fetch) | `SARVAM_API_KEY` |
|
|
234
258
|
|
|
235
259
|
2. **Record** — Playwright runs the demo script in a real browser. The `narration` fixture records timestamps for each `mark()` call. Video is captured at native resolution.
|
|
236
260
|
|
|
237
261
|
3. **Align** — Each TTS clip is placed at its scene's recorded timestamp. Overlapping clips are pushed forward with a 100ms gap. All clips are mixed into a single `narration-aligned.wav`.
|
|
238
262
|
|
|
239
|
-
4. **Export** — ffmpeg combines the screen recording (WebM) with the aligned narration (WAV) into an H.264 MP4.
|
|
263
|
+
4. **Export** — ffmpeg combines the screen recording (WebM) with the aligned narration (WAV) into an H.264 MP4 with chapter markers. Subtitle files (`.srt` + `.vtt`) and a scene report are generated alongside the video.
|
|
264
|
+
|
|
265
|
+
## Example
|
|
266
|
+
|
|
267
|
+
A self-contained example is in [`example/`](example/) — it records a demo of Argo's own showcase page:
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
cd example && npm install && npx playwright install webkit
|
|
271
|
+
npm run serve # in one terminal
|
|
272
|
+
npm run demo # in another
|
|
273
|
+
```
|
|
240
274
|
|
|
241
275
|
## LLM Skill
|
|
242
276
|
|
package/dist/camera.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Page } from '@playwright/test';
|
|
2
|
+
interface CameraOptions {
|
|
3
|
+
duration?: number;
|
|
4
|
+
fadeIn?: number;
|
|
5
|
+
fadeOut?: number;
|
|
6
|
+
wait?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface SpotlightOptions extends CameraOptions {
|
|
9
|
+
opacity?: number;
|
|
10
|
+
padding?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface FocusRingOptions extends CameraOptions {
|
|
13
|
+
color?: string;
|
|
14
|
+
width?: number;
|
|
15
|
+
pulse?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface DimAroundOptions extends CameraOptions {
|
|
18
|
+
dimOpacity?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface ZoomToOptions extends CameraOptions {
|
|
21
|
+
/** Zoom level — 1.5 means 150% magnification. Default: 1.5 */
|
|
22
|
+
scale?: number;
|
|
23
|
+
}
|
|
24
|
+
export declare function spotlight(page: Page, selector: string, opts?: SpotlightOptions): Promise<void>;
|
|
25
|
+
export declare function focusRing(page: Page, selector: string, opts?: FocusRingOptions): Promise<void>;
|
|
26
|
+
export declare function dimAround(page: Page, selector: string, opts?: DimAroundOptions): Promise<void>;
|
|
27
|
+
export declare function zoomTo(page: Page, selector: string, opts?: ZoomToOptions): Promise<void>;
|
|
28
|
+
export declare function resetCamera(page: Page): Promise<void>;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=camera.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../src/camera.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAO7C,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsBD,wBAAsB,SAAS,CAC7B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,gBAAgB,GACtB,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,gBAAgB,GACtB,OAAO,CAAC,IAAI,CAAC,CAkDf;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,gBAAgB,GACtB,OAAO,CAAC,IAAI,CAAC,CAyDf;AAED,wBAAsB,MAAM,CAC1B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,aAAa,GACnB,OAAO,CAAC,IAAI,CAAC,CA6Hf;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC3D"}
|
package/dist/camera.js
ADDED
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
const CAMERA_ATTR = 'data-argo-camera';
|
|
2
|
+
const OVERLAY_ID_PREFIX = 'argo-overlay-';
|
|
3
|
+
const CONFETTI_ID = 'argo-confetti';
|
|
4
|
+
const ZOOM_WRAPPER_ID = 'argo-camera-zoom-wrapper';
|
|
5
|
+
async function runCameraEffect(page, fn, args, totalMs, wait) {
|
|
6
|
+
try {
|
|
7
|
+
await page.evaluate(fn, args);
|
|
8
|
+
if (wait) {
|
|
9
|
+
await page.waitForTimeout(totalMs);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
catch (err) {
|
|
13
|
+
const msg = err?.message ?? '';
|
|
14
|
+
if (!msg.includes('Target closed') && !msg.includes('destroyed') && !msg.includes('closed') && !msg.includes('disposed')) {
|
|
15
|
+
console.warn(`Warning: camera effect failed: ${msg}`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export async function spotlight(page, selector, opts) {
|
|
20
|
+
const duration = opts?.duration ?? 3000;
|
|
21
|
+
const fadeIn = opts?.fadeIn ?? 400;
|
|
22
|
+
const fadeOut = opts?.fadeOut ?? 400;
|
|
23
|
+
const opacity = opts?.opacity ?? 0.7;
|
|
24
|
+
const padding = opts?.padding ?? 12;
|
|
25
|
+
const wait = opts?.wait ?? false;
|
|
26
|
+
await runCameraEffect(page, ({ selector, duration, fadeIn, fadeOut, opacity, padding, attr }) => {
|
|
27
|
+
const target = document.querySelector(selector);
|
|
28
|
+
if (!target)
|
|
29
|
+
return;
|
|
30
|
+
const rect = target.getBoundingClientRect();
|
|
31
|
+
const overlay = document.createElement('div');
|
|
32
|
+
overlay.setAttribute(attr, 'spotlight');
|
|
33
|
+
overlay.style.cssText = `
|
|
34
|
+
position: fixed; inset: 0; z-index: 99990; pointer-events: none;
|
|
35
|
+
background: rgba(0,0,0,${opacity});
|
|
36
|
+
clip-path: polygon(
|
|
37
|
+
0% 0%, 0% 100%, 100% 100%, 100% 0%, 0% 0%,
|
|
38
|
+
${rect.left - padding}px ${rect.top - padding}px,
|
|
39
|
+
${rect.left - padding}px ${rect.bottom + padding}px,
|
|
40
|
+
${rect.right + padding}px ${rect.bottom + padding}px,
|
|
41
|
+
${rect.right + padding}px ${rect.top - padding}px,
|
|
42
|
+
${rect.left - padding}px ${rect.top - padding}px
|
|
43
|
+
);
|
|
44
|
+
opacity: 0; transition: opacity ${fadeIn}ms ease-out;
|
|
45
|
+
`;
|
|
46
|
+
document.body.appendChild(overlay);
|
|
47
|
+
requestAnimationFrame(() => { overlay.style.opacity = '1'; });
|
|
48
|
+
setTimeout(() => {
|
|
49
|
+
overlay.style.transition = `opacity ${fadeOut}ms ease-out`;
|
|
50
|
+
overlay.style.opacity = '0';
|
|
51
|
+
setTimeout(() => overlay.remove(), fadeOut);
|
|
52
|
+
}, duration);
|
|
53
|
+
}, { selector, duration, fadeIn, fadeOut, opacity, padding, attr: CAMERA_ATTR }, duration + fadeOut, wait);
|
|
54
|
+
}
|
|
55
|
+
export async function focusRing(page, selector, opts) {
|
|
56
|
+
const duration = opts?.duration ?? 3000;
|
|
57
|
+
const fadeIn = opts?.fadeIn ?? 400;
|
|
58
|
+
const fadeOut = opts?.fadeOut ?? 400;
|
|
59
|
+
const color = opts?.color ?? '#3b82f6';
|
|
60
|
+
const ringWidth = opts?.width ?? 3;
|
|
61
|
+
const pulse = opts?.pulse ?? true;
|
|
62
|
+
const wait = opts?.wait ?? false;
|
|
63
|
+
await runCameraEffect(page, ({ selector, duration, fadeIn, fadeOut, color, ringWidth, pulse, attr }) => {
|
|
64
|
+
const target = document.querySelector(selector);
|
|
65
|
+
if (!target)
|
|
66
|
+
return;
|
|
67
|
+
const rect = target.getBoundingClientRect();
|
|
68
|
+
// Inject pulse animation if needed
|
|
69
|
+
if (pulse) {
|
|
70
|
+
const style = document.createElement('style');
|
|
71
|
+
style.setAttribute(attr, 'focus-ring-style');
|
|
72
|
+
style.textContent = `
|
|
73
|
+
@keyframes argo-focus-pulse {
|
|
74
|
+
0%, 100% { box-shadow: 0 0 0 ${ringWidth}px ${color}66, 0 0 0 ${ringWidth * 2}px ${color}26; }
|
|
75
|
+
50% { box-shadow: 0 0 0 ${ringWidth + 1}px ${color}99, 0 0 0 ${ringWidth * 2 + 2}px ${color}40, 0 0 20px ${color}4d; }
|
|
76
|
+
}
|
|
77
|
+
`;
|
|
78
|
+
document.head.appendChild(style);
|
|
79
|
+
}
|
|
80
|
+
const ring = document.createElement('div');
|
|
81
|
+
ring.setAttribute(attr, 'focus-ring');
|
|
82
|
+
ring.style.cssText = `
|
|
83
|
+
position: fixed; z-index: 99990; pointer-events: none;
|
|
84
|
+
left: ${rect.left - ringWidth}px; top: ${rect.top - ringWidth}px;
|
|
85
|
+
width: ${rect.width + ringWidth * 2}px; height: ${rect.height + ringWidth * 2}px;
|
|
86
|
+
border-radius: ${Math.min(8, parseInt(getComputedStyle(target).borderRadius) || 0) + ringWidth}px;
|
|
87
|
+
box-shadow: 0 0 0 ${ringWidth}px ${color}66, 0 0 0 ${ringWidth * 2}px ${color}26;
|
|
88
|
+
${pulse ? 'animation: argo-focus-pulse 1.5s ease-in-out infinite;' : ''}
|
|
89
|
+
opacity: 0; transition: opacity ${fadeIn}ms ease-out;
|
|
90
|
+
`;
|
|
91
|
+
document.body.appendChild(ring);
|
|
92
|
+
requestAnimationFrame(() => { ring.style.opacity = '1'; });
|
|
93
|
+
setTimeout(() => {
|
|
94
|
+
ring.style.transition = `opacity ${fadeOut}ms ease-out`;
|
|
95
|
+
ring.style.opacity = '0';
|
|
96
|
+
setTimeout(() => {
|
|
97
|
+
ring.remove();
|
|
98
|
+
document.querySelectorAll(`[${attr}="focus-ring-style"]`).forEach(el => el.remove());
|
|
99
|
+
}, fadeOut);
|
|
100
|
+
}, duration);
|
|
101
|
+
}, { selector, duration, fadeIn, fadeOut, color, ringWidth, pulse, attr: CAMERA_ATTR }, duration + fadeOut, wait);
|
|
102
|
+
}
|
|
103
|
+
export async function dimAround(page, selector, opts) {
|
|
104
|
+
const duration = opts?.duration ?? 3000;
|
|
105
|
+
const fadeIn = opts?.fadeIn ?? 400;
|
|
106
|
+
const fadeOut = opts?.fadeOut ?? 400;
|
|
107
|
+
const dimOpacity = opts?.dimOpacity ?? 0.3;
|
|
108
|
+
const wait = opts?.wait ?? false;
|
|
109
|
+
await runCameraEffect(page, ({ selector, duration, fadeIn, fadeOut, dimOpacity, attr }) => {
|
|
110
|
+
const target = document.querySelector(selector);
|
|
111
|
+
if (!target)
|
|
112
|
+
return;
|
|
113
|
+
// Find siblings to dim — walk up to a reasonable container
|
|
114
|
+
const parent = target.parentElement;
|
|
115
|
+
if (!parent)
|
|
116
|
+
return;
|
|
117
|
+
const siblings = Array.from(parent.children).filter(child => child !== target);
|
|
118
|
+
const originals = siblings.map(s => ({
|
|
119
|
+
el: s,
|
|
120
|
+
opacity: s.style.opacity,
|
|
121
|
+
transition: s.style.transition,
|
|
122
|
+
}));
|
|
123
|
+
// Mark for cleanup
|
|
124
|
+
const marker = document.createElement('div');
|
|
125
|
+
marker.setAttribute(attr, 'dim-around');
|
|
126
|
+
marker.style.display = 'none';
|
|
127
|
+
marker.__dimRestore = () => {
|
|
128
|
+
originals.forEach(({ el, opacity, transition }) => {
|
|
129
|
+
el.style.opacity = opacity;
|
|
130
|
+
el.style.transition = transition;
|
|
131
|
+
});
|
|
132
|
+
};
|
|
133
|
+
document.body.appendChild(marker);
|
|
134
|
+
// Apply dim
|
|
135
|
+
siblings.forEach(s => {
|
|
136
|
+
s.style.transition = `opacity ${fadeIn}ms ease-out`;
|
|
137
|
+
s.style.opacity = String(dimOpacity);
|
|
138
|
+
});
|
|
139
|
+
setTimeout(() => {
|
|
140
|
+
siblings.forEach(s => {
|
|
141
|
+
s.style.transition = `opacity ${fadeOut}ms ease-out`;
|
|
142
|
+
});
|
|
143
|
+
originals.forEach(({ el, opacity }) => {
|
|
144
|
+
el.style.opacity = opacity || '';
|
|
145
|
+
});
|
|
146
|
+
// Fully restore original styles after fade-out completes
|
|
147
|
+
setTimeout(() => {
|
|
148
|
+
originals.forEach(({ el, opacity, transition }) => {
|
|
149
|
+
el.style.opacity = opacity;
|
|
150
|
+
el.style.transition = transition;
|
|
151
|
+
});
|
|
152
|
+
marker.remove();
|
|
153
|
+
}, fadeOut);
|
|
154
|
+
}, duration);
|
|
155
|
+
}, { selector, duration, fadeIn, fadeOut, dimOpacity, attr: CAMERA_ATTR }, duration + fadeOut, wait);
|
|
156
|
+
}
|
|
157
|
+
export async function zoomTo(page, selector, opts) {
|
|
158
|
+
const duration = opts?.duration ?? 3000;
|
|
159
|
+
const fadeIn = opts?.fadeIn ?? 400;
|
|
160
|
+
const fadeOut = opts?.fadeOut ?? 400;
|
|
161
|
+
const scale = opts?.scale ?? 1.5;
|
|
162
|
+
const wait = opts?.wait ?? false;
|
|
163
|
+
await runCameraEffect(page, ({ selector, duration, fadeIn, fadeOut, scale, attr, overlayPrefix, confettiId, wrapperId, }) => {
|
|
164
|
+
const target = document.querySelector(selector);
|
|
165
|
+
if (!target)
|
|
166
|
+
return;
|
|
167
|
+
const rect = target.getBoundingClientRect();
|
|
168
|
+
const centerX = rect.left + rect.width / 2;
|
|
169
|
+
const centerY = rect.top + rect.height / 2;
|
|
170
|
+
const isArgoManaged = (el) => el.hasAttribute(attr) ||
|
|
171
|
+
el.id.startsWith(overlayPrefix) ||
|
|
172
|
+
el.id === confettiId;
|
|
173
|
+
const ensureZoomWrapper = () => {
|
|
174
|
+
let wrapper = document.getElementById(wrapperId);
|
|
175
|
+
if (wrapper)
|
|
176
|
+
return wrapper;
|
|
177
|
+
wrapper = document.createElement('div');
|
|
178
|
+
wrapper.id = wrapperId;
|
|
179
|
+
wrapper.style.transformOrigin = '0 0';
|
|
180
|
+
wrapper.style.willChange = 'transform';
|
|
181
|
+
const children = Array.from(document.body.children).filter((child) => {
|
|
182
|
+
if (child.id === wrapperId)
|
|
183
|
+
return false;
|
|
184
|
+
return !isArgoManaged(child);
|
|
185
|
+
});
|
|
186
|
+
children.forEach((child) => wrapper.appendChild(child));
|
|
187
|
+
document.body.insertBefore(wrapper, document.body.firstChild);
|
|
188
|
+
return wrapper;
|
|
189
|
+
};
|
|
190
|
+
const unwrapZoomWrapper = () => {
|
|
191
|
+
const wrapper = document.getElementById(wrapperId);
|
|
192
|
+
if (!wrapper)
|
|
193
|
+
return;
|
|
194
|
+
const children = Array.from(wrapper.children);
|
|
195
|
+
children.forEach((child) => document.body.insertBefore(child, wrapper));
|
|
196
|
+
wrapper.remove();
|
|
197
|
+
};
|
|
198
|
+
const wrapper = ensureZoomWrapper();
|
|
199
|
+
const origTransform = wrapper.style.transform;
|
|
200
|
+
const origTransformOrigin = wrapper.style.transformOrigin;
|
|
201
|
+
const origTransition = wrapper.style.transition;
|
|
202
|
+
const origWillChange = wrapper.style.willChange;
|
|
203
|
+
const origOverflow = document.body.style.overflow;
|
|
204
|
+
// Marker element for cleanup tracking
|
|
205
|
+
const marker = document.createElement('div');
|
|
206
|
+
marker.setAttribute(attr, 'zoom-to');
|
|
207
|
+
marker.style.display = 'none';
|
|
208
|
+
marker.__zoomRestore = {
|
|
209
|
+
wrapperId,
|
|
210
|
+
styles: {
|
|
211
|
+
transform: origTransform,
|
|
212
|
+
transformOrigin: origTransformOrigin,
|
|
213
|
+
transition: origTransition,
|
|
214
|
+
willChange: origWillChange,
|
|
215
|
+
},
|
|
216
|
+
overflow: origOverflow,
|
|
217
|
+
};
|
|
218
|
+
document.body.appendChild(marker);
|
|
219
|
+
document.body.style.overflow = 'hidden';
|
|
220
|
+
// Compute translate to center the target in the viewport after scaling.
|
|
221
|
+
// With transform-origin at 0,0: after scale(s), the point (x,y) moves to (x*s, y*s).
|
|
222
|
+
// We want the target center to land at the viewport center, so:
|
|
223
|
+
// centerX * scale + translateX = viewportWidth / 2
|
|
224
|
+
// translateX = viewportWidth / 2 - centerX * scale
|
|
225
|
+
const vw = window.innerWidth;
|
|
226
|
+
const vh = window.innerHeight;
|
|
227
|
+
const tx = vw / 2 - centerX * scale;
|
|
228
|
+
const ty = vh / 2 - centerY * scale;
|
|
229
|
+
wrapper.style.transformOrigin = '0 0';
|
|
230
|
+
wrapper.style.transition = `transform ${fadeIn}ms ease-out`;
|
|
231
|
+
requestAnimationFrame(() => {
|
|
232
|
+
wrapper.style.transform = `scale(${scale}) translate(${tx / scale}px, ${ty / scale}px)`;
|
|
233
|
+
});
|
|
234
|
+
setTimeout(() => {
|
|
235
|
+
wrapper.style.transition = `transform ${fadeOut}ms ease-out`;
|
|
236
|
+
wrapper.style.transform = origTransform || '';
|
|
237
|
+
setTimeout(() => {
|
|
238
|
+
const w = document.getElementById(wrapperId);
|
|
239
|
+
if (w) {
|
|
240
|
+
w.style.transform = origTransform || '';
|
|
241
|
+
w.style.transformOrigin = origTransformOrigin || '';
|
|
242
|
+
w.style.transition = origTransition || '';
|
|
243
|
+
w.style.willChange = origWillChange || '';
|
|
244
|
+
}
|
|
245
|
+
document.body.style.overflow = origOverflow || '';
|
|
246
|
+
unwrapZoomWrapper();
|
|
247
|
+
marker.remove();
|
|
248
|
+
}, fadeOut);
|
|
249
|
+
}, duration);
|
|
250
|
+
}, {
|
|
251
|
+
selector,
|
|
252
|
+
duration,
|
|
253
|
+
fadeIn,
|
|
254
|
+
fadeOut,
|
|
255
|
+
scale,
|
|
256
|
+
attr: CAMERA_ATTR,
|
|
257
|
+
overlayPrefix: OVERLAY_ID_PREFIX,
|
|
258
|
+
confettiId: CONFETTI_ID,
|
|
259
|
+
wrapperId: ZOOM_WRAPPER_ID,
|
|
260
|
+
}, duration + fadeOut, wait);
|
|
261
|
+
}
|
|
262
|
+
export async function resetCamera(page) {
|
|
263
|
+
try {
|
|
264
|
+
await page.evaluate((attr) => {
|
|
265
|
+
const unwrapZoomWrapper = (wrapperId) => {
|
|
266
|
+
const wrapper = document.getElementById(wrapperId);
|
|
267
|
+
if (!wrapper)
|
|
268
|
+
return;
|
|
269
|
+
const children = Array.from(wrapper.children);
|
|
270
|
+
children.forEach((child) => document.body.insertBefore(child, wrapper));
|
|
271
|
+
wrapper.remove();
|
|
272
|
+
};
|
|
273
|
+
// Clean up all camera elements
|
|
274
|
+
document.querySelectorAll(`[${attr}]`).forEach(el => {
|
|
275
|
+
// Restore dim-around originals
|
|
276
|
+
if (el.__dimRestore)
|
|
277
|
+
el.__dimRestore();
|
|
278
|
+
// Restore zoom-to: reset wrapper transform and unwrap content
|
|
279
|
+
if (el.__zoomRestore) {
|
|
280
|
+
const r = el.__zoomRestore;
|
|
281
|
+
const wrapper = document.getElementById(r.wrapperId);
|
|
282
|
+
if (wrapper) {
|
|
283
|
+
wrapper.style.transform = r.styles.transform || '';
|
|
284
|
+
wrapper.style.transformOrigin = r.styles.transformOrigin || '';
|
|
285
|
+
wrapper.style.transition = r.styles.transition || '';
|
|
286
|
+
wrapper.style.willChange = r.styles.willChange || '';
|
|
287
|
+
}
|
|
288
|
+
document.body.style.overflow = r.overflow || '';
|
|
289
|
+
unwrapZoomWrapper(r.wrapperId);
|
|
290
|
+
}
|
|
291
|
+
el.remove();
|
|
292
|
+
});
|
|
293
|
+
}, CAMERA_ATTR);
|
|
294
|
+
}
|
|
295
|
+
catch {
|
|
296
|
+
// Page may be closed
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
//# sourceMappingURL=camera.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camera.js","sourceRoot":"","sources":["../src/camera.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Placement } from './tts/align.js';
|
|
2
|
+
/**
|
|
3
|
+
* Generate ffmpeg metadata format for chapter markers.
|
|
4
|
+
* Each scene placement becomes a chapter in the MP4.
|
|
5
|
+
*/
|
|
6
|
+
export declare function generateChapterMetadata(placements: Placement[], totalDurationMs: number): string;
|
|
7
|
+
//# sourceMappingURL=chapters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chapters.d.ts","sourceRoot":"","sources":["../src/chapters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,SAAS,EAAE,EACvB,eAAe,EAAE,MAAM,GACtB,MAAM,CAmBR"}
|
package/dist/chapters.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate ffmpeg metadata format for chapter markers.
|
|
3
|
+
* Each scene placement becomes a chapter in the MP4.
|
|
4
|
+
*/
|
|
5
|
+
export function generateChapterMetadata(placements, totalDurationMs) {
|
|
6
|
+
const lines = [';FFMETADATA1'];
|
|
7
|
+
for (let i = 0; i < placements.length; i++) {
|
|
8
|
+
const p = placements[i];
|
|
9
|
+
const endMs = i < placements.length - 1
|
|
10
|
+
? placements[i + 1].startMs
|
|
11
|
+
: totalDurationMs;
|
|
12
|
+
// ffmpeg chapter times are in milliseconds
|
|
13
|
+
lines.push('');
|
|
14
|
+
lines.push('[CHAPTER]');
|
|
15
|
+
lines.push('TIMEBASE=1/1000');
|
|
16
|
+
lines.push(`START=${Math.round(p.startMs)}`);
|
|
17
|
+
lines.push(`END=${Math.round(endMs)}`);
|
|
18
|
+
lines.push(`title=${p.scene}`);
|
|
19
|
+
}
|
|
20
|
+
return lines.join('\n') + '\n';
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=chapters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chapters.js","sourceRoot":"","sources":["../src/chapters.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAuB,EACvB,eAAuB;IAEvB,MAAM,KAAK,GAAa,CAAC,cAAc,CAAC,CAAC;IAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;YACrC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO;YAC3B,CAAC,CAAC,eAAe,CAAC;QAEpB,2CAA2C;QAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AA4B5C,wBAAgB,aAAa,IAAI,OAAO,CA0IvC"}
|
package/dist/cli.js
CHANGED
|
@@ -7,6 +7,7 @@ import { exportVideo } from './export.js';
|
|
|
7
7
|
import { runPipeline } from './pipeline.js';
|
|
8
8
|
import { init } from './init.js';
|
|
9
9
|
import { validateDemo } from './validate.js';
|
|
10
|
+
import { runDoctor, formatDoctorResults } from './doctor.js';
|
|
10
11
|
function validateDemoName(name) {
|
|
11
12
|
if (!/^[a-zA-Z0-9][a-zA-Z0-9_-]*$/.test(name)) {
|
|
12
13
|
throw new Error(`Invalid demo name "${name}": only letters, numbers, hyphens, and underscores are allowed.`);
|
|
@@ -31,6 +32,7 @@ export function createProgram() {
|
|
|
31
32
|
.description('Record a demo using Playwright')
|
|
32
33
|
.addOption(new Option('--browser <engine>', 'browser engine').choices(['chromium', 'webkit', 'firefox']))
|
|
33
34
|
.option('--base-url <url>', 'override baseURL from config')
|
|
35
|
+
.option('--headed', 'run browser in headed mode (visible window)')
|
|
34
36
|
.action(async (demo, cmdOpts) => {
|
|
35
37
|
validateDemoName(demo);
|
|
36
38
|
const configPath = program.opts().config;
|
|
@@ -48,6 +50,7 @@ export function createProgram() {
|
|
|
48
50
|
deviceScaleFactor: config.video.deviceScaleFactor,
|
|
49
51
|
autoBackground: config.overlays?.autoBackground,
|
|
50
52
|
defaultPlacement: config.overlays?.defaultPlacement,
|
|
53
|
+
headed: cmdOpts.headed,
|
|
51
54
|
});
|
|
52
55
|
});
|
|
53
56
|
const tts = program
|
|
@@ -92,6 +95,7 @@ export function createProgram() {
|
|
|
92
95
|
.description('Run the full pipeline: TTS → record → export')
|
|
93
96
|
.addOption(new Option('--browser <engine>', 'browser engine').choices(['chromium', 'webkit', 'firefox']))
|
|
94
97
|
.option('--base-url <url>', 'override baseURL from config')
|
|
98
|
+
.option('--headed', 'run browser in headed mode (visible window)')
|
|
95
99
|
.action(async (demo, cmdOpts) => {
|
|
96
100
|
validateDemoName(demo);
|
|
97
101
|
const configPath = program.opts().config;
|
|
@@ -102,7 +106,7 @@ export function createProgram() {
|
|
|
102
106
|
if (cmdOpts.baseUrl) {
|
|
103
107
|
config = { ...config, baseURL: cmdOpts.baseUrl };
|
|
104
108
|
}
|
|
105
|
-
await runPipeline(demo, config);
|
|
109
|
+
await runPipeline(demo, config, { headed: cmdOpts.headed });
|
|
106
110
|
});
|
|
107
111
|
program
|
|
108
112
|
.command('validate <demo>')
|
|
@@ -129,6 +133,16 @@ export function createProgram() {
|
|
|
129
133
|
process.exitCode = 1;
|
|
130
134
|
}
|
|
131
135
|
});
|
|
136
|
+
program
|
|
137
|
+
.command('doctor')
|
|
138
|
+
.description('Check environment: ffmpeg, Playwright, config, assets')
|
|
139
|
+
.action(async () => {
|
|
140
|
+
const results = await runDoctor();
|
|
141
|
+
console.log(formatDoctorResults(results));
|
|
142
|
+
const fails = results.filter(r => r.status === 'fail').length;
|
|
143
|
+
if (fails > 0)
|
|
144
|
+
process.exitCode = 1;
|
|
145
|
+
});
|
|
132
146
|
program
|
|
133
147
|
.command('init')
|
|
134
148
|
.description('Initialize a new Argo project')
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAuC,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EAAE,SAAS,EAAE,CAAC;AAI1B,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,aAAa,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EAAE,SAAS,EAAE,CAAC;AAI1B,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,aAAa,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,QAAQ,CAAC;CAC3G;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,CAC9B,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC,GAAG;IAC1D,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAClC,CACF,CAAC;AAeF,wBAAgB,0BAA0B,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAe/D;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;;;;;;;;;;;;;;;;;;;;EAmBA;AAkBD,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,CAAC,CAiCrB"}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/doctor.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface CheckResult {
|
|
2
|
+
name: string;
|
|
3
|
+
status: 'ok' | 'warn' | 'fail';
|
|
4
|
+
message: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function runDoctor(cwd?: string): Promise<CheckResult[]>;
|
|
7
|
+
export declare function formatDoctorResults(results: CheckResult[]): string;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAUD,wBAAsB,SAAS,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAwFnF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAqBlE"}
|