Skip to content

feat: add create-vite-plus package - #3028

Merged
fengmk2 merged 9 commits into
voidzero-dev:mainfrom
liangmiQwQ:feat/create-vite-plus
Oct 14, 2026
Merged

fengmk2 merged 9 commits into
voidzero-dev:mainfrom
liangmiQwQ:feat/create-vite-plus

Conversation

@liangmiQwQ

@liangmiQwQ liangmiQwQ commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

Close #2602

This PR implements create-vite-plus package by calling vp create under the hood.

🤖 Generated with Claude

When vp create runs through a package manager (`pnpm create vite-plus`,
`npx vite-plus create`), read `npm_config_user_agent` to pick that package
manager instead of prompting, and suggest running vp through it in the next
command, since the global CLI may not be installed.
A thin wrapper that runs `vp create` from the vite-plus package, so
`pnpm create vite-plus`, `npm create vite-plus`, `yarn create vite-plus`,
and `bun create vite-plus` work without the global CLI.

Refs voidzero-dev#2602
@liangmiQwQ
liangmiQwQ marked this pull request as draft October 13, 2026 13:36
@liangmiQwQ

Copy link
Copy Markdown
Collaborator Author

The trusted publish needs @Boshen's configuration (cc @fengmk2)

@liangmiQwQ

Copy link
Copy Markdown
Collaborator Author

@fengmk2 is that ok to skip preview builds for this package?

@liangmiQwQ
liangmiQwQ marked this pull request as ready for review October 13, 2026 14:41
@fengmk2

fengmk2 commented Oct 13, 2026

Copy link
Copy Markdown
Member

The trusted publish configuration is already done! Let me start a preview build.

@fengmk2 fengmk2 added the preview-build Publish this PR's commits to the registry bridge as preview builds label Oct 13, 2026
@fengmk2 fengmk2 added preview-build Publish this PR's commits to the registry bridge as preview builds and removed preview-build Publish this PR's commits to the registry bridge as preview builds labels Oct 13, 2026
Comment thread docs/guide/create.md
@fengmk2

fengmk2 commented Oct 13, 2026

Copy link
Copy Markdown
Member

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-13T15:07:49.160289Z b4eb245 Manual request
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b4eb2450b7

ℹ️ 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".

Comment thread packages/cli/src/create/bin.ts
Comment thread .github/workflows/release.yml
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Registry bridge build (eb1b283)

Warning

This build is from the fork liangmiQwQ/vite-plus and has not been reviewed.
Installing it runs that code on your machine. Build log

This commit build is published to the registry bridge, which serves these as ordinary npm versions (every other package proxies to npmjs):

Package Version
vite-plus 0.0.0-commit.eb1b283e86c7daf63bfab12ea76c597bc916af09
@voidzero-dev/vite-plus-core 0.0.0-commit.eb1b283e86c7daf63bfab12ea76c597bc916af09
create-vite-plus 0.0.0-commit.eb1b283e86c7daf63bfab12ea76c597bc916af09

Install the Vite+ CLI built from this commit, then migrate a project:

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/liangmiQwQ/vite-plus/eb1b283e86c7daf63bfab12ea76c597bc916af09/packages/cli/install.sh | VP_PR_VERSION=3028 VP_LEGACY_INSTALLER_URL=https://raw.githubusercontent.com/liangmiQwQ/vite-plus/eb1b283e86c7daf63bfab12ea76c597bc916af09/packages/cli/install-legacy.sh bash
# Windows (PowerShell)
$env:VP_PR_VERSION="3028"; $env:VP_LEGACY_INSTALLER_URL="https://raw.githubusercontent.com/liangmiQwQ/vite-plus/eb1b283e86c7daf63bfab12ea76c597bc916af09/packages/cli/install-legacy.ps1"; irm https://raw.githubusercontent.com/liangmiQwQ/vite-plus/eb1b283e86c7daf63bfab12ea76c597bc916af09/packages/cli/install.ps1 | iex

Or download the standalone Windows installer built from this commit:

Architecture Installer
x64 vp-setup-x86_64-pc-windows-msvc.exe
Arm64 vp-setup-aarch64-pc-windows-msvc.exe

GitHub requires you to sign in and downloads each installer as a ZIP artifact. Extract vp-setup.exe, then run it against this preview build:

.\vp-setup.exe --version "0.0.0-commit.eb1b283e86c7daf63bfab12ea76c597bc916af09" --registry "https://registry-bridge.viteplus.dev/"

After installing, upgrade the current project's vite-plus to this test build with:

vp migrate

Or create a new project from this commit without installing the CLI:

export npm_config_registry=https://registry-bridge.viteplus.dev/ pnpm_config_registry=https://registry-bridge.viteplus.dev/
pnpm create vite-plus@0.0.0-commit.eb1b283e86c7daf63bfab12ea76c597bc916af09 # or: npm create vite-plus@0.0.0-commit.eb1b283e86c7daf63bfab12ea76c597bc916af09
$env:npm_config_registry="https://registry-bridge.viteplus.dev/"; $env:pnpm_config_registry="https://registry-bridge.viteplus.dev/"
pnpm create vite-plus@0.0.0-commit.eb1b283e86c7daf63bfab12ea76c597bc916af09 # or: npm create vite-plus@0.0.0-commit.eb1b283e86c7daf63bfab12ea76c597bc916af09

pnpm 11+ reads pnpm_config_registry, npm and older pnpm read npm_config_registry. The new project pins this build, so keep the registry set for later installs, or configure it as below.

Or point your package manager at the bridge registry https://registry-bridge.viteplus.dev/:

Package manager Registry config
npm / pnpm / Bun .npmrc: registry=https://registry-bridge.viteplus.dev/
Yarn (v2+) .yarnrc.yml: npmRegistryServer: "https://registry-bridge.viteplus.dev/"

Then pin the build (vite aliases to vite-plus-core; pnpm can use a catalog, npm an overrides entry):

{
  "devDependencies": {
    "vite-plus": "0.0.0-commit.eb1b283e86c7daf63bfab12ea76c597bc916af09",
    "vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.eb1b283e86c7daf63bfab12ea76c597bc916af09"
  }
}

@fengmk2

fengmk2 commented Oct 13, 2026

Copy link
Copy Markdown
Member

@liangmiQwQ Can you update the content of the preview build comment #3028 (comment) to add usage instructions for create-vite-plus?

fengmk2 pushed a commit to voidzero-dev/pkg-pr-registry-bridge that referenced this pull request Oct 14, 2026
This PR adds `create-vite-plus` to `WORKSPACE_PACKAGES`, so the bridge
accepts and serves its preview builds.

Vite+ adds the `create-vite-plus` package in
voidzero-dev/vite-plus#3028, and voidzero-dev/vite-plus#3048 lets its
preview workflows publish it. Without this, the upload of its tarball is
rejected, and reads of `create-vite-plus` are redirected to npm, so
`pnpm create vite-plus@0.0.0-commit.<sha>` can't resolve.

`config/production.env` needs to be synced to production and staging
with `void secret sync` after merging.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
fengmk2 pushed a commit that referenced this pull request Oct 14, 2026
This PR prepares the registry bridge preview publish for
`create-vite-plus`, added in #3028.

`publish-preview-register.yml` runs from `main` through `workflow_run`,
so #3028 can't change it for its own preview build. Without this, the
upload step rejects the `create-vite-plus` tarball because the action's
default `workspace-packages` only allows
`vite-plus,@voidzero-dev/vite-plus-*`, and the whole preview publish
fails.

This PR:

- passes `workspace-packages` with `create-vite-plus` to the upload
step. It is an allowlist, so PRs that don't pack the package are
unaffected.
- adds `create-vite-plus` to the preview comment, with instructions to
create a project from the build. They set both `npm_config_registry` and
`pnpm_config_registry` (pnpm 11+ only reads the latter), and keep it
exported because the new project pins the preview version.

It depends on voidzero-dev/pkg-pr-registry-bridge#132, which allows
`create-vite-plus` on the bridge. Until #3028 merges, preview comments
on other PRs will also list `create-vite-plus`, although only #3028
builds it.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
@fengmk2 fengmk2 added preview-build Publish this PR's commits to the registry bridge as preview builds and removed preview-build Publish this PR's commits to the registry bridge as preview builds labels Oct 14, 2026
@liangmiQwQ
liangmiQwQ requested a review from fengmk2 October 14, 2026 12:18
@fengmk2 fengmk2 added preview-build Publish this PR's commits to the registry bridge as preview builds and removed preview-build Publish this PR's commits to the registry bridge as preview builds labels Oct 14, 2026
@fengmk2 fengmk2 self-assigned this Oct 14, 2026

@fengmk2 fengmk2 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I will merge after the preview build success and test pass.

@fengmk2
fengmk2 merged commit cc0a45b into voidzero-dev:main Oct 14, 2026
136 checks passed
@liangmiQwQ
liangmiQwQ deleted the feat/create-vite-plus branch October 14, 2026 21:50
@fengmk2 fengmk2 mentioned this pull request Oct 16, 2026
fengmk2 added a commit that referenced this pull request Oct 16, 2026
Vite+ 1.3 adds `create-vite-plus`, so `npm create vite-plus@latest`
starts a project without the global `vp`. It adds `vp pm pkg` for
editing `package.json` and `vp pm licenses list` for dependency
licenses, and lets `vp env` take package-manager dist-tags such as
`pnpm@latest-10`. It also makes `vp migrate` import rewriting much
faster on large projects and makes `vp dev` print Vite's `ready in` line
and honor `--debug`, `--filter`, and `--profile`.

### Features

- Create a Vite+ project without installing the global `vp` through
`pnpm create vite-plus`, `npm create vite-plus@latest`, `yarn create
vite-plus`, or `bun create vite-plus`, which run `vp create` with the
same arguments
([docs](https://viteplus.dev/guide/create#without-the-global-cli))
([#3028](#3028),
[#3048](#3048)), by
@liangmiQwQ.
- `vp pm pkg get`, `set`, `delete`, and `fix` read and update
`package.json` through the detected package manager: npm 7.20.0 and
later (`fix` from 9.8.0), pnpm 11.3.0 and later, and Bun 1.2.19 and
later
([docs](https://viteplus.dev/guide/package-management#package-manifest))
([#3020](#3020)), by
@jong-kyung.
- `vp pm licenses list` (or `ls`) lists dependency licenses through pnpm
7.17.0 and later, Yarn Classic, or Bun 1.4.0 and later, with `--json`
for machine-readable output
([#3037](#3037)), by
@jong-kyung.
- `vp env` accepts npm dist-tags in package-manager specs: `vp env pin
pnpm@latest-10` pins the exact version the tag points to, and `vp env
default pnpm@latest-10` follows the tag on each use
([#3047](#3047)), by
@liangmiQwQ.
- Upgrade the bundled tools
([#3058](#3058),
[#3078](#3078)), by
@voidzero-guard[bot] and @fengmk2:
- `rolldown@1.2.13` to `rolldown@1.2.14`. Rolldown adds the
`output.charset` option and fixes several tree-shaking, code-splitting,
and renaming bugs.
- `vitest@5.0.4` to `vitest@5.0.5`, with fixes for browser mode, hook
cleanup after a failing hook, and `--changed` with quoted file names.

### Fixes & Enhancements

- Import rewriting in `vp migrate` is up to 14 times faster on large
projects, for example 78 s to 5.6 s on Dify
([#2987](#2987)), by
@fengmk2.
- `vp dev` prints Vite's `ready in N ms` line, so scripts that wait for
it no longer time out after `vp migrate`. `--debug`, `--filter`, and
`--profile` now take effect in `vp dev`, `vp build`, and `vp preview`,
and `vp preview` stops when the build output is missing, as `vite
preview` does
([#3056](#3056)), by
@fengmk2.
- `vp staged` prints one result line per task, such as `✔ vp check
--fix`, instead of the task list and Git progress. Warnings, errors, and
rollback results stay visible, `--verbose` shows task output, and
`--debug` keeps the full log
([#3060](#3060)), by
@fengmk2.
- After a successful upgrade, `vp upgrade` reminds you to run `vp
migrate` in projects that use an older Vite+ version
([#3063](#3063)), by
@KTrain5169.
- The coding agent picker in `vp create` and `vp migrate` lists Claude
Code under `AGENTS.md` and no longer offers a separate `CLAUDE.md`
option. `--agent claude` and existing `CLAUDE.md` files still work
([#3055](#3055)), by
@fengmk2.

### Docs

- Recommend setting `runtimeOnFail: ignore` and `pmOnFail: ignore` in
the project's `pnpm-workspace.yaml` for pnpm 11 and later, since pnpm
does not read `runtimeOnFail` from its global config
([#3077](#3077)), by
@liangmiQwQ.

### Chore

- Speed up CI with ThinLTO native test builds, a pinned prepacked
Windows SDK, and a precompiled std for trampoline tests, keep
dependencies in Cargo caches, switch Linux runners, and update Windows
build pins with Renovate
([#3026](#3026),
[#2995](#2995),
[#3009](#3009),
[#3000](#3000),
[#3073](#3073),
[#3049](#3049)), by
@fengmk2.
- Stabilize CLI snapshots during slow package-manager downloads, isolate
Vitest browser and UI server ports, skip slow snapshot cases on Linux
and Windows, and remove duplicate Rust unit tests
([#3043](#3043),
[#3061](#3061),
[#3059](#3059),
[#3057](#3057)), by
@fengmk2 and @Brooooooklyn.
- Upgrade Rust crates and JavaScript dependencies, including
`rustls@0.23.46` and `ast-grep@0.51.0`, and remove unused catalog
entries ([#1780](#1780),
[#1782](#1782),
[#1783](#1783)), by
@renovate[bot] and @fengmk2.
- Refine the release-manager guidance
([#3052](#3052)), by
@fengmk2.

### Bundled Versions

| Tool | Version | Source | Changelog |
| --------------- | ---------- |
-------------------------------------------------------------------------------------------------
| ------------------------------------------------------------------- |
| vite | `8.3.4` |
[`b6c20f6`](vitejs/vite@b6c20f6)
| unchanged |
| rolldown | `1.2.14` |
[`c9a8cda`](rolldown/rolldown@c9a8cda)
| [1.2.14](https://github.com/rolldown/rolldown/releases/tag/v1.2.14) |
| tsdown | `0.23.1` | [npm](https://npmx.dev/package/tsdown/v/0.23.1) |
unchanged |
| vitest | `5.0.5` | [npm](https://npmx.dev/package/vitest/v/5.0.5) |
[5.0.5](https://github.com/vitest-dev/vitest/releases/tag/v5.0.5) |
| oxlint | `1.88.0` | [npm](https://npmx.dev/package/oxlint/v/1.88.0) |
unchanged |
| oxlint-tsgolint | `7.0.2004` |
[npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2004) | unchanged |
| oxfmt | `0.73.0` | [npm](https://npmx.dev/package/oxfmt/v/0.73.0) |
unchanged |

### Upgrade

```bash
vp upgrade
```

**Full Changelog**:
v1.2.0...v1.3.0

---

Merging this PR will trigger the release workflow.

---------

Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com>
Co-authored-by: MK (fengmk2) <fengmk2@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

preview-build Publish this PR's commits to the registry bridge as preview builds

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support create-vite-plus

2 participants