← Back to Dashboard
#10260 SSR Optimizer uses Node.js builds instead of Workers
Recommendation:KEEP OPEN
Difficulty:medium
Reasoning:
Valid bug; SSR optimizer ignores Worker conditions; multiple workarounds documented
Suggested Action:
Make SSR optimizer respect resolve.conditions
Analysis Report
Issue Review: cloudflare/workers-sdk#10260
Summary
SSR optimizer in vitest-pool-workers resolves Node.js builds of dependencies instead of Worker/browser builds, causing "No such module" errors.
Findings
- Created: 2025-08-07
- Updated: 2025-10-28
- Version: @cloudflare/vitest-pool-workers 0.8.40, vitest 3.2.4
- Component: vitest-pool-workers
- Labels: bug, vitest
- Comments: 4
Key Evidence
- Reproduction repo: https://github.com/alexander-zuev/vitest-worker-jose-repro
- Affects libraries with dual builds (jose, better-auth)
- Error: "No such module 'node:https'" from Node.js build being used
- Workarounds provided:
- Pre-build worker and point tests to built output
- Set
ssr.noExternal: ["better-auth"] - Set
environments.ssr.resolve.conditions: ["worker", "browser", "module"]
- Also affects Shopify Hydrogen projects
Recommendation
Status: KEEP OPEN
Reasoning: This is a valid bug affecting the testing experience. The SSR optimizer doesn't respect Worker/browser module conditions. Multiple workarounds exist but the root cause should be fixed.
Action: Make SSR optimizer respect resolve.conditions for Worker environments, or provide clearer documentation on the workarounds.
Suggested Comment
N/A - Workarounds documented in issue comments.
Notes & Feedback (0)
No notes yet.