ESLint configure for base focused on code quality, security and performance on top of eslint-config-airbnb-typescript/base.
Now compatible with oxlint and biome configuration
npm install eslint-config-airlight-base --save-dev
# or
yarn add eslint-config-airlight-base -D- https://github.com/iamturns/eslint-config-airbnb-typescript
- https://github.com/typescript-eslint/typescript-eslint
- https://github.com/prettier/eslint-config-prettier
- https://github.com/benmosher/eslint-plugin-import
- https://github.com/nickdeis/eslint-plugin-no-secrets
- https://github.com/dolsem/eslint-plugin-filename-rules [
REMOVED]
- eslint-config-airbnb-typescript - Main config
- @typescript-eslint/eslint-plugin - Config for TypeScript codebase
- eslint-config-prettier - Prettier config
- eslint-plugin-import - ESLint plugin with rules that help validate proper imports
- eslint-plugin-no-secrets - secrets/credentials finder/matched plug-in for ESLint
// .eslintrc
{
"extends": "airlight-base/legacy"
}// eslint.config.js
import airlightBase from 'eslint-config-airlight-base';
export default [
...airlightBase
// your rules
];If you are using eslint + oxlint combo, see here and follow guide
// .oxlintrc.json
{
"extends": ["./node_modules/eslint-config-airlight-base/oxlintrc.json"],
"rules": {
"@typescript-eslint/no-var-requires": "off",
"complexity": ["error", { "max": 7 }],
"max-lines-per-function": [
"error",
{ "max": 48, "skipBlankLines": true, "skipComments": true, "IIFEs": true }
]
},
"ignorePatterns": [".history", ".release-me", "scripts"]
}oxlintIf you are using eslint + biome combo, see here and follow guide
// biome.json
{
"$schema": "https://biomejs.dev/schemas/2.2.4/schema.json",
"extends": ["eslint-config-airlight-base/biome.json"]
}biome check . --writeWe customized following rules.
Change these flat config or legacy config by your needs
MIT