Uh oh!
There was an error while loading. Please reload this page.
feat(vite-plus): support lazy field in vite-plus config - #526
Conversation
Brooooooklyn
commented
Feb 1, 2026
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit:ccdd0d83ad
ℹ️ 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".
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Pull request overview
This pull request adds support for a lazy field in the vite-plus configuration to enable lazy loading of plugins. The PR modifies the defineConfig function to intercept configurations with a lazy field, execute the lazy loader, and merge the resulting plugins with any existing plugins before passing the config to the underlying vite/vitest configuration system.
Changes:
- Modified
vite.config.tsto use the newdefineConfigfunction instead of type assertion - Updated
pnpm-workspace.yamlwith formatting improvements and added@vitejs/plugin-reactto the catalog - Implemented lazy plugin loading support in
packages/cli/src/index.tswith a customdefineConfigwrapper
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| vite.config.ts | Updated to use defineConfig function call instead of type assertion to leverage the new lazy loading feature |
| pnpm-workspace.yaml | Formatting improvements (quote normalization, whitespace consistency), added @vitejs/plugin-react dependency, and alphabetized patchedDependencies entries |
| packages/cli/src/index.ts | Added lazy field to UserConfig interface and implemented custom defineConfig wrapper to handle lazy plugin loading |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
ccdd0d8 to
5380304CompareUh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 4 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Merge activity
|
Uh oh!
There was an error while loading. Please reload this page.
Bumps the `vite-task` git dependency from `cb580c2` to `4003f65`. ## Changes The delta is entirely internal `fspy` (file-access tracking) shared-memory work — no user-facing CLI flags, config fields, or behavior changes, so no docs updates were needed. - **fix(fspy):** use `memfd` for Linux shared memory — automatic file-access tracking on Linux now works in containers and Kubernetes runners with limited `/dev/shm` space ([#523](voidzero-dev/vite-task#523), [#353](voidzero-dev/vite-task#353)) - **perf(fspy):** use sparse Windows shared memory — Windows file-access tracking now uses sparse temporary backing files where supported, avoiding upfront allocation of the full backing file on disk ([#524](voidzero-dev/vite-task#524)) - **refactor(fspy):** own macOS shared-memory mapping ([#526](voidzero-dev/vite-task#526)) - **docs/test(fspy):** document shared-memory facade ownership semantics ([#521](voidzero-dev/vite-task#521)); reproduce constrained dev shm failure ([#522](voidzero-dev/vite-task#522)) The lockfile change reflects this refactor: `fspy` now pulls in `memfd` and drops `shared_memory`. ## Validation - `cargo check --workspace` passes — the new `vite-task` compiles cleanly, confirming no breaking changes on the consuming side (including `vite_cli_snapshots`, which compiles against vite-task's PTY/snapshot test crates). - vite-plus crate tests pass. (One pre-existing, environment-specific stack overflow in `vite_global_cli`'s `unknown_argument_detected_with_pass_as_value_hint` clap-parsing test reproduces identically on `main` and is unrelated to this bump.) - PTY snapshot output is unchanged by the bump; the remaining local snapshot diffs in this sandbox are all environmental (no built `packages/cli/dist`, plus registry TLS/network restrictions), left to CI, which builds the JS CLI and has registry access. ## Changelog Full vite-task CHANGELOG diff: ``https://github.com/voidzero-dev/vite-task/compare/cb580c214bb2314fc1f633a3812782c9b3a1d956...4003f65a3e5e3d957ff81b157e85e6ee41cc59fc#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4ed`` 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- _Generated by [Claude Code](https://claude.ai/code/session_01YERo1yECf81w37US2Gqnow)_ Co-authored-by: Claude <noreply@anthropic.com>

Note
Medium Risk
Adds new config evaluation behavior that can change when/which plugins are included, and adjusts CLI build output (new CJS artifact) and CI build ordering; mistakes here could break consumer configs or packaging.
Overview
Adds a custom
defineConfigwrapper invite-plusthat supports alazy()field to asynchronously provide additional plugins and merges them with any existingplugins, working for object, promise, and function config forms.Updates the CLI entrypoints and build to ship
define-configfor both ESM and CommonJS (emittingdefine-config.cjs), and adds thorough unit coverage for the newlazybehavior.Adjusts CI build steps so
vite-plus/vite-plus-cliTypeScript builds run earlier, updates the repovite.config.tsto usedefineConfig, and makes small workspace/lint script tweaks.Written by Cursor Bugbot for commit 2f8417b. This will update automatically on new commits. Configure here.