Skip to content

feat: integrate vite-task runner-aware tools (auto output + tracked envs)#1774

Merged
fengmk2 merged 3 commits into
mainfrom
feat/vite-task-runner-tools
Jun 24, 2026
Merged

feat: integrate vite-task runner-aware tools (auto output + tracked envs)#1774
fengmk2 merged 3 commits into
mainfrom
feat/vite-task-runner-tools

Conversation

@wan9chi

@wan9chi wan9chi commented Jun 6, 2026

Copy link
Copy Markdown
Member

Integrates the runner-aware-tools work now available on vite-task/main: Vite reports its inputs/outputs/envs to the vp runner via @voidzero-dev/vite-task-client, so vp build no longer needs a hand-synthesized cache config. This enables auto output restoration and auto tracked envs through the runner protocol.

Changes

  • Bump vite-task git deps to 82ec12b2 (latest main): runner-aware IPC server/client + embedded napi addon, tracked env fingerprinting, automatic output tracking/restoration by default, per-schema-version cache directories, and prefix-env executable lookup fixes. Regenerate the napi binding (RunnerClient/load exports) and run-config.ts for the new task-config types (AutoTracking).
  • Point the vite behind vp build/vp dev to latest vitejs/vite (c13a37b53), which carries the vite-task-client integration. vite lists @voidzero-dev/vite-task-client in devDependencies, so it is bundled into vite's output, and therefore into @voidzero-dev/vite-plus-core, the same way as vite's other bundled deps (cac, esbuild, ...). No extra runtime dependency or build wiring is needed.
  • Remove vp build's synthetic cache config (env: ["VITE_*"], manual input excludes). The all-None EnabledCacheConfig keeps caching enabled with auto input/output inference; vite's ignoreInput/ignoreOutput/getEnv/getEnvs refine the fingerprint at runtime. vp dev stays disabled().
  • Docs: update cache/run docs for automatic output restoration by default and output: [] as the opt-out.
  • Snap tests: vp-build-auto-output-restoration (dist restored on cache hit without a synthetic output config) and vp-build-auto-tracked-env (a VITE_ env change invalidates the cache and names the changed env). Edge cases live in vite-task.

Notes

@netlify

netlify Bot commented Jun 6, 2026

Copy link
Copy Markdown

Deploy Preview for viteplus-preview canceled.

Name Link
🔨 Latest commit 8cd294c
🔍 Latest deploy log https://app.netlify.com/projects/viteplus-preview/deploys/6a3b8ae273e78b000864a603

@wan9chi wan9chi force-pushed the feat/vite-task-runner-tools branch from 83d8d81 to 6006f44 Compare June 6, 2026 19:11
@wan9chi wan9chi marked this pull request as ready for review June 6, 2026 19:21
@wan9chi wan9chi marked this pull request as draft June 7, 2026 00:39
@wan9chi wan9chi force-pushed the feat/vite-task-runner-tools branch 2 times, most recently from 2d380bf to a39a5d3 Compare June 7, 2026 01:22
@wan9chi wan9chi marked this pull request as ready for review June 7, 2026 01:29
@wan9chi wan9chi marked this pull request as draft June 7, 2026 01:30
@wan9chi wan9chi force-pushed the feat/vite-task-runner-tools branch 3 times, most recently from f3c2f78 to 0c7099a Compare June 7, 2026 02:38
@wan9chi wan9chi added the test: e2e Auto run e2e tests label Jun 7, 2026
@wan9chi wan9chi force-pushed the feat/vite-task-runner-tools branch 2 times, most recently from baadc47 to 8f14d85 Compare June 8, 2026 02:13
@github-actions

github-actions Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

✅ Staging deployment successful!

Preview: https://viteplus-staging.void.app/
Commit: b35d839

@wan9chi wan9chi force-pushed the feat/vite-task-runner-tools branch from 6c9f8bf to 88a28a4 Compare June 15, 2026 02:47
Comment thread packages/core/build.ts
Comment thread packages/cli/binding/src/cli/resolver.rs Outdated
@wan9chi wan9chi force-pushed the feat/vite-task-runner-tools branch from db35a29 to 22f79af Compare June 23, 2026 07:23
@socket-security

socket-security Bot commented Jun 23, 2026

Copy link
Copy Markdown

No dependency changes detected. Learn more about Socket for GitHub.

👍 No dependency changes detected in pull request

@wan9chi wan9chi marked this pull request as ready for review June 23, 2026 14:56

@chatgpt-codex-connector chatgpt-codex-connector Bot 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: 143238625a

ℹ️ 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 thread packages/cli/binding/src/cli/resolver.rs
@wan9chi wan9chi force-pushed the feat/vite-task-runner-tools branch from 8fd0a8a to b4790e4 Compare June 23, 2026 16:32
@wan9chi wan9chi requested a review from fengmk2 June 24, 2026 01:34
@fengmk2 fengmk2 self-assigned this Jun 24, 2026
@fengmk2 fengmk2 added test: install-e2e run vite install e2e test test: create-e2e Run `vp create` e2e tests test: sfw labels Jun 24, 2026
pnpm 11's default minimumReleaseAge (~24h) makes the bundled vitest's
auto-installed vite peer resolve to a previous upstream release that can
predate vite's vite-task-client integration, causing a false vp test
cache miss in the "Verify cache" step. Force 0 so the latest vite (with
the integration) is used. pnpm-only, no-op for npm/yarn/bun.

Real fix (dedupe vite/vitest to a single instance) tracked in #1932.
@fengmk2 fengmk2 merged commit a9c7034 into main Jun 24, 2026
94 checks passed
@fengmk2 fengmk2 deleted the feat/vite-task-runner-tools branch June 24, 2026 07:55
fengmk2 added a commit that referenced this pull request Jun 25, 2026
…ep (#1933)

Closes #1932.

Under pnpm, a created/migrated monorepo resolved vite-plus / vite /
vitest to 2 instances each: packages depending on vite-plus without a
direct `vite` (the workspace root and `packages/utils`) left vitest's
`vite` peer for pnpm's autoInstallPeers to satisfy with a second,
upstream vite. That upstream vite lacks vite's vite-task-client
integration, which broke the `vp test` cache.

Fix (pnpm-only, in the migrator): wherever vite-plus is depended upon,
add a direct `vite` devDep aliased to the override target so vitest's
peer binds to @voidzero-dev/vite-plus-core. npm/yarn/bun already
redirect the transitive/peer vite via root overrides/resolutions, so
they are untouched.

Also adds a "Verify single dependency instances" CI guard, drops the
temporary `PNPM_CONFIG_MINIMUM_RELEASE_AGE=0` band-aid from #1774, and
covers the cases with unit tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test: create-e2e Run `vp create` e2e tests test: e2e Auto run e2e tests test: install-e2e run vite install e2e test test: sfw

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Task cache: a build with outDir under a tracked dir (e.g. Laravel public/build) never caches — emptyOutDir delete-probe counted as a read

3 participants