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
vp check
vp check --fix # Format and run autofixers.
vp check --no-fmt # Skip format; run lint (and type-check if enabled).
vp check --no-lint # Skip lint rules; keep type-check when enabled.
vp check --no-fmt --no-lint # Type-check only (requires `typeCheck` enabled).Configuration
vp check uses the same configuration you already define for linting and formatting:
lintblock invite.config.tsfmtblock invite.config.ts- TypeScript project structure and tsconfig files for type-aware linting
Recommended base lint config:
import { defineConfig } from 'vite-plus';
export default defineConfig({
lint: {
options: {
typeAware: true,
typeCheck: true,
},
},
});Disabling a step by default
To make vp check skip formatting or linting without passing a flag every time, set the check block in vite.config.ts. This is handy when a project wants the rest of the toolchain but not, say, formatting:
import { defineConfig } from 'vite-plus';
export default defineConfig({
check: {
fmt: false, // `vp check` lints (and type-checks) but does not format
},
});These options only affect vp check; standalone vp fmt and vp lint still run normally. A step is skipped if it is disabled in config or the matching --no-fmt / --no-lint flag is passed. Because the defaults apply to every vp check run, a pre-commit hook that calls vp check will skip the disabled step too. See Check config for the full reference.