vercel / vercel/workflow

Remove redundant Nitro development cleanup after upstream release

Open
#2,924 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
2.4k
Forks
365
Avg merge
2d 11h
Merged PRs (30d)
169

Description

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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in packages/nitro/src/vite.ts and inspect the corresponding development lifecycle test after confirming the required Nitro release includes nitrojs/nitro#4362. Remove the obsolete development cleanup workaround while retaining Workflow-owned build-context disposal, then verify React Router v7 and v8 development and production builds still work and exit.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vite
Domain
build-system
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.