Skip to content

Commit c0de447

Browse files
committed
fix(eslint): lazily import eslint
1 parent bbf2aa3 commit c0de447

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

  • packages/vite-plugin-checker/src/checkers/eslint

packages/vite-plugin-checker/src/checkers/eslint/main.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import path from 'node:path'
33
import { fileURLToPath } from 'node:url'
44
import { parentPort } from 'node:worker_threads'
55
import chokidar from 'chokidar'
6-
import { ESLint } from 'eslint'
6+
import type { ESLint } from 'eslint'
77
import invariant from 'tiny-invariant'
88

99
import { Checker } from '../../Checker.js'
@@ -50,10 +50,11 @@ function getEslintMajorVersion(): number {
5050
* - ESLint v9 with flat config (default): Use `ESLint` directly (it's the flat config class in v9).
5151
* - ESLint v9 with legacy eslintrc: Use `LegacyESLint` from `eslint/use-at-your-own-risk`.
5252
*/
53-
function resolveEslintClass(
53+
async function resolveEslintClass(
5454
useFlatConfig: boolean,
5555
majorVersion: number,
56-
): typeof ESLint {
56+
): Promise<typeof ESLint> {
57+
const { ESLint } = await import('eslint')
5758
if (majorVersion >= 10) {
5859
// v10+ only supports flat config
5960
return ESLint
@@ -134,7 +135,7 @@ const createDiagnostic: CreateDiagnostic<'eslint'> = (pluginConfig) => {
134135
...pluginConfig.eslint.dev?.overrideConfig,
135136
}
136137

137-
const EslintClass = resolveEslintClass(
138+
const EslintClass = await resolveEslintClass(
138139
effectiveUseFlatConfig,
139140
majorVersion,
140141
)

0 commit comments

Comments
 (0)