@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 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
@@ -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,CAmCpE"}
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 ?? {});
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voila.dev/cliche",
3
- "version": "0.1.0",
3
+ "version": "0.1.10",
4
4
  "type": "module",
5
5
  "packageManager": "bun@1.4.0",
6
6
  "license": "MIT",
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 ?? {});