vite:monorepo template declares catalog entries that no workspace package uses
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 76/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- typescript
- 領域
- build-system
調査の方向性
まず packages/cli/templates/monorepo/pnpm-workspace.yaml を確認し、そのカタログエントリを生成されたパッケージマニフェスト、特に packages/utils/package.json と apps/website/package.json と比較してください。monorepoテンプレートの生成テストまたは検証テストを確認し、テンプレートで catalog: 参照を使うべきか、未使用のエントリを削除すべきかを判断したうえで、該当するテストを実行してください。生成されたカタログエントリが使用され、そのバージョンが一致しているか、未使用のエントリが存在しない状態になれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Describe the bug
A project created with vp create vite:monorepo declares two pnpm catalog entries that no workspace package uses, and one of them does not match the version the packages actually pin.
The template's pnpm-workspace.yaml (packages/cli/templates/monorepo/pnpm-workspace.yaml) sets catalogMode: prefer and declares:
catalog:
"@types/node": ^24
typescript: ^7.0.0
The generated workspace packages do not reference these entries with catalog:. They pin direct ranges instead:
packages/utils/package.json "@types/node": "^26.6.5", "typescript": "^7.0.2"
apps/website/package.json "typescript": "^7.0.2"
What I expect: the generated packages use "typescript": "catalog:" and "@types/node": "catalog:", so the catalog is the single source of the versions, or the template leaves out catalog entries that are not used. The @types/node range should also agree between the catalog (^24) and the package (^26.6.5).
What happens: the catalog entries are dead, and a dead-code checker such as Knip reports them on a new project. vp check passes, so nothing inside Vite+ points this out.
Related: #1835 is about vp add writing catalog: references. This report is about the manifests the template itself generates.
Reproduction
No separate repository: the bug reproduces with the single vp create command under "Steps to reproduce", on a clean directory.
Steps to reproduce
vp create vite:monorepo --directory repro --no-interactive --git --package-manager pnpm
cd repro
grep -n "catalog" pnpm-workspace.yaml
grep -rn '"typescript"\|"@types/node"' apps/*/package.json packages/*/package.json
pnpm dlx [email protected]
Knip prints:
Unused catalog entries (2)
@types/node default pnpm-workspace.yaml:9:4
typescript default pnpm-workspace.yaml:10:3
System Info
$ vp env current
Node.js:
Version 26.13.0
Source engines.node
Installed true
Mode managed
Package Manager:
Name pnpm
Version 12.18.0
Source devEngines.packageManager
Installed true
Mode managed
$ vp --version
vp v1.5.0
Local vite-plus:
vite-plus v1.5.0
Tools:
vite v8.3.5
rolldown v1.2.16
vitest v5.1.0
oxfmt v0.76.0
oxlint v1.91.0
oxlint-tsgolint v7.0.2005
tsdown v0.23.4
The vp --version output is from the project's local vp (1.5.0); vp env current ran through the global binary (1.2.0), because the local one refuses env. Binary paths are removed.
Used Package Manager
pnpm
Logs
Not needed; the steps above reproduce it without any error output.
Validations
- Read the Contributing Guidelines.
- Check that there isn't already an issue for the same bug.
- Confirm this is a Vite+ issue and not an upstream issue (Vite, Vitest, tsdown, Rolldown, or Oxc).
- The provided reproduction is a minimal reproducible example.
- 主要言語
- TypeScript
- スター
- 6.6k
- フォーク
- 303
- 平均マージ
- 1日 4時間
- マージ済み PR(30日)
- 224
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
voidzero-dev/vite-plus のほかの issue
-
migration pending triage triage: failed
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
voidzero-dev/vite-plus#3375 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
`vp env pin`: says "Created .node-version" when overwriting an existing file対応中かも @CheHyeonYeong が今日担当しました。 オープンcontribution welcome documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
voidzero-dev/vite-plus#3370 · コメント 3 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
triage: not actionable
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
voidzero-dev/vite-plus#3296 · コメント 1 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
pending triage
難易度 2/5 1〜3時間 初心者へのやさしさ 63/100
voidzero-dev/vite-plus#3235 ·
メンテナーはふだん 1 日以内に返信
-
Docker guide: the runtime stage needs libatomic1 for Node.js 25 and later対応中かも @kshanxs が 14 日前に担当しました。 オープンdocumentation
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
voidzero-dev/vite-plus#3219 · コメント 2 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
voidzero-dev/vite-plus の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
langchain-ai/langchainjs#12157 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
activescott/home-infra-k8s-flux#511 ·
メンテナーはふだん 1 日以内に返信
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
lingdojo/kana-dojo#33753 · コメント 1 件 · リアクション 5 件 ·
メンテナーはふだん 1 日以内に返信
-
android:player
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
follow-up needs-triage S3: minor
難易度 1/5 1〜3時間 初心者へのやさしさ 85/100
manaflow-ai/cmux#38032 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信