ITADN

Avoid circular binding resolution between vite-plus-core and vite-plus

#2054Openjong-kyung 创建于 2026-07-05
bug
J
jong-kyungcommented
## Context While investigating a pnpm `enable-global-virtual-store` issue, `@voidzero-dev/vite-plus-core` failed to resolve `vite-plus/binding` when executed from pnpm's global virtual store realpath. Current release rewrite: ```txt @rolldown/binding-* -> vite-plus/binding ``` This creates an awkward package relationship: ```txt vite-plus -> @voidzero-dev/vite-plus-core -> vite-plus/binding ``` A proposed optional peer dependency workaround(#2053) makes the dependency explicit, but it still feels circular because `vite-plus` already depends on `@voidzero-dev/vite-plus-core` . ## Proposal Consider moving the binding resolver into a neutral package, for example: ```txt @voidzero-dev/vite-plus-binding ``` Then both packages can depend on it: ```txt vite-plus -> @voidzero-dev/vite-plus-binding @voidzero-dev/vite-plus-core -> @voidzero-dev/vite-plus-binding ``` and the release rewrite can become: ```txt @rolldown/binding-* -> @voidzero-dev/vite-plus-binding ``` `vite-plus/binding` could remain as a compatibility re-export. ## Benefit This avoids the circular `vite-plus -> core -> vite-plus/binding` shape while making native binding resolution explicit for pnpm global virtual store layouts.
0 条评论