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

Package detail

@anolilab/eslint-config

anolilab2.4kMIT15.0.3TypeScript support: included

ESLint shareable config for the Anolilab JavaScript style guide.

anolilab, lint, styleguide, eslint, eslintconfig, eslint-config, config, javascript, es2015, es2016, es2017, es2018, es2020, globals, eslint-import-resolver-node, eslint-import-resolver-typescript, eslint-plugin-antfu, eslint-plugin-compat, eslint-plugin-es, eslint-plugin-eslint-comments, eslint-plugin-html, eslint-plugin-i, eslint-plugin-jsonc, eslint-plugin-markdown, eslint-plugin-mdx, eslint-plugin-no-loops, eslint-plugin-no-secrets, eslint-plugin-no-use-extend-native, eslint-plugin-promise, eslint-plugin-regexp, eslint-plugin-simple-import-sort, eslint-plugin-sonarjs, eslint-plugin-toml, eslint-plugin-unicorn, eslint-plugin-yml, eslint-plugin-array-func, eslint-plugin-ava, eslint-plugin-babel, eslint-plugin-cypress, eslint-plugin-jest, eslint-plugin-jest-async, eslint-plugin-jest-dom, eslint-plugin-jest-formatting, eslint-plugin-playwright, eslint-plugin-jsdoc, eslint-plugin-jsx-a11y, eslint-plugin-n, eslint-plugin-no-unsanitized, eslint-plugin-prefer-object-spread, eslint-plugin-react, eslint-plugin-react-hooks, eslint-plugin-react-redux, eslint-plugin-storybook, eslint-plugin-tailwindcss, eslint-plugin-testing-library, eslint-plugin-tsdoc, eslint-plugin-etc, eslint-plugin-you-dont-need-lodash-underscore, eslint-plugin-you-dont-need-momentjs

readme

Shareable ESLint config

typescript-image npm-image license-image


Daniel Bannert's open source work is supported by the community on GitHub Sponsors


Purpose

Our package serves as a valuable resource for JavaScript/Typescript-based projects, offering composable ESLint configurations. It encompasses a range of features, including performance optimization and the flexibility to extend pre-defined base configurations.

  • Tailored Configuration for Workspaces: With this package, each workspace within your monorepo gains the ability to have its own customized ESLint configuration. This ensures that individual projects can maintain their specific requirements while still adhering to the overall guidelines.

  • Configurability at Your Fingertips: Crafting your workspace's ESLint configuration is a breeze, thanks to the seamless composition of pre-defined base configurations. This empowers you to tailor the settings to suit your project's unique needs, without starting from scratch.

  • Streamlined Convenience: Say goodbye to the hassle of installing plugins for each workspace. Our package integrates @rushstack/eslint-patch, eliminating the need for repetitive plugin installations. Enjoy peace of mind as you focus on your work, knowing that the necessary plugins are automatically included.

  • Enhanced Efficiency: We've optimized the package's performance by intelligently enabling plugins based on file naming conventions. This streamlined approach ensures that your ESLint checks run efficiently, targeting the relevant files and maximizing productivity.

In summary, our package provides comprehensive and adaptable ESLint configurations for JavaScript and Typescript projects. It empowers you to achieve code quality while minimizing overhead and maximizing productivity throughout your workspaces.

Highlights

  • Zero-config, but configurable when needed.
  • Enforces readable code, because you read more code than you write.
  • No need to specify file paths to lint as it lints all JS/TS files except for commonly ignored paths.
  • Config overrides per files/globs.
  • TypeScript supported by default, if typescript was installed.
  • Includes many useful ESLint plugins, like unicorn, import and more.
  • Automatically enables rules based on the engines field in your package.json.
  • Specify indent and semicolon preferences easily without messing with the rule config.
  • Disables rules that conflict with Prettier.
  • Typesafe, because it's written in TypeScript and uses eslint-define-config to define the config.

Install

To install this config, run the following command.

Note: eslint-plugin-import@npm:eslint-plugin-i is needed to use the correct package.

npm install --save-dev eslint @anolilab/eslint-config eslint-plugin-import@npm:eslint-plugin-i@latest @babel/core @eslint-types/import @eslint-types/deprecation @eslint-types/jsdoc @eslint-types/typescript-eslint @eslint-types/unicorn
pnpm add -D eslint @anolilab/eslint-config eslint-plugin-import@npm:eslint-plugin-i@latest @babel/core @eslint-types/import @eslint-types/deprecation @eslint-types/jsdoc @eslint-types/typescript-eslint @eslint-types/unicorn
yarn add -D eslint @anolilab/eslint-config eslint-plugin-import@npm:eslint-plugin-i@latest @babel/core @eslint-types/import @eslint-types/deprecation @eslint-types/jsdoc @eslint-types/typescript-eslint @eslint-types/unicorn

Usage

If you don’t have a .eslintrc.js, we will create the file for you after installing @anolilab/eslint-config.

If you already have a .eslintrc.js, then you can extend the .eslintrc.js, with @anolilab/eslint-config.

Note: If the script detects an existing .eslintrc.js file, it will not overwrite it.

Note: It can happen that the postinstall script don't run, then you have to add the .eslintrc.js manually, or you will use bin command ./node_modules/bin/anolilab-eslint-config to generate it.

Note: Our default export contains all of our ESLint rules, including ECMAScript 6+. @anolilab/eslint-config use the ecmaVersion:2021 as default.

To change this configuration, change env: { es2021: false, then active you needed env } same for, parserOptions: { "ecmaVersion": 2021 change the version }

/** @ts-check */
const { defineConfig } = require('@anolilab/eslint-config/define-config');

/// <reference types="@eslint-types/unicorn" />
/// <reference types="@eslint-types/typescript-eslint" />
/// <reference types="@eslint-types/jsdoc" />
/// <reference types="@eslint-types/import" />
/// <reference types="@eslint-types/deprecation" />

module.exports = defineConfig({
    env: {
        // Your environments (which contains several predefined global variables)
        //
        // browser: true,
        // node: true,
        // mocha: true,
        // jest: true,
        // jquery: true
    },
    extends: ["@anolilab/eslint-config"],
    globals: {
        // Your global variables (setting to false means it's not allowed to be reassigned)
        //
        // myGlobal: false
    },
    root: true,
    rules: {
        // Customize your rules
    },
});

For more advanced use cases see the example configurations for Node, TypeScript, React or Prettier.

Note: @anolilab/eslint-config will handle the configuration for almost all eslint-plugins / eslint-configs automatically. With this you only need to install the needed plugins/configs for TypeScript or React and you done.

TypeScript

npm install --save-dev typescript

Please extend the .eslintrc.js file with the correct tsconfig.js path if you have a custom path.

module.exports = {
    parserOptions: {
        project: "./tsconfig.eslint.json",
    },
};

For projects that use TypeScript and want additional rules that require type information (rules using type information take longer to run).

Extend the .eslintrc.js file:

/** @ts-check */
const { defineConfig } = require('@anolilab/eslint-config/define-config');

/// <reference types="@eslint-types/unicorn" />
/// <reference types="@eslint-types/typescript-eslint" />
/// <reference types="@eslint-types/jsdoc" />
/// <reference types="@eslint-types/import" />
/// <reference types="@eslint-types/deprecation" />

module.exports = defineConfig({
    env: {
        // Your environments (which contains several predefined global variables)
        //
        // browser: true,
        // node: true,
        // mocha: true,
        // jest: true,
        // jquery: true
    },
    extends: ["@anolilab/eslint-config", "@anolilab/eslint-config/typescript-type-checking"],
    globals: {
        // Your global variables (setting to false means it's not allowed to be reassigned)
        //
        // myGlobal: false
    },
    root: true,
    rules: {
        // Customize your rules
    },
});

Tip: Run eslint with the TIMING=1 to identify slow rules.

TIMING=1 eslint . --ext .ts,.tsx

This is useful to identify rules that are slow because they require type information.

React

You need to have "react" and "react-dom" installed.

npm install --save-dev eslint-plugin-react eslint-plugin-react-hooks

yarn add -D eslint-plugin-react eslint-plugin-react-hooks

pnpm add -D eslint-plugin-react eslint-plugin-react-hooks

Or for the use of TypeScript in react install "typescript" as a dev dependency.

Please extend the .eslintrc.js file with the correct tsconfig.js path if you have a custom path.

module.exports = {
    parserOptions: {
        project: "./tsconfig.eslint.json",
    },
};

Or for the use of .jsx files install "@babel/plugin-syntax-jsx" as a dev dependency.

npm install --save-dev babel @babel/plugin-syntax-jsx

yarn add -D babel @babel/plugin-syntax-jsx

pnpm add -D babel @babel/plugin-syntax-jsx

In your babel.config.js file add the plugin.

const babelPluginSyntaxJSX = require("@babel/plugin-syntax-jsx");

module.exports = {
  plugins: [
    [
      babelPluginSyntaxJSX,
      {
        pragma: "React.createElement",
        pragmaFrag: "React.Fragment",
      },
    ],
  ],
};

MDX

npm install --save-dev eslint eslint-plugin-mdx

For more information about missing or optional to install rules see the eslint console output.

Config

You can configure @anolilab/eslint-config options with your package.json file.

Add this property to your package.json:

{
    anolilab: {
        "eslint-config": {
            // options
        },
    },
}

indent

Type: number

Default: 4

It will throw an error if the value is not numeric.

plugin

Type: object -> key: string value: boolean

Disable a plugin in your package.json config to turn it off globally in your project.

Example using package.json:

{
    "anolilab": {
        "eslint-config": {
            "plugin": {
                "unicorn": false
            }
        }
    }
}

warn_on_unsupported_typescript_version

Type: boolean

Default: undefined

To disable the warning, set the value to false.

{
    "anolilab": {
        "eslint-config": {
            "warn_on_unsupported_typescript_version": false
        }
    }
}

info_on_disabling_jsx_react_rule

Type: boolean

Default: undefined

To disable the info, set the value to false.

{
    "anolilab": {
        "eslint-config": {
            "info_on_disabling_jsx_react_rule": false
        }
    }
}

info_on_disabling_prettier_conflict_rule

Type: boolean

Default: undefined

To disable the info, set the value to false.

{
    "anolilab": {
        "eslint-config": {
            "info_on_disabling_prettier_conflict_rule": false
        }
    }
}

info_on_disabling_jsonc_sort_keys_rule

Type: boolean

Default: undefined

To disable the info, set the value to false.

{
    "anolilab": {
        "eslint-config": {
            "info_on_disabling_jsonc_sort_keys_rule": false
        }
    }
}

info_on_disabling_etc_no_deprecated

Type: boolean

Default: undefined

To disable the info, set the value to false.

{
    "anolilab": {
        "eslint-config": {
            "info_on_disabling_etc_no_deprecated": false
        }
    }
}

info_on_testing_library_framework

Type: boolean

Default: undefined

To disable the info, set the value to false.

{
    "anolilab": {
        "eslint-config": {
            "info_on_testing_library_framework": false
        }
    }
}

info_on_found_react_version

Type: boolean

Default: undefined

To disable the info, set the value to false.

{
    "anolilab": {
        "eslint-config": {
            "info_on_found_react_version": false
        }
    }
}

import_ignore_exports

Type: string[]

Default: []

An array with files/paths for which unused exports will not be reported (e.g module entry points in a published package).

{
    "anolilab": {
        "eslint-config": {
            "import_ignore_exports": []
        }
    }
}

Prettier is a code formatting tool that offers fewer options but is more professional than the style-related rules in ESLint.

Now that Prettier has become a necessary tool in front end projects, @anolilab/eslint-config does not need to maintain the style-related rules in ESLint anymore, so we completely removed all Prettier related rules, if prettier is found in your package.json and use ESLint to check logical errors which it’s good at.

As for whether two spaces or four spaces are used for indentation and whether there is a semicolon at the end, you can configure it in the project’s .prettierrc.js. Of course, we also provide a recommended Prettier configuration for your reference.

@anolilab/eslint-config does disable all included style-related rules, so there is no need to install eslint-config-prettier.

Using experimental features with JavaScript

If you are using experimental features such as class fields with JavaScript files you should install @babel/eslint-parser.

npm install --save-dev @babel/core

Plugins

Code Quality

This plugin provide a range of code quality rules:

Languages

The following plugins expand esLint to work with json files, and lint JavaScript contained in HTML, and MarkDown:

When linting code snippets in Markdown files, a few rules relating to globals and unused vars are disabled.

Library Plugins

If a supported library is part of your project then it’s related esLint plugins will be loaded. The following plugins are supported:

Practices

The following esLint plugins enforce good coding practices:

Security

These plugins add code security rules to esLint:

Test Libraries

The following test plugins are supported:

List of used plugins

  • eslint-plugin-security
  • @rushstack/eslint-plugin-security
  • @typescript-eslint/eslint-plugin
  • eslint-plugin-antfu
  • eslint-plugin-compat
  • eslint-plugin-es-x
  • eslint-plugin-eslint-comments
  • eslint-plugin-html
  • eslint-plugin-i
  • eslint-plugin-jsonc
  • eslint-plugin-markdown
  • eslint-plugin-mdx
  • eslint-plugin-no-loops
  • eslint-plugin-no-only-tests
  • eslint-plugin-no-secrets
  • eslint-plugin-no-use-extend-native
  • eslint-plugin-promise
  • eslint-plugin-regexp
  • eslint-plugin-simple-import-sort
  • eslint-plugin-sonarjs
  • eslint-plugin-toml
  • eslint-plugin-typescript-sort-keys
  • eslint-plugin-unicorn
  • eslint-plugin-yml

Troubleshooting

With VSCode

ESLint will not lint .vue, .ts or .tsx files in VSCode by default, you need to set your .vscode/settings.json like this:

{
    "eslint.validate": ["css", "html", "javascript", "javascriptreact", "json", "markdown", "typescript", "typescriptreact", "yaml"]
}

Autofix ESLint errors on save

If you want to enable auto-fix-on-save, you need to set your .vscode/settings.json like this:

{
    "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true
    },
    "editor.defaultFormatter": "dbaeumer.vscode-eslint",
    "editor.formatOnSave": true
}

Additionally, we found it that being explicit about which formatter you are using for each file improves DX:

{
    "[css]": {
        "editor.defaultFormatter": "dbaeumer.vscode-eslint"
    },
    "[html]": {
        "editor.defaultFormatter": "dbaeumer.vscode-eslint"
    },
    "[javascript]": {
        "editor.defaultFormatter": "dbaeumer.vscode-eslint"
    },
    "[javascriptreact]": {
        "editor.defaultFormatter": "dbaeumer.vscode-eslint"
    },
    "[json]": {
        "editor.defaultFormatter": "dbaeumer.vscode-eslint"
    },
    "[markdown]": {
        "editor.defaultFormatter": "dbaeumer.vscode-eslint"
    },
    "[typescript]": {
        "editor.defaultFormatter": "dbaeumer.vscode-eslint"
    },
    "[typescriptreact]": {
        "editor.defaultFormatter": "dbaeumer.vscode-eslint"
    },
    "[yaml]": {
        "editor.defaultFormatter": "dbaeumer.vscode-eslint"
    }
}

While not required if you've configured explicit formatter for each file type, I advise that you explicitly disable prettier extension in your project:

{
    "prettier.enable": false
}

Sharing these settings in your project should be sufficient to prevent local settings accidentally overriding the desired formatter behavior.

Q & A

Why not standard

The standard specification believes that everyone should not waste time in personalized specifications, but the entire community should unify a specification. This statement makes sense, but it runs against the ESLint’s design philosophy. Don’t you remember how ESLint defeated JSHint and became the most popular JS code inspection tool? It’s because of the plugin and configuration that ESLint advocates, which meets the individual needs of different technology stacks of different teams.

Therefore, @anolilab/eslint-config also inherits the philosophy of ESLint. It will not force you to use our config.

Supported Node.js Versions

Libraries in this ecosystem make the best effort to track Node.js’ release schedule. Here’s a post on why we think this is important.

Contributing

If you would like to help take a look at the list of issues and check our Contributing guild.

Note: please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Credits

License

The anolilab javascript-style-guide is open-sourced software licensed under the MIT license

changelog

@anolilab/eslint-config 15.0.3 (2023-12-22)

Miscellaneous Chores

Dependencies

  • @anolilab/semantic-release-preset: upgraded to 8.0.3

@anolilab/eslint-config 15.0.2 (2023-11-02)

Bug Fixes

Dependencies

  • @anolilab/package-json-utils: upgraded to 3.0.9
  • @anolilab/semantic-release-preset: upgraded to 8.0.2

@anolilab/eslint-config 15.0.1 (2023-11-02)

Bug Fixes

@anolilab/eslint-config 15.0.0 (2023-10-31)

⚠ BREAKING CHANGES

  • Disabled core and unicorn regex rules, in favor of regexp plugin Signed-off-by: prisis d.bannert@anolilab.de

Features

  • change core and unicorn regex rules to regexp plugin, updated deps, added better type support (53d55c4)

Miscellaneous Chores

  • deps: update dependency eslint-plugin-testing-library to ^6.1.0 (#778) (7494185)
  • deps: update devdependencies (#777) (ad38256)
  • deps: update peerdependencies (major) (#788) (127dbb3)

Dependencies

  • @anolilab/package-json-utils: upgraded to 3.0.8
  • @anolilab/semantic-release-preset: upgraded to 8.0.1

@anolilab/eslint-config 14.0.24 (2023-10-10)

Bug Fixes

  • update readme with new settings (0e9fdff)

@anolilab/eslint-config 14.0.23 (2023-10-10)

Bug Fixes

  • moved etc/no-deprecated into the etc config and extend the log messages (4229224)

@anolilab/eslint-config 14.0.22 (2023-10-10)

Bug Fixes

  • disabled etc/no-deprecated if deprecation is used (65276fa)

@anolilab/eslint-config 14.0.21 (2023-10-10)

Bug Fixes

  • disabled perfectionist/sort-classes on ts files (0103983)

@anolilab/eslint-config 14.0.20 (2023-10-09)

Bug Fixes

  • disabled perfectionist/sort-named-exports because of simple-import-sort/exports (3baac79)

Miscellaneous Chores

@anolilab/eslint-config 14.0.19 (2023-10-05)

Bug Fixes

@anolilab/eslint-config 14.0.18 (2023-10-04)

Bug Fixes

  • update core dependencies (45e2304)

Miscellaneous Chores

  • deps: update dependency eslint-plugin-jest to ^27.4.2 (#764) (d68604f)

@anolilab/eslint-config 14.0.17 (2023-09-29)

Bug Fixes

  • fixed wrong version for eslint-plugin-validate-jsx-nesting (c0de235)

@anolilab/eslint-config 14.0.16 (2023-09-29)

Bug Fixes

  • disabled perfectionist/sort-named-imports because of simple-import-sort/imports (be32888)

@anolilab/eslint-config 14.0.15 (2023-09-29)

Bug Fixes

  • added missing eslint-plugin-deprecation to the config list (41fe9c5)

@anolilab/eslint-config 14.0.14 (2023-09-29)

Bug Fixes

  • added missing eslint-plugin-n to the deps (0f1e67f)

@anolilab/eslint-config 14.0.13 (2023-09-29)

Miscellaneous Chores

Dependencies

  • @anolilab/semantic-release-preset: upgraded to 8.0.0

@anolilab/eslint-config 14.0.12 (2023-09-29)

Bug Fixes

  • Update dependencies to latest versions (6cdc09b)

Dependencies

  • @anolilab/package-json-utils: upgraded to 3.0.7
  • @anolilab/semantic-release-preset: upgraded to 7.0.5

@anolilab/eslint-config 14.0.11 (2023-09-27)

Bug Fixes

  • Update import/no-useless-path-segments rule and eslint dependency versions (e265315)

Miscellaneous Chores

Dependencies

  • @anolilab/semantic-release-preset: upgraded to 7.0.4

@anolilab/eslint-config 14.0.10 (2023-09-26)

Bug Fixes

  • moved @jsenv/eslint-import-resolver from dev to require dependency (981eb4d)
  • Updated file patterns in eslint configs to apply to subdirectories (13ec6fb)

@anolilab/eslint-config 14.0.9 (2023-09-26)

Bug Fixes

  • A new dependency "@jsenv/eslint-import-resolver" was added to tackle the issue of "import/no-useless-path-segments", "import/no-unused-modules" and some other import rules not working correctly. (8b9b033)

@anolilab/eslint-config 14.0.8 (2023-09-26)

Bug Fixes

  • dont use a default value for anolilabEslintImportNoUnusedModulesConfig (ab8a8a2)

@anolilab/eslint-config 14.0.7 (2023-09-26)

Bug Fixes

  • anolilabEslintConfig object, the configuration for "import_ignore_exports" is introduced (65985e0)

@anolilab/eslint-config 14.0.6 (2023-09-26)

Bug Fixes

  • Refine eslint import plugin rules to accommodate .jsx and .cjs (2a6f441)

@anolilab/eslint-config 14.0.5 (2023-09-26)

Bug Fixes

  • Update package dependencies and remove redundant config files (24a5dfd)

@anolilab/eslint-config 14.0.4 (2023-09-26)

Bug Fixes

  • added missing define-config back (f78fa05)
  • Update eslint-config including tests (97e624d)

Dependencies

  • @anolilab/package-json-utils: upgraded to 3.0.6
  • @anolilab/semantic-release-preset: upgraded to 7.0.3

@anolilab/eslint-config 14.0.3 (2023-09-25)

Bug Fixes

  • Refactor ESLint configurations for improved readability and consistency (85f6f1e)

@anolilab/eslint-config 14.0.2 (2023-09-24)

Bug Fixes

  • removed tsup from the deps (f8249f4)

@anolilab/eslint-config 14.0.1 (2023-09-22)

Bug Fixes

  • Update eslint rule severity and modify todo comments (5f9d6fe)
  • Updated eslint configurations and upgraded module dependencies (763d446)

@anolilab/eslint-config 14.0.0 (2023-09-22)

⚠ BREAKING CHANGES

  • Added new rules for "no-loops", "validate-jsx-nesting", "ssr-friendly", "deprecation", and "no-only-tests" Signed-off-by: prisis d.bannert@anolilab.de

Features

  • Update eslint config and dependencies, added new rules for "no-loops", "validate-jsx-nesting", "ssr-friendly", "deprecation", and "no-only-tests" (883af9b)

Bug Fixes

  • changed optionalDependencies to peerDependencies with peerDependenciesMeta (2a21b86)

Miscellaneous Chores

  • updated lock and sorted package.json (7f7ed5a)

Dependencies

  • @anolilab/semantic-release-preset: upgraded to 7.0.2

@anolilab/eslint-config 13.0.2 (2023-09-21)

Bug Fixes

  • update package dependencies and adjust eslint config rules, no-use-before-define is off in ts files (52ebed8)

Miscellaneous Chores

  • update package versions and Node.js versions in actions (ba1bd5f)

Continuous Integration

  • downgrade semantic-release to v21 and conventional-changelog-conventionalcommits to v6.1 (30d8cd7)

Dependencies

  • @anolilab/semantic-release-preset: upgraded to 7.0.0

@anolilab/eslint-config 13.0.1 (2023-09-15)

Bug Fixes

  • deps: update dependency @rushstack/eslint-plugin-security to ^0.7.0 (#758) (5fe11f1)

Miscellaneous Chores

  • deps: update dependency eslint-plugin-jsdoc to ^46.8.0 (#757) (a9ab7c6)

@anolilab/eslint-config 13.0.0 (2023-09-14)

⚠ BREAKING CHANGES

Features

  • enabled simple-import-sort and update dependencies (9a2a9e0)

Styles

  • cs fixes based on new rules (b99c020)

Miscellaneous Chores

Dependencies

  • @anolilab/semantic-release-preset: upgraded to 6.0.6

@anolilab/eslint-config 12.0.0 (2023-09-08)

⚠ BREAKING CHANGES

Features

  • removed support for lodash and lodash-fp (3b6eb4b)

Miscellaneous Chores

  • deps: update dependency eslint-plugin-vitest to v0.3.1 (#752) (94043ae)

@anolilab/eslint-config 11.3.5 (2023-08-30)

Bug Fixes

  • updated dependencies to latest versions (509bb76)
  • updated URLs for ESLint rules (e6edc33)
  • updated URLs for ESLint rules and removed storybook jsx rules (f8fbd16)

Miscellaneous Chores

  • deps: update dependency typescript to v5.2.2 (#745) (90c1703)
  • deps: update dependency vitest to ^0.34.3 (#739) (67dd404)
  • deps: update devdependencies (#744) (782b4fb)

Dependencies

  • @anolilab/package-json-utils: upgraded to 3.0.5
  • @anolilab/semantic-release-preset: upgraded to 6.0.5

@anolilab/eslint-config 11.3.4 (2023-08-29)

Bug Fixes

  • modifying markdown plugin to disable the 'no-cond-assign' (8f2750f)

Miscellaneous Chores

@anolilab/eslint-config 11.3.3 (2023-08-25)

Bug Fixes

Miscellaneous Chores

  • deps: update dependency semantic-release to ^21.1.1 (#738) (ee6e926)
  • deps: update devdependencies (#740) (8fdacef)

@anolilab/eslint-config 11.3.2 (2023-08-14)

Bug Fixes

  • Add second "vitest" configuration in eslint-config with eslint-plugin-vitest-globals check (78105cf)

Miscellaneous Chores

  • deps: update dependency eslint-plugin-testing-library to v6 (#731) (5643435)

@anolilab/eslint-config 11.3.1 (2023-08-14)

Bug Fixes

  • update usage of createConfig utility in jsx-a11y config (9f14734)

Miscellaneous Chores

  • deps: update dependency eslint to ^8.47.0 (#730) (afa200d)

@anolilab/eslint-config 11.3.0 (2023-08-10)

Features

  • updated eslint-config to include eslint-plugin-vitest-globals (5752b1f)

@anolilab/eslint-config 11.2.3 (2023-08-10)

Bug Fixes

  • upgrade project dependencies to latest versions (340ff87)

Miscellaneous Chores

  • deps: update dependency eslint-plugin-cypress to ^2.14.0 (#727) (75296ea)

Dependencies

  • @anolilab/package-json-utils: upgraded to 3.0.4
  • @anolilab/semantic-release-preset: upgraded to 6.0.4

@anolilab/eslint-config 11.2.2 (2023-08-08)

Bug Fixes

  • update dependencies and improve installation instructions (b4830c0)

@anolilab/eslint-config 11.2.1 (2023-08-04)

Bug Fixes

  • Update package dependencies (a8786f2)

Dependencies

  • @anolilab/package-json-utils: upgraded to 3.0.3
  • @anolilab/semantic-release-preset: upgraded to 6.0.3

@anolilab/eslint-config 11.2.0 (2023-08-03)

Features

  • Add eslint-define-config and bin command for auto-generation of config (f9c84ab)

Styles

@anolilab/eslint-config 11.1.0 (2023-08-02)

Features

  • add eslint-plugin-editorconfig to enforce code style consistency (7503e7b)

Miscellaneous Chores

@anolilab/eslint-config 11.0.3 (2023-08-01)

Bug Fixes

Miscellaneous Chores

@anolilab/eslint-config 11.0.2 (2023-07-28)

Bug Fixes

  • Remove 'n/file-extension-in-import' rule from overrides (3541b6d)

@anolilab/eslint-config 11.0.1 (2023-07-27)

Bug Fixes

  • Change ESLint errors config type to "all" (3411686)

@anolilab/eslint-config 11.0.0 (2023-07-27)

⚠ BREAKING CHANGES

  • Updated the rule 'react/require-default-props' in react.ts to enforce a 'defaultProps' definition for every property that is not marked as required. This change aims to use types from typescript. Signed-off-by: prisis d.bannert@anolilab.de

Features

  • Enforce defaultProp definitions for js and defaultArguments for ts files on non-required props (c1fa64d)

@anolilab/eslint-config 10.0.6 (2023-07-26)

Bug Fixes

  • Update postcss config file extensions (1c2bb1d)

@anolilab/eslint-config 10.0.5 (2023-07-26)

Bug Fixes

  • Add support for PostCSS in ESLint config (c67d0f9)

@anolilab/eslint-config 10.0.4 (2023-07-26)

Bug Fixes

  • included 'skip.js' in package.json for several packages (1c84b33)

Miscellaneous Chores

  • deps: update dependency @types/eslint to ^8.44.1 (5899a67)

Dependencies

  • @anolilab/package-json-utils: upgraded to 3.0.2
  • @anolilab/semantic-release-preset: upgraded to 6.0.2

@anolilab/eslint-config 10.0.3 (2023-07-25)

Bug Fixes

  • Split 'testing-library' into 'testing-library-dom' and 'testing-library-react' (e4bfa5e)

@anolilab/eslint-config 10.0.2 (2023-07-25)

Bug Fixes

  • Update eslint configuration and plugin versions (721e059)

@anolilab/eslint-config 10.0.1 (2023-07-19)

Bug Fixes

  • Add json to eslint-config and update vitest rules (4c55941)

@anolilab/eslint-config 10.0.0 (2023-07-18)

⚠ BREAKING CHANGES

  • fixing broken releases that semantic-release did create Signed-off-by: prisis d.bannert@anolilab.de
  • Updated TypeScript rules in typescript-type-checking.ts by enabling some previously commented out rules. This was done as the previous todo comment noted that these should be enabled once typescript-eslint 6.0.0 is released. Following this, multiple dependencies across several files were updated to newer versions. This is part of regular maintenance to keep the dependencies up-to-date and secure. Some minor code changes and refactoring was also included where necessary. Signed-off-by: prisis d.bannert@anolilab.de

Features

  • Update TypeScript rules and bump dependencies (b0a8c46)

Bug Fixes

Dependencies

  • @anolilab/package-json-utils: upgraded to 3.0.1
  • @anolilab/semantic-release-preset: upgraded to 6.0.1

@anolilab/eslint-config 9.0.4 (2023-07-08)

Bug Fixes

  • Disable 'member-ordering' and simplify 'simple-import-sort' (1d9b551)

@anolilab/eslint-config 9.0.3 (2023-07-06)

Bug Fixes

  • Updated eslint configuration (29ce642)

@anolilab/eslint-config 9.0.2 (2023-07-05)

Bug Fixes

  • Split react-redux config for eslint-plugin (6601721)

@anolilab/eslint-config 9.0.1 (2023-07-05)

Bug Fixes

  • Improve clarity of code and fix potential null exceptions (8c468f4)

Dependencies

  • @anolilab/package-json-utils: upgraded to 2.0.1
  • @anolilab/semantic-release-preset: upgraded to 5.0.1

@anolilab/eslint-config 9.0.0 (2023-07-04)

⚠ BREAKING CHANGES

  • Remove 'sort-keys-fix' and 'typescript-sort-keys' plugins, add 'perfectionist' plugin and update dependencies Signed-off-by: prisis d.bannert@anolilab.de

Features

  • Add support for MDX files in ESLint configs (cd2f551)
  • Remove 'sort-keys-fix' and 'typescript-sort-keys' plugins, add 'perfectionist' plugin and update dependencies, added new globals export with es2015-2021 (ee27ee4)

@anolilab/eslint-config 8.0.0 (2023-07-03)

⚠ BREAKING CHANGES

  • Because of broken release version this needs a version bump Signed-off-by: prisis d.bannert@anolilab.de

Features

  • Add eslint-plugin-security rules and enhance ESLint configuration, fixed bug with prettier overwrite rules (f26cc20)
  • Bumping the version up, because of a broken release with semantic-releases (a646624)
  • Update dependencies version in pnpm-lock.yaml (1f75f7b)

Miscellaneous Chores

Dependencies

  • @anolilab/package-json-utils: upgraded to 2.0.0
  • @anolilab/semantic-release-preset: upgraded to 5.0.0

@anolilab/eslint-config 7.4.0 (2023-07-03)

Features

  • Add eslint-plugin-security rules and enhance ESLint configuration, fixed bug with prettier overwrite rules (f26cc20)

Miscellaneous Chores

  • removed "semantic-release-npm-deprecate" not working like expected (a988c89)

Dependencies

  • @anolilab/package-json-utils: upgraded to 1.6.0
  • @anolilab/semantic-release-preset: upgraded to 4.1.0

@anolilab/eslint-config 7.3.2 (2023-06-29)

Bug Fixes

  • remove mjs support from eslint-config, because it breaks the package.json type module with eslint (7171565)

@anolilab/eslint-config 7.3.1 (2023-06-29)

Bug Fixes

  • Add eslint-plugin-etc as dependency in config.ts (10538cc)

@anolilab/eslint-config 7.3.0 (2023-06-29)

Features

  • add new deprecated package rules to eslint config (19564d0)

@anolilab/eslint-config 7.2.7 (2023-06-29)

Bug Fixes

  • optimized regex (e5cd913)
  • remove overrides for unicorn/filename-case to use the ignore option of the rule (68e791c)

Miscellaneous Chores

@anolilab/eslint-config 7.2.6 (2023-06-28)

Dependencies

  • @anolilab/semantic-release-preset: upgraded to 4.0.3

@anolilab/eslint-config 7.2.5 (2023-06-28)

Bug Fixes

  • Update package dependencies versions (7aec41d)

Dependencies

  • @anolilab/package-json-utils: upgraded to 1.5.1
  • @anolilab/semantic-release-preset: upgraded to 4.0.2

@anolilab/eslint-config 7.2.4 (2023-06-28)

Bug Fixes

  • Update eslint dependencies and rules (4d3c015)

@anolilab/eslint-config 7.2.3 (2023-06-27)

Bug Fixes

  • added mjs to the postinstall script (cc098ed)

Miscellaneous Chores

@anolilab/eslint-config 7.2.2 (2023-06-25)

Bug Fixes

  • extended postinstall script file checking (5f867d7)

@anolilab/eslint-config 7.2.1 (2023-06-25)

Bug Fixes

  • changed eslint-plugin-es to eslint-plugin-es-x (168c42e)

@anolilab/eslint-config 7.2.0 (2023-06-25)

Features

  • added support for etc and @tanstack/eslint-plugin-query (0b686cc)

Miscellaneous Chores

  • optimized seo of packages (7331a1d)

@anolilab/eslint-config 7.1.0 (2023-06-24)

Features

  • added rules for playwright and storybook (810f9d9)

Bug Fixes

  • added missing files to compiler list (97ac625)

@anolilab/eslint-config 7.0.1 (2023-06-23)

Dependencies

  • @anolilab/semantic-release-preset: upgraded to 4.0.1

@anolilab/eslint-config 7.0.0 (2023-06-23)

⚠ BREAKING CHANGES

  • removed commitlint from semantic-releases and added all rules to the new commitlint-config package

Signed-off-by: prisis d.bannert@anolilab.de

Features

  • added regexp, optimized linting with added files regex to some rules, fixed the testing-library rules, to work correct (485ae0c)
  • removed commitlint from semantic-releases (ee2cda1)
  • removed eslint-plugin-optimize-regex, using the unicorn rule for it (3fea9de)

Dependencies

  • @anolilab/package-json-utils: upgraded to 1.5.0
  • @anolilab/semantic-release-preset: upgraded to 4.0.0

@anolilab/eslint-config 6.1.8 (2023-06-22)

Bug Fixes

  • fixed wrong import, added better plugin login for testing-library (857d734)

@anolilab/eslint-config 6.1.7 (2023-06-22)

Bug Fixes

  • added better log message to the testing-library (fbcca4d)

@anolilab/eslint-config 6.1.6 (2023-06-22)

Bug Fixes

  • fixed react version finding, added 2 new logger settings (175c64b)

Dependencies

  • @anolilab/package-json-utils: upgraded to 1.4.1
  • @anolilab/semantic-release-preset: upgraded to 3.1.3

@anolilab/eslint-config 6.1.5 (2023-06-22)

Dependencies

  • @anolilab/package-json-utils: upgraded to 1.4.0
  • @anolilab/semantic-release-preset: upgraded to 3.1.2

@anolilab/eslint-config 6.1.4 (2023-06-22)

Bug Fixes

  • fixed loading of you-dont-need-momentjs, split the check to check for moment and moment-timezone separately (05ebbb7)

@anolilab/eslint-config 6.1.3 (2023-06-22)

Bug Fixes

  • removed extra "}" from react version, fixed plugin loading check, now the dev-dep and dep checking is correct (3c5daa0)

@anolilab/eslint-config 6.1.2 (2023-06-21)

Bug Fixes

  • added info_on_disabling_prettier_conflict_rule to disable the info about found prettier (88f3748)
  • fixed logging of "to disable this message..." (7b6a225)

@anolilab/eslint-config 6.1.1 (2023-06-21)

Bug Fixes

  • added option to disable the found react jsx-runtime info (a398383)

@anolilab/eslint-config 6.1.0 (2023-06-18)

Features

  • eslint-config: added @html-eslint/eslint-plugin to the html plugin, improved the prettier console log output (836ab76)

@anolilab/eslint-config 6.0.3 (2023-06-18)

Bug Fixes

  • eslint-config: disabling all rules that are crashing with the prettier config, updated the readme with the info (ab2a954)

@anolilab/eslint-config 6.0.2 (2023-06-16)

Bug Fixes

  • eslint-config: changed func-names to ["error", "as-needed"] to work better with "func-style": ["error", "expression"] (1d0f5b5)
  • eslint-config: fixed the behavior of warn_on_unsupported_typescript_version (635ebec)

@anolilab/eslint-config 6.0.1 (2023-06-16)

Bug Fixes

  • added missing eslint-import-resolver-typescript (0dc836b)
  • esling-config: fixed rules for vitest (34536ed)

@anolilab/eslint-config 6.0.0 (2023-06-16)

⚠ BREAKING CHANGES

  • Changed package to support cjs and mjs, updated depracated and disabled rules

Signed-off-by: prisis d.bannert@anolilab.de

  • Performance Improvements
  • changed eslint-config to a comprehensive eslint code style
  • added new rules for ava, antfu ,zod, vitest
  • updated depracated and disabled rules
  • Added a better readme and adjusted logger output to container more infos
  • Added engine rules, rules will be added based on the engine version or tscofnig target
  • Moved eslint typescript linting to a new file typescript-type-checking to improve eslint speed
  • Updated postinstall script to be more adaptive to the environment
  • Added @rushstack/eslint-patch

@anolilab/eslint-config 5.1.0 (2023-06-16)

Features

  • added ava updated readme (151b373)
  • added some antfu rules (53e7483)
  • changed files to ts (ec9b148)
  • optimized some rules (31356f8)
  • transformed all files to ts, added new config loader, added better logger info (00a7a91)
  • update README.md (1981a0f)

@anolilab/eslint-config 5.0.10 (2023-06-16)

Bug Fixes

  • added missing n in vitest.cofig.* (16fe216)

@anolilab/eslint-config 5.0.9 (2023-06-15)

Dependencies

  • @anolilab/semantic-release-preset: upgraded to 3.1.1

@anolilab/eslint-config 5.0.8 (2023-06-11)

Dependencies

  • @anolilab/semantic-release-preset: upgraded to 3.1.0

@anolilab/eslint-config 5.0.7 (2023-06-10)

Dependencies

  • @anolilab/semantic-release-preset: upgraded to 3.0.0

@anolilab/eslint-config 5.0.6 (2023-06-09)

Bug Fixes

@anolilab/eslint-config 5.0.5 (2023-05-25)

Dependencies

  • @anolilab/semantic-release-preset: upgraded to 2.2.1

@anolilab/eslint-config 5.0.4 (2023-05-25)

Bug Fixes

  • changed deprecated eslint-plugin-radar to eslint-plugin-sonarjs (6452014)

@anolilab/eslint-config 5.0.3 (2023-05-07)

Bug Fixes

@anolilab/eslint-config 5.0.2 (2023-01-21)

Bug Fixes

  • eslint-config: disabled non-nullable-type-assertion-style and enabled the no-non-null-assertion (380d16a)

@anolilab/eslint-config 5.0.1 (2023-01-21)

Bug Fixes

  • eslint-config: disabled the @typescript-eslint/no-non-null-assertion (c0337f3)

@anolilab/eslint-config 5.0.0 (2023-01-14)

⚠ BREAKING CHANGES

  • eslint-config: Added new strict rules for typescript, for better code

Features

  • eslint-config: added strict rules (d9bb441)

@anolilab/eslint-config 4.1.1 (2022-10-25)

Bug Fixes

  • removed "sort-keys-fix/sort-keys-fix" from yaml config (1375112)

@anolilab/eslint-config 4.1.0 (2022-10-24)

Features

  • updated deps and start using node postfix for node libs added new rules for toml, jsonc, yml (2ff3a71)

@anolilab/eslint-config 4.0.9 (2022-07-16)

Bug Fixes

@anolilab/eslint-config 4.0.8 (2022-06-04)

Bug Fixes

  • added more files to import/no-extraneous-dependencies (77ca58e)

@anolilab/eslint-config 4.0.7 (2022-05-25)

Bug Fixes

  • fixed wrong list of loading plugins, the React resolving and loading console log twice (775e811)
  • fixed wrong list of loading plugins, the React resolving and loading console log twice (8e40a98)

@anolilab/eslint-config 4.0.6 (2022-05-18)

Bug Fixes

  • updated eslintrc content in postinstall script (2512937)

@anolilab/eslint-config 4.0.5 (2022-05-17)

Bug Fixes

  • don't call the testing-library.cjs logger twice (89d8f1a)

@anolilab/eslint-config 4.0.4 (2022-05-17)

Bug Fixes

  • fixed more found issues with the config loading (f8042c9)

@anolilab/eslint-config 4.0.3 (2022-05-16)

Bug Fixes

  • fixed wrong name of plugin file (aa97e40)

@anolilab/eslint-config 4.0.2 (2022-05-13)

Bug Fixes

  • fixed wrong dep name of a11y (4031a25)

@anolilab/eslint-config 4.0.1 (2022-05-11)

Bug Fixes

  • fixed wrong peerDependencies on eslint (a9e7813)

@anolilab/eslint-config 4.0.0 (2022-05-11)

⚠ BREAKING CHANGES

  • upgraded package to use eslint v8

Signed-off-by: prisis d.bannert@anolilab.de

Performance Improvements

  • upgraded deps and eslint to v8.15 (94b5859)

@anolilab/eslint-config 3.0.2 (2022-05-06)

Bug Fixes

  • deps: update dependency @rushstack/eslint-plugin-security to ^0.3.0 (64f535a)
  • deps: update dependency eslint-plugin-compat to v4 (1ae1931)
  • deps: update dependency eslint-plugin-promise to v6 (913a0bb)
  • deps: upgraded deps in all packages (091353c)
  • fixed eslint config loading of react plugins (56bc9ce)

@anolilab/eslint-config 3.0.1 (2022-02-15)

Bug Fixes

  • deps: updated all dependencies (non-major) (6a4e889)

@anolilab/eslint-config 3.0.0 (2022-02-15)

⚠ BREAKING CHANGES

  • remove old node version from our supported versions

Signed-off-by: prisis d.bannert@anolilab.de

Bug Fixes

  • fixed wrong version on peer dependencies (fc28d8b)
  • markdown lint (24059d4)

Performance Improvements

  • support for v12, v14 was removed from our supported versions of node (83d6a80)

@anolilab/eslint-config 2.2.0 (2021-10-26)

Features

@anolilab/eslint-config 2.1.8 (2021-09-13)

Bug Fixes

  • deps: update dependency eslint-plugin-unicorn to v36 (caa30c3)

@anolilab/eslint-config 2.1.7 (2021-09-03)

Bug Fixes

  • fixed wrong name in eslint-config redux is now react-redux (609fd83)

@anolilab/eslint-config 2.1.6 (2021-09-02)

Bug Fixes

  • added funding to the package (f90d18f)

@anolilab/eslint-config 2.1.5 (2021-09-02)

Bug Fixes

  • fixed release flow in all packages (8c5ec13)

@anolilab/eslint-config 2.1.4 (2021-08-17)

Bug Fixes

@anolilab/eslint-config 2.1.3 (2021-07-30)

Bug Fixes

  • added check based node version for unicorn/prefer-node-protocol (72bafb2)

@anolilab/eslint-config 2.1.2 (2021-07-21)

Bug Fixes

  • deps: upgraded dependencies (fa697d0)

@anolilab/eslint-config 2.1.1 (2021-06-09)

Bug Fixes

  • fixed wrong value for react/no-unused-prop-types (d65f8bf)

@anolilab/eslint-config 2.1.0 (2021-06-09)

Features

  • upgraded yarn to v2.4.2 (b3336fc)

Bug Fixes

  • deps: update dependency eslint-plugin-unicorn to v32 (be9342b)

@anolilab/eslint-config 2.0.10 (2021-05-07)

Bug Fixes

  • changed quotes from single to double (57f592d)

@anolilab/eslint-config 2.0.9 (2021-05-07)

Bug Fixes

  • changed max-len to 120, same as prettier (f808a2f)

@anolilab/eslint-config 2.0.8 (2021-05-07)

Bug Fixes

  • fixed missing compat, moved jsdoc to dev (4bb37a6)
  • removed eslint-plugin-typescript from dev devDependencies (b8b035b)

@anolilab/eslint-config 2.0.7 (2021-05-07)

Bug Fixes

  • fixed has dep check on react for typescript (76506a7)

@anolilab/eslint-config 2.0.6 (2021-05-07)

Bug Fixes

  • fixed missing plugin imports (00f8208)

@anolilab/eslint-config 2.0.5 (2021-05-04)

Bug Fixes

  • fixed files resolution part 2 (afe045a)

@anolilab/eslint-config 2.0.4 (2021-05-04)

Bug Fixes

@anolilab/eslint-config 2.0.3 (2021-05-04)

Bug Fixes

  • moved es-lint config back to common modules (136370f)

@anolilab/eslint-config 2.0.2 (2021-05-04)

Bug Fixes

  • deps: update dependency eslint-plugin-unicorn to v31 (a583d48)

@anolilab/eslint-config 2.0.1 (2021-04-20)

Bug Fixes

  • added missing exit code to process.exit (a94e9ed)

@anolilab/eslint-config 2.0.0 (2021-04-19)

⚠ BREAKING CHANGES

  • upgraded node version to v12 and es modules

Features

@anolilab/eslint-config 1.1.6 (2021-04-17)

Bug Fixes

  • fixed missing plugin call of unicorn (ae7bab6)

@anolilab/eslint-config 1.1.5 (2021-04-14)

Bug Fixes

  • added missing root key to the eslint config (024a8c2)

@anolilab/eslint-config 1.1.4 (2021-04-13)

Bug Fixes

  • deps: update dependency eslint-plugin-promise to v5 (4b0a156)

@anolilab/eslint-config 1.1.3 (2021-02-22)

Bug Fixes

@anolilab/eslint-config 1.1.2 (2021-02-19)

Bug Fixes

  • disable ignoreExports in import.cjs (dc680fb)

@anolilab/eslint-config 1.1.1 (2021-02-19)

Bug Fixes

  • fixed wrong import use in typescript.cjs (a45fd58)

@anolilab/eslint-config 1.1.0 (2021-02-17)

Features

  • added test workflow and a simple test for eslint (cde32ed)

@anolilab/eslint-config 1.0.2 (2021-02-15)

Bug Fixes

  • deps: update dependency eslint-plugin-markdown to v2 (f7fcbba)