Skip to content

Remove redundant Nitro development cleanup after upstream release #2924

Description

@NathanColosimo

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions