@the-ihor/adi-eslint-config-typescript
v1.0.0
Published
ADI ESLint configuration for TypeScript projects
Maintainers
Readme
@the-ihor/adi-eslint-config-typescript
ADI ESLint configuration for TypeScript projects using the new flat config format.
Installation
npm install @the-ihor/adi-eslint-config-typescript
# or
bun add @the-ihor/adi-eslint-config-typescriptUsage
Basic Usage
// eslint.config.ts
import adi from "@the-ihor/adi-eslint-config-typescript";
export default adi();With Custom Options
// eslint.config.ts
import adi from "@the-ihor/adi-eslint-config-typescript";
export default adi({
strictMode: true,
files: ["**/*.{js,ts}"],
testFiles: ["**/*.test.ts", "**/*.spec.ts"],
ignores: ["dist/**", "build/**"],
});Extending the Configuration
You can extend the ADI config with additional rules or configurations:
// eslint.config.ts
import adi from "@the-ihor/adi-eslint-config-typescript";
export default [
...adi({
strictMode: false,
ignores: ["dist/**", "build/**"],
}),
// Add additional configurations
{
files: ["**/*.ts"],
rules: {
// Override or add custom rules
"no-console": "error",
"@typescript-eslint/explicit-function-return-type": "warn",
},
},
{
files: ["**/*.test.ts"],
rules: {
// Test-specific rules
"no-console": "off",
},
},
];Framework-Specific Extensions
// For React projects
import adi from "@the-ihor/adi-eslint-config-typescript";
import reactPlugin from "eslint-plugin-react";
export default [
...adi(),
{
files: ["**/*.{ts,tsx}"],
plugins: {
react: reactPlugin,
},
rules: {
"react/jsx-uses-react": "error",
"react/jsx-uses-vars": "error",
},
},
];Configuration Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| files | string[] | ["**/*.{js,mjs,cjs,ts,mts,cts}"] | File patterns to lint |
| ignores | string[] | ["dist/**", "build/**", ...] | File patterns to ignore |
| strictMode | boolean | false | Enable strict TypeScript rules (makes @typescript-eslint/no-explicit-any an error) |
| testFiles | string[] | ["**/*.test.{ts,tsx,js,jsx}", "**/*.spec.{ts,tsx,js,jsx}"] | Test file patterns with relaxed rules |
Included Rules
- JavaScript: ESLint recommended rules
- TypeScript: TypeScript ESLint recommended rules
- Code Style: Consistent formatting (comma-dangle, object-curly-spacing, etc.)
- Best Practices: Modern JavaScript practices (prefer-const, no-var, eqeqeq)
- TypeScript Specific: Unused variable detection, namespace handling
Peer Dependencies
Make sure you have these installed:
{
"@eslint/js": "^9.0.0",
"eslint": "^9.0.0",
"typescript-eslint": "^8.0.0",
"globals": "^16.0.0"
}License
MIT
