Skip to content
Airbnb's ESLint config with TypeScript support
JavaScript
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci chore: Update Prettier settings (#45) Nov 14, 2019
.vscode feat: hello world (#1) Jan 22, 2019
lib fix: Fix incorrect `no-undef` errors when exporting default interfaces ( Nov 25, 2019
.editorconfig feat: hello world (#1) Jan 22, 2019
.eslintignore feat: hello world (#1) Jan 22, 2019
.eslintrc.js
.gitattributes feat: hello world (#1) Jan 22, 2019
.gitignore feat: hello world (#1) Jan 22, 2019
.huskyrc.js chore: Update Prettier settings (#45) Nov 14, 2019
.prettierignore feat: hello world (#1) Jan 22, 2019
CHANGELOG.md docs: small tweaks Jan 22, 2019
CONTRIBUTING.md feat: hello world (#1) Jan 22, 2019
DEVELOPING.md docs: small tweaks Jan 22, 2019
LICENSE feat: hello world (#1) Jan 22, 2019
MAINTAINING.md feat: hello world (#1) Jan 22, 2019
README.md chore: Update Prettier settings (#45) Nov 14, 2019
base.js chore: Update Prettier settings (#45) Nov 14, 2019
index.js chore: Update Prettier settings (#45) Nov 14, 2019
lint-staged.config.js chore: Update Prettier settings (#45) Nov 14, 2019
package-lock.json chore(deps): update dependency lint-staged to v9.4.3 (#43) Nov 14, 2019
package.json docs: Recommend latest `eslint-plugin` version Nov 14, 2019
prettier.config.js chore: Update Prettier settings (#45) Nov 14, 2019
renovate.json chore: Apply updated formatting Nov 9, 2019

README.md

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.

npm install eslint-config-airbnb-typescript \
            eslint-plugin-import@^2.18.2 \
            eslint-plugin-jsx-a11y@^6.2.3 \
            eslint-plugin-react@^7.15.1 \
            eslint-plugin-react-hooks@^1.7.0 \
            @typescript-eslint/eslint-plugin@^2.7.0 \
            --save-dev

Within your ESLint config file:

module.exports = {
  extends: ['airbnb-typescript'],
};

Alter your eslint command to include ts and tsx files:

eslint --ext .js,.jsx,.ts,.tsx ./

I use eslint-config-airbnb-base (no React support)

Install dependencies. ESLint plugins must also be installed.

npm install eslint-config-airbnb-typescript \
            eslint-plugin-import@^2.18.2 \
            @typescript-eslint/eslint-plugin@^2.7.0 \
            --save-dev

Within your ESLint config file:

module.exports = {
  extends: ['airbnb-typescript/base'],
};

Alter your eslint command to include ts and tsx files:

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:

{
  "extends": [
    "airbnb-typescript",
    "airbnb/hooks",
    "plugin:@typescript-eslint/eslint-recommended",
    "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.

Additional Documentation

Credits

Authored and maintained by Matt Turnbull (iamturns.com / @iamturns)

To all contributors (if you exist) - thank you!

License

Open source licensed as MIT.

You can’t perform that action at this time.