From cfb44d6663bb7dfc3f3228b5c6cbfebd4e9b7c2c Mon Sep 17 00:00:00 2001 From: Maksim Kachurin Date: Mon, 6 May 2024 13:20:06 -0700 Subject: [PATCH] Puppeteer update --- .gitignore | 1 + package.json | 10 +++++----- src/run.js | 8 +++++++- src/tracker.js | 6 +++--- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 93cab344..9d69756f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules yarn-error.log +.idea diff --git a/package.json b/package.json index 42edbdde..8b33199f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "minimalcss", - "version": "0.11.3", + "version": "0.11.3-patched", "description": "Extract the minimal CSS used in a set of URLs with puppeteer", "main": "./index.js", "author": "Peter Bengtsson", @@ -23,12 +23,12 @@ "url": "https://github.com/peterbe/minimalcss/issues" }, "dependencies": { - "cheerio": "1.0.0-rc.3", - "css-tree": "1.0.0-alpha.39", - "csso": "4.0.3", + "cheerio": "^1.0.0-rc.12", + "css-tree": "^1.1.3", + "csso": "^4.0.3", "filesize": "^6.0.0", "minimist": "^1.2.0", - "puppeteer": "^2.0.0" + "puppeteer": "^22.8.0" }, "devDependencies": { "fastify": "3.4.1", diff --git a/src/run.js b/src/run.js index 59b02581..3101268f 100644 --- a/src/run.js +++ b/src/run.js @@ -451,7 +451,13 @@ const minimalcss = async (options) => { for (const pageUrl of urls) { const page = await browser.newPage(); if (!enableServiceWorkers) { - await page._client.send('ServiceWorker.disable'); + await page.evaluate(() => { + navigator.serviceWorker?.getRegistrations().then(registrations => { + registrations.forEach(registration => { + registration.unregister(); + }) + }) + }); } try { await processPage({ diff --git a/src/tracker.js b/src/tracker.js index d1fbc4b6..57c13826 100644 --- a/src/tracker.js +++ b/src/tracker.js @@ -16,9 +16,9 @@ const createTracker = (page) => { return { urls: () => Array.from(requests).map((r) => r.url()), dispose: () => { - page.removeListener('request', onStarted); - page.removeListener('requestfinished', onFinished); - page.removeListener('requestfailed', onFinished); + page.removeAllListeners('request', onStarted); + page.removeAllListeners('requestfinished', onFinished); + page.removeAllListeners('requestfailed', onFinished); }, }; };