@voila.dev/cliche 0.1.0 → 0.1.10
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/capture.d.ts +5 -0
- package/dist/capture.d.ts.map +1 -1
- package/dist/capture.js +10 -0
- package/dist/capture.js.map +1 -1
- package/package.json +1 -1
- package/src/capture.ts +13 -0
package/dist/capture.d.ts
CHANGED
|
@@ -23,6 +23,11 @@ export interface CaptureOptions {
|
|
|
23
23
|
/** Grow the viewport to the full page height before shooting. */
|
|
24
24
|
readonly fullPage?: boolean;
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Bun.WebView landed in Bun 1.4. Without this check an older runtime fails
|
|
28
|
+
* with "undefined is not a constructor", which says nothing useful.
|
|
29
|
+
*/
|
|
30
|
+
export declare function assertWebViewAvailable(webView: unknown, version: string): void;
|
|
26
31
|
/** Screenshot a page with Bun.WebView and write it to `options.out` as PNG. */
|
|
27
32
|
export declare function capture(options: CaptureOptions): Promise<void>;
|
|
28
33
|
//# sourceMappingURL=capture.d.ts.map
|
package/dist/capture.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAoBD,+EAA+E;AAC/E,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAoBD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAM9E;AAED,+EAA+E;AAC/E,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCpE"}
|
package/dist/capture.js
CHANGED
|
@@ -67,10 +67,20 @@ async function waitForSelector(view, selector) {
|
|
|
67
67
|
await sleep(WAIT_FOR_POLL_MILLISECONDS);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Bun.WebView landed in Bun 1.4. Without this check an older runtime fails
|
|
72
|
+
* with "undefined is not a constructor", which says nothing useful.
|
|
73
|
+
*/
|
|
74
|
+
export function assertWebViewAvailable(webView, version) {
|
|
75
|
+
if (typeof webView !== "function") {
|
|
76
|
+
throw new Error(`cliche needs Bun 1.4.0 or newer for Bun.WebView, and this is Bun ${version}. Run \`bun upgrade\`, then try again.`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
70
79
|
/** Screenshot a page with Bun.WebView and write it to `options.out` as PNG. */
|
|
71
80
|
export async function capture(options) {
|
|
72
81
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
73
82
|
try {
|
|
83
|
+
assertWebViewAvailable(Bun.WebView, Bun.version);
|
|
74
84
|
const viewport = options.viewport ?? { width: 1440, height: 900 };
|
|
75
85
|
const view = __addDisposableResource(env_1, new Bun.WebView(viewport), true);
|
|
76
86
|
const localStorageEntries = Object.entries(options.localStorage ?? {});
|
package/dist/capture.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/capture.ts
CHANGED
|
@@ -46,8 +46,21 @@ async function waitForSelector(view: Bun.WebView, selector: string): Promise<voi
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
/**
|
|
50
|
+
* Bun.WebView landed in Bun 1.4. Without this check an older runtime fails
|
|
51
|
+
* with "undefined is not a constructor", which says nothing useful.
|
|
52
|
+
*/
|
|
53
|
+
export function assertWebViewAvailable(webView: unknown, version: string): void {
|
|
54
|
+
if (typeof webView !== "function") {
|
|
55
|
+
throw new Error(
|
|
56
|
+
`cliche needs Bun 1.4.0 or newer for Bun.WebView, and this is Bun ${version}. Run \`bun upgrade\`, then try again.`,
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
49
61
|
/** Screenshot a page with Bun.WebView and write it to `options.out` as PNG. */
|
|
50
62
|
export async function capture(options: CaptureOptions): Promise<void> {
|
|
63
|
+
assertWebViewAvailable((Bun as { WebView?: unknown }).WebView, Bun.version);
|
|
51
64
|
const viewport = options.viewport ?? { width: 1440, height: 900 };
|
|
52
65
|
await using view = new Bun.WebView(viewport);
|
|
53
66
|
const localStorageEntries = Object.entries(options.localStorage ?? {});
|