eslint-config-ai v3.6.5
eslint-config-ai
Opinionated set of ESLint shareable configs by Alex Ilyaev
Why?
I manage many projects and find myself copy/pasting configs between projects, which got out of hand pretty quickly.
What's included?
ai
- eslint:recommended
- Common base rules
ai/typescript
ai/unicorn
ai/import
ai/jest
ai/lodash
ai/promise
ai/react
- eslint-plugin-react
- Setting
react/recommended
andreact/jsx-runtime
- Setting
- eslint-plugin-react-hooks
- eslint-plugin-jsx-a11y
- eslint-plugin-compat
- eslint-plugin-react
ai/jsdoc
ai/eslint-comments
ai/last
- @stylistic/disable-legacy
- Disables styling rules that were deprecated and moved to
@stylistic
- Disables styling rules that were deprecated and moved to
- prettier
- Disables styling rules that are covered by Prettier
- @stylistic/disable-legacy
Installation
Required:
pnpm add -D \
prettier \
eslint \
eslint-config-prettier \
@stylistic/eslint-plugin \
@typescript-eslint/eslint-plugin \
@typescript-eslint/parser \
eslint-config-ai
Optional (based on the configs you choose)
ai/react
:
pnpm add -D \
eslint-plugin-compat \
eslint-plugin-jsx-a11y \
eslint-plugin-react \
eslint-plugin-react-hooks
ai/import
:
pnpm add -D \
eslint-plugin-import \
eslint-import-resolver-typescript
Other:
pnpm add -D \
eslint-plugin-jest \
eslint-plugin-lodash \
eslint-plugin-promise \
eslint-plugin-jsdoc \
eslint-plugin-eslint-comments \
eslint-plugin-unicorn
- If you use npm, replace
pnpm add
withnpm install
Usage
Add to your .eslintrc
:
Last
Disables styling rules that are covered by Prettier or deprecated and moved to
@stylistic
Always add
ai/last
as the lastextends
{
"extends": ["ai/last"]
}
Base rules
This config extends eslint:recommended
and sets up Prettier
{
"extends": ["ai", "ai/last"]
}
Base + Plugins
You can choose which plugins to add
{
"extends": [
"ai",
"ai/typescript",
"ai/unicorn",
"ai/import",
"ai/jest",
"ai/lodash",
"ai/promise",
"ai/jsdoc",
"ai/eslint-comments",
"ai/last"
]
}
Base + TypeScript + React
{
"extends": ["ai", "ai/typescript", "ai/react", "ai/last"]
}
All (Base + All Plugins + Last)
{
"extends": ["ai/all"]
}
Configured Rules
You can see what's currently configured in these files:
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
12 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago