diff --git a/build/build-bundle.js b/build/build-bundle.js index a78ee577f56e..5e46fc1a4560 100644 --- a/build/build-bundle.js +++ b/build/build-bundle.js @@ -190,7 +190,6 @@ async function buildBundle(entryPath, distPath, opts = {minify: true}) { // resolved eventually. plugins.partialLoaders.inlineFs({ verbose: Boolean(process.env.DEBUG), - ignorePaths: [require.resolve('puppeteer-core/lib/esm/puppeteer/common/Page.js')], }), plugins.partialLoaders.rmGetModuleDirectory, plugins.partialLoaders.replaceText({ diff --git a/cli/test/smokehouse/test-definitions/dobetterweb.js b/cli/test/smokehouse/test-definitions/dobetterweb.js index 1f50e9e7151e..384ce8f514c1 100644 --- a/cli/test/smokehouse/test-definitions/dobetterweb.js +++ b/cli/test/smokehouse/test-definitions/dobetterweb.js @@ -494,18 +494,6 @@ const expectations = { }], }, }, - { - // Support for this was added in M109 - // https://crbug.com/1350944 - _maxChromiumVersion: '108', - reason: 'Pages that have requested notifications permissions are not currently eligible for back/forward cache.', - failureType: 'Pending browser support', - subItems: { - items: [{ - frameUrl: 'http://localhost:10200/dobetterweb/dbw_tester.html', - }], - }, - }, { // This issue only appears in the DevTools runner for some reason. // TODO: Investigate why this doesn't happen on the CLI runner. diff --git a/clients/lightrider/lightrider-entry.js b/clients/lightrider/lightrider-entry.js index 98aa867df07e..d3d106421103 100644 --- a/clients/lightrider/lightrider-entry.js +++ b/clients/lightrider/lightrider-entry.js @@ -9,8 +9,8 @@ import {Buffer} from 'buffer'; import log from 'lighthouse-logger'; -import {CDPBrowser} from 'puppeteer-core/lib/esm/puppeteer/common/Browser.js'; -import {Connection as PptrConnection} from 'puppeteer-core/lib/esm/puppeteer/common/Connection.js'; +import {CdpBrowser} from 'puppeteer-core/lib/esm/puppeteer/cdp/Browser.js'; +import {Connection as PptrConnection} from 'puppeteer-core/lib/esm/puppeteer/cdp/Connection.js'; import lighthouse, * as api from '../../core/index.js'; import {LighthouseError} from '../../core/lib/lh-error.js'; @@ -46,7 +46,7 @@ async function getPageFromConnection(connection) { const pptrConnection = new PptrConnection(mainTargetInfo.url, transport); - const browser = await CDPBrowser._create( + const browser = await CdpBrowser._create( 'chrome', pptrConnection, [] /* contextIds */, diff --git a/core/gather/session.js b/core/gather/session.js index 7ecc56553c65..ca3376950202 100644 --- a/core/gather/session.js +++ b/core/gather/session.js @@ -29,6 +29,7 @@ class ProtocolSession extends CrdpEventEmitter { this._nextProtocolTimeout = undefined; this._handleProtocolEvent = this._handleProtocolEvent.bind(this); + // @ts-expect-error Puppeteer expects the handler params to be type `unknown` this._cdpSession.on('*', this._handleProtocolEvent); } @@ -106,6 +107,7 @@ class ProtocolSession extends CrdpEventEmitter { * @return {Promise} */ async dispose() { + // @ts-expect-error Puppeteer expects the handler params to be type `unknown` this._cdpSession.off('*', this._handleProtocolEvent); await this._cdpSession.detach(); } diff --git a/core/scripts/pptr-run-devtools.js b/core/scripts/pptr-run-devtools.js index 3b198d40084a..705cfd84f217 100644 --- a/core/scripts/pptr-run-devtools.js +++ b/core/scripts/pptr-run-devtools.js @@ -28,7 +28,7 @@ import {fileURLToPath} from 'url'; import * as puppeteer from 'puppeteer-core'; import yargs from 'yargs'; import * as yargsHelpers from 'yargs/helpers'; -import {getChromePath} from 'chrome-launcher'; +import {launch} from 'chrome-launcher'; import esMain from 'es-main'; import {parseChromeFlags} from '../../cli/run.js'; @@ -300,12 +300,17 @@ function dismissDialog(dialog) { * @return {Promise<{lhr: LH.Result, artifacts: LH.Artifacts, logs: string[]}>} */ async function testUrlFromDevtools(url, options = {}) { - const {config, chromeFlags} = options; + const {config, chromeFlags = []} = options; - const browser = await puppeteer.launch({ - executablePath: getChromePath(), - args: chromeFlags, - devtools: true, + const newChromeFlags = [ + ...chromeFlags, + '--auto-open-devtools-for-tabs', + ]; + + const chrome = await launch({chromeFlags: newChromeFlags}); + + const browser = await puppeteer.connect({ + browserURL: `http://127.0.0.1:${chrome.port}`, defaultViewport: null, }); diff --git a/core/test/gather/driver/target-manager-test.js b/core/test/gather/driver/target-manager-test.js index e750ac346e57..ff492d909902 100644 --- a/core/test/gather/driver/target-manager-test.js +++ b/core/test/gather/driver/target-manager-test.js @@ -6,7 +6,7 @@ import {EventEmitter} from 'events'; -import {CDPSessionImpl} from 'puppeteer-core/lib/cjs/puppeteer/common/Connection.js'; +import {CdpCDPSession} from 'puppeteer-core/lib/cjs/puppeteer/cdp/CDPSession.js'; import {TargetManager} from '../../../gather/driver/target-manager.js'; import {createMockCdpSession} from '../mock-driver.js'; @@ -251,9 +251,9 @@ describe('TargetManager', () => { } const mockCdpConnection = new MockCdpConnection(); - /** @type {LH.Puppeteer.CDPSession} */ + /** @type {import('puppeteer-core').CDPSession} */ // @ts-expect-error - close enough to the real thing. - const cdpSession = new CDPSessionImpl(mockCdpConnection, '', sessionId); + const cdpSession = new CdpCDPSession(mockCdpConnection, '', sessionId); return cdpSession; } diff --git a/core/test/gather/session-test.js b/core/test/gather/session-test.js index fb026f93101f..510d369673a0 100644 --- a/core/test/gather/session-test.js +++ b/core/test/gather/session-test.js @@ -6,7 +6,7 @@ import {EventEmitter} from 'events'; -import {CDPSessionImpl} from 'puppeteer-core/lib/cjs/puppeteer/common/Connection.js'; +import {CdpCDPSession} from 'puppeteer-core/lib/cjs/puppeteer/cdp/CDPSession.js'; import {ProtocolSession} from '../../gather/session.js'; import { @@ -17,6 +17,27 @@ import { timers, } from '../test-utils.js'; +/** + * @param {number} id + * @return {LH.Crdp.Page.FrameNavigatedEvent} + */ +function mockFrameNavigated(id) { + return { + frame: { + id: String(id), + loaderId: String(id), + url: `https://example.com/page${id}`, + domainAndRegistry: 'example.com', + securityOrigin: 'https://example.com', + mimeType: 'text/html', + secureContextType: 'Secure', + crossOriginIsolatedContextType: 'NotIsolated', + gatedAPIFeatures: [], + }, + type: 'Navigation', + }; +} + describe('ProtocolSession', () => { before(() => timers.useFakeTimers()); after(() => timers.dispose()); @@ -30,20 +51,23 @@ describe('ProtocolSession', () => { beforeEach(() => { // @ts-expect-error - Individual mock functions are applied as necessary. - puppeteerSession = new CDPSessionImpl({_rawSend: fnAny(), send: fnAny()}, '', 'root'); + puppeteerSession = new CdpCDPSession({_rawSend: fnAny(), send: fnAny()}, '', 'root'); session = new ProtocolSession(puppeteerSession); }); describe('responds to events from the underlying CDPSession', () => { + const mockNavigated1 = mockFrameNavigated(1); + const mockNavigated2 = mockFrameNavigated(2); + it('once', async () => { const callback = fnAny(); session.once('Page.frameNavigated', callback); - puppeteerSession.emit('Page.frameNavigated', {id: 1}); + puppeteerSession.emit('Page.frameNavigated', mockNavigated1); expect(callback).toHaveBeenCalledTimes(1); - expect(callback).toHaveBeenCalledWith({id: 1}); + expect(callback).toHaveBeenCalledWith(mockNavigated1); - puppeteerSession.emit('Page.frameNavigated', {id: 2}); + puppeteerSession.emit('Page.frameNavigated', mockNavigated2); expect(callback).toHaveBeenCalledTimes(1); }); @@ -51,25 +75,25 @@ describe('ProtocolSession', () => { const callback = fnAny(); session.on('Page.frameNavigated', callback); - puppeteerSession.emit('Page.frameNavigated', {id: 1}); + puppeteerSession.emit('Page.frameNavigated', mockNavigated1); expect(callback).toHaveBeenCalledTimes(1); - expect(callback).toHaveBeenCalledWith({id: 1}); + expect(callback).toHaveBeenCalledWith(mockNavigated1); - puppeteerSession.emit('Page.frameNavigated', {id: 2}); + puppeteerSession.emit('Page.frameNavigated', mockNavigated2); expect(callback).toHaveBeenCalledTimes(2); - expect(callback).toHaveBeenCalledWith({id: 2}); + expect(callback).toHaveBeenCalledWith(mockNavigated2); }); it('off', async () => { const callback = fnAny(); session.on('Page.frameNavigated', callback); - puppeteerSession.emit('Page.frameNavigated', {id: 1}); + puppeteerSession.emit('Page.frameNavigated', mockNavigated1); expect(callback).toHaveBeenCalledTimes(1); - expect(callback).toHaveBeenCalledWith({id: 1}); + expect(callback).toHaveBeenCalledWith(mockNavigated1); session.off('Page.frameNavigated', callback); - puppeteerSession.emit('Page.frameNavigated', {id: 2}); + puppeteerSession.emit('Page.frameNavigated', mockNavigated2); expect(callback).toHaveBeenCalledTimes(1); }); }); diff --git a/core/test/scenarios/api-test-pptr.js b/core/test/scenarios/api-test-pptr.js index 5b92af735dbb..b939100cd09c 100644 --- a/core/test/scenarios/api-test-pptr.js +++ b/core/test/scenarios/api-test-pptr.js @@ -164,7 +164,7 @@ describe('Individual modes API', function() { const run = await api.startTimespan(state.page); for (const iframe of page.frames()) { if (iframe.url().includes('/oopif-simple-page.html')) { - iframe.click('button'); + await iframe.click('button'); } } await page.waitForNetworkIdle().catch(() => {}); @@ -180,10 +180,6 @@ describe('Individual modes API', function() { .map((r) => ({url: r.url, sessionTargetType: r.sessionTargetType})) // @ts-expect-error .sort((a, b) => a.url.localeCompare(b.url)); - expect(networkRequests).toHaveLength(10); - expect(networkRequests.filter(r => r.sessionTargetType === 'page')).toHaveLength(2); - expect(networkRequests.filter(r => r.sessionTargetType === 'iframe')).toHaveLength(2); - expect(networkRequests.filter(r => r.sessionTargetType === 'worker')).toHaveLength(6); expect(networkRequests).toMatchInlineSnapshot(` Array [ Object { diff --git a/package.json b/package.json index c347aa8bcfb4..383faf731273 100644 --- a/package.json +++ b/package.json @@ -166,7 +166,7 @@ "pako": "^2.0.3", "preact": "^10.7.2", "pretty-json-stringify": "^0.0.2", - "puppeteer": "21.1.1", + "puppeteer": "^21.3.6", "resolve": "^1.22.1", "rollup": "^2.52.7", "rollup-plugin-polyfill-node": "^0.12.0", @@ -199,7 +199,7 @@ "open": "^8.4.0", "parse-cache-control": "1.0.1", "ps-list": "^8.0.0", - "puppeteer-core": "21.1.1", + "puppeteer-core": "^21.3.6", "robots-parser": "^3.0.1", "semver": "^5.3.0", "speedline-core": "^1.4.3", diff --git a/types/internal/rxjs.d.ts b/types/internal/rxjs.d.ts index af8ea04083d2..850eddaf38aa 100644 --- a/types/internal/rxjs.d.ts +++ b/types/internal/rxjs.d.ts @@ -22,5 +22,8 @@ declare module 'rxjs' { export const tap: any; export const throwIfEmpty: any; export const firstValueFrom: any; + export const delay: any; + export const startWith: any; + export const switchMap: any; } diff --git a/yarn.lock b/yarn.lock index 98f75080534a..9de024759bdd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1089,15 +1089,15 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= -"@puppeteer/browsers@1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@puppeteer/browsers/-/browsers-1.7.0.tgz#714a25ad6963f5478e36004ea7eda254870a4659" - integrity sha512-sl7zI0IkbQGak/+IE3VEEZab5SSOlI5F6558WvzWGC1n3+C722rfewC1ZIkcF9dsoGSsxhsONoseVlNQG4wWvQ== +"@puppeteer/browsers@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@puppeteer/browsers/-/browsers-1.7.1.tgz#04f1e3aec4b87f50a7acc8f64be2149bda014f0a" + integrity sha512-nIb8SOBgDEMFY2iS2MdnUZOg2ikcYchRrBoF+wtdjieRFKR2uGRipHY/oFLo+2N6anDualyClPzGywTHRGrLfw== dependencies: debug "4.3.4" extract-zip "2.0.1" progress "2.0.3" - proxy-agent "6.3.0" + proxy-agent "6.3.1" tar-fs "3.0.4" unbzip2-stream "1.4.3" yargs "17.7.1" @@ -1689,7 +1689,7 @@ agent-base@6: dependencies: debug "4" -agent-base@^7.0.1, agent-base@^7.0.2, agent-base@^7.1.0: +agent-base@^7.0.2, agent-base@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434" integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg== @@ -2284,12 +2284,13 @@ chrome-launcher@^1.0.0: is-wsl "^2.2.0" lighthouse-logger "^2.0.1" -chromium-bidi@0.4.22: - version "0.4.22" - resolved "https://registry.yarnpkg.com/chromium-bidi/-/chromium-bidi-0.4.22.tgz#625dab72946e177f538da2d2b8a681652ef916da" - integrity sha512-wR7Y9Ioez+cNXT4ZP7VNM1HRTljpNnMSLw4/RnwhhZUP4yCU7kIQND00YiktuHekch68jklGPK1q9Jkb29+fQg== +chromium-bidi@0.4.28: + version "0.4.28" + resolved "https://registry.yarnpkg.com/chromium-bidi/-/chromium-bidi-0.4.28.tgz#05befef4f3f19003198237245780d1c60e6f4dbc" + integrity sha512-2HZ74QlAApJrEwcGlU/sUu0s4VS+FI3CJ09Toc9aE9VemMyhHZXeaROQgJKNRaYMUTUx6qIv1cLBs3F+vfgjSw== dependencies: mitt "3.0.1" + urlpattern-polyfill "9.0.0" ci-info@^3.2.0: version "3.3.1" @@ -2618,14 +2619,14 @@ core-util-is@1.0.2, core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cosmiconfig@8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.2.0.tgz#f7d17c56a590856cd1e7cee98734dca272b0d8fd" - integrity sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ== +cosmiconfig@8.3.6: + version "8.3.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== dependencies: - import-fresh "^3.2.1" + import-fresh "^3.3.0" js-yaml "^4.1.0" - parse-json "^5.0.0" + parse-json "^5.2.0" path-type "^4.0.0" cosmiconfig@^5.1.0: @@ -2871,7 +2872,7 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -devtools-protocol@0.0.1159816, devtools-protocol@0.0.1200039: +devtools-protocol@0.0.1179426, devtools-protocol@0.0.1200039: version "0.0.1200039" resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1200039.tgz#5a546df3edff52e6226abfc26f559e05647c956b" integrity sha512-ZQCB/hbFmu23fLrR3OX3FEJ56dBHXBO+OrnXBtutZzJmIRWycDb7Yz4aO7BiFF9moUgBS+Xo7+EAWZhZraOUfg== @@ -4154,10 +4155,10 @@ https-proxy-agent@^5.0.0: agent-base "6" debug "4" -https-proxy-agent@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.0.tgz#75cb70d04811685667183b31ab158d006750418a" - integrity sha512-0euwPCRyAPSgGdzD1IVN9nJYHtBhJwb6XPfbpQcYbPCwrBidX6GzxmchnaF4sfF/jPb74Ojx5g4yTg3sixlyPw== +https-proxy-agent@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz#e2645b846b90e96c6e6f347fb5b2e41f1590b09b" + integrity sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA== dependencies: agent-base "^7.0.2" debug "4" @@ -4220,7 +4221,7 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" -import-fresh@^3.0.0, import-fresh@^3.2.1: +import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -5659,19 +5660,19 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pac-proxy-agent@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-7.0.0.tgz#db42120c64292685dafaf2bd921e223c56bfb13b" - integrity sha512-t4tRAMx0uphnZrio0S0Jw9zg3oDbz1zVhQ/Vy18FjLfP1XOLNUEjaVxYCYRI6NS+BsMBXKIzV6cTLOkO9AtywA== +pac-proxy-agent@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz#6b9ddc002ec3ff0ba5fdf4a8a21d363bcc612d75" + integrity sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A== dependencies: "@tootallnate/quickjs-emscripten" "^0.23.0" agent-base "^7.0.2" debug "^4.3.4" get-uri "^6.0.1" http-proxy-agent "^7.0.0" - https-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.2" pac-resolver "^7.0.0" - socks-proxy-agent "^8.0.1" + socks-proxy-agent "^8.0.2" pac-resolver@^7.0.0: version "7.0.0" @@ -5712,7 +5713,7 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" -parse-json@^5.0.0: +parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -5926,19 +5927,19 @@ protobufjs@^6.10.0: "@types/node" ">=13.7.0" long "^4.0.0" -proxy-agent@6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-6.3.0.tgz#72f7bb20eb06049db79f7f86c49342c34f9ba08d" - integrity sha512-0LdR757eTj/JfuU7TL2YCuAZnxWXu3tkJbg4Oq3geW/qFNT/32T0sp2HnZ9O0lMR4q3vwAt0+xCA8SR0WAD0og== +proxy-agent@6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-6.3.1.tgz#40e7b230552cf44fd23ffaf7c59024b692612687" + integrity sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ== dependencies: agent-base "^7.0.2" debug "^4.3.4" http-proxy-agent "^7.0.0" - https-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.2" lru-cache "^7.14.1" - pac-proxy-agent "^7.0.0" + pac-proxy-agent "^7.0.1" proxy-from-env "^1.1.0" - socks-proxy-agent "^8.0.1" + socks-proxy-agent "^8.0.2" proxy-from-env@^1.1.0: version "1.1.0" @@ -5968,26 +5969,26 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer-core@21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-21.1.1.tgz#59be20b6f69acc2139ba2d9e02a33793b59254ff" - integrity sha512-Tlcajcf44zwfa9Sbwv3T8BtaNMJ69wtpHIxwl2NOBTyTK3D1wppQovXTjfw0TDOm3a16eCfQ+5BMi3vRQ4kuAQ== +puppeteer-core@21.3.6, puppeteer-core@^21.3.6: + version "21.3.6" + resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-21.3.6.tgz#5507fafb790692ff887e368de71a1c5a0d08af1e" + integrity sha512-ZH6tjTdRXwW2fx5W3jBbG+yUVQdDfZW1kjfwvWwMzsnKEli5ZwV70Zp97GOebHQHrK8zM3vX5VqI9sd48c9PnQ== dependencies: - "@puppeteer/browsers" "1.7.0" - chromium-bidi "0.4.22" + "@puppeteer/browsers" "1.7.1" + chromium-bidi "0.4.28" cross-fetch "4.0.0" debug "4.3.4" - devtools-protocol "0.0.1159816" - ws "8.13.0" + devtools-protocol "0.0.1179426" + ws "8.14.2" -puppeteer@21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-21.1.1.tgz#48f895dc89f1a8874a0cefcfb05a22f979e6f9a8" - integrity sha512-2TLntjGA4qLrI9/8N0UK/5OoZJ2Ue7QgphN2SD+RsaHiha12AEiVyMGsB+i6LY1IoPAtEgYIjblQ7lw3kWDNRw== +puppeteer@^21.3.6: + version "21.3.6" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-21.3.6.tgz#961a44cd532ab5344ed53d7714aa56b4602ace10" + integrity sha512-ulK9+KLvdaVsG0EKbKyw/DCXCz88rsnrvIJg9tY8AmkGR01AxI4ZJTH9BJl1OE7cLfh2vxjBvY+xfvJod6rfgw== dependencies: - "@puppeteer/browsers" "1.7.0" - cosmiconfig "8.2.0" - puppeteer-core "21.1.1" + "@puppeteer/browsers" "1.7.1" + cosmiconfig "8.3.6" + puppeteer-core "21.3.6" q@^1.5.1: version "1.5.1" @@ -6471,12 +6472,12 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -socks-proxy-agent@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.1.tgz#ffc5859a66dac89b0c4dab90253b96705f3e7120" - integrity sha512-59EjPbbgg8U3x62hhKOFVAmySQUcfRQ4C7Q/D5sEHnZTQRrQlNKINks44DMR1gwXp0p4LaVIeccX2KHTTcHVqQ== +socks-proxy-agent@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz#5acbd7be7baf18c46a3f293a840109a430a640ad" + integrity sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g== dependencies: - agent-base "^7.0.1" + agent-base "^7.0.2" debug "^4.3.4" socks "^2.7.1" @@ -7139,6 +7140,11 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= +urlpattern-polyfill@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz#bc7e386bb12fd7898b58d1509df21d3c29ab3460" + integrity sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g== + use@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544" @@ -7350,7 +7356,12 @@ write-file-atomic@^4.0.1: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@8.13.0, ws@>=7.4.6: +ws@8.14.2: + version "8.14.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" + integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== + +ws@>=7.4.6: version "8.13.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==