github voidzero-dev/vite-plus v0.1.15
vite-plus v0.1.15 -- Task runner concurrency controls, `vpr` shorthand and bun support

5 hours ago

A packed release with task runner concurrency controls, a new vpr shorthand, dynamic shell completions, bun package manager support, and 10x migration performance improvement.

Highlights

  • Task runner concurrency controls -- New --concurrency-limit flag to limit concurrent tasks (defaults to 4) and --parallel flag to ignore task dependencies and run all tasks at once (vite-task#288, vite-task#309)
  • vpr standalone shorthand -- Run tasks faster with vpr build instead of vp run build (#1178)
  • Dynamic shell completions -- vp run and vpr now offer tab-completion for available tasks across all major shells (#1181)
  • Bun package manager support -- vp create and install scripts now support bun as a first-class package manager (#1005)
  • 10x migration speedup -- rewriteAllImports uses cached rules, pre-filtering, and rayon parallelism for dramatically faster migrations (#1172)

Breaking Changes

  • vp run argument order -- Flags must now come before the task name: vp run -r build instead of vp run build -r, because arguments after the task name are now passed through to the task instead of consumed by vp (vite-task#286, vite-task#290) -- @liangmiQwQ, @branchseer
  • VITE_PLUS_* env vars renamed to VP_* -- All environment variables now use the shorter VP_ prefix (#1166) -- @jong-kyung

Features

  • Add vpr as standalone shorthand for vp run (#1178) -- @fengmk2
  • Implement dynamic shell completion with vp run task support (#1181) -- @nekomoyi
  • Add shell completion for vpr command (#1227) -- @nekomoyi
  • Add bun as a package manager (#1005) -- @fengmk2
  • Non-blocking upgrade check with rate-limited notice (#1173) -- @fengmk2
  • Migrate .nvmrc to .node-version during vp migrate (#1159) -- @naokihaba
  • Expose bundled tool versions via vite-plus/versions export (#1162) -- @kazupon
  • Export JS API from oxfmt under vite-plus/fmt (#1235) -- @leaysgur
  • Enable task cache by default in monorepo template (#1230) -- @fengmk2
  • Task runner: --concurrency-limit flag to limit the number of tasks running at the same time (defaults to 4) (vite-task#288, vite-task#309) -- @branchseer
  • Task runner: --parallel flag to ignore task dependencies and run all tasks at once with unlimited concurrency (unless --concurrency-limit is also specified) (vite-task#309) -- @branchseer
  • Task runner: add VP_* to DEFAULT_UNTRACKED_ENV (vite-task#297) -- @jong-kyung
  • Upgrade upstream dependencies: Rolldown 1.0.0-rc.12, Vite 8.0.3, Vitest 4.1.2, tsdown 0.21.7, oxfmt 0.43.0, oxlint 1.58.0, @oxc-project/runtime 0.122.0, TypeScript peer range ^6.0.0 (#1147, #1161, #1191, #1244) -- @Brooooooklyn

Fixes & Enhancements

  • Speed up rewriteAllImports ~10x with cached rules, pre-filter, and rayon (#1172) -- @fengmk2
  • Adapt vp run argument order for flags-before-task breaking change (#1170) -- @fengmk2
  • Show helpful error for unknown vite: templates (#1130) -- @naokihaba
  • Upgrade reqwest from 0.12 to 0.13 and rename rustls-tls feature (#1068) -- @Giorno-Giovana
  • Suggest vp run for all templates (#1127) -- @jong-kyung
  • Remove misleading PATH position check in vp env doctor (#1140) -- @jong-kyung
  • Fix fish shell wrapper for vp env use (#1141) -- @nekomoyi
  • Exclude node_modules/.vite-temp from cache input tracking (#1096) -- @fengmk2
  • Correctly inform about prettierignore (#1160) -- @TheAlexLichter
  • Allow registry commands to work outside a project (#1151) -- @fengmk2
  • Auto-set git core.hooksPath without prompting (#1157) -- @fengmk2
  • Inject default fmt: {} config and rebrand oxfmt messages (#1163) -- @fengmk2
  • Auto-remove esModuleInterop: false from tsconfig.json (#1148) -- @fengmk2
  • Auto-remove allowSyntheticDefaultImports: false from tsconfig.json (#1153) -- @fengmk2
  • Get vite_plus_home from node wrapper's path (#1185) -- @liangmiQwQ
  • Support JSONC format in oxlintrc/oxfmtrc migration (#1195) -- @connorshea
  • Rewrite vitest self-references in globals.d.ts for type-aware linting (#1177) -- @fengmk2
  • Remove setting oxlint configPath option in Zed editor config (#1205) -- @camc314
  • Stop intercepting vite as vp and synthesize vpr in task scripts (#1186) -- @fengmk2
  • Add package-scoped negative globs to prevent cache miss in monorepos (#1198) -- @fengmk2
  • Add peerDependencyRules for standalone pnpm projects (#1222) -- @fengmk2
  • Remove defineConfig export from oxlint (#1234) -- @leaysgur
  • Preserve browser provider peer deps and fix version warning (#1236) -- @fengmk2
  • Pin @oxlint/migrate to bundled oxlint version (#1243) -- @fengmk2
  • Task runner: Ctrl-C now prevents future tasks from being scheduled and prevents caching of in-flight task results (vite-task#309) -- @branchseer
  • Task runner: restore terminal state on Ctrl+C during interactive task selection (vite-task#306) -- @kazupon

Refactoring

  • Simplify vp --version by using generated versions module (#1164) -- @kazupon
  • Remove PM fallback from vp run, always delegate to vite-plus (#1179) -- @fengmk2
  • Move pnpm config into pnpm-workspace.yaml (#1237) -- @fengmk2

Chore

Published Packages

  • @voidzero-dev/vite-plus-core@0.1.15
  • @voidzero-dev/vite-plus-test@0.1.15
  • vite-plus@0.1.15

Installation

macOS/Linux:

curl -fsSL https://vite.plus | bash

Windows:

irm https://vite.plus/ps1 | iex

Upgrade:

vp upgrade

New Contributors

Welcome to all new contributors! 🎉

@Giorno-Giovana, @connorshea

Full Changelog: v0.1.14...v0.1.15

Don't miss a new vite-plus release

NewReleases is sending notifications on new releases.