Skip to content

test(snapshots): support local-registry cases in the PTY runner - #2080

Merged
graphite-app[bot] merged 1 commit into
mainfrom
snap-local-registry
Jul 8, 2026
Merged

test(snapshots): support local-registry cases in the PTY runner#2080
graphite-app[bot] merged 1 commit into
mainfrom
snap-local-registry

Conversation

@fengmk2

Copy link
Copy Markdown
Member

Implement local-registry = true in crates/vite_cli_snapshots (previously
a "not implemented yet" stub). The runner now packs the checkout's
vite-plus and @voidzero-dev/vite-plus-core once per run, then for each
local-registry case starts local-npm-registry.ts --serve (cwd = the staged
fixture, so its mock-manifest.json/tarballs are served), reads the JSON
handshake, and folds the per-package-manager registry env into every step.
The registry is torn down when the case ends. Steps default to a 120s
timeout for these cases (installs are slower), still overridable per step.

Adds a --pack-to <dir> mode to local-npm-registry.ts so the pack logic
stays in one place, and a local_registry smoke fixture that installs a
package served only by the fixture's mock-manifest to prove the path.

This unblocks the local-registry create cases parked as ignore = true
in #2071, which rebases on top of this.

@netlify

netlifyBot commented Jul 7, 2026

Copy link
Copy Markdown

Deploy Preview for viteplus-preview canceled.

NameLink
🔨 Latest commiteae9fc4
🔍 Latest deploy loghttps://app.netlify.com/projects/viteplus-preview/deploys/6a4c9a85c8aa9d00081c4b2a

@fengmk2Graphite App

fengmk2 commented Jul 7, 2026

Copy link
Copy Markdown
MemberAuthor

How to use the Graphite Merge Queue

Add the label auto-merge to this PR to add it to the merge queue.

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@fengmk2

Copy link
Copy Markdown
MemberAuthor

@codex review

@chatgpt-codex-connectorchatgpt-codex-connectorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit:bd1e932b2a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment threadcrates/vite_cli_snapshots/tests/cli_snapshots/main.rs
Comment threadcrates/vite_cli_snapshots/tests/cli_snapshots/main.rs
Comment threadcrates/vite_cli_snapshots/tests/cli_snapshots/main.rs Outdated
Comment threadcrates/vite_cli_snapshots/tests/cli_snapshots/main.rs
@fengmk2
fengmk2 changed the base branch from main to graphite-base/2080July 7, 2026 12:14
@fengmk2
fengmk2force-pushed the snap-local-registry branch from eae9fc4 to 005954bCompareJuly 7, 2026 12:14
@fengmk2
fengmk2 changed the base branch from graphite-base/2080 to snap-linux-parallelJuly 7, 2026 12:14
@fengmk2
fengmk2force-pushed the snap-local-registry branch 2 times, most recently from 9920f40 to cd2fe6dCompareJuly 7, 2026 13:14
@fengmk2
fengmk2force-pushed the snap-linux-parallel branch from e046ea4 to 4a77a5bCompareJuly 7, 2026 13:14
@fengmk2
fengmk2 marked this pull request as ready for review July 7, 2026 13:16
@fengmk2
fengmk2 requested a review from wan9chiJuly 7, 2026 13:16
@fengmk2fengmk2 self-assigned this Jul 7, 2026
@fengmk2Graphite App

Copy link
Copy Markdown
MemberAuthor

@codex review

@fengmk2
fengmk2force-pushed the snap-local-registry branch from cd2fe6d to a8ac013CompareJuly 7, 2026 13:43
@fengmk2
fengmk2force-pushed the snap-local-registry branch 2 times, most recently from 9838f9b to 6c1bc7fCompareJuly 8, 2026 12:13
@fengmk2
fengmk2force-pushed the snap-linux-parallel branch 2 times, most recently from 6fa9b0b to dd90c33CompareJuly 8, 2026 13:43
@fengmk2
fengmk2force-pushed the snap-local-registry branch from 6c1bc7f to 133d1acCompareJuly 8, 2026 13:43
@graphite-app

graphite-appBot commented Jul 8, 2026

Copy link
Copy Markdown

Merge activity

Implement `local-registry = true` in crates/vite_cli_snapshots (previously
a "not implemented yet" stub). The runner now packs the checkout's
vite-plus and @voidzero-dev/vite-plus-core once per run, then for each
local-registry case starts local-npm-registry.ts --serve (cwd = the staged
fixture, so its mock-manifest.json/tarballs are served), reads the JSON
handshake, and folds the per-package-manager registry env into every step.
The registry is torn down when the case ends. Steps default to a 120s
timeout for these cases (installs are slower), still overridable per step.
Adds a `--pack-to <dir>` mode to local-npm-registry.ts so the pack logic
stays in one place, and a `local_registry` smoke fixture that installs a
package served only by the fixture's mock-manifest to prove the path.
This unblocks the local-registry create cases parked as `ignore = true`
in #2071, which rebases on top of this.
@graphite-app
graphite-appBotforce-pushed the snap-linux-parallel branch from dd90c33 to 80e72cbCompareJuly 8, 2026 15:00
@graphite-app
graphite-appBotforce-pushed the snap-local-registry branch from 173c774 to 113a1e6CompareJuly 8, 2026 15:01
Base automatically changed from snap-linux-parallel to mainJuly 8, 2026 15:08
@graphite-app
graphite-appBot merged commit 113a1e6 into mainJul 8, 2026
44 checks passed
@graphite-app
graphite-appBot deleted the snap-local-registry branch July 8, 2026 15:10
@fengmk2fengmk2 mentioned this pull request Jul 8, 2026
6 tasks
wan9chi added a commit that referenced this pull request Jul 16, 2026
)
Release vite-plus v0.2.5: Cleaner environments and more reliable
workflows.
This release adds cleanup and package version commands, supports
TypeScript 7 declaration generation, reduces the standalone binary size,
and hardens task tracking, CLI output, package-manager routing, Docker
workflows, and project scaffolding.
### Highlights
- Add `vp env clean` to remove unused managed Node.js runtimes and
package-manager caches
([#2003](#2003)), by
@liangmiQwQ
- Add `vp pm version`, forwarding native version commands to npm, pnpm,
Yarn, and Bun
([#2127](#2127)), by
@jong-kyung
- Add TypeScript 7 support to declaration generation and generated
library projects with tsdown `0.22.7`
([#2104](#2104),
[#2168](#2168)), by
@wan9chi
- Improve automatic task input tracking for Bun on macOS, Linux
containers with constrained `/dev/shm`, and Windows process images,
reduce Windows backing-file allocation, and clarify task wait failures
([vite-task#515](voidzero-dev/vite-task#515),
[vite-task#518](voidzero-dev/vite-task#518),
[vite-task#523](voidzero-dev/vite-task#523),
[vite-task#524](voidzero-dev/vite-task#524),
[vite-task#542](voidzero-dev/vite-task#542),
[#2126](#2126),
[#2167](#2167)), by
@wan9chi
- Prevent CLI diagnostics from truncating or panicking when inherited
standard output or error is nonblocking
([#2172](#2172),
[#2173](#2173)), by
@wan9chi
### Fixes & Enhancements
- Reduce standalone `vp` binary sizes by about 5% on Linux and macOS and
19% on Windows
([#2043](#2043)), by
@fengmk2
- Keep the Docker image non-root by default while allowing passwordless
`sudo` for Playwright browser dependencies and system packages
([#2088](#2088)), by
@fengmk2
- Ignore `.env` and `.env.*` in generated projects while keeping
`.env.example` trackable
([#2095](#2095)), by
@forehalo
- Create `vp-use.cmd` after the Windows environment bin directory is
ready and document its Command Prompt-only usage
([#2128](#2128)), by
@liangmiQwQ
- Render user-facing process statuses and paths without Rust debug
wrappers ([#2130](#2130)),
by @liangmiQwQ
- Make `vp dedupe` fall back to `yarn install` with a warning on Yarn
Classic ([#2139](#2139)),
by @jong-kyung
- Ensure package-manager child processes, including Bun, can always find
the managed Node.js runtime
([#2158](#2158)), by
@BlankParticle
### Docs
- Update the release-manager post-release guidance
([#2096](#2096)), by
@wan9chi
- Add Windows to the Namespace sponsor credit
([#2108](#2108)), by
@fengmk2
- Document installer and runtime environment variables, registry
settings, TLS options, and precedence rules
([#2114](#2114)), by
@yukinoshi
- Mark shell examples in `CONTRIBUTING.md` as Bash code blocks
([#2159](#2159)), by
@BlankParticle
### Chore
- Assign prepared release PRs to the workflow actor
([#2094](#2094)), by
@wan9chi
- Complete the PTY snapshot migration and harden the runner, fixtures,
release-version redaction, registry teardown, timeouts, and Linux
parallelism
([#2071](#2071),
[#2080](#2080),
[#2084](#2084),
[#2099](#2099),
[#2102](#2102),
[#2103](#2103),
[#2107](#2107),
[#2109](#2109),
[#2115](#2115),
[#2117](#2117),
[#2118](#2118),
[#2119](#2119),
[#2120](#2120),
[#2121](#2121),
[#2131](#2131),
[#2132](#2132),
[#2134](#2134),
[#2137](#2137),
[#2138](#2138),
[#2141](#2141),
[#2143](#2143),
[#2145](#2145),
[#2182](#2182)), by
@fengmk2 and @wan9chi
- Expose Vite+ managed binaries consistently inside snapshot fixtures
([#2110](#2110)), by
@liangmiQwQ
- Exclude PTY snapshot configuration from Vitest discovery and remove
the legacy snapshot infrastructure
([#2135](#2135),
[#2146](#2146)), by
@jong-kyung
- Modernize Windows runners, registry bridge publishing, native size
reporting, merge-base comparisons, and package-manager installation CI
([#2083](#2083),
[#2100](#2100),
[#2105](#2105),
[#2106](#2106),
[#2112](#2112),
[#2133](#2133)), by
@fengmk2
- Verify that created monorepo libraries emit declarations in CI
([#2171](#2171)), by
@wan9chi
### Bundled Versions
| Tool | Version | Source |
| --------------- | ------- |
-----------------------------------------------------------------------
|
| vite | `8.1.4` |
[`a477454`](vitejs/vite@a477454)
|
| rolldown | `1.1.5` |
[`f09947a`](rolldown/rolldown@f09947a)
|
| tsdown | `0.22.7` | [npm](https://npmx.dev/package/tsdown/v/0.22.7) |
| vitest | `4.1.10` | [npm](https://npmx.dev/package/vitest/v/4.1.10) |
| oxlint | `1.73.0` | [npm](https://npmx.dev/package/oxlint/v/1.73.0) |
| oxlint-tsgolint | `0.24.0` |
[npm](https://npmx.dev/package/oxlint-tsgolint/v/0.24.0) |
| oxfmt | `0.58.0` | [npm](https://npmx.dev/package/oxfmt/v/0.58.0) |
### Upgrade
```bash
vp upgrade
```
### New Contributors
Welcome @yukinoshi and @BlankParticle.
**Full Changelog**:
v0.2.4...v0.2.5
---
Merging this PR will trigger the release workflow.
---------
Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com>
Co-authored-by: wan9chi <dk4rest@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@fengmk2@wan9chi