eslint-config
These are my personal configurations for ESLint. They are based on Airbnb's ESLint configurations.
Overview
This repository contains ESLint configurations for the following setups:
- JavaScript
- JavaScript with React
- TypeScript
- TypeScript with React
They are designed to be used together with Prettier.
Usage
-
Install the required packages:
-
JavaScript:
yarn add --dev @samuelmeuli/eslint-config \
eslint-config-prettier \
&& npx install-peerdeps --dev eslint-config-airbnb-base
-
JavaScript with React:
yarn add --dev @samuelmeuli/eslint-config \
eslint-config-prettier \
&& npx install-peerdeps --dev eslint-config-airbnb
-
TypeScript:
yarn add --dev @samuelmeuli/eslint-config \
eslint-config-prettier \
@typescript-eslint/eslint-plugin \
@typescript-eslint/parser \
&& npx install-peerdeps --dev eslint-config-airbnb-base
-
TypeScript with React:
yarn add --dev @samuelmeuli/eslint-config \
eslint-config-prettier \
@typescript-eslint/eslint-plugin \
@typescript-eslint/parser \
&& npx install-peerdeps --dev eslint-config-airbnb
-
Create the following entry in your package.json
file:
-
JavaScript:
{
"eslintConfig": {
"root": true,
"extends": ["@samuelmeuli/eslint-config"]
}
}
-
JavaScript with React:
{
"eslintConfig": {
"root": true,
"extends": ["@samuelmeuli/eslint-config/react"]
}
}
-
TypeScript:
{
"eslintConfig": {
"root": true,
"extends": ["@samuelmeuli/eslint-config/typescript"]
}
}
-
TypeScript with React:
{
"eslintConfig": {
"root": true,
"extends": ["@samuelmeuli/eslint-config/typescript-react"]
}
}
-
Add a linting script to your package.json
file:
-
JavaScript:
{
"scripts": {
"lint": "eslint --fix --max-warnings 0 ."
}
}
-
JavaScript with React:
{
"scripts": {
"lint": "eslint --ext .js,.jsx --fix --max-warnings 0 ."
}
}
-
TypeScript:
{
"scripts": {
"lint": "eslint --ext .ts --fix --max-warnings 0 ."
}
}
-
TypeScript with React:
{
"scripts": {
"lint": "eslint --ext .ts,.tsx --fix --max-warnings 0 ."
}
}