diff --git a/__snapshots__/LighthouseStringifyExtension.test.ts.js b/__snapshots__/LighthouseStringifyExtension.test.ts.js index 607a37e1..241cc044 100644 --- a/__snapshots__/LighthouseStringifyExtension.test.ts.js +++ b/__snapshots__/LighthouseStringifyExtension.test.ts.js @@ -1,9 +1,9 @@ exports['LighthouseStringifyExtension handles ending timespan 1'] = ` const fs = require('fs'); -const puppeteer = require('puppeteer'); // v20.7.4 or later +const puppeteer = require('puppeteer'); // v22.0.0 or later (async () => { - const browser = await puppeteer.launch({headless: 'new'}); + const browser = await puppeteer.launch(); const page = await browser.newPage(); const timeout = 5000; page.setDefaultTimeout(timeout); @@ -58,10 +58,10 @@ const puppeteer = require('puppeteer'); // v20.7.4 or later exports['LighthouseStringifyExtension handles ending navigation 1'] = ` const fs = require('fs'); -const puppeteer = require('puppeteer'); // v20.7.4 or later +const puppeteer = require('puppeteer'); // v22.0.0 or later (async () => { - const browser = await puppeteer.launch({headless: 'new'}); + const browser = await puppeteer.launch(); const page = await browser.newPage(); const timeout = 5000; page.setDefaultTimeout(timeout); @@ -130,10 +130,10 @@ exports[ 'LighthouseStringifyExtension handles multiple sequential navigations 1' ] = ` const fs = require('fs'); -const puppeteer = require('puppeteer'); // v20.7.4 or later +const puppeteer = require('puppeteer'); // v22.0.0 or later (async () => { - const browser = await puppeteer.launch({headless: 'new'}); + const browser = await puppeteer.launch(); const page = await browser.newPage(); const timeout = 5000; page.setDefaultTimeout(timeout); diff --git a/__snapshots__/lighthouse.test.ts.js b/__snapshots__/lighthouse.test.ts.js index 58d590a7..60111fb8 100644 --- a/__snapshots__/lighthouse.test.ts.js +++ b/__snapshots__/lighthouse.test.ts.js @@ -2,10 +2,10 @@ exports[ 'Lighthouse user flow run via stringify produces a valid desktop flow report 1' ] = ` const fs = require('fs'); -const puppeteer = require('puppeteer'); // v20.7.4 or later +const puppeteer = require('puppeteer'); // v22.0.0 or later (async () => { - const browser = await puppeteer.launch({headless: 'new'}); + const browser = await puppeteer.launch(); const page = await browser.newPage(); const timeout = 5000; page.setDefaultTimeout(timeout); diff --git a/__snapshots__/stringify.test.ts.js b/__snapshots__/stringify.test.ts.js index adcb6c1a..2eab8512 100644 --- a/__snapshots__/stringify.test.ts.js +++ b/__snapshots__/stringify.test.ts.js @@ -1,8 +1,8 @@ exports['stringify should print the correct script for a navigate step 1'] = ` -const puppeteer = require('puppeteer'); // v20.7.4 or later +const puppeteer = require('puppeteer'); // v22.0.0 or later (async () => { - const browser = await puppeteer.launch({headless: 'new'}); + const browser = await puppeteer.launch(); const page = await browser.newPage(); const timeout = 5000; page.setDefaultTimeout(timeout); @@ -25,10 +25,10 @@ const puppeteer = require('puppeteer'); // v20.7.4 or later exports[ 'stringify should print the correct script for a emulateNetworkCondition step 1' ] = ` -const puppeteer = require('puppeteer'); // v20.7.4 or later +const puppeteer = require('puppeteer'); // v22.0.0 or later (async () => { - const browser = await puppeteer.launch({headless: 'new'}); + const browser = await puppeteer.launch(); const page = await browser.newPage(); const timeout = 5000; page.setDefaultTimeout(timeout); @@ -56,10 +56,10 @@ const puppeteer = require('puppeteer'); // v20.7.4 or later exports[ 'stringify should print the correct script if the target is not the main page 1' ] = ` -const puppeteer = require('puppeteer'); // v20.7.4 or later +const puppeteer = require('puppeteer'); // v22.0.0 or later (async () => { - const browser = await puppeteer.launch({headless: 'new'}); + const browser = await puppeteer.launch(); const page = await browser.newPage(); const timeout = 5000; page.setDefaultTimeout(timeout); @@ -91,10 +91,10 @@ const puppeteer = require('puppeteer'); // v20.7.4 or later `; exports['stringify should use step and flow timeouts 1'] = ` -const puppeteer = require('puppeteer'); // v20.7.4 or later +const puppeteer = require('puppeteer'); // v22.0.0 or later (async () => { - const browser = await puppeteer.launch({headless: 'new'}); + const browser = await puppeteer.launch(); const page = await browser.newPage(); const timeout = 10000; page.setDefaultTimeout(timeout); @@ -129,10 +129,10 @@ const puppeteer = require('puppeteer'); // v20.7.4 or later exports[ 'stringify should print the correct script if the step is within an iframe 1' ] = ` -const puppeteer = require('puppeteer'); // v20.7.4 or later +const puppeteer = require('puppeteer'); // v22.0.0 or later (async () => { - const browser = await puppeteer.launch({headless: 'new'}); + const browser = await puppeteer.launch(); const page = await browser.newPage(); const timeout = 5000; page.setDefaultTimeout(timeout); @@ -165,10 +165,10 @@ const puppeteer = require('puppeteer'); // v20.7.4 or later `; exports['stringify should print the correct script for a keydown step 1'] = ` -const puppeteer = require('puppeteer'); // v20.7.4 or later +const puppeteer = require('puppeteer'); // v22.0.0 or later (async () => { - const browser = await puppeteer.launch({headless: 'new'}); + const browser = await puppeteer.launch(); const page = await browser.newPage(); const timeout = 5000; page.setDefaultTimeout(timeout); @@ -189,10 +189,10 @@ const puppeteer = require('puppeteer'); // v20.7.4 or later `; exports['stringify should print the correct script for a keyup step 1'] = ` -const puppeteer = require('puppeteer'); // v20.7.4 or later +const puppeteer = require('puppeteer'); // v22.0.0 or later (async () => { - const browser = await puppeteer.launch({headless: 'new'}); + const browser = await puppeteer.launch(); const page = await browser.newPage(); const timeout = 5000; page.setDefaultTimeout(timeout); @@ -213,10 +213,10 @@ const puppeteer = require('puppeteer'); // v20.7.4 or later `; exports['stringify should print the correct script for scroll events 1'] = ` -const puppeteer = require('puppeteer'); // v20.7.4 or later +const puppeteer = require('puppeteer'); // v22.0.0 or later (async () => { - const browser = await puppeteer.launch({headless: 'new'}); + const browser = await puppeteer.launch(); const page = await browser.newPage(); const timeout = 5000; page.setDefaultTimeout(timeout); @@ -247,10 +247,10 @@ const puppeteer = require('puppeteer'); // v20.7.4 or later exports[ 'stringify should print the correct script for waitForElement steps 1' ] = ` -const puppeteer = require('puppeteer'); // v20.7.4 or later +const puppeteer = require('puppeteer'); // v22.0.0 or later (async () => { - const browser = await puppeteer.launch({headless: 'new'}); + const browser = await puppeteer.launch(); const page = await browser.newPage(); const timeout = 5000; page.setDefaultTimeout(timeout); @@ -405,10 +405,10 @@ const puppeteer = require('puppeteer'); // v20.7.4 or later exports[ 'stringify should print the correct script for waitForExpression steps 1' ] = ` -const puppeteer = require('puppeteer'); // v20.7.4 or later +const puppeteer = require('puppeteer'); // v22.0.0 or later (async () => { - const browser = await puppeteer.launch({headless: 'new'}); + const browser = await puppeteer.launch(); const page = await browser.newPage(); const timeout = 5000; page.setDefaultTimeout(timeout); diff --git a/examples/cjs/main.js b/examples/cjs/main.js index c85e1dee..087246fa 100644 --- a/examples/cjs/main.js +++ b/examples/cjs/main.js @@ -5,9 +5,7 @@ const { const puppeteer = require('puppeteer'); async function main() { - const browser = await puppeteer.launch({ - headless: 'new', - }); + const browser = await puppeteer.launch(); const page = await browser.newPage(); diff --git a/examples/cli-extension/extension.js b/examples/cli-extension/extension.js index 1dabe3f1..a0274dca 100644 --- a/examples/cli-extension/extension.js +++ b/examples/cli-extension/extension.js @@ -4,7 +4,7 @@ import { PuppeteerRunnerExtension } from '../../lib/main.js'; export default class Extension extends PuppeteerRunnerExtension { async beforeAllSteps(flow) { if (!this.browser) { - this.browser = await puppeteer.launch({ headless: 'new' }); + this.browser = await puppeteer.launch(); } if (!this.page) { this.page = await this.browser.newPage(); diff --git a/examples/extend-runner/main.js b/examples/extend-runner/main.js index 0b133d2a..50556b6e 100644 --- a/examples/extend-runner/main.js +++ b/examples/extend-runner/main.js @@ -1,9 +1,7 @@ import { createRunner, PuppeteerRunnerExtension } from '../../lib/main.js'; import puppeteer from 'puppeteer'; -const browser = await puppeteer.launch({ - headless: 'new', -}); +const browser = await puppeteer.launch(); const page = await browser.newPage(); diff --git a/package-lock.json b/package-lock.json index d50afe25..920e1989 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43,8 +43,8 @@ "mime": "3.0.0", "mocha": "10.2.0", "prettier": "3.2.4", - "puppeteer": "21.11.0", - "puppeteer-core": "21.11.0", + "puppeteer": "22.0.0", + "puppeteer-core": "22.0.0", "rimraf": "5.0.5", "rollup": "4.9.6", "rollup-plugin-dts": "6.1.0", @@ -60,7 +60,7 @@ }, "peerDependencies": { "lighthouse": ">=10.0.0", - "puppeteer": ">=21.0.1" + "puppeteer": ">=22.0.0" }, "peerDependenciesMeta": { "lighthouse": { @@ -606,9 +606,9 @@ } }, "node_modules/@puppeteer/browsers": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.9.1.tgz", - "integrity": "sha512-PuvK6xZzGhKPvlx3fpfdM2kYY3P/hB1URtK8wA7XUJ6prn6pp22zvJHu48th0SGcHL9SutbPHrFuQgfXTFobWA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.0.0.tgz", + "integrity": "sha512-3PS82/5+tnpEaUWonjAFFvlf35QHF15xqyGd34GBa5oP5EPVfFXRsbSxIGYf1M+vZlqBZ3oxT1kRg9OYhtt8ng==", "dev": true, "dependencies": { "debug": "4.3.4", @@ -623,7 +623,7 @@ "browsers": "lib/cjs/main-cli.js" }, "engines": { - "node": ">=16.3.0" + "node": ">=18" } }, "node_modules/@rollup/plugin-commonjs": { @@ -1182,9 +1182,9 @@ "dev": true }, "node_modules/@types/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", "dev": true, "optional": true, "dependencies": { @@ -1603,9 +1603,9 @@ ] }, "node_modules/basic-ftp": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz", - "integrity": "sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.4.tgz", + "integrity": "sha512-8PzkB0arJFV4jJWSGOYR+OEic6aeKMu/osRhBULN6RY0ykby6LKhbmuQ5ublvaas5BOwboah5D87nrHyuh8PPA==", "dev": true, "engines": { "node": ">=10.0.0" @@ -2057,9 +2057,9 @@ "dev": true }, "node_modules/data-uri-to-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-5.0.1.tgz", - "integrity": "sha512-a9l6T1qqDogvvnw0nKlfZzqsyikEBZBClF39V3TFoKhDtGBqHu2HkuomJc02j5zft8zrUaXEuoicLeW54RkzPg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.1.tgz", + "integrity": "sha512-MZd3VlchQkp8rdend6vrx7MmVDJzSNTBvghvKjirLkD+WTChA3KUf0jkE68Q4UyctNqI11zZO9/x2Yx+ub5Cvg==", "dev": true, "engines": { "node": ">= 14" @@ -2840,13 +2840,13 @@ } }, "node_modules/get-uri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.1.tgz", - "integrity": "sha512-7ZqONUVqaabogsYNWlYj0t3YZaL6dhuEueZXGF+/YVmf6dHmaFg8/6psJKqhx9QykIDKzpGcy2cn4oV4YC7V/Q==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.2.tgz", + "integrity": "sha512-5KLucCJobh8vBY1K07EFV4+cPZH3mrV9YeAruUseCQKHB58SGjjT2l9/eA9LD082IiuMjSlFJEcdJ27TXvbZNw==", "dev": true, "dependencies": { "basic-ftp": "^5.0.2", - "data-uri-to-buffer": "^5.0.1", + "data-uri-to-buffer": "^6.0.0", "debug": "^4.3.4", "fs-extra": "^8.1.0" }, @@ -3611,6 +3611,71 @@ "integrity": "sha512-tWNKyZg2NbEEKeGM1iqGLWuEEDKwtE6xFAtN4NDXyoXirHQFBcEaMEp4lKK8RjmS3Lw+l3hVONj3SaMzY6FB6w==", "dev": true }, + "node_modules/lighthouse/node_modules/@puppeteer/browsers": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.9.1.tgz", + "integrity": "sha512-PuvK6xZzGhKPvlx3fpfdM2kYY3P/hB1URtK8wA7XUJ6prn6pp22zvJHu48th0SGcHL9SutbPHrFuQgfXTFobWA==", + "dev": true, + "dependencies": { + "debug": "4.3.4", + "extract-zip": "2.0.1", + "progress": "2.0.3", + "proxy-agent": "6.3.1", + "tar-fs": "3.0.4", + "unbzip2-stream": "1.4.3", + "yargs": "17.7.2" + }, + "bin": { + "browsers": "lib/cjs/main-cli.js" + }, + "engines": { + "node": ">=16.3.0" + } + }, + "node_modules/lighthouse/node_modules/puppeteer-core": { + "version": "21.11.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.11.0.tgz", + "integrity": "sha512-ArbnyA3U5SGHokEvkfWjW+O8hOxV1RSJxOgriX/3A4xZRqixt9ZFHD0yPgZQF05Qj0oAqi8H/7stDorjoHY90Q==", + "dev": true, + "dependencies": { + "@puppeteer/browsers": "1.9.1", + "chromium-bidi": "0.5.8", + "cross-fetch": "4.0.0", + "debug": "4.3.4", + "devtools-protocol": "0.0.1232444", + "ws": "8.16.0" + }, + "engines": { + "node": ">=16.13.2" + } + }, + "node_modules/lighthouse/node_modules/puppeteer-core/node_modules/devtools-protocol": { + "version": "0.0.1232444", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1232444.tgz", + "integrity": "sha512-pM27vqEfxSxRkTMnF+XCmxSEb6duO5R+t8A9DEEJgy4Wz2RVanje2mmj99B6A3zv2r/qGfYlOvYznUhuokizmg==", + "dev": true + }, + "node_modules/lighthouse/node_modules/puppeteer-core/node_modules/ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/lighthouse/node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", @@ -4480,30 +4545,30 @@ } }, "node_modules/puppeteer": { - "version": "21.11.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-21.11.0.tgz", - "integrity": "sha512-9jTHuYe22TD3sNxy0nEIzC7ZrlRnDgeX3xPkbS7PnbdwYjl2o/z/YuCrRBwezdKpbTDTJ4VqIggzNyeRcKq3cg==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-22.0.0.tgz", + "integrity": "sha512-zYVnjwJngnSB4dbkWp7DHFSIc3nqHvZzrdHyo9+ugV1nq1Lm8obOMcmCFaGfR3PJs0EmYNz+/skBeO45yvASCQ==", "dev": true, "hasInstallScript": true, "dependencies": { - "@puppeteer/browsers": "1.9.1", + "@puppeteer/browsers": "2.0.0", "cosmiconfig": "9.0.0", - "puppeteer-core": "21.11.0" + "puppeteer-core": "22.0.0" }, "bin": { "puppeteer": "lib/esm/puppeteer/node/cli.js" }, "engines": { - "node": ">=16.13.2" + "node": ">=18" } }, "node_modules/puppeteer-core": { - "version": "21.11.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.11.0.tgz", - "integrity": "sha512-ArbnyA3U5SGHokEvkfWjW+O8hOxV1RSJxOgriX/3A4xZRqixt9ZFHD0yPgZQF05Qj0oAqi8H/7stDorjoHY90Q==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.0.0.tgz", + "integrity": "sha512-S3s91rLde0A86PWVeNY82h+P0fdS7CTiNWAicCVH/bIspRP4nS2PnO5j+VTFqCah0ZJizGzpVPAmxVYbLxTc9w==", "dev": true, "dependencies": { - "@puppeteer/browsers": "1.9.1", + "@puppeteer/browsers": "2.0.0", "chromium-bidi": "0.5.8", "cross-fetch": "4.0.0", "debug": "4.3.4", @@ -4511,7 +4576,7 @@ "ws": "8.16.0" }, "engines": { - "node": ">=16.13.2" + "node": ">=18" } }, "node_modules/puppeteer-core/node_modules/devtools-protocol": { @@ -5100,9 +5165,9 @@ } }, "node_modules/streamx": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", - "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==", + "version": "2.15.7", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.7.tgz", + "integrity": "sha512-NPEKS5+yjyo597eafGbKW5ujh7Sm6lDLHZQd/lRSz6S0VarpADBJItqfB4PnwpS+472oob1GX5cCY9vzfJpHUA==", "dev": true, "dependencies": { "fast-fifo": "^1.1.0", @@ -5225,9 +5290,9 @@ } }, "node_modules/tar-stream": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "dev": true, "dependencies": { "b4a": "^1.6.4", diff --git a/package.json b/package.json index 5535fe5b..d5a93fbd 100644 --- a/package.json +++ b/package.json @@ -77,8 +77,8 @@ "mime": "3.0.0", "mocha": "10.2.0", "prettier": "3.2.4", - "puppeteer": "21.11.0", - "puppeteer-core": "21.11.0", + "puppeteer": "22.0.0", + "puppeteer-core": "22.0.0", "rimraf": "5.0.5", "rollup": "4.9.6", "rollup-plugin-dts": "6.1.0", @@ -91,7 +91,7 @@ }, "peerDependencies": { "lighthouse": ">=10.0.0", - "puppeteer": ">=21.0.1" + "puppeteer": ">=22.0.0" }, "peerDependenciesMeta": { "puppeteer": { diff --git a/src/CLIUtils.ts b/src/CLIUtils.ts index 51495f44..8e0f831b 100644 --- a/src/CLIUtils.ts +++ b/src/CLIUtils.ts @@ -67,8 +67,8 @@ export function getHeadlessEnvVar(headless?: string) { case '1': case 'true': return true; - case 'new': - return 'new'; + case 'shell': + return 'shell'; case '0': case 'false': return false; @@ -140,7 +140,7 @@ export async function importExtensionFromPath(path: string): Promise { export async function runFiles( files: string[], - opts: { log: boolean; headless: boolean | 'new'; extension?: string } = { + opts: { log: boolean; headless: boolean | 'shell'; extension?: string } = { log: true, headless: true, } @@ -171,7 +171,7 @@ export async function runFiles( const { default: puppeteer } = await import('puppeteer'); browser = await puppeteer.launch({ - headless: opts.headless ? 'new' : false, + headless: opts.headless, }); const page = await browser.newPage(); const extension = new Extension(browser, page); diff --git a/src/PuppeteerStringifyExtension.ts b/src/PuppeteerStringifyExtension.ts index a97f4ef1..a9c27602 100644 --- a/src/PuppeteerStringifyExtension.ts +++ b/src/PuppeteerStringifyExtension.ts @@ -49,13 +49,11 @@ export class PuppeteerStringifyExtension extends StringifyExtension { override async beforeAllSteps(out: LineWriter, flow: UserFlow) { out.appendLine( - "const puppeteer = require('puppeteer'); // v20.7.4 or later" + "const puppeteer = require('puppeteer'); // v22.0.0 or later" ); out.appendLine(''); out.appendLine('(async () => {').startBlock(); - out.appendLine( - "const browser = await puppeteer.launch({headless: 'new'});" - ); + out.appendLine('const browser = await puppeteer.launch();'); out.appendLine('const page = await browser.newPage();'); out.appendLine(`const timeout = ${flow.timeout || defaultTimeout};`); out.appendLine('page.setDefaultTimeout(timeout);'); diff --git a/src/Runner.ts b/src/Runner.ts index c3d5d9ef..1884036d 100644 --- a/src/Runner.ts +++ b/src/Runner.ts @@ -128,9 +128,7 @@ export async function createRunner( async function createPuppeteerRunnerOwningBrowserExtension() { const { default: puppeteer } = await import('puppeteer'); - const browser = await puppeteer.launch({ - headless: 'new', - }); + const browser = await puppeteer.launch(); const page = await browser.newPage(); return new PuppeteerRunnerOwningBrowserExtension(browser, page); } diff --git a/src/cli.ts b/src/cli.ts index 3e5e39f9..f690ab65 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -45,7 +45,7 @@ yargs(hideBin(process.argv)) .option('headless', { type: 'string', description: "Run using the browser's headless mode.", - choices: ['new', 'true', '1', '0', 'false'], + choices: ['shell', 'true', '1', '0', 'false'], }) .option('extension', { alias: 'ext', diff --git a/test/SchemaUtils.test.ts b/test/SchemaUtils.test.ts index 8db91cdf..656e180b 100644 --- a/test/SchemaUtils.test.ts +++ b/test/SchemaUtils.test.ts @@ -820,9 +820,7 @@ describe('SchemaUtils', () => { let page: Page; before(async () => { - browser = await puppeteer.launch({ - headless: 'new', - }); + browser = await puppeteer.launch(); }); beforeEach(async () => { diff --git a/test/cli.test.ts b/test/cli.test.ts index 3b23a945..e1e9e1e7 100644 --- a/test/cli.test.ts +++ b/test/cli.test.ts @@ -33,7 +33,7 @@ describe('cli', () => { assert.strictEqual(getHeadlessEnvVar('true'), true); assert.strictEqual(getHeadlessEnvVar('0'), false); assert.strictEqual(getHeadlessEnvVar('false'), false); - assert.strictEqual(getHeadlessEnvVar('new'), 'new'); + assert.strictEqual(getHeadlessEnvVar('shell'), 'shell'); assert.strictEqual(getHeadlessEnvVar('True'), true); assert.strictEqual(getHeadlessEnvVar('False'), false); }); diff --git a/test/e2e/lighthouse.test.ts b/test/e2e/lighthouse.test.ts index 9c017132..71be4f58 100644 --- a/test/e2e/lighthouse.test.ts +++ b/test/e2e/lighthouse.test.ts @@ -75,7 +75,7 @@ export async function generateFlowResultViaStringify( async function generateFlowResultViaRunner( flow: UserFlow ): Promise { - const browser = await puppeteer.launch({ headless: 'new' }); + const browser = await puppeteer.launch(); const page = await browser.newPage(); const lighthouseExtension = new LighthouseRunnerExtension(browser, page); diff --git a/test/runner.test.ts b/test/runner.test.ts index a336d64a..c14c5837 100644 --- a/test/runner.test.ts +++ b/test/runner.test.ts @@ -53,7 +53,7 @@ describe('Runner', () => { httpsServer = servers.httpsServer; const headless = process.env['PUPPETEER_HEADFUL'] !== 'true'; browser = await puppeteer.launch({ - headless: headless ? 'new' : false, + headless, args: ['--site-per-process', '--host-rules=MAP oopifdomain 127.0.0.1'], }); }); diff --git a/test/spec.test.ts b/test/spec.test.ts index 910e8908..e39f85df 100644 --- a/test/spec.test.ts +++ b/test/spec.test.ts @@ -59,7 +59,7 @@ describe('Spec test', () => { httpsServer = servers.httpsServer; const headless = process.env['PUPPETEER_HEADFUL'] !== 'true'; browser = await puppeteer.launch({ - headless: headless ? 'new' : false, + headless, args: ['--site-per-process', '--host-rules=MAP oopifdomain 127.0.0.1'], }); });