Context
Workflow #2908 added two kinds of cleanup:
- a
buildEnd hook that closes the temporary Nitro development instance;
- disposal of Workflow-owned esbuild contexts.
nitrojs/nitro #4362 fixes Nitro's environment-runner cleanup and is merged on Nitro main, but is not in the Nitro v3 release used by #2908.
A/B verification in Workflow #2923 and Workflow #2930 confirmed that Workflow v4 and v5 production builds exit after disposing their build contexts without calling the process-global esbuild.stop(). Workflow therefore does not retain a global esbuild shutdown hook.
Follow-up
Once Workflow can require a Nitro release containing nitrojs/nitro#4362:
- Remove the
devNitro tracking and development buildEnd / nitro.close() workaround from packages/nitro/src/vite.ts.
- Remove or update the corresponding development lifecycle test.
- Keep the Workflow-owned build-context disposal.
- Verify React Router v7 and v8 development and production builds still work and exit.
The temporary React Router manifest bridge documented in #2930 is separate. Remove it only after Nitro provides equivalent React Router client-output handling while preserving deployment-preset output directories.
Context
Workflow #2908 added two kinds of cleanup:
buildEndhook that closes the temporary Nitro development instance;nitrojs/nitro #4362 fixes Nitro's environment-runner cleanup and is merged on Nitro
main, but is not in the Nitro v3 release used by #2908.A/B verification in Workflow #2923 and Workflow #2930 confirmed that Workflow v4 and v5 production builds exit after disposing their build contexts without calling the process-global
esbuild.stop(). Workflow therefore does not retain a global esbuild shutdown hook.Follow-up
Once Workflow can require a Nitro release containing nitrojs/nitro#4362:
devNitrotracking and developmentbuildEnd/nitro.close()workaround frompackages/nitro/src/vite.ts.The temporary React Router manifest bridge documented in #2930 is separate. Remove it only after Nitro provides equivalent React Router client-output handling while preserving deployment-preset output directories.