UStackUStack
Vite+ icon

Vite+

Vite+ is a unified CLI toolchain that manages runtime and package selection, with standard commands for dev, build, check, test, and pack.

Vite+

What is Vite+?

Vite+ is a unified command-line toolchain for web development that combines runtime management, package-manager selection, and common frontend workflows into a single interface. It’s designed to standardize how projects run development servers, build production output, check code quality, test, and package libraries or applications.

The project is free and open source under the MIT license, with installation instructions for macOS/Linux and Windows. The website positions Vite+ as a single entry point for everyday tasks while leveraging established open-source components in the underlying toolchain.

Key Features

  • Unified CLI for common web tasks (dev, build, check, test, run, pack)
    • Provides one consistent workflow across the frontend stack instead of managing multiple tools separately.
  • Automatic runtime and package manager selection
    • Uses Node automatically and selects the appropriate package manager for each project.
  • One configuration file and consistent command flow
    • Aims to keep the same style of commands across the stack.
  • “check” as a single pass for formatting, linting, and type-checking
    • Runs tools powered by Oxlint (lint) and Oxfmt (format) and includes type checks via tsgo, with auto-fixing when possible.
  • Jest-compatible test runner with reusable app config
    • Vite+ test reuses the same resolve/transform configuration from the application and supports multiple testing modes such as browser mode and snapshot-style tests.
  • Monorepo-oriented task execution with caching
    • Vite+ run is described as a task runner for monorepos and scripts, using automated input tracking for cacheable tasks and dependency-aware execution across workspace packages.
  • Packaging support for npm libraries and standalone binaries
    • “pack” bundles TypeScript/JavaScript libraries, generates DTS, and can produce standalone app binaries or transform-only unbundled mode.
  • Built on Vite and related components
    • The site references a stack powered by Vite and Rolldown (and mentions additional components such as tsdown for packing and Vitest for testing).

How to Use Vite+

  1. Install Vite+ globally.
    • macOS/Linux: curl -fsSL https://vite.plus | bash
    • Windows (PowerShell): irm https://vite.plus/ps1 | iex
  2. Start using the CLI in a new terminal session.
    • The website suggests running vp help after installation.
  3. For CI, use the provided setup step.
    • The website indicates using setup-vp ..
  4. Run standard project commands through Vite+.
    • Common examples listed include: vp dev, vp build, vp check, vp test, vp run, and vp pack.

Use Cases

  • Standardizing development and build workflows across a repo
    • Teams can use a single CLI entry point to start dev servers, create production builds, and run quality checks with one consistent command flow.
  • CI that validates formatting, linting, and types in one command
    • Using vp check helps run formatting, linting, and type-checking together, and the site notes support for --fix to apply auto-fixes where possible.
  • Testing with the same app transform configuration
    • When unit tests need the application’s resolve/transform settings, Vite+ test is positioned to reuse those configurations automatically.
  • Monorepo scripts and cacheable tasks
    • For workspaces where tasks depend on other packages, vp run provides dependency-aware execution and caching behavior based on tracked inputs.
  • Packaging libraries or producing standalone artifacts
    • vp pack can bundle TS/JS libraries for npm (including DTS generation and package exports), or build standalone app binaries, including an unbundled transform-only mode.

FAQ

  • Is Vite+ an alternative to npm, pnpm, or yarn?

    • Vite+ manages the runtime and selects the package manager for each project, but the exact package manager chosen depends on the project setup. The website lists pnpm, npm, and yarn as supported options it can select among.
  • How do I run checks for formatting, linting, and type errors?

    • Use vp check. The site states that check covers formatting, linting, and type-checking in one pass and that vp check --fix can apply auto-fixes where possible.
  • What test framework compatibility does Vite+ provide?

    • The test runner is described as “Jest compatible,” and it’s powered by Vitest.
  • How is Vite+ set up for CI?

    • The site specifically mentions using setup-vp . for CI.
  • Can Vite+ package libraries and applications?

    • Yes. The website describes vp pack for packaging TypeScript/JavaScript libraries (with DTS generation) and for building standalone app binaries, with options such as transform-only unbundled mode.

Alternatives

  • Use the framework’s default tooling (e.g., Vite-based scripts)

    • Instead of a unified CLI, you would run separate commands for dev/build, linting/formatting, type-checking, and tests, which may require more tool-specific configuration.
  • Use separate, specialized tools for each step (lint/format/type/test/package)

    • Common approaches involve pairing ESLint with a formatter, a dedicated type-checker, and a separate test runner, then using a bundler/packager for distribution.
  • Use a dedicated monorepo task runner

    • For monorepos, alternatives may focus on dependency-aware execution and caching, while other tasks (dev/build/check/test/package) are handled by separate tooling.
  • Use a general-purpose build and packaging pipeline for libraries

    • If your main goal is library packaging and type definition generation, an alternative may rely on a bundler plus a TypeScript DTS generation step rather than the unified vp pack workflow.