28 lines
756 B
JavaScript
28 lines
756 B
JavaScript
import { defineConfig, globalIgnores } from "eslint/config";
|
|
import nextVitals from "eslint-config-next/core-web-vitals";
|
|
import nextTs from "eslint-config-next/typescript";
|
|
|
|
let storybookConfig = [];
|
|
|
|
try {
|
|
// Optional dependency: lint should still run when Storybook plugin is not installed.
|
|
const storybook = await import("eslint-plugin-storybook");
|
|
storybookConfig = storybook.default?.configs?.["flat/recommended"] ?? [];
|
|
} catch {}
|
|
|
|
const eslintConfig = defineConfig([
|
|
...nextVitals,
|
|
...nextTs,
|
|
// Override default ignores of eslint-config-next.
|
|
globalIgnores([
|
|
// Default ignores of eslint-config-next:
|
|
".next/**",
|
|
"out/**",
|
|
"build/**",
|
|
"next-env.d.ts",
|
|
]),
|
|
...storybookConfig
|
|
]);
|
|
|
|
export default eslintConfig;
|