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:
@@ -4,9 +4,9 @@
|
|||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev:server": "tsx watch src/server/index.ts",
|
"dev:server": "tsx watch --clear-screen=false src/server/index.ts",
|
||||||
"dev:client": "cd src/client && npm run dev",
|
"dev:client": "cd src/client && npm run dev",
|
||||||
"dev": "concurrently \"npm run dev:server\" \"npm run dev:client\"",
|
"dev": "concurrently --names server,client \"npm run dev:server\" \"npm run dev:client\"",
|
||||||
"build:client": "cd src/client && npm run build",
|
"build:client": "cd src/client && npm run build",
|
||||||
"build:server": "tsc",
|
"build:server": "tsc",
|
||||||
"build": "npm run build:client && npm run build:server",
|
"build": "npm run build:client && npm run build:server",
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import puppeteer, { type Browser } from 'puppeteer';
|
import type { Browser } from 'puppeteer';
|
||||||
import type { Store } from '../models/store.js';
|
import type { Store } from '../models/store.js';
|
||||||
import type { ScrapedItem } from './result-parser.js';
|
import type { ScrapedItem } from './result-parser.js';
|
||||||
|
|
||||||
@@ -10,7 +10,8 @@ const NAVIGATION_TIMEOUT = 20_000;
|
|||||||
async function getBrowser(): Promise<Browser> {
|
async function getBrowser(): Promise<Browser> {
|
||||||
if (browser && browser.connected) return browser;
|
if (browser && browser.connected) return browser;
|
||||||
|
|
||||||
browser = await puppeteer.launch({
|
const puppeteer = await import('puppeteer');
|
||||||
|
browser = await puppeteer.default.launch({
|
||||||
headless: true,
|
headless: true,
|
||||||
args: [
|
args: [
|
||||||
'--no-sandbox',
|
'--no-sandbox',
|
||||||
|
|||||||
Reference in New Issue
Block a user