You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(runner-execute-refactor): refactor execute module for runner-aware IPC
Reshape `vite_task::session::execute` (and the supporting modules:
`spawn`, `fingerprint`, `cache`, `tracked_accesses`, `event`, and the
summary reporter) to accommodate a per-task IPC server. The server
itself is a placeholder on this branch: instead of actually calling
`vite_task_server::serve(...)`, we construct an empty `Recorder`
whose driver future resolves immediately with no traffic, and bind
a `StopAccepting::noop()`. The downstream plumbing — async-join of
the child with the server, `Reports` flowing into post-run
fingerprinting and into the cache update — is fully in place but
sees only the empty `Reports`, so behaviour is byte-for-byte
identical to today's runner.
The follow-up wires up the real `serve(...)`, embeds the napi
addon, and injects `VP_RUN_NODE_CLIENT_PATH` into the child. That
PR's `serve(Recorder::new(env_map))` is the only call that changes
from "future::ready(Ok(recorder))" to the real bind.
Adds `StopAccepting::noop()` to `vite_task_server` for the same
placeholder use case; it's a tiny helper that's also useful for
tests that need a value of the type without running a server.
Also folds in the unrelated-but-blocking output-config refactor
(`output: Option<UserInputsConfig>` instead of
`Option<Vec<UserOutputEntry>>`) — both sides now route through
`ResolvedGlobConfig::from_user_config`. The 80-odd plan-snapshot
updates are mechanical consequences of that type change.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments