5.16.0 • Published 7 months ago

@jimmy.codes/eslint-config v5.16.0

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

@jimmy.codes/eslint-config

GitHub Actions Workflow Status version downloads

A simple, modern ESLint config that covers most use cases.

Why Use This?

A strict-but-practical ESLint config that doesn’t require much thought. It works out of the box, adapts to your stack, and enforces good patterns without getting in the way.

  • Auto-detects dependencies – Handles React, TypeScript, Astro, Next.js, Vitest, Jest, Playwright, Storybook, and TanStack Query.
  • Prevents real issues – Focuses on rules that actually matter.
  • Fast & lightweight – Loads only what’s needed, so it won’t slow you down.
  • No setup needed – Install it, import it, done.
  • Customizable – Turn off what you don’t need.
  • Works with tests – Supports Vitest, Jest, Playwright, and Testing Library.
  • Encourages modern JS – Keeps things clean and readable.

Installation & Usage

!NOTE
Works best with @jimmy.codes/prettier-config.

Install

pnpm add -D @jimmy.codes/eslint-config

Basic Setup

Add this to eslint.config.ts:

import { defineConfig } from "@jimmy.codes/eslint-config";

export default defineConfig();

It’ll auto-configure based on your installed dependencies.


Customization

Disable Auto-Detection

import { defineConfig } from "@jimmy.codes/eslint-config";

export default defineConfig({ autoDetect: false });

Enable/Disable Rule Sets

import { defineConfig } from "@jimmy.codes/eslint-config";

export default defineConfig({
  astro: false,
  jest: false,
  nextjs: false,
  playwright: false,
  react: false,
  storybook: false,
  tanstackQuery: false,
  testingLibrary: false,
  typescript: false,
  vitest: false,
});

Override Specific Rules

import { defineConfig } from "@jimmy.codes/eslint-config";

export default defineConfig({
  overrides: [
    {
      files: ["**/*.js"],
      rules: {
        "prefer-spread": "error",
      },
    },
    {
      files: ["**/*.ts"],
      rules: {
        "prefer-const": "error",
      },
    },
  ],
});

Plugins Used

This config includes the following plugins:

PluginPurpose
@eslint-community/eslint-plugin-eslint-commentsESLint directive comments
@eslint-react/eslint-pluginModern React linting
@eslint/jsCore ESLint rules
@next/eslint-plugin-nextNext.js best practices
@stylistic/eslint-pluginConsistent formatting
@tanstack/eslint-plugin-queryTanStack Query rules
@vitest/eslint-pluginVitest support
eslint-config-prettierDisable formatting conflicts
eslint-plugin-astroAstro framework support
eslint-plugin-import-xImport order and hygiene
eslint-plugin-jestJest support
eslint-plugin-jest-domDOM assertions for tests
eslint-plugin-jsdocJSDoc comment rules
eslint-plugin-jsx-a11yAccessibility in JSX
eslint-plugin-nNode.js-specific rules
eslint-plugin-perfectionistSorting and consistency
eslint-plugin-playwrightPlaywright testing support
eslint-plugin-react-compilerReact Compiler rules
eslint-plugin-react-hooksEnforce React Hooks rules
eslint-plugin-react-refreshSafe Fast Refresh boundaries
eslint-plugin-regexpRegExp best practices
eslint-plugin-storybookStorybook support
eslint-plugin-testing-libraryTesting Library rules
eslint-plugin-unicornModern JavaScript best practices
typescript-eslintTypeScript linting and type safety

Contributing

PRs and issues welcome.


Credits

Inspired by:

5.5.0

9 months ago

3.20.0

1 year ago

5.3.0

9 months ago

3.22.0

1 year ago

5.1.0

9 months ago

3.24.0

1 year ago

3.22.2

1 year ago

3.22.1

1 year ago

5.15.0

7 months ago

5.13.0

7 months ago

5.11.0

8 months ago

3.15.0

1 year ago

3.17.0

1 year ago

3.9.0

1 year ago

3.7.2

1 year ago

3.19.0

1 year ago

3.17.2

1 year ago

3.17.1

1 year ago

3.17.3

1 year ago

3.8.0

1 year ago

3.6.2

1 year ago

3.10.0

1 year ago

3.6.1

1 year ago

3.6.0

1 year ago

3.12.0

1 year ago

5.16.0

7 months ago

4.0.0

10 months ago

4.2.1

9 months ago

4.2.0

9 months ago

3.26.0

1 year ago

3.28.0

1 year ago

3.28.2

1 year ago

3.28.1

1 year ago

5.8.0

9 months ago

5.6.0

9 months ago

5.4.0

9 months ago

5.2.0

9 months ago

3.21.0

1 year ago

5.0.0

9 months ago

3.23.0

1 year ago

5.14.0

7 months ago

5.12.0

8 months ago

5.10.0

8 months ago

3.14.1

1 year ago

3.14.0

1 year ago

3.8.2

1 year ago

3.16.0

1 year ago

3.14.2

1 year ago

3.8.1

1 year ago

3.18.0

1 year ago

3.30.0

10 months ago

3.30.1

10 months ago

3.11.0

1 year ago

3.7.1

1 year ago

3.7.0

1 year ago

3.13.0

1 year ago

3.11.2

1 year ago

3.11.1

1 year ago

3.5.0

1 year ago

4.3.1

9 months ago

4.1.0

9 months ago

4.3.0

9 months ago

3.25.0

1 year ago

3.27.1

1 year ago

3.27.0

1 year ago

5.9.0

9 months ago

3.29.0

12 months ago

5.7.0

9 months ago

3.4.0

1 year ago

3.2.2

1 year ago

3.3.0

1 year ago

3.4.2

1 year ago

3.2.4

1 year ago

3.4.1

1 year ago

3.2.3

1 year ago

3.2.1

1 year ago

3.2.0

1 year ago

3.1.0

1 year ago

1.12.0

1 year ago

3.0.0

1 year ago

1.11.0

1 year ago

1.10.0

1 year ago

2.0.0

1 year ago

1.9.0

2 years ago

1.8.0

2 years ago

1.7.0

2 years ago

1.6.1

2 years ago

1.6.0

2 years ago

1.5.0

2 years ago

1.4.0

2 years ago

1.3.0

2 years ago

1.2.0

2 years ago

1.1.0

2 years ago

1.0.0

2 years ago