fix(bundler): capture delayed compiled service spawn - #3700
Conversation
📦 Client bundle boundary
A server module in a client graph aborts hydration in the browser. New leaks fail CI; known leaks are tracked in |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe bundler now coordinates concurrent esbuild service initialization through shared capture state. It restores process interception across success and failure paths. A smoke test verifies that parallel transforms complete successfully. ChangesConcurrent esbuild initialization
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to This PR localizes compiled-runtime service capture and concurrent transform handling in the bundler, with corresponding test coverage; no actionable merge-blocking risk remains at the current head. Sequence Diagram(s)sequenceDiagram
participant TransformCall
participant invokeEsbuild
participant spawn
participant EsbuildService
TransformCall->>invokeEsbuild: request transform
invokeEsbuild->>spawn: capture service creation
spawn->>EsbuildService: start service
EsbuildService-->>invokeEsbuild: provide live service
invokeEsbuild->>EsbuildService: execute transform
EsbuildService-->>TransformCall: return transformed output
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Summary
Validation
deno fmt --check extensions/ext-bundler-esbuild/src/esbuild-bundler.ts extensions/ext-bundler-esbuild/src/esbuild-bundler.test.tsDENO_TESTING=1 VF_DISABLE_LRU_INTERVAL=1 NODE_ENV=production LOG_FORMAT=text deno test --no-check --allow-all extensions/ext-bundler-esbuild/src/esbuild-bundler.test.tsNotes
The local compiled-binary test is blocked by the workstation Deno runtime missing complete
node:util/typesbrand checks; CI runs the compiled-binary gate.Summary by CodeRabbit