Skip to content

Check

vp check runs format, lint, and type checks together.

Overview

vp check is the default command for fast static checks in Vite+. It brings together formatting through Oxfmt, linting through Oxlint, and TypeScript type checks through tsgolint. By merging all of these tasks into a single command, vp check is faster than running formatting, linting, and type checking as separate tools in separate commands.

When typeCheck is enabled in the lint.options block in vite.config.ts, vp check also runs TypeScript type checks through the Oxlint type-aware path powered by the TypeScript Go toolchain and tsgolint. vp create and vp migrate enable both typeAware and typeCheck by default.

We recommend turning typeCheck on so vp check becomes the single command for static checks during development.

Usage

bash
vp check
vp check --fix # Format and run autofixers.

Phase skip flags

vp check runs three phases — format, lint rules, and type check — all enabled by default. Each phase can be skipped independently:

FlagSkips
--no-fmtFormat check
--no-lintLint rules (type check still runs if enabled in config)
--no-type-checkType check

Configuration

vp check uses the same configuration you already define for linting and formatting:

  • lint block in vite.config.ts
  • fmt block in vite.config.ts
  • TypeScript project structure and tsconfig files for type-aware linting

Recommended base lint config:

ts
import { defineConfig } from 'vite-plus';

export default defineConfig({
  lint: {
    options: {
      typeAware: true,
      typeCheck: true,
    },
  },
});