feat(builder): add builderless mode support#4018
Conversation
|
@medz is attempting to deploy a commit to the Nitro Team on Vercel. A member of the Team first needs to authorize it. |
📝 WalkthroughWalkthroughAdds a "builderless" option and implements support so Nitro can bundle its runtime while leaving user code external: new path utilities, a Rollup plugin to mark user files external, post-build import rewriting, integration across build backends, a Cloudflare preset tweak, and tests. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
No actionable comments were generated in the recent review. 🎉 🧹 Recent nitpick comments
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
commit: |
🔗 Linked issue
pgbundling isuses with nitro v3 and cloudflare #4010❓ Type of change
📚 Description
This PR adds
builderlessmode support so Nitro can keep bundling runtime/virtual modules while externalizing user code for downstream bundlers (for example Wrangler).This targets the Cloudflare Worker compatibility scenario discussed in #4010.
Default behavior is unchanged (
builderless: false).Validation:
pnpm formatpnpm typecheckpnpm vitest run test/minimal/minimal.test.tspnpm vitest run test/minimal/minimal.test.ts -t builderlessNITRO_BUILDER=rollup pnpm exec nitro build✅NITRO_BUILDER=vite pnpm exec nitro build✅pnpm exec wrangler deploy --dry-run --config .output/server/wrangler.json✅pnpm exec wrangler dev --config .output/server/wrangler.jsonand request/returns200✅📝 Checklist