Breaking: update puppeteer dep

Old mode is now "chrome-headless-shell", which is now the default as the binary we build doesn't include support for the new headless mode.
This commit is contained in:
Kyle McNally 2024-02-22 11:54:58 -05:00
parent 8206092f26
commit da5037292d
4 changed files with 15 additions and 15 deletions

View File

@ -14,7 +14,7 @@ test:
npm install --fund=false --package-lock=false npm install --fund=false --package-lock=false
npm run build npm run build
mkdir -p nodejs mkdir -p nodejs
npm install --prefix nodejs/ tar-fs@3.0.4 follow-redirects@1.15.5 --bin-links=false --fund=false --omit=optional --omit=dev --package-lock=false --save=false npm install --prefix nodejs/ tar-fs@3.0.5 follow-redirects@1.15.5 --bin-links=false --fund=false --omit=optional --omit=dev --package-lock=false --save=false
npm pack npm pack
mkdir -p nodejs/node_modules/@sparticuz/chromium/ mkdir -p nodejs/node_modules/@sparticuz/chromium/
tar --directory nodejs/node_modules/@sparticuz/chromium/ --extract --file sparticuz-chromium-*.tgz --strip-components=1 tar --directory nodejs/node_modules/@sparticuz/chromium/ --extract --file sparticuz-chromium-*.tgz --strip-components=1

View File

@ -258,8 +258,8 @@ By default, this package uses `swiftshader`/`angle` to do CPU acceleration for W
| `args` | `Array<string>` | Provides a list of recommended additional [Chromium flags](https://github.com/GoogleChrome/chrome-launcher/blob/master/docs/chrome-flags-for-tools.md). | | `args` | `Array<string>` | Provides a list of recommended additional [Chromium flags](https://github.com/GoogleChrome/chrome-launcher/blob/master/docs/chrome-flags-for-tools.md). |
| `defaultViewport` | `Object` | Returns a sensible default viewport for serverless. | | `defaultViewport` | `Object` | Returns a sensible default viewport for serverless. |
| `executablePath(location?: string)` | `Promise<string>` | Returns the path the Chromium binary was extracted to. | | `executablePath(location?: string)` | `Promise<string>` | Returns the path the Chromium binary was extracted to. |
| `setHeadlessMode` | `void` | Sets the headless mode to either `true` or `"new"` | | `setHeadlessMode` | `void` | Sets the headless mode to either `true` or `"chrome-headless-shell"` |
| `headless` | `true \| "new"` | Returns `true` or `"new"` depending on what version of chrome's headless you are running | | `headless` | `true \| "chrome-headless-shell"` | Returns `true` or `"chrome-headless-shell"` depending on what version of chrome's headless you are running |
| `setGraphicsMode` | `void` | Sets the graphics mode to either `true` or `false` | | `setGraphicsMode` | `void` | Sets the graphics mode to either `true` or `false` |
| `graphics` | `boolean` | Returns a boolean depending on whether webgl is enabled or disabled | | `graphics` | `boolean` | Returns a boolean depending on whether webgl is enabled or disabled |

View File

@ -21,7 +21,7 @@ exports.handler = async (event, context) => {
const contexts = [browser.defaultBrowserContext()]; const contexts = [browser.defaultBrowserContext()];
while (contexts.length < event.length) { while (contexts.length < event.length) {
contexts.push(await browser.createIncognitoBrowserContext()); contexts.push(await browser.createBrowserContext());
} }
for (let context of contexts) { for (let context of contexts) {

View File

@ -93,7 +93,7 @@ class Chromium {
* https://developer.chrome.com/articles/new-headless/#try-out-the-new-headless * https://developer.chrome.com/articles/new-headless/#try-out-the-new-headless
* @values true or "new" * @values true or "new"
*/ */
private static headlessMode: true | "new" = "new"; private static headlessMode: true | "chrome-headless-shell" = "chrome-headless-shell";
/** /**
* If true, the graphics stack and webgl is enabled, * If true, the graphics stack and webgl is enabled,
@ -254,7 +254,7 @@ class Chromium {
]; ];
const headlessFlags = [ const headlessFlags = [
this.headless === "new" ? "--headless='new'" : "--headless", this.headless === "chrome-headless-shell" ? "--headless='chrome-headless-shell'" : "--headless",
]; ];
return [ return [
@ -349,10 +349,10 @@ class Chromium {
/** /**
* Returns the headless mode. * Returns the headless mode.
* `true` means the 'old' (legacy, chromium < 112) headless mode. * "chrome-headless-shell" means the 'old' (legacy, chromium < 112) headless mode.
* "new" means the 'new' headless mode. * `true` means the 'new' headless mode.
* https://developer.chrome.com/articles/new-headless/#try-out-the-new-headless * https://developer.chrome.com/articles/new-headless/#try-out-the-new-headless
* @returns true | "new" * @returns true | "chrome-headless-shell"
*/ */
public static get headless() { public static get headless() {
return this.headlessMode; return this.headlessMode;
@ -360,18 +360,18 @@ class Chromium {
/** /**
* Sets the headless mode. * Sets the headless mode.
* `true` means the 'old' (legacy, chromium < 112) headless mode. * "chrome-headless-shell" means the 'old' (legacy, chromium < 112) headless mode.
* "new" means the 'new' headless mode. * `true` means the 'new' headless mode.
* https://developer.chrome.com/articles/new-headless/#try-out-the-new-headless * https://developer.chrome.com/articles/new-headless/#try-out-the-new-headless
* @default "new" * @default "chrome-headless-shell"
*/ */
public static set setHeadlessMode(value: true | "new") { public static set setHeadlessMode(value: true | "chrome-headless-shell") {
if ( if (
(typeof value === "string" && value !== "new") || (typeof value === "string" && value !== "chrome-headless-shell") ||
(typeof value === "boolean" && value !== true) (typeof value === "boolean" && value !== true)
) { ) {
throw new Error( throw new Error(
`Headless mode must be either \`true\` or 'new', you entered '${value}'` `Headless mode must be either \`true\` or 'chrome-headless-shell', you entered '${value}'`
); );
} }
this.headlessMode = value; this.headlessMode = value;