@anylint/eslint-config is a versatile ESLint configuration package designed for JavaScript and TypeScript projects. It streamlines your development process by offering predefined ESLint rules and settings to maintain code quality and style consistency throughout your codebase.
Install the package:
$ npm install @anylint/eslint-config eslint --save-dev
Edit .eslintrc.json
:
{
"root": true,
"overrides": [
{
"files": ["*.js"],
"extends": ["@anylint/eslint-config/javascript"],
"rules": {}
}
]
}
Additionally, if you're using TypeScript, you need to install the typescript
package:
$ npm install typescript --save-dev
Edit .eslintrc.json
:
{
"root": true,
"overrides": [
{
"files": ["*.ts"],
"extends": ["@anylint/eslint-config/typescript"],
"rules": {}
}
]
}
Edit .eslintrc.json
:
- React for Web + JavaScript
{
"root": true,
"overrides": [
{
"files": ["*.js", "*.jsx"],
"extends": ["@anylint/eslint-config/javascript"],
"rules": {}
},
{
"files": ["*.jsx"],
"extends": ["@anylint/eslint-config/react-web"],
"rules": {}
},
,
]
}
- React for Web + TypeScript
{
"root": true,
"overrides": [
{
"files": ["*.ts", "*.tsx"],
"extends": ["@anylint/eslint-config/typescript"],
"rules": {}
},
{
"files": ["*.jsx"],
"extends": ["@anylint/eslint-config/react-web"],
"rules": {}
}
]
}
- React Native + JavaScript
{
"root": true,
"overrides": [
{
"files": ["*.js", "*.jsx"],
"extends": ["@anylint/eslint-config/javascript"],
"rules": {}
},
{
"files": ["*.jsx"],
"extends": ["@anylint/eslint-config/react-native"],
"rules": {}
}
]
}
- React Native + TypeScript
{
"root": true,
"overrides": [
{
"files": ["*.ts", "*.tsx"],
"extends": ["@anylint/eslint-config/typescript"],
"rules": {}
},
{
"files": ["*.tsx"],
"extends": ["@anylint/eslint-config/react-native"],
"rules": {}
}
]
}
Edit .eslintrc.json
:
- Jest + JavaScript
{
"root": true,
"overrides": [
{
"files": ["*.test.js", "*.spec.js"],
"extends": ["@anylint/eslint-config/jest", "@anylint/eslint-config/tests"],
"rules": {}
}
]
}
- Jest + TypeScript
{
"root": true,
"overrides": [
{
"files": ["*.test.ts", "*.spec.ts"],
"extends": ["@anylint/eslint-config/jest", "@anylint/eslint-config/tests"],
"rules": {}
}
]
}
- Jest + React for Web + JavaScript
{
"root": true,
"overrides": [
{
"files": ["*.test.js", "*.spec.js"],
"extends": ["@anylint/eslint-config/jest", "@anylint/eslint-config/tests"],
"rules": {}
},
{
"files": ["*.test.jsx", "*.spec.jsx"],
"extends": [
"@anylint/eslint-config/react-web",
"@anylint/eslint-config/testing-library-react",
"@anylint/eslint-config/jest-web",
"@anylint/eslint-config/tests"
],
"rules": {}
}
]
}
- Jest + React for Web + TypeScript
{
"root": true,
"overrides": [
{
"files": ["*.test.ts", "*.spec.ts"],
"extends": ["@anylint/eslint-config/jest", "@anylint/eslint-config/tests"],
"rules": {}
},
{
"files": ["*.test.tsx", "*.spec.tsx"],
"extends": [
"@anylint/eslint-config/react-web",
"@anylint/eslint-config/testing-library-react",
"@anylint/eslint-config/jest-web",
"@anylint/eslint-config/tests"
],
"rules": {}
}
]
}
- Jest + React Native + JavaScript
{
"root": true,
"overrides": [
{
"files": ["*.test.js", "*.spec.js"],
"extends": ["@anylint/eslint-config/jest", "@anylint/eslint-config/tests"],
"rules": {}
},
{
"files": ["*.test.jsx", "*.spec.jsx"],
"extends": [
"@anylint/eslint-config/react-native",
"@anylint/eslint-config/testing-library-react",
"@anylint/eslint-config/jest-native",
"@anylint/eslint-config/tests"
],
"rules": {}
}
]
}
- Jest + React Native + TypeScript
{
"root": true,
"overrides": [
{
"files": ["*.test.ts", "*.spec.ts"],
"extends": ["@anylint/eslint-config/jest", "@anylint/eslint-config/tests"],
"rules": {}
},
{
"files": ["*.test.tsx", "*.spec.tsx"],
"extends": [
"@anylint/eslint-config/react-native",
"@anylint/eslint-config/testing-library-react",
"@anylint/eslint-config/jest-native",
"@anylint/eslint-config/tests"
],
"rules": {}
}
]
}