From eaf11595213b9acebe1a5ebc838efde4f356da12 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Sun, 4 Jan 2026 13:50:16 +0800 Subject: [PATCH] fix: fix worker-build missing route generation (#20808) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add build:routes:worker script that generates routes-worker.js with WORKER_BUILD=true before running tsdown for worker builds. Also add alias for routes.json to resolve static module resolution. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Haiku 4.5 --- package.json | 3 ++- tsdown-worker.config.ts | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index c60d30d160..20e94ba26d 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,8 @@ "build:lib": "npm run build:routes && tsdown --config ./tsdown-lib.config.ts", "build:routes": "cross-env NODE_ENV=dev tsx scripts/workflow/build-routes.ts", "vercel-build": "npm run build:routes && tsdown --config ./tsdown-vercel.config.ts", - "worker-build": "tsdown --config ./tsdown-worker.config.ts", + "build:routes:worker": "cross-env NODE_ENV=dev WORKER_BUILD=true tsx scripts/workflow/build-routes.ts", + "worker-build": "npm run build:routes:worker && tsdown --config ./tsdown-worker.config.ts", "worker-dev": "npm run worker-build && wrangler dev", "worker-deploy": "npm run worker-build && wrangler deploy", "worker-test": "npm run worker-build && vitest run lib/worker.worker.test.ts", diff --git a/tsdown-worker.config.ts b/tsdown-worker.config.ts index b0e4b7d30b..690483f2d0 100644 --- a/tsdown-worker.config.ts +++ b/tsdown-worker.config.ts @@ -91,5 +91,7 @@ export default defineConfig({ 'xxhash-wasm': path.resolve('./lib/shims/xxhash-wasm.ts'), // Routes file with Worker-specific build (match relative import from lib/) '../assets/build/routes.js': path.resolve('./assets/build/routes-worker.js'), + // routes.json is only used in test environment, but rolldown still tries to resolve it + '../assets/build/routes.json': path.resolve('./assets/build/routes-worker.js'), }, });