Skip to content

Installation via mise-en-place #943

@dtinth

Description

@dtinth

Description

I am using mise to manage all my toolchain right now. Currently, viteplus does not show up in registry, nor is there an easy way to install without running an installation script.

Suggested solution

It would be great if it’s possible to install the vp CLI via mise like mise use -g vite-plus or mise use -g vp.

The recommended method would be to put it in the aqua registry. Alternatively, mise can also install binaries from GitHub Releases, however Vite+ doesn’t publish binaries via GitHub Releases yet (right now binaries seems to be published on npm, however, I would not recommend using npm backend because it depends on Node.js, which vp intends to manage).

Alternative

Additional context

I tried using the http backend to install vp CLI directly from npm registry without going through npm CLI.

# ~/.config/mise/config.toml
[tools]
"http:vite-plus" = {
  version = "0.1.11",
  platforms = {
    macos-arm64 = { url = "https://registry.npmjs.org/@voidzero-dev/vite-plus-cli-darwin-arm64/-/vite-plus-cli-darwin-arm64-{{version}}.tgz" },
    macos-x64 = { url = "https://registry.npmjs.org/@voidzero-dev/vite-plus-cli-darwin-x64/-/vite-plus-cli-darwin-x64-{{version}}.tgz" },
    linux-x64 = { url = "https://registry.npmjs.org/@voidzero-dev/vite-plus-cli-linux-x64-gnu/-/vite-plus-cli-linux-x64-gnu-{{version}}.tgz" },
    linux-arm64 = { url = "https://registry.npmjs.org/@voidzero-dev/vite-plus-cli-linux-arm64-gnu/-/vite-plus-cli-linux-arm64-gnu-{{version}}.tgz" },
    windows-x64 = { url = "https://registry.npmjs.org/@voidzero-dev/vite-plus-cli-win32-x64-msvc/-/vite-plus-cli-win32-x64-msvc-{{version}}.tgz" },
    windows-arm64 = { url = "https://registry.npmjs.org/@voidzero-dev/vite-plus-cli-win32-arm64-msvc/-/vite-plus-cli-win32-arm64-msvc-{{version}}.tgz" }
  }
}

This is based on the description on the docs:

Vite+ ships in two parts: vp, the global command-line tool, and vite-plus, the local package installed in each project.

$ mise install
http:vite-plus@0.1.11 generate checksum vite-plus-cli-darwin-arm64-0.1.11.tgz
✅ Installed successfully. Confirmed vp binary is installed on both Mac and Linux.

$ vp help
VITE+ - The Unified Toolchain for the Web
✅ `vp help` works

$ vp create
node:internal/modules/cjs/loader:1459
  throw err;
  ^

Error: Cannot find module '/Users/dtinth/.local/share/mise/http-tarballs/node_modules/vite-plus/dist/bin.js'
    at Module._resolveFilename (node:internal/modules/cjs/loader:1456:15)
    at defaultResolveImpl (node:internal/modules/cjs/loader:1066:19)
    at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1071:22)
    at Module._load (node:internal/modules/cjs/loader:1242:25)
    at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)
    at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)
    at node:internal/main/run_main_module:33:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

Node.js v24.14.0
❌ `vp create` installs Node v24.14.0 correctly, but then crashes

$ mise uninstall http:vite-plus
🧹 Uninstall the `vp` CLI managed by mise (manually remove the config afterwards after running)

It seems like the vp CLI also kinda depends on the vite-plus npm package being installed globally which prevented this setup from working.

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Priority

None yet

Start date

None yet

Target date

None yet

Effort

None yet

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions