Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@belgattitude/eslint-config-bases

belgattitude1.3kMIT7.3.0

Composable eslint config bases for my personal projects and others.

eslint, eslint-config

readme

@belgattitude/eslint-config-bases

Composable eslint config bases for my personal projects and others.

npm npm

Features

  • Monorepo friendly: Each workspace can have its own config.
  • Composable: Compose your workspace eslint config from pre-defined bases.
  • Peace of mind: Plugins does not need to be installed per workspaces, thx to @rushstack/eslint-patch.
  • Performance!: Plugins enabled on file conventions patterns to increase perf.

Install

Add the following devDependencies to workspace (apps/packages in monorepo) or main project package.json.

yarn add --dev eslint@^8.57.1 @belgattitude/eslint-config-bases prettier
yarn dedupe # optional but recommended

Monorepo tricks

Depending on package manager, you may want to install

yarn add --dev @typescript-eslint/eslint-plugin @typescript-eslint/parser
yarn dedupe # optional but recommended

in the root package.json or individually in a workspace to prevent issues when multiple versions are installable (ie v8 and v7)

Add a lint command in package.json scripts

{
  "scripts": {
    "lint": "eslint . --ext .ts,.tsx,.js,.jsx,.mjs,.cjs,.mts,.cts"
  }
}

Tips for react/nextjs

Tip: If using nextjs < 15, you might want force resolutions of eslint-plugin-react to ^5.0.0 to avoid conflicts. This can be done using the package.json resolutions (yarn) or overrides (npm, pnpm) field:

{
  "resolutions": {
    "eslint-plugin-react-hooks": "5.0.0"
  }
}

Optional plugins

PS: To keep the size low, if you use the following plugins:

  • graphql: yarn add --dev @graphql-eslint/eslint-plugin
  • mdx: yarn add --dev eslint-plugin-mdx.

In one line

yarn add --dev @graphql-eslint/eslint-plugin \
               eslint-plugin-mdx \

Usage

Create an ./apps/my-app/.eslintrc.cjs file that extends any of the existing base configs. For example:

// next line only required if you're using a monorepo
require("@belgattitude/eslint-config-bases/patch/modern-module-resolution");

module.exports = {
  root: true,
  parser: '@typescript-eslint/parser',
  // using typescript-eslint v8 ?
  // use projectService - https://typescript-eslint.io/getting-started/typed-linting/  
  parserOptions: {
    projectService: true,
    tsconfigRootDir: __dirname,
  },
  ignorePatterns: ["**/node_modules", "**/.cache", "build", ".next"],
  extends: [

    // Group 1: recommended always  

    "@belgattitude/eslint-config-bases/typescript",
    "@belgattitude/eslint-config-bases/simple-import-sort",
    "@belgattitude/eslint-config-bases/import-x",
    "@belgattitude/eslint-config-bases/regexp",

    // For tests: use jest or vitest

    /// --- "@belgattitude/eslint-config-bases/jest",   
    "@belgattitude/eslint-config-bases/vitest", 

    // Group 2: Helps to avoid complexity (cyclomatic...)
    "@belgattitude/eslint-config-bases/sonar",

    // Group 3: When working with react  
    "@belgattitude/eslint-config-bases/react",
    "@belgattitude/eslint-config-bases/react-query",
    "@belgattitude/eslint-config-bases/rtl",

    // Group 4: Performance related (ie: set vs includes...)
    "@belgattitude/eslint-config-bases/performance",

    // Group 5: Various tools (per project)
    // "@belgattitude/eslint-config-bases/storybook",
    // "@belgattitude/eslint-config-bases/playwright",
    // "@belgattitude/eslint-config-bases/graphql-schema",
    // "@belgattitude/eslint-config-bases/mdx",  

    // Group 6: Framework specifics
    // ie:
    // - nextjs: 'next/core-web-vitals',
    // - remix:  '@remix-run/eslint-config',
    // ...

    // Group 7: Visual/Sort consistency  
    // Not recommended but can by applied on some projects
    // see https://github.com/azat-io/eslint-plugin-perfectionist
    //  
    // "@belgattitude/eslint-config-bases/perfectionist",
    // "@belgattitude/eslint-config-bases/perfectionist-jsx",


    // Group 8: Formatter  
    // Post configure the prettier base and run prettier
    // without conflicts thx to eslint-plugin-prettier
    "@belgattitude/eslint-config-bases/prettier-plugin",
    // Alternatively to the above if you're already running prettier
    // we can get a speed up by using on eslint-prettier-config
    // "@belgattitude/eslint-config-bases/prettier-config",
  ],
  rules: {
    // Specific global rules for your app or package
    // Might help is next eslint plugin does not locate pages
    // https://nextjs.org/docs/messages/no-html-link-for-pages#pagesdir
    // '@next/next/no-html-link-for-pages': ['error', `${__dirname}/src/pages`],

    // https://typescript-eslint.io/rules/consistent-type-definitions/  
    // '@typescript-eslint/consistent-type-definitions': 'error'  
  },
  overrides: [
    // Specific file rules for your app or package
    /*  
    {
      files: ['next.config.mjs'],
      rules: {
          'import/order': 'off',
          '@typescript-eslint/ban-ts-comment': 'off',
      },
    },
    {
      files: ['tailwind.config.ts'],
      rules: {
          '@typescript-eslint/naming-convention': 'off',
      },
    },    
    */
  ],
};

Ensure your tsconfig.json includes the .eslintrc.cjs file:

{
  "exclude": ["**/node_modules", "**/.*/*"],
  "include": [
    ".eslintrc.*s", // <-- add this
    // rest of the includes
  ]
}

Tip:

  • Prettier: @belgattitude/eslint-config-bases/prettier-plugin and @belgattitude/eslint-config-bases/prettier-config are mutually exclusives. Choose one. The prettier-config suppose that you run prettier independently. The prettier-plugin will run prettier for you. Easiest the prettier-plugin, fastest prettier-config (this mostly depends if you set up and persist caches as well)

  • Performance: Some rules are known to be slow (ie: import/namespace...). Slowest identified rules are disabled depending on context (ie: *.test.tsx? might not need everything). Depending on project it's possible to disable entirely some slow rules (ie: 'import/namespace': 'off'). A good tip run eslint with the TIMING=1 to identify slow rules.

  • If using NextJs < 15, to avoid conflicts on eslint-plugin-react-hooks, ensure either

    • Option 1: Update their eslint-config-next plugin to v15, ie: yarn add --dev eslint-config-next@^15.0.3
    • Option 2: Add an override (npm, pnpm) or resolutions (yarn) field in the root package.json to force the version of eslint-plugin-react-hooks to 5.0.0:

      {
       "resolutions": {
         "eslint-plugin-react-hooks": "5.0.0"
       }
      }

Bases

You can find the bases in ./src/bases.

Base Match convention Scope
typescript all Naming conventions, consistent imports, import sorting...
sonar *.{js,jsx,ts,tsx} Keep levels of code complexity sane. (excl test and stories)
regexp *.{js,jsx,jsx,tsx} Keep regexp consistent and safer.
react *.{jsx,tsx} Recommendations for react, react-hooks and jsx projects.
react-query **/?(*.)+(test).{js,jsx,ts,tsx} Enforce "recommended" react-query usage.
jest **/?(*.)+(test).{js,jsx,ts,tsx} Catch inconsistencies or error in jest tests.
vitest **/?(*.)+(test).{js,jsx,ts,tsx} Catch inconsistencies or error in jest tests.
rtl **/?(*.)+(test).{js,jsx,ts,tsx} Potential errors / deprecations in react-testing-library tests.
graphql-schema *.graphql Ensure validity of graphql schema files.
mdx all Mdx validation
storybook *.stories.{ts,tsx,mdx} Potential errors / deprecations in stories.
playwright **/e2e/**/*.test.{js,ts} Keep "recommended" playwright usage.
prettier-plugin all Post configure eslint for prettier compatibility.

Notes:

  • The order is important. Some bases will disable or tune previously defined rules. For example the react base will tune the naming conventions for function components and increase recommended cognitive complexity. The typescript base will also relax conventions for javascript files.

  • Based on filename conventions some rules are relaxed or disabled to avoid false positives and keep a good level of performance. For example the sonar base won't run on test and storybook files. If you work on different conventions the patterns must be updated.

Prettier integration

Two ways to work with prettier.

  • @belgattitude/eslint-config-bases/prettier-plugin - eslint will run prettier under the hood
  • @belgattitude/eslint-config-bases/prettier-config - eslint will just disable some conflicting rules (so you'll need to run prettier after)

The first method is recommended for simplicity. For best perf use the cache option to run eslint.

Tune the behaviour by creating a config in .prettierrc.js

// @ts-check
const {
  getPrettierConfig,
} = require("@belgattitude/eslint-config-bases/helpers");

/**
 * @type {import('prettier').Config}
 */
module.exports = {
  ...getPrettierConfig(),
  overrides: [
    // whatever you need
  ],
};

Tip: You can tune the provided prettier.base.config for your own needs.

Notes

Typescript

Generic typescript project, mostly based on

Type/Plugin Comment
eslint:recommended The basics for code linting.
@typescript-eslint/recommended The basics for typescript.
@typescript-eslint/consistent-type Use TS 3.8+ imports/exports, helps with esbuild
@typescript-eslint/naming-convention
eslint-plugin-import Order imports

Sonarjs

Type/Plugin Comment
eslint-plugin-sonarjs/recommended Help to keep complexity sane

React

Type/Plugin Comment
eslint-plugin-react/recommended
eslint-plugin-react-hooks/recommended
eslint-plugin-jsx-a11y/recommended Helps to produce accessibility-ready jsx

React-Query

Type/Plugin Comment
@tanstack/eslint-plugin-query/recommended

Vitest

Type/Plugin Comment
@vitest/eslint-plugin/recommended Vitest recommended practices.

Jest

Type/Plugin Comment
eslint-plugin-jest/recommended Jest recommended practices.

React Testing Library

Type/Plugin Comment
eslint-plugin-testing-library/recommended Ease when using react-testing-library

Regexp

Type/Plugin Comment
eslint-plugin-regexp/recommended

Mdx

To tune the behaviour, you can add setting in the top level config

module.exports = {
    settings: {
        'mdx/code-blocks': true,
        // optional, if you want to disable language mapper, set it to `false`
        // if you want to override the default language mapper inside, you can provide your own
        'mdx/language-mapper': {},
    },
}

Etc

...

changelog

@belgattitude/eslint-config-bases

7.3.0

Minor Changes

  • #1007 7b97b10 Thanks @belgattitude! - All plugins to latest, drop node 18.x, require node 20.9.0 or higher, add node 24.x to the CI.

    @typescript-eslint/eslint-plugin 8.34.1 → 8.35.0 @typescript-eslint/parser 8.34.1 → 8.35.0 eslint-plugin-storybook 9.0.12 → 9.0.13

7.2.0

Minor Changes

  • #1002 c72bda2 Thanks @belgattitude! - All plugins to latest

    @typescript-eslint/eslint-plugin       ^8.33.0  →  ^8.34.1
    @typescript-eslint/parser              ^8.33.0  →  ^8.34.1
    @typescript-eslint/typescript-estree   ^8.33.0  →  ^8.34.1
    @typescript-eslint/utils               ^8.33.0  →  ^8.34.1
    @vitest/eslint-plugin                   ^1.2.1  →   ^1.2.7
    eslint-plugin-import-x                 ^4.15.0  →  ^4.15.2
    eslint-plugin-jest                    ^28.12.0  →  ^29.0.1
    eslint-plugin-perfectionist            ^4.13.0  →  ^4.15.0
    eslint-plugin-prettier                  ^5.4.1  →   ^5.5.0
    eslint-plugin-regexp                    ^2.7.0  →   ^2.9.0
    eslint-plugin-sonarjs                   ^3.0.2  →   ^3.0.3
    eslint-plugin-storybook                 ^9.0.4  →  ^9.0.12
    eslint-plugin-testing-library           ^7.3.0  →   ^7.5.3

7.1.0

Minor Changes

7.0.0

Major Changes

  • #984 b6d3a58 Thanks @belgattitude! - Remove support for eslint-plugin-tailwind

    Tailwind v4 support seems to be taking a long time to be released, so we remove the plugin for now.

    Please update your eslint config to remove the "@belgattitude/eslint-config-bases/tailwind" import.

Minor Changes

  • #984 b6d3a58 Thanks @belgattitude! - All plugins to latest

    @tanstack/eslint-plugin-query ^5.74.7 → ^5.78.0 @typescript-eslint/eslint-plugin ^8.32.0 → ^8.32.1 @typescript-eslint/parser ^8.32.0 → ^8.32.1 @typescript-eslint/typescript-estree ^8.32.0 → ^8.32.1 @typescript-eslint/utils ^8.32.0 → ^8.32.1 @vitest/eslint-plugin ^1.1.44 → ^1.2.1 eslint-plugin-import-x ^4.11.1 → ^4.13.3 eslint-plugin-perfectionist ^4.12.3 → ^4.13.0 eslint-plugin-testing-library ^7.1.1 → ^7.2.2

6.37.0

Minor Changes

  • #977 a0d70db Thanks @belgattitude! - To latest

     @tanstack/eslint-plugin-query         ^5.73.3  →   ^5.74.7
     @typescript-eslint/eslint-plugin      ^8.31.0  →   ^8.32.0
     @typescript-eslint/parser             ^8.31.0  →   ^8.32.0
     @typescript-eslint/typescript-estree  ^8.31.0  →   ^8.32.0
     @typescript-eslint/utils              ^8.31.0  →   ^8.32.0
     @vitest/eslint-plugin                 ^1.1.43  →   ^1.1.44
     eslint-config-prettier                ^10.1.2  →   ^10.1.5
     eslint-plugin-import-x                ^4.10.6  →   ^4.11.1
     eslint-plugin-perfectionist           ^4.12.1  →   ^4.12.3
     eslint-plugin-prettier                 ^5.2.6  →    ^5.4.0

6.36.0

Minor Changes

  • #966 fed1bc4 Thanks @belgattitude! - All plugins to latest

     @typescript-eslint/eslint-plugin      ^8.29.1  →  ^8.31.0
     @typescript-eslint/parser             ^8.29.1  →  ^8.31.0
     @typescript-eslint/typescript-estree  ^8.29.1  →  ^8.31.0
     @typescript-eslint/utils              ^8.29.1  →  ^8.31.0
     @vitest/eslint-plugin                 ^1.1.42  →  ^1.1.43
     eslint-plugin-import-x                ^4.10.3  →  ^4.10.6
     eslint-plugin-perfectionist           ^4.11.0  →  ^4.12.1

6.35.0

Minor Changes

  • #959 ccedb7f Thanks @belgattitude! - Plugins to latest

    eslint-plugin-import-x  ^4.10.2  →  ^4.10.3
    "@tanstack/eslint-plugin-query": "^5.73.3",

6.34.0

Minor Changes

  • #954 7d3e130 Thanks @belgattitude! - All plugins to latest

     @tanstack/eslint-plugin-query         ^5.71.5  →  ^5.72.2
     @typescript-eslint/eslint-plugin      ^8.29.0  →  ^8.29.1
     @typescript-eslint/parser             ^8.29.0  →  ^8.29.1
     @typescript-eslint/typescript-estree  ^8.29.0  →  ^8.29.1
     @typescript-eslint/utils              ^8.29.0  →  ^8.29.1
     @vitest/eslint-plugin                 ^1.1.39  →  ^1.1.42
     eslint-config-prettier                ^10.1.1  →  ^10.1.2

6.33.0

Minor Changes

  • #951 693bb6c Thanks @belgattitude! - Updated dependencies

     eslint-plugin-import-x  ^4.10.0  →  ^4.10.2
     eslint-plugin-mdx         3.3.1  →    3.4.0

6.32.0

Minor Changes

  • #948 b0fbe98 Thanks @belgattitude! - Deps to latest

     @tanstack/eslint-plugin-query          ^5.68.0  →  ^5.71.5
     @vitest/eslint-plugin                  ^1.1.38  →  ^1.1.39
     eslint-plugin-import-x                  ^4.9.3  →  ^4.10.0
     eslint-plugin-perfectionist            ^4.10.1  →  ^4.11.0
     eslint-plugin-prettier                  ^5.2.5  →   ^5.2.6
     eslint-plugin-react                    ^7.37.4  →  ^7.37.5

6.31.0

Minor Changes

  • #944 95e239c Thanks @belgattitude! - All plugins to latest

    Auto-updated dependencies

     @typescript-eslint/eslint-plugin       ^8.27.0  →   ^8.28.0
     @typescript-eslint/parser              ^8.27.0  →   ^8.28.0
     @typescript-eslint/typescript-estree   ^8.27.0  →   ^8.28.0
     @typescript-eslint/utils               ^8.27.0  →   ^8.28.0
     eslint-plugin-import-x                  ^4.9.1  →    ^4.9.3
     eslint-plugin-prettier                  ^5.2.4  →    ^5.2.5
     eslint-plugin-storybook                ^0.11.6  →   ^0.12.0

    peerDependencies

    Minimum version required

    @graphql-eslint/eslint-plugin            ^4.3.0  →     ^4.4.0
    eslint-plugin-mdx                        ^3.2.0  →     ^3.3.1

    Removed the "@testing-library/dom": "^10.4.0" peer dependency as it is not required anymore `

6.30.0

Minor Changes

  • #937 e791445 Thanks @belgattitude! - All deps to latest

     @typescript-eslint/eslint-plugin       ^8.26.1  →   ^8.27.0
     @typescript-eslint/parser              ^8.26.1  →   ^8.27.0
     @typescript-eslint/typescript-estree   ^8.26.1  →   ^8.27.0
     @typescript-eslint/utils               ^8.26.1  →   ^8.27.0
     eslint-plugin-import-x                  ^4.8.1  →    ^4.9.1
     eslint-plugin-prettier                  ^5.2.3  →    ^5.2.4

6.29.0

Minor Changes

  • #933 eb51a43 Thanks @belgattitude! - Plugins to latest. eslint-plugin-storybook nows support typescript 5.8

     @vitest/eslint-plugin    ^1.1.37  →  ^1.1.38
     eslint-plugin-import-x    ^4.8.0  →   ^4.8.1
     eslint-plugin-storybook  ^0.11.4  →  ^0.11.6

6.28.0

Minor Changes

  • #930 02691c1 Thanks @belgattitude! - import-x plugin updated

     @tanstack/eslint-plugin-query  ^5.67.2  →  ^5.68.0
     eslint-plugin-import-x          ^4.6.1  →   ^4.8.0

6.27.0

Minor Changes

  • #928 fc23061 Thanks @belgattitude! - Plugins to latest

     @rushstack/eslint-patch               ^1.10.5  →   ^1.11.0
     @tanstack/eslint-plugin-query         ^5.66.1  →   ^5.67.2
     @typescript-eslint/eslint-plugin      ^8.26.0  →   ^8.26.1
     @typescript-eslint/parser             ^8.26.0  →   ^8.26.1
     @typescript-eslint/typescript-estree  ^8.26.0  →   ^8.26.1
     @typescript-eslint/utils              ^8.26.0  →   ^8.26.1
     @vitest/eslint-plugin                 ^1.1.36  →   ^1.1.37
     eslint-config-prettier                ^10.0.2  →   ^10.1.1
     eslint-plugin-perfectionist            ^4.9.0  →   ^4.10.1
     eslint-plugin-storybook               ^0.11.3  →   ^0.11.4

6.26.0

Minor Changes

  • #921 30205aa Thanks @belgattitude! - Latest typescript eslint for typescript 5.8 support

     @typescript-eslint/eslint-plugin      ^8.25.0  →  ^8.26.0
     @typescript-eslint/parser             ^8.25.0  →  ^8.26.0
     @typescript-eslint/typescript-estree  ^8.25.0  →  ^8.26.0
     @typescript-eslint/utils              ^8.25.0  →  ^8.26.0
     @vitest/eslint-plugin                 ^1.1.33  →  ^1.1.36
     eslint-config-prettier                ^10.0.1  →  ^10.0.2

6.25.0

Minor Changes

  • #916 20f5edf Thanks @belgattitude! - All plugins to latest

     @typescript-eslint/eslint-plugin      ^8.24.1  →  ^8.25.0
     @typescript-eslint/parser             ^8.24.1  →  ^8.25.0
     @typescript-eslint/typescript-estree  ^8.24.1  →  ^8.25.0
     @typescript-eslint/utils              ^8.24.1  →  ^8.25.0
     @vitest/eslint-plugin                 ^1.1.31  →  ^1.1.33

6.24.0

Minor Changes

  • #912 a8e6a39 Thanks @belgattitude! - All plugins to latest

     @typescript-eslint/eslint-plugin      ^8.24.0  →  ^8.24.1
     @typescript-eslint/parser             ^8.24.0  →  ^8.24.1
     @typescript-eslint/typescript-estree  ^8.24.0  →  ^8.24.1
     @typescript-eslint/utils              ^8.24.0  →  ^8.24.1
     @vitest/eslint-plugin                 ^1.1.28  →  ^1.1.31
     eslint-plugin-perfectionist            ^4.8.0  →   ^4.9.0
     eslint-plugin-sonarjs                  ^3.0.1  →   ^3.0.2
     eslint-plugin-storybook               ^0.11.2  →  ^0.11.3

6.23.0

Minor Changes

  • #905 773d49a Thanks @belgattitude! - All plugins to latest

     @tanstack/eslint-plugin-query         ^5.66.0  →  ^5.66.1
     @typescript-eslint/eslint-plugin      ^8.23.0  →  ^8.24.0
     @typescript-eslint/parser             ^8.23.0  →  ^8.24.0
     @typescript-eslint/typescript-estree  ^8.23.0  →  ^8.24.0
     @typescript-eslint/utils              ^8.23.0  →  ^8.24.0
     @vitest/eslint-plugin                 ^1.1.27  →  ^1.1.28

6.22.0

Minor Changes

  • #902 964ec96 Thanks @belgattitude! - All plugins to latest

    Tailwind V4 support is still delayed. Waiting for https://github.com/francoismassart/eslint-plugin-tailwindcss/issues/384 to be resolved.

     @tanstack/eslint-plugin-query         ^5.65.0  →  ^5.66.0
     @typescript-eslint/eslint-plugin      ^8.22.0  →  ^8.23.0
     @typescript-eslint/parser             ^8.22.0  →  ^8.23.0
     @typescript-eslint/typescript-estree  ^8.22.0  →  ^8.23.0
     @typescript-eslint/utils              ^8.22.0  →  ^8.23.0
     eslint-plugin-perfectionist            ^4.7.0  →   ^4.8.0

6.21.0

Minor Changes

  • #897 2d7d561 Thanks @belgattitude! - All deps to latest

    Note: tailwindcss support for 4.0.0 isn't properly working (yet)

    @tanstack/eslint-plugin-query         ^5.64.2  →  ^5.65.0
    @typescript-eslint/eslint-plugin      ^8.21.0  →  ^8.22.0
    @typescript-eslint/parser             ^8.21.0  →  ^8.22.0
    @typescript-eslint/typescript-estree  ^8.21.0  →  ^8.22.0
    @typescript-eslint/utils              ^8.21.0  →  ^8.22.0
    eslint-plugin-playwright               ^2.1.0  →   ^2.2.0

6.20.0

Minor Changes

  • #889 d0239a6 Thanks @belgattitude! - All plugins to latest

    @tanstack/eslint-plugin-query         ^5.62.16  →   ^5.64.2
    @typescript-eslint/eslint-plugin       ^8.20.0  →   ^8.21.0
    @typescript-eslint/parser              ^8.20.0  →   ^8.21.0
    @typescript-eslint/typescript-estree   ^8.20.0  →   ^8.21.0
    @typescript-eslint/utils               ^8.20.0  →   ^8.21.0
    eslint-plugin-jest                    ^28.10.0  →  ^28.11.0
    eslint-plugin-perfectionist             ^4.6.0  →    ^4.7.0
    eslint-plugin-prettier                  ^5.2.1  →    ^5.2.3

6.19.0

Minor Changes

  • #883 a3d876c Thanks @belgattitude! - All plugins to latest

    @typescript-eslint/eslint-plugin      ^8.19.1  →  ^8.20.0
    @typescript-eslint/parser             ^8.19.1  →  ^8.20.0
    @typescript-eslint/typescript-estree  ^8.19.1  →  ^8.20.0
    @typescript-eslint/utils              ^8.19.1  →  ^8.20.0
    @vitest/eslint-plugin                 ^1.1.24  →  ^1.1.25
    eslint-config-prettier                 ^9.1.0  →  ^10.0.1
    eslint-plugin-react                   ^7.37.3  →  ^7.37.4

6.18.2

Patch Changes

6.18.1

Patch Changes

  • #875 ff1468a Thanks @belgattitude! - All plugins to latest

    @tanstack/eslint-plugin-query         ^5.62.9  →  ^5.62.16
    @typescript-eslint/eslint-plugin      ^8.19.0  →   ^8.19.1
    @typescript-eslint/parser             ^8.19.0  →   ^8.19.1
    @typescript-eslint/typescript-estree  ^8.19.0  →   ^8.19.1
    @typescript-eslint/utils              ^8.19.0  →   ^8.19.1
    @vitest/eslint-plugin                 ^1.1.22  →   ^1.1.24
    eslint-plugin-perfectionist            ^4.4.0  →    ^4.6.0
    eslint-plugin-storybook               ^0.11.1  →   ^0.11.2

6.18.0

Minor Changes

  • #870 cc04f4e Thanks @belgattitude! - Update all dependencies

     @tanstack/eslint-plugin-query         ^5.62.1  →   ^5.62.9
     @typescript-eslint/eslint-plugin      ^8.18.1  →   ^8.19.0
     @typescript-eslint/parser             ^8.18.1  →   ^8.19.0
     @typescript-eslint/typescript-estree  ^8.18.1  →   ^8.19.0
     @typescript-eslint/utils              ^8.18.1  →   ^8.19.0
     @vitest/eslint-plugin                 ^1.1.18  →   ^1.1.22
     eslint-plugin-import-x                 ^4.5.1  →    ^4.6.1
     eslint-plugin-jest                    ^28.9.0  →  ^28.10.0
     eslint-plugin-perfectionist            ^4.3.0  →    ^4.4.0
     eslint-plugin-react                   ^7.37.2  →   ^7.37.3

6.17.0

Minor Changes

Patch Changes

  • #864 0bf9af7 Thanks @belgattitude! - Update all plugins

     @typescript-eslint/eslint-plugin      ^8.18.0  →  ^8.18.1
     @typescript-eslint/parser             ^8.18.0  →  ^8.18.1
     @typescript-eslint/typescript-estree  ^8.18.0  →  ^8.18.1
     @typescript-eslint/utils              ^8.18.0  →  ^8.18.1
     @vitest/eslint-plugin                 ^1.1.16  →  ^1.1.18
     eslint-plugin-import-x                 ^4.5.0  →   ^4.5.1

6.16.0

Minor Changes

6.15.1

Patch Changes

6.15.0

Minor Changes

  • #852 648a084 Thanks @belgattitude! - Update typescript-eslint to latest

    @typescript-eslint/eslint-plugin      ^8.17.0  →  ^8.18.0
    @typescript-eslint/parser             ^8.17.0  →  ^8.18.0
    @typescript-eslint/typescript-estree  ^8.17.0  →  ^8.18.0
    @typescript-eslint/utils              ^8.17.0  →  ^8.18.0

6.14.0

Minor Changes

6.13.0

Minor Changes

  • #847 6878e2d Thanks @belgattitude! - Plugins to latest versions

    eslint-plugin-sonarjs           ^3.0.0  →  ^3.0.1
    eslint-plugin-testing-library   ^7.1.0  →  ^7.1.1

6.12.0

Minor Changes

6.11.0

Minor Changes

  • #839 cf66fe4 Thanks @belgattitude! - All plugins to latest and sonarjs to v3

    @tanstack/eslint-plugin-query         ^5.61.4  →  ^5.62.1
    @typescript-eslint/eslint-plugin      ^8.16.0  →  ^8.17.0
    @typescript-eslint/parser             ^8.16.0  →  ^8.17.0
    @typescript-eslint/typescript-estree  ^8.16.0  →  ^8.17.0
    @typescript-eslint/utils              ^8.16.0  →  ^8.17.0
    @vitest/eslint-plugin                 ^1.1.10  →  ^1.1.14
    eslint-plugin-import-x                 ^4.4.3  →   ^4.5.0
    eslint-plugin-perfectionist            ^4.1.2  →   ^4.2.0
    eslint-plugin-sonarjs                  ^2.0.4  →   ^3.0.0
    eslint-plugin-testing-library          ^7.0.0  →   ^7.1.0

6.10.0

Minor Changes

  • #832 2255a2b Thanks @belgattitude! - Update peer dependency on @graphql-eslint/eslint-plugin from 3.20 → 4.0.0

    @graphql-eslint/eslint-plugin 3.20.14.0.0

Patch Changes

6.9.0

Minor Changes

  • #828 3b15db8 Thanks @belgattitude! - Typescript 5.7 and prettier 3.4 support

    Update minimum dependencies to

     @typescript-eslint/eslint-plugin      ^8.15.0  →  ^8.16.0
     @typescript-eslint/parser             ^8.15.0  →  ^8.16.0
     @typescript-eslint/typescript-estree  ^8.15.0  →  ^8.16.0
     @typescript-eslint/utils              ^8.15.0  →  ^8.16.0
     eslint-plugin-perfectionist            ^4.0.3  →   ^4.1.2

6.8.0

Minor Changes

6.7.0

Minor Changes

6.6.0

Minor Changes

  • #815 746ff10 Thanks @belgattitude! - All plugins to latest

    perfectionist to v4

     @typescript-eslint/eslint-plugin      ^8.14.0  →  ^8.15.0
     @typescript-eslint/parser             ^8.14.0  →  ^8.15.0
     @typescript-eslint/typescript-estree  ^8.14.0  →  ^8.15.0
     @typescript-eslint/utils              ^8.14.0  →  ^8.15.0
     eslint-plugin-perfectionist            ^3.9.1  →   ^4.0.2
     eslint-plugin-playwright               ^2.0.1  →   ^2.1.0
     eslint-plugin-storybook               ^0.11.0  →  ^0.11.1
     eslint-plugin-unicorn                 ^56.0.0  →  ^56.0.1

6.5.0

Minor Changes

  • #808 772b012 Thanks @belgattitude! - jest/expect-expect, support expectTypeOf and assertType as valid expectations

  • #808 772b012 Thanks @belgattitude! - Update eslint-plugin-regexp

    eslint-plugin-regexp  ^2.6.0  →  ^2.7.0
  • #810 076108c Thanks @belgattitude! - Add vitest base with @vitest/eslint-plugin, to enable add "@belgattitude/eslint-config-bases/vitest" and remove "@belgattitude/eslint-config-bases/jest" from your .eslintrc.js file.

    // next line only required if you're using a monorepo
    require('@belgattitude/eslint-config-bases/patch/modern-module-resolution');
    
    module.exports = {
      extends: [
        // For tests: use either jest or vitest
    
        /// --- "@belgattitude/eslint-config-bases/jest",
    
        '@belgattitude/eslint-config-bases/vitest',
      ],
    };

Patch Changes

6.4.0

Minor Changes

  • #805 241b0ae Thanks @belgattitude! - All plugins to latest

     @tanstack/eslint-plugin-query         ^5.59.7  →  ^5.60.1
     @typescript-eslint/eslint-plugin      ^8.12.2  →  ^8.14.0
     @typescript-eslint/parser             ^8.12.2  →  ^8.14.0
     @typescript-eslint/typescript-estree  ^8.12.2  →  ^8.14.0
     @typescript-eslint/utils              ^8.12.2  →  ^8.14.0
     eslint-plugin-import-x                 ^4.4.0  →   ^4.4.2
     eslint-plugin-jest                    ^28.8.3  →  ^28.9.0
     eslint-plugin-playwright               ^2.0.0  →   ^2.0.1
     eslint-plugin-storybook               ^0.10.1  →  ^0.11.0

6.3.0

Minor Changes

  • 18693df Thanks @belgattitude! - Update plugins

     @typescript-eslint/eslint-plugin      ^8.12.1  →  ^8.12.2
     @typescript-eslint/parser             ^8.12.1  →  ^8.12.2
     @typescript-eslint/typescript-estree  ^8.12.1  →  ^8.12.2
     @typescript-eslint/utils              ^8.12.1  →  ^8.12.2
     eslint-plugin-import-x                 ^4.3.1  →   ^4.4.0

6.2.0

Minor Changes

  • #797 4a88211 Thanks @belgattitude! - Typescript eslint to 8.12

  • #799 5d922a1 Thanks @belgattitude! - @typescript-eslint/no-unused-expressions disabled for test files

    This to allow testing types with vitest, ie:

    expectTypeOf(test).toEqualTypeOf<Test>;

6.1.1

Patch Changes

6.1.0

Minor Changes

  • #792 8bf31cc Thanks @belgattitude! - eslint-plugin-playwright to v2.0.0

     eslint-plugin-playwright   ^1.8.1  →   ^2.0.0
     eslint-plugin-react       ^7.37.1  →  ^7.37.2

6.0.4

Patch Changes

  • #787 bfaebf3 Thanks @belgattitude! - All plugins to latest

    
    @typescript-eslint/eslint-plugin      ^8.10.0  →  ^8.11.0
    @typescript-eslint/parser             ^8.10.0  →  ^8.11.0
    @typescript-eslint/typescript-estree  ^8.10.0  →  ^8.11.0
    @typescript-eslint/utils              ^8.10.0  →  ^8.11.0
    eslint-plugin-jsx-a11y                ^6.10.0  →  ^6.10.1
    eslint-plugin-playwright               ^1.8.0  →   ^1.8.1
    eslint-plugin-storybook

6.0.3

Patch Changes

6.0.2

Patch Changes

6.0.1

Patch Changes

6.0.0

Major Changes

  • #776 a098f8a Thanks @belgattitude! - Release v6.0.0: typescript-eslint v8 and typescript 5.6 support.

    V7 will include eslint 9 support with flat config

    Highlights

    Upgrade steps

    Install the latest

    Tip: If using nextjs, you might want force resolutions of eslint-plugin-react to ^5.0.0 to avoid conflicts. This can be done using the package.json resolutions (yarn) or overrides (npm, pnpm) field:

    {
      "resolutions": {
        "eslint-plugin-react-hooks": "5.0.0"
      }
    }

    Then upgrade @eblgattitude/eslint-config-bases

    yarn add --dev eslint@^8.57.0 @belgattitude/eslint-config-bases prettier
    
    # In monorepos, better to explicitly install the following
    yarn add --dev @typescript-eslint/eslint-plugin @typescript-eslint/parser
    
    yarn install && yarn dedupe

    Update the config file

    Be sure your eslintrc.config.cjs is up to date with the latest version of the config. The important part is to have the parserOptions that have been changed:

    // eslint-disable-next-line @typescript-eslint/no-restricted-types
    const {
      getDefaultIgnorePatterns,
    } = require('@belgattitude/eslint-config-bases/helpers');
    
    module.exports = {
      root: true,
      parser: '@typescript-eslint/parser',
      parserOptions: {
        projectService: true,
        tsconfigRootDir: __dirname,
      },
      // settings: {},
      ignorePatterns: [...getDefaultIgnorePatterns()],
      extends: [
        // Group 1: recommended always
        '@belgattitude/eslint-config-bases/typescript',
        '@belgattitude/eslint-config-bases/simple-import-sort',
        '@belgattitude/eslint-config-bases/import-x',
        '@belgattitude/eslint-config-bases/regexp',
        '@belgattitude/eslint-config-bases/jest', // jest or similar (ie: vitest)
    
        // Group 2: Helps to avoid complexity (cyclomatic...)
        '@belgattitude/eslint-config-bases/sonar',
    
        // Group 3: When working with react
        '@belgattitude/eslint-config-bases/react',
        '@belgattitude/eslint-config-bases/react-query',
        '@belgattitude/eslint-config-bases/rtl',
    
        // Group 4: Performance related (ie: set vs includes...)
        '@belgattitude/eslint-config-bases/performance',
    
        // Group 5: Various tools (per project)
        '@belgattitude/eslint-config-bases/tailwind',
        '@belgattitude/eslint-config-bases/storybook',
        // '@belgattitude/eslint-config-bases/playwright',
        // "@belgattitude/eslint-config-bases/graphql-schema",
    
        // Group 6: Framework specifics
        'next/core-web-vitals',
        // - remix:  '@remix-run/eslint-config',
        // ...
    
        // '@belgattitude/eslint-config-bases/mdx',
    
        // Group 7: Visual/Sort consistency
        // Not recommended but can by applied on some projects
        // see https://github.com/azat-io/eslint-plugin-perfectionist
        //
        // "@belgattitude/eslint-config-bases/perfectionist",
        // "@belgattitude/eslint-config-bases/perfectionist-jsx",
    
        // Group 8: Formatter
        // Post configure the prettier base and run prettier
        // without conflicts thx to eslint-plugin-prettier
        '@belgattitude/eslint-config-bases/prettier-plugin',
        // Alternatively to the above if you're already running prettier
        // we can get a speed up by using on eslint-prettier-config
        // "@belgattitude/eslint-config-bases/prettier-config",
      ],
      rules: {
        // 'jsx-a11y/mouse-events-have-key-events': 'off',
      },
      overrides: [],
    };

    Run a lint test

    yarn eslint . --ext .ts,.tsx,.js,.jsx,.mjs,.cjs,.mts,.cts

    Apply auto fixes

    yarn eslint . --ext .ts,.tsx,.js,.jsx,.mjs,.cjs,.mts,.cts --fix
  • #767 8fa9cb4 Thanks @belgattitude! - Revert no-restricted-entries in performance

  • #742 9009742 Thanks @belgattitude! - eslint-plugin-import-x to 4.3.0

  • #689 888cecd Thanks @belgattitude! - Upgrade to typescript-eslint 8

  • #689 888cecd Thanks @belgattitude! - Remove support for eslint-plugin-import and replace by by eslint-plugin-import-x

  • #773 cdbc6b9 Thanks @belgattitude! - Support typescript 5.6 (plugin update)

  • #717 5ae1607 Thanks @belgattitude! - By default uses typescript-eslint projectService available in v8

  • #747 afffb51 Thanks @belgattitude! - Update plugins to latest (storybook, typescript-eslint, import-x)

  • #728 99225de Thanks @belgattitude! - Update react-query and react plugins

  • #712 fdbb649 Thanks @belgattitude! - Disable some sonarjs rules for test and bench files

  • #751 022a9b9 Thanks @belgattitude! - eslint plugin unicorn to v56

  • 0c0e549 Thanks @belgattitude! - Upgrade sonarjs plugin to v1

  • #708 01053a0 Thanks @belgattitude! - Update to sonarjs v2

  • #773 cdbc6b9 Thanks @belgattitude! - Disable sonarjs/deprecation as it's handled in typescript/eslint

  • #762 5ae64f3 Thanks @belgattitude! - Allow eslint-plugin-react-hook to v5

  • 08da902 Thanks @belgattitude! - Tune import-x/no-unused-modules

  • #739 630be56 Thanks @belgattitude! - Latest deps

Minor Changes

Patch Changes

6.0.0-canary.20

Major Changes

6.0.0-canary.19

Major Changes

6.0.0-canary.18

Minor Changes

6.0.0-canary.17

Major Changes

Minor Changes

6.0.0-canary.16

Minor Changes

Patch Changes

6.0.0-canary.15

Patch Changes

6.0.0-canary.14

Major Changes

6.0.0-canary.13

Major Changes

6.0.0-canary.12

Patch Changes

6.0.0-canary.11

Major Changes

6.0.0-canary.10

Minor Changes

6.0.0-canary.9

Patch Changes

  • d8fc447 Thanks @belgattitude! - Disable sonarjs/no-redundant-optional as it does not play well with exactOptionalTypes

6.0.0-canary.8

Patch Changes

6.0.0-canary.7

Major Changes

Patch Changes

6.0.0-canary.6

Patch Changes

6.0.0-canary.5

Major Changes

6.0.0-canary.4

Patch Changes

6.0.0-canary.3

Major Changes

6.0.0-canary.2

Patch Changes

6.0.0-canary.1

Major Changes

6.0.0-canary.0

Major Changes

5.17.0

Minor Changes

5.16.0

Minor Changes

5.15.0

Minor Changes

5.14.1

Patch Changes

5.14.0

Minor Changes

5.13.0

Minor Changes

5.12.0

Minor Changes

5.11.1

Patch Changes

5.11.0

Minor Changes

5.10.0

Minor Changes

5.9.0

Minor Changes

5.8.0

Minor Changes

5.7.0

Minor Changes

5.6.0

Minor Changes

5.5.1

Patch Changes

5.5.0

Minor Changes

Patch Changes

5.4.1

Patch Changes

5.4.0

Minor Changes

  • #578 34cab7f Thanks @belgattitude! - To latest plugins

  • #578 34cab7f Thanks @belgattitude! - Add eslint-plugin-import-x

    require('@belgattitude/eslint-config-bases/patch/modern-module-resolution');
    
    module.exports = {
      extends: [
        // Group 1: recommended always
        '@belgattitude/eslint-config-bases/typescript',
        '@belgattitude/eslint-config-bases/simple-import-sort',
    
        '@belgattitude/eslint-config-bases/import-x',
    
        // ...
      ],
    };

5.3.0

Minor Changes

5.2.0

Minor Changes

5.1.0

Minor Changes

5.0.0

Major Changes

  • #546 4b580f1 Thanks @belgattitude! - Typescript eslint v7.4, drop react query eslint plugin < 5, allow prettier 4 alpha.

    If you encounter issues like 'ESLint couldn't determine the plugin "import" uniquely.'. Ensure that other plugins are on typescript-eslint v7 as well.

    For Next.js users, the Next.js eslint config < 14.2.0 doesn't support typescript-eslint v7. See this PR: https://github.com/vercel/next.js/pull/62137. To allow v7 either wait for 14.2.0 to be releases or override the package version [PR]

    {
      "resolutions": {
        "@typescript-eslint/eslint-plugin": "^7.4.0",
        "@typescript-eslint/parser": "^7.4.0",
        "@typescript-eslint/typescript-estree": "^7.4.0",
        "@typescript-eslint/utils": "^7.4.0"
      }
    }

4.13.1

Patch Changes

4.13.0

Minor Changes

4.12.0

Minor Changes

4.11.0

Minor Changes

4.10.0

Minor Changes

4.9.0

Minor Changes

4.8.0

Minor Changes

4.7.0

Minor Changes

4.6.0

Minor Changes

4.5.0

Minor Changes

  • #465 4f26b88 Thanks @belgattitude! - Disable eslint-plugin-import sort

    In preparation for dprint support, you must now opt-in for import/export sort.

    module.exports = {
      // for brevity
      extends: [
        // Group 1: recommended always
        '@belgattitude/eslint-config-bases/typescript',
        '@belgattitude/eslint-config-bases/simple-import-sort',
        // ...rest
      ],
    };

    Note that the eslint-plugin-import has been changed to simple-import-sort internally. Expect to relint your codebase.

    This change bring some speedups. In a next release those rules can be opt-out easily in favour of dprint, biome... which does as faster job (stylistic)

4.4.0

Minor Changes

4.3.1

Patch Changes

  • 2c5dee3 - Latest typescript 6.13.1 to fix jsdoc

4.3.0

Minor Changes

4.2.0

Minor Changes

Patch Changes

4.1.1

Patch Changes

4.1.0

Minor Changes

4.0.1

Patch Changes

4.0.0

Major Changes

Minor Changes

  • #427 309e441 Thanks @belgattitude! - Export a dedicated performance group

        // Group 4: Performance related (ie: set vs includes...)
        "@belgattitude/eslint-config-bases/performance",

3.5.1

Patch Changes

3.5.0

Minor Changes

3.4.0

Minor Changes

3.3.0

Minor Changes

  • #404 8e6175e Thanks @belgattitude! - Adapt perfectionist rules and add jsx as optional

    module.exports = {
      overrides: [
        {
          extends: ['plugin:perfectionist/recommended-natural'],
          files: ['*.js', '*.cjs', '*.mjs', '*.ts'],
          rules: {
            // import/order is used
            'perfectionist/sort-named-imports': 'off',
            'perfectionist/sort-imports': 'off',
            // Keep at false as it can create issue when code relies on keys order
            'perfectionist/sort-maps': 'off',
            // Keep at false as cause it does not work with class properties
            'perfectionist/sort-classes': 'off',
            // Keep at false as it can create issue when code relies on keys order
            'perfectionist/sort-objects': 'off',
            // Keep at false as it can create issue when code relies on keys order
            'perfectionist/sort-union-types': 'off',
            // May introduce performance degradation
            'perfectionist/sort-array-includes': 'off',
            'perfectionist/sort-jsx-props': 'off',
          },
        },
      ],
    };

3.2.0

Minor Changes

3.1.0

Minor Changes

3.0.0

Major Changes

  • 2ad81c0 Thanks @belgattitude! - Drop support for prettier 2 (only prettier 3 is supported)

  • 2ad81c0 Thanks @belgattitude! - Drop support for typescript < 5.0.2

  • aff1796 Thanks @belgattitude! - Allow @tanstack/eslint-plugin-query dep to be "^4.36.1 || ^5.0.5". If you experience issue with your package manager (ie: yarn will automatically install the highest version rather than the stable one), you can always force the resolution:

    {
      "resolutions": {
        "eslint-plugin-react-hooks": "^4.36.1"
      }
    }

    This is a temporary solution to not have to declare the plugin as a peerDependency for now. (eslint flat config will help in the future)

  • 2ad81c0 Thanks @belgattitude! - Allow eslint-plugin-react-hooks dep to be "^4.6.0 || 5.0.0-canary-7118f5dd7-20230705". If you experience issue with your package manager (ie: yarn will automatically install the canary version rather than the stable one), you can always force the resolution:

    {
      "resolutions?": {
        "eslint-plugin-react-hooks": "https://github.com/vercel/next.js/issues/52365"
      },
      "resolutions": {
        "eslint-plugin-react-hooks": "^4.6.0"
      }
    }

    This change was made to accommodate usage with nextjs latest versions (based on react canaries)

    See also https://github.com/vercel/next.js/issues/52365

    This is a temporary solution to not have to declare the plugin as a peerDependency for now. (eslint flat config will help in the future)

Minor Changes

2.10.0

Minor Changes

2.9.0

Minor Changes

2.8.0

Minor Changes

2.7.0

Minor Changes

2.6.0

Minor Changes

2.5.0

Minor Changes

2.4.0

Minor Changes

2.3.0

Minor Changes

Patch Changes

2.2.0

Minor Changes

  • #317 7098b27 Thanks @belgattitude! - Relax restrict-template-expressions to allow number, boolean, any, never and nullish

2.1.1

Patch Changes

2.1.0

Minor Changes

Patch Changes

2.0.0

Major Changes

  • #310 bb2a81e Thanks @belgattitude! - Update to typescript eslint v6 strict

    Features

    See https://typescript-eslint.io/blog/announcing-typescript-eslint-v6/

    The latest version activates the following recommendations:

    • @typescript-eslint/recommended-type-checked
    • @typescript-eslint/stylistic-type-checked

    By default @typescript-eslint/consistent-type-definitions has been disabled. To activate add it to the rules:

    module.exports = {
      rules: {
        '@typescript-eslint/consistent-type-definitions': 'error',
      },
    };

    Upgrade

    • update your .eslintrc.cjs to explicitly set parser: '@typescript-eslint/parser'.
    • tsconfig.json: add .eslintrc.*sto your includes.
    • if eslint is configured with cache -> clear it
    • run yarn lint to list new errors.
    • run yarn lint --fix to attempt an autofix.

    Troubleshoot

    Parser error

    /<project>/.eslintrc.cjs
      0:0  error  Parsing error: ESLint was configured to run on `<tsconfigRootDir>/.eslintrc.cjs` using `parserOptions.project`: <tsconfigRootDir>/tsconfig.json
    However, that TSConfig does not include this file. Either:
    - Change ESLint's list of included files to not include this file
    - Change that TSConfig to include this file
    - Create a new TSConfig that includes this file and include it in your parserOptions.project

    Link: https://typescript-eslint.io/linting/troubleshooting/#i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file

    Add .eslintrc.*s to your tsconfig included files. For example:

    {
      exclude: ['**/node_modules', '.next', '**/.*/*'],
      include: [
        '.eslintrc.*s',
        // "next-env.d.ts",
        // "**/*.ts",
        // "**/*.tsx",
        // "**/*.js",
        // "**/*.jsx",
        // "**/*.cjs",
        // "**/*.mjs",
        // "**/*.json",
        // ".next/types/**/*.ts",
        // ".storybook/**/*.ts",
        // ".storybook/**/*.tsx"
      ],
    }

1.39.0

Minor Changes

1.38.0

Minor Changes

1.37.0

Minor Changes

  • #295 f5151de Thanks @belgattitude! - Make "eslint-plugin-tailwindcss" optional

    To enable

    yarn add --dev eslint-plugin-tailwindcss

    In eslint config,

    module.exports = {
      extends: [
        // ....
        '@belgattitude/eslint-config-bases/tailwind',
        // ....
      ],
    };
  • #293 1c1a931 Thanks @belgattitude! - Add example app to run lint test

  • #293 1c1a931 Thanks @belgattitude! - To latest eslint plugins

1.36.0

Minor Changes

1.35.1

Patch Changes

1.35.0

Minor Changes

1.34.0

Minor Changes

1.33.0

Minor Changes

1.32.0

Minor Changes

1.31.0

Minor Changes

1.30.0

Minor Changes

1.29.0

Minor Changes

1.28.0

Minor Changes

1.27.0

Minor Changes

1.26.0

Minor Changes

1.25.1

Patch Changes

1.25.0

Minor Changes

1.24.0

Minor Changes

  • #163 013fdf0 Thanks @belgattitude! - Make import/no-cycle opt-in through process.env.ESLINT_IMPORT_NO_CYCLE=true

    Due to performance considerations the import/no-cycle isn't enabled by default. This rule can prevent subtle and hard to debug bugs. Depending on the project you can enable it either by setting and env variable ESLINT_IMPORT_NO_CYCLE=true yarn lint (will default to import/no-cycle: 2) or by adding it to the extended rules.

  • #163 013fdf0 Thanks @belgattitude! - Latest versions of plugins

1.23.0

Minor Changes

1.22.0

Minor Changes

1.21.0

Minor Changes

1.20.2

Patch Changes

1.20.1

Patch Changes

1.20.0

Minor Changes

1.19.0

Minor Changes

1.18.0

Minor Changes

1.17.2

Patch Changes

1.17.1

Patch Changes

1.17.0

Minor Changes

1.16.0

Minor Changes

1.15.0

Minor Changes

1.14.0

Minor Changes

  • #91 93b431a Thanks @belgattitude! - Add support foo @tanstack/eslint-plugin-query

    module.exports = {
      extends: [
        // ALL enabled
        '@belgattitude/eslint-config-bases/react',
        // ...
        // Simply add
        '@belgattitude/eslint-config-bases/react-query',
      ],
      rules: {},
      overrides: [],
    };
  • #91 93b431a Thanks @belgattitude! - Make @graphql-eslint/eslint-plugin an optional peer-dep

    This is to keep the installation light when you don't have usage of graphql.

1.13.0

Minor Changes

1.12.0

Minor Changes

1.11.0

Minor Changes

1.10.0

Minor Changes

1.9.0

Minor Changes

1.8.0

Minor Changes

1.7.0

Minor Changes

Patch Changes

1.6.1

Patch Changes

1.6.0

Minor Changes

1.5.0

Minor Changes

1.4.0

Minor Changes

1.3.0

Minor Changes

1.2.0

Minor Changes

1.1.1

Patch Changes

1.1.0

Minor Changes