Next.js Preset for ESLint
This package provides a predefined, opinionated ESLint configuration suitable for any Next.js project.
Installation
Install the @rainstormy/preset-eslint-next
package and its peer dependencies:
npm install --save-dev @rainstormy/preset-eslint-next eslint
pnpm install --save-dev @rainstormy/preset-eslint-next eslint
yarn add --dev @rainstormy/preset-eslint-next eslint
This preset configures a subset of rules from the following plugin, which is installed along with the preset package:
-
@next/eslint-plugin-next (with rule names prefixed by
next/
)
Usage
Create or extend a flat ESLint configuration file (eslint.config.js
) to target JSX component files in TypeScript.
For example:
import {
eslintAmbientTypeScriptModules,
eslintBase
} from "@rainstormy/preset-eslint-base"
import { eslintNext } from "@rainstormy/preset-eslint-next"
import { eslintReact } from "@rainstormy/preset-eslint-react"
export default [
eslintBase({ files: ["**/*.+(js|ts|tsx)"] }),
// `eslintAmbientTypeScriptModules` and `eslintReact` must follow `eslintBase` to take effect.
eslintAmbientTypeScriptModules({ files: ["**/*.d.ts"] }),
eslintReact({ files: ["**/*.tsx"] }),
// `eslintNext` must follow `eslintReact` to take effect.
eslintNext({ files: ["**/*.tsx"] }),
]