Skip to content

vp migrate test#10

Draft
fengmk2 wants to merge 2 commits into
mainfrom
vp-migrate-test
Draft

vp migrate test#10
fengmk2 wants to merge 2 commits into
mainfrom
vp-migrate-test

Conversation

@fengmk2

@fengmk2 fengmk2 commented Jun 26, 2026

Copy link
Copy Markdown
Owner

Summary

Change Class

  • Parser or AST
  • Compiler and codegen
  • Semantic analysis, lint, and cross-file analysis
  • Virtual TypeScript and type checking
  • Formatter and LSP
  • Runtime packaging, release, or docs
  • Not language-facing

Behavior Reference

Verification Evidence

  • Minimal fixture or focused regression test added or updated
  • Snapshot/baseline changes reviewed and explained
  • Parity or real-world fixture coverage considered
  • Security/audit impact considered
  • Performance status or PR benchmark impact considered
  • Fuzzing target or crash-reproducer coverage considered
  • Editor/LSP scenario coverage considered
  • Ecosystem or broad app compatibility impact considered
  • Docs, release, or stability notes updated when public behavior changed

Risk

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request migrates the project to use vite-plus as its primary toolchain, updating workspace catalogs, package dependencies, configuration files, and adding environment declarations. Key feedback highlights the risk of using temporary pkg.pr.new URLs for core dependencies, duplication and inconsistency in dependency catalogs, and the fragile use of a global CLI in the pre-commit hook. Additionally, the reviewer advises against hardcoding relative paths to build artifacts in configuration files and warns that removing vite from peer dependencies eliminates crucial compatibility safeguards for consumers.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread pnpm-workspace.yaml
Comment on lines +40 to +42
vite: https://pkg.pr.new/voidzero-dev/vite-plus/@voidzero-dev/vite-plus-core@dca39038de6ca46e523bf64dc09bf100b636eea9
vitest: 4.1.9
vite-plus: https://pkg.pr.new/voidzero-dev/vite-plus@dca39038de6ca46e523bf64dc09bf100b636eea9

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

Using temporary pkg.pr.new URLs for core dependencies like vite and vite-plus in pnpm-workspace.yaml (and package.json overrides) poses a significant risk to build reproducibility and stability.

These URLs point to temporary commit-specific artifacts that can expire or be removed, which would break dependency installation for other developers and CI/CD pipelines in the future.

If this is for testing/migration purposes, please ensure these are reverted to stable version ranges or official pre-releases before merging this PR.

Comment thread .vite-hooks/pre-commit
@@ -0,0 +1 @@
vp staged

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

Relying on a globally installed vp CLI in a git hook can break the commit workflow for contributors or GUI clients that do not have vp globally installed in their PATH.

Using pnpm vp staged ensures that the workspace-local version of vite-plus is used, making the hook more robust and portable.

pnpm vp staged

Comment thread pnpm-workspace.yaml
Comment on lines +125 to +128
catalog:
vite: https://pkg.pr.new/voidzero-dev/vite-plus/@voidzero-dev/vite-plus-core@dca39038de6ca46e523bf64dc09bf100b636eea9
vitest: 4.1.9
vite-plus: https://pkg.pr.new/voidzero-dev/vite-plus@dca39038de6ca46e523bf64dc09bf100b636eea9

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

There is a duplication of the vite, vitest, and vite-plus dependency definitions between the named vite-stack catalog (lines 40-42) and the default catalog (lines 126-128).

Furthermore, across the workspace package.json files, there is inconsistency in which catalog is used (e.g., some packages use catalog:vite-stack for vite and catalog: for vite-plus, while others use catalog: for both).

This duplication and inconsistent usage can easily lead to version drift and installation issues if one catalog is updated but the other is missed. Consider consolidating these definitions or ensuring consistent catalog usage across all packages.

"vue"
],
"jsPlugins": [
"../../npm/lint-oxlint/dist/index.mjs",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

Hardcoding a relative path to another package's build artifact (../../npm/lint-oxlint/dist/index.mjs) is fragile and bypasses the package manager's dependency graph. If the package structure changes or if the package is not built yet, this will fail.

Consider adding the package as a workspace dependency in package.json (e.g., "@vizejs/lint-oxlint": "workspace:*" or similar) and referencing it by its package name, or resolving it dynamically.

Comment thread npm/builder/vite/package.json Outdated
"vite": "^7.3.0 || ^8.0.0"
"vite-plus": "catalog:"
},
"peerDependencies": {},

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

Removing vite from peerDependencies without replacing it with vite-plus (or another appropriate peer dependency) removes version compatibility safeguards for consumers of this package. If a consumer installs this plugin in a project with an incompatible version of Vite or Vite Plus, it could lead to unexpected build-time or runtime errors without any package manager warnings.

Consider keeping vite (or adding vite-plus) in peerDependencies with an appropriate version range to ensure compatibility.

Sign up for free to 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.

1 participant