
Product
Introducing Reports: An Extensible Reporting Framework for Socket Data
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.
eslint-config-airbnb-typescript
Advanced tools
Enhances Airbnb's ESLint config with TypeScript support
Make sure you have the regular Airbnb config setup. If you are using React, use eslint-config-airbnb, or if you aren't using React, use eslint-config-airbnb-base.
npm install eslint-config-airbnb-typescript \
@typescript-eslint/eslint-plugin@^7.0.0 \
@typescript-eslint/parser@^7.0.0 \
--save-dev
Within your ESLint config file:
extends: [
'airbnb',
+ 'airbnb-typescript'
]
If you don't need React support:
extends: [
'airbnb-base',
+ 'airbnb-typescript/base'
]
This config requires knowledge of your TypeScript config.
In your ESLint config, set parserOptions.project to the path of your tsconfig.json.
For example:
{
extends: ['airbnb', 'airbnb-typescript'],
+ parserOptions: {
+ project: './tsconfig.json'
+ }
}
Open a terminal to the root of your project, and run the following command:
npx eslint . --ext .js,.jsx,.ts,.tsx
ESLint will lint all .js, .jsx, .ts, and .tsx files within the current folder, and output results to your terminal.
You can also get results in realtime inside most IDEs via a plugin.
This means you are attempting to lint a file that tsconfig.json doesn't include.
A common fix is to create a tsconfig.eslint.json file, which extends your tsconfig.json file and includes all files you are linting.
{
"extends": "./tsconfig.json",
"include": ["src/**/*.ts", "src/**/*.js", "test/**/*.ts"]
}
Update your ESLint config file:
parserOptions: {
- project: './tsconfig.json',
+ project: './tsconfig.eslint.json',
}
@typescript-eslint/eslint-plugin is a peer dependency due to a limitation within ESLint. See issue, RFC, and progress.
@typescript-eslint/parser is a peer dependency because the version number must match @typescript-eslint/eslint-plugin.
This config simply enhances the Airbnb with TypeScript support. It's not a single config to cater for all TypeScript linting requirements. For additional functionality, alter your ESLint config file. For example:
module.exports = {
extends: [
'airbnb',
'airbnb-typescript',
'airbnb/hooks',
'plugin:@typescript-eslint/recommended-type-checked', // @typescript-eslint @v6
'plugin:@typescript-eslint/stylistic-type-checked', // @typescript-eslint @v6
// 'plugin:@typescript-eslint/recommended', // @typescript-eslint @v5
// 'plugin:@typescript-eslint/recommended-requiring-type-checking', // @typescript-eslint @v5
],
};
My personal ESLint config file with support for Jest, Promises, and Prettier can be found in create-exposed-app.
import/no-unresolved disabled?Two reasons:
If you would like to enable this rule, then:
'import/no-unresolved': 'error'Authored and maintained by Matt Turnbull (iamturns.com / @iamturns)
A big thank you to all contributors!
Open source licensed as MIT.
Provides a set of linting rules based on Google's JavaScript style guide. Similar to eslint-config-airbnb-typescript, it enforces coding standards and best practices but follows Google's guidelines instead of Airbnb's. It does not have built-in TypeScript support but can be adapted for use with TypeScript projects.
An ESLint configuration package that adheres to the 'JavaScript Standard Style' guidelines. Unlike eslint-config-airbnb-typescript, which is tailored for Airbnb's style guide and TypeScript, eslint-config-standard focuses on a different set of rules and principles for JavaScript projects. TypeScript support can be added through additional plugins.
Disables all ESLint rules that are unnecessary or might conflict with Prettier. While eslint-config-airbnb-typescript focuses on enforcing specific coding standards, eslint-config-prettier is designed to be used in conjunction with other ESLint configurations to ensure compatibility with Prettier, rather than to enforce its own style rules.
FAQs
Airbnb's ESLint config with TypeScript support
The npm package eslint-config-airbnb-typescript receives a total of 1,548,597 weekly downloads. As such, eslint-config-airbnb-typescript popularity was classified as popular.
We found that eslint-config-airbnb-typescript demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.