eslint-config-airbnb-typescript
Version:
Airbnb's ESLint config with TypeScript support
101 lines (72 loc) • 2.78 kB
Markdown
# eslint-config-airbnb-typescript
> Airbnb's ESLint config with TypeScript support
Works with both JS and TS files.
## I use eslint-config-airbnb (with React support)
Install dependencies. ESLint plugins [must also be installed](https://github.com/eslint/rfcs/pull/5).
```bash
npm install eslint-config-airbnb-typescript \
eslint-plugin-import@^2.22.0 \
eslint-plugin-jsx-a11y@^6.3.1 \
eslint-plugin-react@^7.20.3 \
eslint-plugin-react-hooks@^4.0.8 \
@typescript-eslint/eslint-plugin@^4.0.1 \
--save-dev
```
Within your ESLint config file:
```js
module.exports = {
extends: ['airbnb-typescript'],
parserOptions: {
project: './tsconfig.json',
},
};
```
Alter your `eslint` command to include `ts` and `tsx` files:
```bash
eslint --ext .js,.jsx,.ts,.tsx ./
```
## I use eslint-config-airbnb-base (no React support)
Install dependencies. ESLint plugins [must also be installed](https://github.com/eslint/rfcs/pull/5).
```bash
npm install eslint-config-airbnb-typescript \
eslint-plugin-import@^2.22.0 \
@typescript-eslint/eslint-plugin@^4.0.1 \
--save-dev
```
Within your ESLint config file:
```js
module.exports = {
extends: ['airbnb-typescript/base'],
parserOptions: {
project: './tsconfig.json',
},
};
```
Alter your `eslint` command to include `ts` and `tsx` files:
```bash
eslint --ext .js,.jsx,.ts,.tsx ./
```
## I wish this config would support [...]
The goal of `eslint-config-airbnb-typescript` is decorate `eslint-config-airbnb` with TypeScript support. All rules and settings are identical. It's a drop-in replacement for `eslint-config-airbnb`, including linting for JavaScript files.
It's recommended to alter your ESLint config for additional functionality. Here's an example:
```js
{
"extends": [
"airbnb-typescript",
"airbnb/hooks",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking"
],
}
```
My personal ESLint config file with support for Jest, Promises, and Prettier can be found in [create-exposed-app](https://github.com/iamturns/create-exposed-app/blob/master/.eslintrc.js).
## Additional Documentation
- [CHANGELOG.md](CHANGELOG.md)
- [DEVELOPING.md](DEVELOPING.md)
- [CONTRIBUTING.md](CONTRIBUTING.md)
- [MAINTAINING.md](MAINTAINING.md)
## Credits
Authored and maintained by Matt Turnbull ([iamturns.com](https://iamturns.com) / [@iamturns](https://twitter.com/iamturns))
To all [contributors](https://github.com/iamturns/eslint-config-airbnb-typescript/graphs/contributors) (if you exist) - thank you!
## License
Open source [licensed as MIT](https://github.com/iamturns/eslint-config-airbnb-typescript/blob/master/LICENSE).