release: v0.2.8: monorepo target resolution, VP_* environment variables, and container reliability - #2325
release: v0.2.8: monorepo target resolution, VP_* environment variables, and container reliability#2325voidzero-guard[bot] wants to merge 2 commits into
Conversation
✅ Deploy Preview for viteplus-preview canceled.
|
NAPI bakes the package.json version into binding/index.cjs version checks. The prepare_release workflow bumps package.json but does not regenerate this file, so the CI build's regeneration step produces a diff that the post-build no-unexpected-changes guard rejects.
Native binary sizes (
|
| Artifact | Format | Base | PR | Change |
|---|---|---|---|---|
vp (Linux x64) |
Binary | 10.52 MiB | 10.52 MiB | 0 B (0.00%) |
vp (Linux x64) |
gzip -9 | 4.55 MiB | 4.55 MiB | +1.49 KiB (+0.03%) |
| NAPI (Linux x64) | Binary | 33.66 MiB | 33.66 MiB | 0 B (0.00%) |
| NAPI (Linux x64) | gzip -9 | 13.05 MiB | 13.04 MiB | -605 B (-0.00%) |
vp (macOS ARM64) |
Binary | 7.84 MiB | 7.84 MiB | 0 B (0.00%) |
vp (macOS ARM64) |
gzip -9 | 3.96 MiB | 3.96 MiB | -15 B (-0.00%) |
| NAPI (macOS ARM64) | Binary | 40.95 MiB | 40.95 MiB | 0 B (0.00%) |
| NAPI (macOS ARM64) | gzip -9 | 17.26 MiB | 17.26 MiB | -161 B (-0.00%) |
vp (Windows x64) |
Binary | 8.43 MiB | 8.43 MiB | 0 B (0.00%) |
vp (Windows x64) |
gzip -9 | 3.67 MiB | 3.67 MiB | -206 B (-0.01%) |
| NAPI (Windows x64) | Binary | 27.81 MiB | 27.81 MiB | 0 B (0.00%) |
| NAPI (Windows x64) | gzip -9 | 10.88 MiB | 10.88 MiB | +1.09 KiB (+0.01%) |
| Trampoline (Windows x64) | Binary | 203.00 KiB | 203.00 KiB | 0 B (0.00%) |
| Trampoline (Windows x64) | gzip -9 | 97.91 KiB | 97.91 KiB | -1 B (-0.00%) |
| Installer (Windows x64) | Binary | 4.46 MiB | 4.46 MiB | 0 B (0.00%) |
| Installer (Windows x64) | gzip -9 | 2.09 MiB | 2.09 MiB | 0 B (0.00%) |
Registry bridge build (
|
| Package | Version |
|---|---|
vite-plus |
0.0.0-commit.8b23a00f98df4a9270ac87a4f80b2ce1b669040b |
@voidzero-dev/vite-plus-core |
0.0.0-commit.8b23a00f98df4a9270ac87a4f80b2ce1b669040b |
Install the Vite+ CLI built from this commit, then migrate a project:
# macOS / Linux
curl -fsSL https://vite.plus | VP_PR_VERSION=2325 bash# Windows (PowerShell)
$env:VP_PR_VERSION="2325"; irm https://vite.plus/ps1 | iexAfter installing, upgrade the current project's vite-plus to this test build with:
vp migrateOr point your package manager at the bridge registry https://registry-bridge.viteplus.dev/:
| Package manager | Registry config |
|---|---|
| npm / pnpm / Bun | .npmrc: registry=https://registry-bridge.viteplus.dev/ |
| Yarn (v2+) | .yarnrc.yml: npmRegistryServer: "https://registry-bridge.viteplus.dev/" |
Then pin the build (vite aliases to vite-plus-core; pnpm can use a catalog, npm an overrides entry):
{
"devDependencies": {
"vite-plus": "0.0.0-commit.8b23a00f98df4a9270ac87a4f80b2ce1b669040b",
"vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.8b23a00f98df4a9270ac87a4f80b2ce1b669040b"
}
}
🐳 Docker preview imageBuilt from this PR's registry bridge build:
# remove any stale local copy from a previous run, then pull fresh
docker rmi ghcr.io/voidzero-dev/vite-plus:pr-2325 2>/dev/null; docker pull ghcr.io/voidzero-dev/vite-plus:pr-2325Quick check: docker run --rm ghcr.io/voidzero-dev/vite-plus:pr-2325 vp --versionSee docs/guide/docker.md for usage. |
@fengmk2 Should we mark the part two as a breaking change and follow semvar (v0.3.x for example) here? |
|
@liangmiQwQ not really breaking at the moment, because the old one is still supported, look here: https://github.com/voidzero-dev/vite-plus/blob/main/packages/cli/src/config/hooks.ts#L147-L152 But maybe adding a deprecation notice when the old one is used might be a good idea |
|
Release vite-plus v0.2.8: monorepo target resolution,
VP_*environment variables, and container reliability.Bare
vp dev/build/preview/packat a monorepo root now resolve a target package instead of silently running against the root, Vite+-specific environment variables move to theVP_*prefix, and Vite+ installs and runs correctly on slim/distroless container images and under stricter package-manager layouts.Highlights
vp dev,build,preview, andpackat a monorepo root: interactive shells get a fuzzy package picker, non-interactive runs list the candidates and exit 1 instead of building the root, and a new global-C <dir>flag or adefaultPackagesetting (a single directory, or an object mapping each of the four commands to its own directory) skips the prompt (#2031, #2305), by @fengmk2VP_*prefix, soVITE_*stays reserved for env vars exposed to your application:VP_GIT_HOOKS(the oldVITE_GIT_HOOKSis still accepted as a deprecated alias), plusVP_LOG,VP_GLOBAL_CLI_JS_SCRIPTS_DIR, andVP_UPDATE_TASK_TYPES, which have no compatibility aliases (#2195, #2312), by @dennybiasiolli and @jong-kyungvite-plus, fixingCannot find module 'vite-plus/binding'under pnpmenable-global-virtual-store, Yarn PnP, and standalone@voidzero-dev/vite-plus-coreinstalls (#2313), by @fengmk2vp pm cifor reproducible frozen-lockfile installs, andvp pm patch/vp pm patch-commitfor editing dependencies in place on pnpm, bun, and Yarn Berry (npm and Yarn Classic warn and exit successfully) (#2082, #2308), by @forehalo and @jong-kyungFeatures
8.1.5->8.2.0, rolldown1.2.0->1.2.2, oxlint1.75.0->1.76.0, oxfmt0.60.0->0.61.0, and Vite DevTools0.4.5->0.4.10(#2302, #2311), by @voidzero-guard[bot].nvmrcwhen no other version source is present (#2244), by @BlankParticle@pnpm/exe.*package and generates native shims, sopnpmandpnpxwork instead of failing to exec (#2289), by @jong-kyungdist.integrityhash (#2310), by @jong-kyungFixes & Enhancements
vp configinstall the Git hook dispatcher without creating or modifying project hook scripts or staged-file configuration, so a custom.vite-hooks/pre-commitsurvives (#2280), by @TheAlexLichterpackages/<package>/<uuid>instead of using#in the path, which Node treated as a URL fragment and which broke dynamic imports inside installed packages (#2222), by @liangmiQwQvp update -gfollows a dist tag or range instead of silently resolving back tolatest,vp outdated -greports Wanted versus Latest, andvp update -g --latestexplicitly moves packages back tolatest(#2249), by @TheAlexLichtervp create --package-manageroutside monorepos instead of inheriting the manager from a non-monorepo ancestor directory (#2226), by @jong-kyungvite:librarytemplate into a directory that contains only.git, while still refusing to overwrite existing user files (#2287), by @RSS1102vp <command> --helpmatches the installed toolchain instead of drifting (#2184), by @liangmiQwQtypeAwareandtypeCheckoptions inherited through Oxlintextends, sovp check --no-lintruns and classifies type checking correctly (#2228), by @jong-kyung(no version)instead ofunknownwhen globally installing a local package that has noversionfield (#2232), by @liangmiQwQRefactor
Docs
vpinstallation step in the onboarding prompt (#2291), by @Arcadi4Chore
vite-pluspeer of oxfmt and oxlint on every install (#2321), by @fengmk2@emnapipeers where@napi-rs/cliis used (#2319), by @jong-kyungrollup-testsfrom the workspace and updatebasic-ftp(#2322), by @fengmk2EnvConfigfields (#2320), by @jong-kyungvpprocess, and kill it before its children, in theenv_install_interruptsnapshot test (#2299, #2316), by @fengmk2vitest_browser_modesnapshot test (#2297), by @fengmk2Bundled Versions
8.2.0fa79f9a1.2.2872b98a0.22.144.1.101.76.07.0.20010.61.0Upgrade
New Contributors
@jbmusso, @Arcadi4, @dennybiasiolli, @RSS1102
Full Changelog: v0.2.7...v0.2.8
Merging this PR will trigger the release workflow.