Skip to content

the-ihor/adi-eslint-config-typescript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@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-typescript

Usage

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors