0.1.4 • Published 2 months ago

@tcd-devkit/eslint-config-ts v0.1.4

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

@tcd-devkit/eslint-config-ts

ESLint Flat Configuration for core TypeScript rules. This package provides a foundational set of ESLint rules for TypeScript projects, powered by typescript-eslint. It aims to enforce consistent code style, best practices, and catch potential errors in TypeScript code within the @tcd-devkit ecosystem. It is designed for ESLint v9+ and its Flat Config system.

Features

  • Core TypeScript Rules: Leverages typescript-eslint recommended and stylistic rules.
  • Type-Checked Linting: Designed to work with type information for more powerful linting (requires TypeScript setup in the consuming project).
  • Modern TypeScript: Optimized for modern TypeScript features.
  • Flat Config: Utilizes ESLint's modern flat configuration format (ESLint v9+).

Installation

# Using npm
npm install -D @tcd-devkit/eslint-config-ts eslint@^9.0.0

# Using yarn
yarn add -D @tcd-devkit/eslint-config-ts eslint@^9.0.0

# Using pnpm
pnpm add -D @tcd-devkit/eslint-config-ts eslint@^9.0.0

Usage

Import and use the configuration in your eslint.config.js (or .mjs/.cjs) file:

import tsConfig from '@tcd-devkit/eslint-config-ts'; // This is an array of config objects

export default [
  ...tsConfig,
  {
    // Your custom rules and overrides can be added here
    files: ['**/*.ts', '**/*.tsx'], // Ensure these rules apply only to TS/TSX files
    languageOptions: {
      parserOptions: {
        project: true, // Assuming a tsconfig.json is in your project root
        // tsconfigRootDir: import.meta.dirname, // Or specify the directory containing tsconfig.json
      },
    },
    rules: {
      // example: '@typescript-eslint/no-unused-vars': 'warn',
    },
  },
];

This package exports an array of ESLint configuration objects, so you should spread it (...tsConfig) into your top-level configuration array. For type-aware rules to function correctly, ensure your ESLint configuration provides languageOptions.parserOptions.project pointing to your tsconfig.json.

Rules

This package primarily configures rules from typescript-eslint (e.g., eslint-recommended, recommended, stylistic). For a detailed view of all active rules in your project, you can run ESLint with the --print-config flag.

License

MIT © Nace Logar