Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Support pnpm catalog

Open
#1,835 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
42/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Domain
cli, tooling

Research direction

Start by locating the vp add command and its handling of package.json and pnpm-workspace.yaml. Trace how catalog entries are detected, selected, and updated, then verify the requested catalog: references and install behavior for both existing and new dependencies.

Written by the indexing model from the issue text.

Description

enhancement
Description

In current Vite+, when running vp add vue with pnpm catalogs configured in pnpm-workspace.yaml, it totally ignores the catalog and add the package with it version directly in package.json.

Since pnpm catalogs feature provide a lot of benefit for packages management (Anthony Fu wrote a blog about it), it will be great if VIte+ does support it.

Suggested solution
  • This feature can be toggle by a config in vite.config.ts: pnpm.catalog: boolean or an env var like VP_CATALOG=boolean.

  • When running vp add and Vite+ detects a workspace that use pnpm catalog: instead of adding packages with pinned versions, it writes catalog: references into package.json and updates the workspace catalog:

# Given pnpm-workspace.yaml with:
#   catalogs:
#     prod:
#       react: ^18.3.0

vp add react
# → detects react in "prod" catalog
# → writes "react": "catalog:prod" to package.json
# → runs vp install

vp add lodash
# → lodash not in any catalog
# → prompts to select a catalog (or skip)
# → fetches latest version, updates pnpm-workspace.yaml
# → writes "lodash": "catalog:prod" to package.json
# → runs vp install
Alternative

No response

Additional context

This feature is inspired by ni

Validations
  • Read the Contributing Guidelines.
  • Confirm this request is for Vite+ itself and not for Vite, Vitest, tsdown, Rolldown, or Oxc.
  • Check that there isn't already an issue requesting the same feature.
Dominant language
Rust
Stars
5.8k
Forks
263
Avg merge
1d 4h
Merged PRs (30d)
148

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from voidzero-dev/vite-plus

All issues in voidzero-dev/vite-plus

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.