Registry / testing / vite-plugin-eslint

vite-plugin-eslint

JSON →
library1.8.1jsnpmunverified

Integrates ESLint into Vite's build and dev server, providing real-time linting feedback in the terminal and browser overlay. Current stable version is 1.8.1, with a monthly release cadence. It runs ESLint on specified file types (JS, TS, Vue, Svelte) and supports caching, auto-fix, and granular error/warning configuration. Differentiates from eslint-webpack-plugin by being Vite-native and simpler to configure.

npm install vite-plugin-eslint
INSTALL
IMPORT
SIG · VITE-PLUGIN-ESLINT
V
vite-plugin-eslint
testingjavascriptv1.8.1
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
import eslint from 'vite-plugin-eslint'
const eslint = require('vite-plugin-eslint')
Package exports a default function; CommonJS require is not available in ESM contexts.
eslint
import eslint from 'vite-plugin-eslint'
import { eslint } from 'vite-plugin-eslint'
Do not use named import; the package only has a default export.
EsLintOptions
import type { EsLintOptions } from 'vite-plugin-eslint'
TypeScript users can import the options type for type safety.

Configures vite-plugin-eslint with common options; linting runs during dev and build.

// vite.config.ts import { defineConfig } from 'vite'; import eslint from 'vite-plugin-eslint'; export default defineConfig({ plugins: [ eslint({ cache: false, fix: true, include: ['src/**/*.ts', 'src/**/*.vue'], exclude: ['node_modules'], formatter: 'stylish', emitWarning: true, emitError: true, failOnWarning: false, failOnError: true, lintOnStart: false, }), ], });
Debug
Known issues
gotchaThe `cache` option is still marked `Beta` and may not correctly detect file changes in all scenarios.
fix
Disable cache if you encounter stale lint results: set `cache: false`.
affects: >=1.8.1
gotchaSetting `lintOnStart: true` can significantly slow down startup on large projects as it lints all included files.
fix
Avoid enabling `lintOnStart` unless necessary; consider running lint as a separate command.
affects: >=1.8.1
deprecatedSome ESLint options like `useEslintrc` and `overrideConfigFile` are passed directly but may be deprecated in ESLint >=9.
fix
Refer to ESLint's flat config migration; consider using `eslint.config.js` instead of `.eslintrc.*`.
affects: >=1.8.1
gotchaThe plugin uses the ESLint class which may change behavior between ESLint v7 and v8/v9.
fix
Ensure your ESLint version is compatible; test with your target ESLint version.
affects: >=1.8.1
Errors
Common errors & fixes
Error: Cannot find module 'vite-plugin-eslint'
Package not installed or missing in node_modules.
fix
Run `npm install vite-plugin-eslint --save-dev` or `yarn add vite-plugin-eslint -D`.
TypeError: eslint is not a function
Using named import `{ eslint }` instead of default import.
fix
Replace `import { eslint } from 'vite-plugin-eslint'` with `import eslint from 'vite-plugin-eslint'`.
Failed to load ESLint config ...
ESLint configuration file missing or invalid.
fix
Create a valid `.eslintrc.*` or `eslint.config.js` file in your project root.
Upgrade
Version history
1.8.1latest on npm
Audit
Dependencies
eslintrequiredpeer dependency; ESLint is required to perform linting
viterequiredpeer dependency; plugin operates within Vite's build system
Agent activity
12 hits · last 30 days
node
10
Resources
vite-plugin-eslint — npm install vite-plugin-eslint · libregistry