@miketromba/screenshot-service 0.2.1 → 0.2.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../src/vercel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgDH;;;GAGG;AACH,wBAAsB,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAkE7D"}
1
+ {"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../src/vercel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqDH;;;GAGG;AACH,wBAAsB,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAkE7D"}
package/dist/vercel.js CHANGED
@@ -9,8 +9,11 @@
9
9
  * ```
10
10
  */
11
11
  import puppeteer from 'puppeteer-core';
12
- import chromium from '@sparticuz/chromium';
12
+ import chromium from '@sparticuz/chromium-min';
13
13
  import { screenshotQuerySchema, isUrlHostnameAllowed, queryToScreenshotOptions, validateBearerToken, captureScreenshot, getHostWhitelist, getAuthToken, CHROME_ARGS } from './shared';
14
+ // Remote chromium URL - uses @sparticuz/chromium releases on GitHub
15
+ // This avoids bundling issues on Vercel since chromium is downloaded at runtime
16
+ const CHROMIUM_REMOTE_URL = 'https://github.com/Sparticuz/chromium/releases/download/v143.0.0/chromium-v143.0.0-pack.tar';
14
17
  // Cache browser instance for warm invocations
15
18
  let browser = null;
16
19
  async function getBrowser() {
@@ -20,7 +23,7 @@ async function getBrowser() {
20
23
  browser = await puppeteer.launch({
21
24
  args: [...chromium.args, ...CHROME_ARGS],
22
25
  defaultViewport: null,
23
- executablePath: await chromium.executablePath(),
26
+ executablePath: await chromium.executablePath(CHROMIUM_REMOTE_URL),
24
27
  headless: true
25
28
  });
26
29
  return browser;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miketromba/screenshot-service",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "screenshot-service": "bin/cli.ts"
@@ -29,9 +29,9 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "@hono/zod-validator": "^0.4.3",
32
- "@sparticuz/chromium": "^143.0.4",
32
+ "@sparticuz/chromium-min": "^143.0.0",
33
33
  "hono": "^4.7.4",
34
- "puppeteer-core": "^24.36.0",
34
+ "puppeteer-core": "~24.35.0",
35
35
  "zod": "^3.24.2"
36
36
  },
37
37
  "optionalDependencies": {
package/src/vercel.ts CHANGED
@@ -11,7 +11,7 @@
11
11
 
12
12
  import type { Browser, Page } from 'puppeteer-core'
13
13
  import puppeteer from 'puppeteer-core'
14
- import chromium from '@sparticuz/chromium'
14
+ import chromium from '@sparticuz/chromium-min'
15
15
  import {
16
16
  screenshotQuerySchema,
17
17
  isUrlHostnameAllowed,
@@ -23,6 +23,11 @@ import {
23
23
  CHROME_ARGS
24
24
  } from './shared'
25
25
 
26
+ // Remote chromium URL - uses @sparticuz/chromium releases on GitHub
27
+ // This avoids bundling issues on Vercel since chromium is downloaded at runtime
28
+ const CHROMIUM_REMOTE_URL =
29
+ 'https://github.com/Sparticuz/chromium/releases/download/v143.0.0/chromium-v143.0.0-pack.tar'
30
+
26
31
  // Cache browser instance for warm invocations
27
32
  let browser: Browser | null = null
28
33
 
@@ -34,7 +39,7 @@ async function getBrowser(): Promise<Browser> {
34
39
  browser = await puppeteer.launch({
35
40
  args: [...chromium.args, ...CHROME_ARGS],
36
41
  defaultViewport: null,
37
- executablePath: await chromium.executablePath(),
42
+ executablePath: await chromium.executablePath(CHROMIUM_REMOTE_URL),
38
43
  headless: true
39
44
  })
40
45