From df67a2c0ba5140d68241589e1f73da03cc3c3843 Mon Sep 17 00:00:00 2001 From: Nathan Sarrazin Date: Fri, 12 Jul 2024 09:51:36 +0000 Subject: [PATCH] fix(playwright): only create adblocker if flag is true --- src/lib/server/websearch/scrape/playwright.ts | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/lib/server/websearch/scrape/playwright.ts b/src/lib/server/websearch/scrape/playwright.ts index ef3f5f4fad9..f1e5c093d08 100644 --- a/src/lib/server/websearch/scrape/playwright.ts +++ b/src/lib/server/websearch/scrape/playwright.ts @@ -11,16 +11,19 @@ import { env } from "$env/dynamic/private"; import { logger } from "$lib/server/logger"; import { onExit } from "$lib/server/exitHandler"; -const blocker = await PlaywrightBlocker.fromPrebuiltAdsAndTracking(fetch) - .then((blker) => { - const mostBlocked = blker.blockFonts().blockMedias().blockFrames().blockImages(); - if (env.WEBSEARCH_JAVASCRIPT === "false") return mostBlocked.blockScripts(); - return mostBlocked; - }) - .catch((err) => { - logger.error(err, "Failed to initialize PlaywrightBlocker from prebuilt lists"); - return PlaywrightBlocker.empty(); - }); +const blocker = + env.PLAYWRIGHT_ADBLOCKER === "true" + ? await PlaywrightBlocker.fromPrebuiltAdsAndTracking(fetch) + .then((blker) => { + const mostBlocked = blker.blockFonts().blockMedias().blockFrames().blockImages(); + if (env.WEBSEARCH_JAVASCRIPT === "false") return mostBlocked.blockScripts(); + return mostBlocked; + }) + .catch((err) => { + logger.error(err, "Failed to initialize PlaywrightBlocker from prebuilt lists"); + return PlaywrightBlocker.empty(); + }) + : PlaywrightBlocker.empty(); let browserSingleton: Promise | undefined; async function getBrowser() { @@ -65,7 +68,7 @@ export async function withPage( try { const page = await ctx.newPage(); - process.env.PLAYWRIGHT_ADBLOCKER === "true" && (await blocker.enableBlockingInPage(page)); + env.PLAYWRIGHT_ADBLOCKER === "true" && (await blocker.enableBlockingInPage(page)); const res = await page.goto(url, { waitUntil: "load", timeout: 3500 }).catch(() => { console.warn(`Failed to load page within 2s: ${url}`);