Lazy-load puppeteer to fix tsx watch hanging on startup
Puppeteer import at top level was blocking tsx watch mode, preventing the server from starting. Now imported dynamically only when a JS-rendered store is actually scraped. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import puppeteer, { type Browser } from 'puppeteer';
|
||||
import type { Browser } from 'puppeteer';
|
||||
import type { Store } from '../models/store.js';
|
||||
import type { ScrapedItem } from './result-parser.js';
|
||||
|
||||
@@ -10,7 +10,8 @@ const NAVIGATION_TIMEOUT = 20_000;
|
||||
async function getBrowser(): Promise<Browser> {
|
||||
if (browser && browser.connected) return browser;
|
||||
|
||||
browser = await puppeteer.launch({
|
||||
const puppeteer = await import('puppeteer');
|
||||
browser = await puppeteer.default.launch({
|
||||
headless: true,
|
||||
args: [
|
||||
'--no-sandbox',
|
||||
|
||||
Reference in New Issue
Block a user