15.15.1 • Published 4 months ago

@d-kuehn/eslint-config v15.15.1

Weekly downloads
-
License
MIT
Repository
gitlab
Last release
4 months ago

@d-kuehn/eslint-config

Latest Release

A comprehensive, opinionated collection of shareable ESLint configurations for JavaScript and TypeScript development.

Quick Start

pnpm install --save-dev @d-kuehn/eslint-config

You need to have Eslint >= v9 installed.

Create an eslint.config.js in your project root:

import {
  astro,
  combine,
  defaults,
  importX,
  jsdoc,
  jsonc,
  jsxA11y,
  perfectionist,
  playwright,
  betterTailwindCss,
  regexp,
  storybook,
  stylistic,
  tailwindCss,
  testingLibrary,
  typescript,
  unicorn,
  vitest,
  vue,
  vueAccessibility,
} from '@d-kuehn/eslint-config';

export default combine(
  defaults(),
  typescript(),
  stylistic(),
  // Add more configurations as needed
);

Available Configurations

Core Configurations

ConfigurationPurposeTargeted Files
defaults() v9.28.0Base ESLint rules for JS/TS projectsAll JavaScript/TypeScript files, .vue
typescript() v8.34.0TypeScript-specific rules and type checking.ts, .tsx, .mts, .cts, .vue
stylistic() v4.4.1Code style and formatting rulesAll JavaScript/TypeScript files, .vue, .astro

Feature-specific Configurations

ConfigurationPurposeTargeted Files
jsxA11y() v6.10.2A11Y.jsx, .tsx, .astro
importX() v4.15.2ES6+ import/export syntaxAll JavaScript/TypeScript files, .vue
jsdoc() v50.8.0JSDoc comments validationAll JavaScript/TypeScript files
jsonc() v2.20.1JSON validation and formatting.json, .jsonc, .json5
regexp() v2.9.0Regular expressions validationAll JavaScript/TypeScript files, .vue
unicorn() v59.0.1Additional JavaScript rulesAll JavaScript/TypeScript files, .vue, .astro
perfectionist() v4.14.0Consistent code organizationAll JavaScript/TypeScript files, .vue

Framework Support

ConfigurationPurposeTargeted Files
astro() v1.3.1Astro rules.astro
vue() v10.2.0Vue.js rules.vue
vueAccessibility() v2.4.1Vue.js accessibility.vue
storybook() v9.0.8Storybook rules**/*.stories.{ts,tsx,js,jsx,mjs,cjs}
betterTailwindCss() v3.1.0 - Tailwind CSS v3, v4Tailwind CSS usage.vue, .js, .ts, .jsx, .tsx, .astro

Testing Configurations

ConfigurationPurposeTargeted Files
vitest() v1.2.2Vitest test rules**/*.{spec,test,bench,benchmark}.?([cm])[jt]s?(x)
playwright() v2.2.0Playwright E2E test rulestests/e2e/**, **/*.e2e.?([cm])[jt]s?(x)
testingLibrary() v7.5.2Testing Library with Vue.js**/*.{spec,test,bench,benchmark}.?([cm])[jt]s?(x)

Configuration Options

Each configuration accepts an options object:

interface Options {
  ignores?: string[]; // Files to ignore
  plugins?: Record<string, TSESLint.Linter.Plugin>; // Additional ESLint plugins
  rules?: Record<string, TSESLint.SharedConfig.RuleEntry>; // Custom rule configurations
}

For detailed information:

  • ignores: See ESLint ignore patterns documentation
  • plugins: See ESLint plugins configuration
  • rules: See ESLint rules configuration

The Typescript plugin accept setting some languageOptions:

interface Options {
  ignores?: string[];
  plugins?: Record<string, TSESLint.Linter.Plugin>;
  rules?: Record<string, TSESLint.SharedConfig.RuleEntry>;
  languageOptions?: Linter.LanguageOptions; // typescript() only
}

The betterTailwindCss plugin accept settings:

interface Options {
  ignores?: string[];
  plugins?: Record<string, TSESLint.Linter.Plugin>;
  rules?: Record<string, TSESLint.SharedConfig.RuleEntry>;
  settings?: {
    'better-tailwindcss'?: {
      entryPoint?: string;
      tailwindConfig?: string;
      attributes?: any[];
      callees?: any[];
      variables?: any[];
      tags?: any[];
    };
  };
}

Example usage with options:

export default combine(
  {
    languageOptions: {
      globals: {
        ...globals.browser,
        __APP_VERSION__: 'readonly',
        MaybeHTMLElement: 'readonly',
      },
    },
  },
  typescript({
    ignores: ['*.test.ts'],
    rules: {
      '@typescript-eslint/no-explicit-any': 'off',
    },
  }),
  stylistic({
    rules: {
      '@stylistic/indent': ['error', 4],
    },
  }),
  betterTailwindCss({
    settings: {
      'better-tailwindcss': {
        entryPoint: 'src/styles/global.css',
      }
    },
  })
);
15.15.1

4 months ago

15.15.0

4 months ago

15.14.1

4 months ago

15.14.0

4 months ago

15.13.5

4 months ago

15.13.4

4 months ago

15.13.3

4 months ago

15.13.2

4 months ago

15.13.1

4 months ago

15.13.0

4 months ago

15.12.0

4 months ago

15.11.0

4 months ago

15.10.1

5 months ago

15.10.0

5 months ago

15.9.3

5 months ago

15.9.2

5 months ago

15.9.1

5 months ago

15.9.0

5 months ago

15.8.1

5 months ago

15.8.0

5 months ago

15.7.0

5 months ago

15.6.0

5 months ago

15.5.2

5 months ago

15.5.1

5 months ago

15.5.0

5 months ago

15.4.2

5 months ago

15.4.1

5 months ago

15.4.0

5 months ago

15.3.1

5 months ago

15.3.0

5 months ago

15.2.1

5 months ago

15.2.0

5 months ago

15.1.0

5 months ago

15.0.5

5 months ago

15.0.4

5 months ago

15.0.3

5 months ago

15.0.2

5 months ago

15.0.1

5 months ago

15.0.0

5 months ago

14.0.1

5 months ago

14.0.0

5 months ago

13.17.0

5 months ago

13.16.4

5 months ago

13.16.3

5 months ago

13.16.2

5 months ago

13.16.1

5 months ago

13.16.0

5 months ago

13.15.0

5 months ago

13.14.0

5 months ago

13.13.1

5 months ago

13.13.0

5 months ago

13.12.7

5 months ago

13.12.6

5 months ago

13.12.5

5 months ago

13.12.4

5 months ago

13.12.3

5 months ago

13.12.2

5 months ago

13.12.1

5 months ago

13.12.0

5 months ago

13.11.2

5 months ago

13.11.1

5 months ago

13.11.0

5 months ago

13.10.0

5 months ago

13.9.0

5 months ago

13.8.0

5 months ago

13.7.3

5 months ago

13.7.2

5 months ago

13.7.1

5 months ago

13.7.0

5 months ago

13.6.0

5 months ago

13.5.8

5 months ago

13.5.7

5 months ago

13.5.6

5 months ago

13.5.5

5 months ago

13.5.4

5 months ago

13.5.3

5 months ago

13.5.2

6 months ago

13.5.1

6 months ago

13.5.0

6 months ago

13.4.7

6 months ago

13.4.6

6 months ago

13.4.5

6 months ago

13.4.4

6 months ago

13.4.3

6 months ago

13.4.2

6 months ago

13.4.1

6 months ago

13.4.0

6 months ago

13.3.1

6 months ago

13.3.0

6 months ago

13.2.0

6 months ago

13.1.2

6 months ago

13.1.1

6 months ago

13.1.0

6 months ago

13.0.5

6 months ago

13.0.4

6 months ago

13.0.3

6 months ago

13.0.2

6 months ago

13.0.1

6 months ago

13.0.0

6 months ago

12.2.1

6 months ago

12.2.0

6 months ago

12.1.2

6 months ago

12.1.1

6 months ago

12.1.0

6 months ago

12.0.5

6 months ago

12.0.4

6 months ago

12.0.3

6 months ago

12.0.2

6 months ago

12.0.1

6 months ago

12.0.0

6 months ago

11.14.0

6 months ago

11.13.0

6 months ago

11.12.3

6 months ago

11.12.2

6 months ago

11.12.1

6 months ago

11.12.0

6 months ago

11.11.3

6 months ago

11.11.2

6 months ago

11.11.1

6 months ago

11.11.0

6 months ago

11.10.1

6 months ago

11.10.0

6 months ago

11.9.10

6 months ago

11.9.9

6 months ago

11.9.8

6 months ago

11.9.6

6 months ago

11.9.5

7 months ago

11.9.4

7 months ago

11.9.3

7 months ago

11.9.2

7 months ago

11.9.1

7 months ago

11.9.0

7 months ago

11.8.0

7 months ago

11.7.1

7 months ago

11.7.0

7 months ago

11.6.1

7 months ago

11.6.0

7 months ago

11.5.3

7 months ago

11.5.2

7 months ago

11.5.1

7 months ago

11.5.0

7 months ago

11.4.0

7 months ago

11.3.3

7 months ago

11.3.2

7 months ago

11.3.1

7 months ago

11.3.0

7 months ago

11.2.0

7 months ago

11.1.1

7 months ago

11.1.0

7 months ago

11.0.1

7 months ago

11.0.0

7 months ago

10.11.2

7 months ago

10.11.1

7 months ago

10.11.0

7 months ago

10.10.2

7 months ago

10.10.1

7 months ago

10.10.0

7 months ago

10.9.0

7 months ago

10.8.5

7 months ago

10.8.4

7 months ago

10.8.3

7 months ago

10.8.2

7 months ago

10.8.1

7 months ago

10.8.0

7 months ago

10.7.2

7 months ago

10.7.1

7 months ago

10.7.0

7 months ago

10.6.1

7 months ago

10.6.0

7 months ago

10.5.6

7 months ago

10.5.5

7 months ago

10.5.4

7 months ago

10.5.3

7 months ago

10.5.2

7 months ago

10.5.1

8 months ago

10.5.0

8 months ago

10.4.1

8 months ago

10.4.0

8 months ago

10.3.0

8 months ago

10.2.0

8 months ago

10.1.1

8 months ago

10.1.0

8 months ago

10.0.0

8 months ago

9.0.0

8 months ago

8.6.0

8 months ago

8.5.0

8 months ago

8.4.0

8 months ago

8.3.3

8 months ago

8.3.2

8 months ago

8.3.1

8 months ago

8.3.0

8 months ago

8.2.5

8 months ago

8.2.4

8 months ago

8.2.3

8 months ago

8.2.2

8 months ago

8.2.1

8 months ago

8.2.0

8 months ago

8.1.0

8 months ago

8.0.1

8 months ago

8.0.0

8 months ago

7.1.0

8 months ago

7.0.2

8 months ago

7.0.1

8 months ago

7.0.0

8 months ago

6.0.0

8 months ago

5.12.4

8 months ago

5.12.3

8 months ago

5.12.2

8 months ago

5.12.1

8 months ago

5.12.0

8 months ago

5.11.2

8 months ago

5.11.1

8 months ago

5.11.0

8 months ago

5.10.2

8 months ago

5.10.1

8 months ago

5.10.0

8 months ago

5.9.2

8 months ago

5.9.1

8 months ago

5.9.0

8 months ago

5.8.2

8 months ago

5.8.1

8 months ago

5.8.0

8 months ago

5.7.0

8 months ago

5.6.0

8 months ago

5.5.2

9 months ago

5.5.1

9 months ago

5.5.0

9 months ago

5.4.0

9 months ago

5.3.2

9 months ago

5.3.1

9 months ago

5.3.0

9 months ago

5.2.2

9 months ago

5.2.1

9 months ago

5.2.0

9 months ago

5.1.0

9 months ago

5.0.2

9 months ago

5.0.1

9 months ago

5.0.0

9 months ago

4.12.1

9 months ago

4.12.0

9 months ago

4.11.0

9 months ago

4.10.1

9 months ago

4.10.0

9 months ago

4.9.1

9 months ago

4.9.0

9 months ago

4.8.2

9 months ago

4.8.1

9 months ago

4.8.0

9 months ago

4.7.0

9 months ago

4.6.0

9 months ago

4.5.1

9 months ago

4.5.0

9 months ago

4.4.2

9 months ago

4.4.1

9 months ago

4.4.0

9 months ago

4.3.1

9 months ago

4.3.0

9 months ago

4.2.0

9 months ago

4.1.2

9 months ago

4.1.1

9 months ago

4.1.0

9 months ago

4.0.1

9 months ago

4.0.0

9 months ago

3.22.3

9 months ago

3.22.2

10 months ago

3.22.1

10 months ago

3.22.0

10 months ago

3.21.4

10 months ago

3.21.3

10 months ago

3.21.2

10 months ago

3.21.1

10 months ago

3.21.0

10 months ago

3.20.4

10 months ago

3.20.3

10 months ago

3.20.2

10 months ago

3.20.1

10 months ago

3.20.0

10 months ago

3.19.1

10 months ago

3.19.0

10 months ago

3.18.2

10 months ago

3.18.1

10 months ago

3.18.0

10 months ago

3.17.0

10 months ago

3.16.0

10 months ago

3.15.7

10 months ago

3.15.6

10 months ago

3.15.5

10 months ago

3.15.4

10 months ago

3.15.3

10 months ago

3.15.2

10 months ago

3.15.1

10 months ago

3.15.0

10 months ago

3.14.0

10 months ago

3.13.5

10 months ago

3.13.4

10 months ago

3.13.3

10 months ago

3.13.2

10 months ago

3.13.1

10 months ago

3.13.0

10 months ago

3.12.0

11 months ago

3.11.3

11 months ago

3.11.2

11 months ago

3.11.1

11 months ago

3.11.0

11 months ago

3.10.0

11 months ago

3.9.0

11 months ago

3.8.0

11 months ago

3.7.2

11 months ago

3.7.1

11 months ago

3.7.0

11 months ago

3.6.0

11 months ago

3.5.1

11 months ago

3.5.0

11 months ago

3.4.0

11 months ago

3.3.2

11 months ago

3.3.1

11 months ago

3.3.0

11 months ago

3.2.1

11 months ago

3.2.0

11 months ago

3.1.0

11 months ago

3.0.0

11 months ago

2.1.0

11 months ago

2.0.1

11 months ago

2.0.0

11 months ago

1.1.0

11 months ago

1.0.9

11 months ago

1.0.8

11 months ago

1.0.7

11 months ago

1.0.6

11 months ago

1.0.5

11 months ago

1.0.4

11 months ago

1.0.3

11 months ago