To do:
See the typescript-eslint configuration docs, mainly this quote:
We recommend that most projects should extend from one of:
recommended: Recommended rules for code correctness that you can drop in without additional configuration.
recommended-type-checked: Contains recommended + additional recommended rules that require type information.
strict: Contains recommended + additional strict rules that can also catch bugs but are more opinionated than recommended rules.
strict-type-checked: Contains strict + additional strict rules require type information.
Additionally, we provide a stylistic config that enforces concise and consistent code. We recommend that most projects should extend from either:
stylistic: Stylistic rules you can drop in without additional configuration.
stylistic-type-checked: Contains stylistic + additional stylistic rules that require type information.
Example setup using @typescript-eslint/parser and @typescript-eslint/plugin as well as typed versions of both strict and stylistic:
/** @type {import("eslint").Linter.Config} */
const config = {
parser: '@typescript-eslint/parser',
parserOptions: {
project: true,
},
plugins: ['@typescript-eslint'],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/strict-type-checked',
'plugin:@typescript-eslint/stylistic-type-checked',
'next/core-web-vitals',
'prettier',
],
};
module.exports = config;
To do:
@typescript-eslint.@typescript-eslint/parserto.eslintrc.cjs.@typescript-eslint/eslint-pluginto.eslintrc.cjs.eslint-config-prettierto.eslintrc.cjsif Prettier is used.nextandnext/core-web-vitals.next:nextis an alias fornext/recommendedwhich includes Next-specific linting rules, but also bundles other useful ESLint plugins likeimport,react,react-hooksandjsx-a11y, and Next-specific overrides of these plugins. See theeslint-plugin-nextsource.next/core-web-vitals: Extendsnext/recommended, turning a couple core web vitals-specific ESLint rules from warnings into errors. See thecore-web-vitalsconfig source.See the typescript-eslint configuration docs, mainly this quote:
Example setup using
@typescript-eslint/parserand@typescript-eslint/pluginas well as typed versions of bothstrictandstylistic: