Skip to content

Latest commit

 

History

History
50 lines (30 loc) · 1.55 KB

README.md

File metadata and controls

50 lines (30 loc) · 1.55 KB

@nabla/vite-plugin-eslint npm

Plugs ESLint into Vite dev server.

Differences with vite-plugin-eslint

  • Keeps HMR fast: linting is done asynchronously and doesn't block the transform process
  • Reduces noise: Display results via console logs

logs.png

Because of this, the plugin can't fail the build and is only applied in dev. Like typechecking, linting should be done before or in parallel of the build command.

Install

yarn add --dev @nabla/vite-plugin-eslint

Usage

import { defineConfig } from "vite";
import eslintPlugin from "@nabla/vite-plugin-eslint";

export default defineConfig({
  plugins: [eslintPlugin()],
});

Options

eslintOptions

Note: the fix option is only supported from 1.3.4

shouldLint

  • Type: (path: string) => boolean
  • Default: (path) => path.match(/\/src\/[^?]*\.(vue|svelte|m?[jt]sx?)$/)

You can use DEBUG=eslint node_modules/.bin/vite to debug this option (available in 1.4.0)

formatter

  • Type: string | ((result: ESLint.LintResult) => void)
  • Default: Custom format with one line per warning/error.

If provided, the value is passed to eslint.loadFormatter. Use stylish to get a CRA like output. Async formatters are supported in 1.5.0. Function support was added in 2.0.2.