UNPKG

linter-bundle

Version:

Ready-to use bundle of linting tools, containing configurations for ESLint, stylelint and markdownlint.

686 lines (505 loc) 134 kB
# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v7.11.0...HEAD) ## [7.11.0] - 2025-11-19 - [eslint] Update `eslint-plugin-jsdoc`from `61.2.1` to `61.3.0` - [eslint/jest] Report Jest version detection output only once (instead of once per thread) - [stylelint] Added "transform-box", "transition-behavior" and "interpolate-size" to `order/properties-order` rule, and moved "content-visibility" behind "display", and "box-sizing" behind "all" [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v7.10.0...v7.11.0) ## [7.10.0] - 2025-11-19 - [eslint] Updated `@stylistic/eslint-plugin` from `5.6.0` to `5.6.1` - [markdown] Updated `markdownlint-cli` from `0.45.0` to `0.46.0`` - [markdown] Added but disabled [`MD060 - Table column style`](https://github.com/DavidAnson/markdownlint/blob/main/doc/md060.md) rule - [stylelint] Added configurable `allowCombinators` option to the `plugin/selector-tag-no-without-class` rule and enabled `>`, `+`, `~` combinators for CSS Modules to avoid false positives [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v7.9.0...v7.10.0) ## [7.9.0] - 2025-11-18 - [eslint] Updated `@stylistic/eslint-plugin` from `5.2.3` to `5.6.0` - [eslint] Updated `eslint` from `9.33.0` to `9.39.1` - [eslint] Updated `eslint-formatter-unix` from `8.40.0` to `9.0.1` - [eslint] Updated `eslint-plugin-jest` from `29.0.1` to `29.1.0` - [eslint] Updated `eslint-plugin-jsdoc` from `54.1.1` to `61.2.1` - [eslint] Updated `eslint-plugin-n` from `17.21.3` to `17.23.1` - [eslint] Updated `eslint-plugin-react-hooks` from `5.2.0` to `7.0.1` - [eslint] Updated `eslint-plugin-unicorn` from `60.0.0` to `62.0.0` - [eslint] Updated `globals` from `16.3.0` to `16.5.0` - [eslint] Updated `typescript-eslint` from `8.40.0` to `8.47.0` - [stylelint] Updated `stylelint` from `16.23.1` to `16.25.0` - [eslint] Make use of new [`preserve-caught-error`](https://github.com/eslint/eslint/blob/main/docs/src/rules/preserve-caught-error.md) rule - [eslint] Make use of new [`jsdoc/require-throws-description`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-description.md) rule - [eslint] Make use of new [`jsdoc/require-throws-type`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-type.md) rule - [eslint] Make use of new [`jsdoc/require-yields-description`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-description.md) rule - [eslint] Make use of new [`jsdoc/require-yields-type`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-type.md) rule - [eslint] Make use of new [`jsdoc/ts-method-signature-style`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-method-signature-style.md) rule with value `"property"` - [eslint] Make use of new [`jsdoc/ts-no-empty-object-type`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-no-empty-object-type.md) rule - [eslint] Make use of new [`jsdoc/ts-no-unnecessary-template-expression`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-no-unnecessary-template-expression.md) rule - [eslint] Make use of new [`jsdoc/ts-prefer-function-type`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-prefer-function-type.md) rule - [eslint] Added but disabled [`jsdoc/escape-inline-tags`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/escape-inline-tags.md) rule - [eslint] Added but disabled [`jsdoc/prefer-import-tag`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/prefer-import-tag.md) rule - [eslint] Added but disabled [`jsdoc/reject-any-type`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-any-type.md) rule - [eslint] Added but disabled [`jsdoc/reject-function-type`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-function-type.md) rule - [eslint] Added but disabled [`jsdoc/require-next-description`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-description.md) rule - [eslint] Added but disabled [`jsdoc/require-next-type`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-type.md) rule - [eslint] Added but disabled [`jsdoc/required-tags`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/required-tags.md) rule - [eslint] Added but disabled [`jsdoc/require-template-description`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template-description.md) rule - [eslint] Added but disabled [`jsdoc/type-formatting`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/type-formatting.md) rule - [eslint] Make use of new [`unicorn/prefer-bigint-literals`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-bigint-literals.md) rule - [eslint] Make use of new [`unicorn/prefer-classlist-toggle`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-classlist-toggle.md) rule - [eslint] Make use of new [`unicorn/require-module-attributes`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/require-module-attributes.md) rule - [eslint] Make use of new [`unicorn/no-array-sort`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-sort.md) rule - [eslint] Make use of new [`unicorn/no-immediate-mutation`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/30f08471987e620755963ef2809ecc3dbcdb21d5/docs/rules/no-immediate-mutation.md) rule - [eslint] Make use of new [`unicorn/no-useless-collection-argument`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/30f08471987e620755963ef2809ecc3dbcdb21d5/docs/rules/no-useless-collection-argument.md) rule - [eslint] Make use of new [`unicorn/prefer-response-static-json`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/30f08471987e620755963ef2809ecc3dbcdb21d5/docs/rules/prefer-response-static-json.md) rule - [stylelint] Added but disabled [`rule-nesting-at-rule-required-list`](https://github.com/stylelint/stylelint/tree/main/lib/rules/rule-nesting-at-rule-required-list) rule - [eslint] Activate [multithread linting](https://eslint.org/blog/2025/08/multithread-linting/) using `--concurrency auto` - [eslint] Change `import/dynamic-import-chunkname` pattern to `"([0-9a-zA-Z-_/.+]*(\\[(?:index|request)\\])?)+"` - [stylelint] Ignore property casing for `composes` in `value-keyword-case`rule - [stylelint] Add `composes` to the ignored property list of the `scss/property-no-unknown` rule [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v7.8.0...v7.9.0) ## [7.8.0] - 2025-08-21 ### Changed - [eslint] Updated `eslint` from `9.31.0` to `9.33.0` - [eslint] Updated `eslint-plugin-jsdoc` from `51.4.1` to `54.1.1` - [eslint] Updated `eslint-plugin-n` from `17.21.0` to `17.21.3` - [eslint] Updated `typescript-eslint` from `8.38.0` to `8.40.0` - [stylelint] Updated `stylelint` from `16.22.0` to `16.23.1` - [stylelint] Updated `@stylistic/eslint-plugin` from `5.2.2` to `5.2.3` - [stylelint] Add `first-nested` option to `ignore` of [`custom-property-empty-line-before`](https://stylelint.io/user-guide/rules/custom-property-empty-line-before/) rule - [stylelint] Make use of new [`block-no-redundant-nested-style-rules`](https://github.com/stylelint/stylelint/blob/main/lib/rules/block-no-redundant-nested-style-rules) rule - [stylelint] Make use of new [`media-type-no-deprecated`](https://github.com/stylelint/stylelint/tree/main/lib/rules/media-type-no-deprecated) rule - [stylelint] Make use of new [`nesting-selector-no-missing-scoping-root`](https://github.com/stylelint/stylelint/blob/main/lib/rules/nesting-selector-no-missing-scoping-root) rule - [stylelint] Make use of new [`no-invalid-position-declaration`](https://github.com/stylelint/stylelint/blob/main/lib/rules/no-invalid-position-declaration) rule - [stylelint] Make use of new [`property-no-deprecated`](https://github.com/stylelint/stylelint/blob/main/lib/rules/property-no-deprecated) rule - [audit] Updated `improved-yarn-audit` from `3.0.3` to `3.0.4` [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v7.7.0...v7.8.0) ## [7.7.0] - 2025-07-25 ### Breaking changes - [general] Drop support for Node.js version less than 20.12.0, 21.*.* and 23.*.* as some of the ESLint plugins are not supporting them anymore - [eslint] Removed deprecated `@stylistic/eslint-plugin-jsx` plugin ### Changed - [eslint] Updated `eslint` from `9.26.0` to `9.31.0` - [eslint] Updated `eslint-import-resolver-typescript` from `4.3.4` to `4.4.4` - [eslint] Updated `eslint-plugin-functional` from `9.0.1` to `9.0.2` - [eslint] Updated `eslint-plugin-import` from `2.31.0` to `2.32.0` - [eslint] Updated `eslint-plugin-jest` from `28.11.0` to `29.0.1` - [eslint] Updated `eslint-plugin-jsdoc` from `50.6.17` to `51.4.1` - [eslint] Updated `eslint-plugin-n` from `17.18.0` to `17.21.0` - [eslint] Updated `eslint-plugin-unicorn` from `59.0.1` to `60.0.0` - [eslint] Updated `globals` from `16.1.0` to `16.3.0` - [eslint] Updated `@stylistic/eslint-plugin` from `4.2.0` to `5.2.2` - [eslint] Updated `typescript-eslint` from `8.32.1` to `8.38.0` - [markdownlint] Updated `markdownlint-cli` from `0.44.0` to `0.45.0` - [stylelint] Updated `stylelint` from `16.19.1` to `16.22.0` - [stylelint] Updated `stylelint-scss` from `6.12.0` to `6.12.1` - [eslint] Added [`no-unassigned-vars`](https://github.com/eslint/eslint/blob/main/docs/src/rules/no-unassigned-vars.md) rule - [eslint] Added [`unicorn/prefer-class-fields`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-class-fields.md) rule - [eslint] Added [`unicorn/no-array-reverse`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-reverse.md) rule - [eslint] Added [`unicorn/require-module-specifiers`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/require-module-specifiers.md) rule - [eslint] Added [`unicorn/no-useless-error-capture-stack-trace`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-error-capture-stack-trace.md) rule - [eslint] Added [`jest/prefer-ending-with-an-expect`](https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/prefer-ending-with-an-expect.md) rule - [eslint] Added but disabled [`import/enforce-node-protocol-usage`](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/enforce-node-protocol-usage.md) rule, as this is covered by `unicorn/prefer-node-protocol` - [eslint] Added but disabled [`n/no-top-level-await`](https://github.com/eslint-community/eslint-plugin-n/blob/master/docs/rules/no-top-level-await.md) rule as it conflicts with `unicorn/prefer-top-level-await` - [eslint] Rename `@stylistic/func-call-spacing` to `@stylistic/function-call-spacing` - [stylelint] Activate `custom-property-empty-line-before` rule and `ignore` `"after-custom-property"` [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v7.6.0...v7.7.0) ## [7.6.0] - 2025-05-14 ### Changed - [general] Added support for `.css` files in ESLint and Stylelint rules - [eslint] Updated `eslint` from `9.24.0` to `9.26.0` - [eslint] Updated `eslint-import-resolver-typescript` from `4.3.2` to `4.3.4` - [eslint] Updated `eslint-plugin-jsdoc` from `50.6.9` to `50.6.17` - [eslint] Updated `eslint-plugin-n` from `17.17.0` to `17.18.0` - [eslint] Updated `eslint-plugin-unicorn` from `58.0.0` to `59.0.1` - [eslint] Updated `globals` from `16.0.0` to `16.1.0` - [eslint] Updated `typescript-eslint` from `8.29.1` to `8.32.1` - [stylelint] Updated `stylelint` from `16.18.0` to `16.19.1` - [stylelint] Updated `stylelint-order` from `6.0.4` to `7.0.0` - [stylelint] Updated `stylelint-scss` from `6.11.1` to `6.12.0` - [eslint] Renamed `unicorn/no-array-push-push` rule to `prefer-single-call` - [eslint] Renamed `unicorn/no-length-as-slice-end` rule to `no-unnecessary-slice-end` - [eslint] Added but disabled [`unicorn/prefer-import-meta-properties`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-import-meta-properties.md) rule - [eslint] Added [`unicorn/no-unnecessary-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-array-flat-depth.md) rule - [eslint] Added [`unicorn/no-unnecessary-array-splice-count`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-array-splice-count.md) rule - [eslint] Activated [`unicorn/prefer-event-target`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-event-target.md) rule - [eslint] Activated [`unicorn/prefer-top-level-await`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-top-level-await.md) rule - [eslint] Added [`@typescript-eslint/no-unnecessary-type-conversion`](https://typescript-eslint.io/rules/no-unnecessary-type-conversion/) rule - [stylelint] Activated [`selector-not-notation`](https://stylelint.io/user-guide/rules/selector-not-notation/) rule with "complex" option [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v7.5.0...v7.6.0) ## [7.5.0] - 2025-04-08 ### Changed - [eslint] Updated `eslint` from `9.23.0` to `9.24.0` - [eslint] Updated `eslint-import-resolver-typescript` from `4.2.2` to `4.3.2` - [eslint] Updated `eslint-plugin-jsdoc` from `50.6.8` to `50.6.9` - [eslint] Updated `eslint-plugin-n` from `17.16.2` to `17.17.0` - [eslint] Updated `eslint-plugin-react` from `7.37.4` to `7.37.5` - [eslint] Updated `eslint-plugin-unicorn` from `57.0.0` to `58.0.0` - [eslint] Updated `typescript-eslint` from `8.27.0` to `8.29.1` - [stylelint] Updated `stylelint` from `16.16.0` to `16.18.0` - [eslint] Disabled [`unicorn/prefer-global-this`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-global-this.md) rule - [eslint] Disabled [`unicorn/prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) rule - [stylelint] Added new [`color-function-alias-notation`](https://github.com/stylelint/stylelint/blob/main/lib/rules/color-function-alias-notation/README.md) rule and set it to `without-alpha` - [stylelint] Added new [`container-name-pattern`](https://github.com/stylelint/stylelint/blob/main/lib/rules/container-name-pattern/README.md) rule and apply `sass` > `patternPrefix` from the linter-bundle configuration, if set - [stylelint] Added new [`layer-name-pattern`](https://github.com/stylelint/stylelint/blob/main/lib/rules/layer-name-pattern/README.md) rule and apply `sass` > `patternPrefix` from the linter-bundle configuration, if set [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v7.4.0...v7.5.0) ## [7.4.0] - 2025-03-23 ### Changed - [eslint] Updated `eslint` from `9.22.0` to `9.23.0` - [eslint/react] Activated `allowExpressions` of the `@typescript-eslint/explicit-function-return-type`rule also for the React overrides [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v7.3.0...v7.4.0) ## [7.3.0] - 2025-03-20 ### Changed - [eslint] Updated `eslint-import-resolver-typescript` from `4.2.0` to `4.2.2` - [eslint] Updated `typescript-eslint` from `8.26.1` to `8.27.0` - [stylelint] Refactored all mocked stylistic Stylelint rule, to get rid of the deprecated `context.fix` ### Removed - [stylelint] Removed the stylistic `linebreaks` plugin, as this can be achieved using the `.editorconfig` file [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v7.2.0...v7.3.0) ## [7.2.0] - 2025-03-18 ### Changed - [eslint] Updated `eslint-import-resolver-typescript` from `3.9.0` to `4.2.0` - [eslint] Updated `eslint-plugin-jsdoc` from `50.6.6` to `50.6.8` - [eslint/jest] Disabled `import/dynamic-import-chunkname` rule for tests - [eslint] Adjusted `padding-line-between-statements` rule, to enforce empty line around directives (like `"use client";`) - [eslint/react] Adjusted `@typescript-eslint/no-empty-object-type` rule, to allow empty interfaces with the suffix `Props` in TSX files - [eslint] Optimized position of closing parenthesis in `enforce-logical-expression-parens` and `enforce-ternary-parens` rule ### Added - [stylelint] Re-added fixers of the mocked stylistic Stylelint rule. [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v7.1.2...v7.2.0) ## [7.1.2] - 2025-03-15 ### Fixed - [eslint] Add line-break before variable declarations groups ### Changed - [eslint] Optimize parens position of `enforce-logical-expression-parens` and `enforce-ternary-parens` - [eslint] Improve `eslint.config.mjs` code example in [README.md](./README.md) [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v7.1.1...v7.1.2) ## [7.1.1] - 2025-03-15 ### Fixed - [eslint/react] Fixed `Key "plugins": Cannot redefine plugin "linter-bundle".` issue [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v7.1.0...v7.1.1) ## [7.1.0] - 2025-03-15 ### Fixed - [eslint/jest] Fix code for Jest Version detection ### Changed - [general] Suppress Node.js warnings, such as 'ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time' (which is triggered by ESLint) - [eslint] Added custom linter rule [`linter-bundle/enforce-logical-expression-parens`](./eslint/rules/enforce-logical-expression-parens.md) which enforces parentheses around logical operations - [eslint] Added custom linter rule [`linter-bundle/enforce-ternary-parens`](./eslint/rules/enforce-ternary-parens.md) which ensures ternary expressions are wrapped in parentheses - [eslint] Added custom linter rule [`linter-bundle/no-extra-spaces-in-generics`](./eslint/rules/no-extra-spaces-in-generics.md) to disallows spaces after the `<` and before the `>` in TypeScript generics - [eslint] Added custom linter rule [`linter-bundle/no-ternary-return`](./eslint/rules/no-ternary-return.md) which disallows ternary expressions as return values for better readability - [eslint] Configured [`padding-line-between-statements`](https://eslint.org/docs/latest/rules/padding-line-between-statements) to enforce line-breaks before `return`, `throw`, `break`, `continue`, around multi-line block statements and around `const`, `let`, `var` groups - [eslint/react] Added custom linter rule [`linter-bundle/ensure-lucide-import-consistency`](./eslint/rules/ensure-lucide-import-consistency.md) to enforces using [Lucide](https://lucide.dev/guide/packages/lucide-react) prefix for lucide-react imports and their usage - [eslint] Updated `eslint-import-resolver-typescript` from `3.8.4` to `3.9.0` - [stylelint] Updated `stylelint` from `16.15.0` to `16.16.0` [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v7.0.0...v7.1.0) ## [7.0.0] - 2025-03-11 ### Breaking Changes - [general] All configuration files have been migrated from CommonJS to ESModules - [general] The global configuration variable `global.linterBundleSettings` has been replaced by a `.linter-bundle.json` / `.linter-bundle.mjs` / `.linter-bundle.cjs` / `.linter-bundle.js` configuration file in the projects root directory - [eslint] It's now using the ESLint Flat Config format - [eslint] `.eslintrc.js` needs to be renamed to `eslint.config.mjs`, `module.exports =` needs to be replaced by `export default [`. See [eslint.org](https://eslint.org/docs/latest/use/configure/migration-guide#key-differences-between-configuration-formats) website additional required changes - [eslint] The VSCode configuration needs to be adapted. See [README.md](./README.md) - [eslint] The prefixes "override-" has been removed from the specialized rule files and the suffix `.cjs` has been replaced by `.mjs` - [stylelint] The stylelint configuration has been renamed from `linter-bundle/stylelint.cjs` to `linter-bundle/stylelint.mjs` - [stylelint] As the interface for rules changed slightly, I had to remove some auto-fixes for the previously forked stylistic rules. - [general] Drop support for Node.js version less than v20.9.0 and v21.1.0 as a lot of the ESLint plugins are not supporting them ### Fixed - [eslint] Fixed "Error reading .linter-bundle.js" in VSCode in some conditions Beside these changes: ### Changed - [general] `"extends"` in the .eslintrc.js needs to be suffixed with the ".mjs" file extension (e.g. `require.resolve('linter-bundle/eslint.mjs')`) - [general] `"extends"` in the stylelint.config.js needs to be suffixed with the ".mjs" file extension (e.g. `require.resolve('linter-bundle/stylelint.mjs')`) - [eslint] Updated `@typescript-eslint` from `6.21.0` to `8.26.1` - [eslint] Updated `eslint` from `8.56.0` to `9.22.0` - [eslint] Updated `eslint-import-resolver-typescript` from `3.6.1` to `3.8.4` - [eslint] Updated `eslint-import-resolver-webpack` from `0.13.8` to `0.13.10` - [eslint] Updated `eslint-plugin-functional` from `6.0.0` to `9.0.1` - [eslint] Updated `eslint-plugin-jest` from `27.6.3` to `28.11.0` - [eslint] Updated `eslint-plugin-jsdoc` from `48.0.5` to `50.6.6` - [eslint] Updated `eslint-plugin-jsx-a11y` from `6.8.0` to `6.10.2` - [eslint] Updated `eslint-plugin-n` from `16.6.2` to `17.16.2` - [eslint] Updated `eslint-plugin-promise` from `6.1.1` to `7.2.1` - [eslint] Updated `eslint-plugin-react` from `7.33.2` to `7.37.4` - [eslint] Updated `eslint-plugin-react-hooks` from `4.6.0` to `5.2.0` - [eslint] Updated `eslint-plugin-unicorn` from `51.0.0` to `57.0.0` - [eslint] Updated `@stylistic/eslint-plugin` from `2.11.0` to `4.2.0` - [markdownlint] Updated `markdownlint-cli` from `0.39.0` to `0.44.0` - [stylelint] Updated `stylelint` from `16.2.1` to `16.15.0` - [stylelint] Updated `stylelint-scss` from `6.1.0` to `6.11.1` - [stylelint] Updated `stylelint-high-performance-animation` from `1.10.0` to `1.11.0` - [audit] Updated `better-npm-audit` from `3.7.3` to `3.11.0` - [eslint] Activate `checkTypePredicates` of [`@typescript-eslint/no-unnecessary-condition`](https://typescript-eslint.io/rules/no-unnecessary-condition/) rule - [eslint] Adjusted `@typescript-eslint/naming-convention` rule configuration to allow constant names starting with "_" if they are unused - [eslint] Renamed the rule `no-unnecessary-typeof` to `linter-bundle/no-unnecessary-typeof` - [eslint] Renamed the rule `restricted-filenames` to `linter-bundle/restricted-filenames` - [eslint] Increase `max` of `import/max-dependencies` rule from 20 to 25 - [eslint] Disabled `unicorn/string-content` as it sometimes breaks code (e.g. imports with `...` in Next.js or GraphQL template strings) ### Added - [eslint] Added "_" and "c" to allowed id names in [`id-length`] rule - [eslint] Added [`@typescript-eslint/no-unnecessary-template-expression`](https://typescript-eslint.io/rules/no-unnecessary-template-expression/) rule (replaces `@typescript-eslint/no-useless-template-literals`) - [eslint] Added but disabled new [`functional/no-class-inheritance`](https://github.com/eslint-functional/eslint-plugin-functional/blob/main/docs/rules/no-class-inheritance.md) rule - [eslint] Added new [`@typescript-eslint/consistent-return`](https://typescript-eslint.io/rules/consistent-return/) rule - [eslint] Added new [`@typescript-eslint/no-unnecessary-parameter-property-assignment`](https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment/) rule - [eslint] Added new [`@typescript-eslint/no-unnecessary-type-parameters`](https://typescript-eslint.io/rules/no-unnecessary-type-parameters/) rule - [eslint] Added new [`@typescript-eslint/no-unsafe-type-assertion`](https://typescript-eslint.io/rules/no-unsafe-type-assertion/) rule - [eslint] Added new [`@typescript-eslint/no-useless-assignment`](https://eslint.org/docs/latest/rules/no-useless-assignment) rule - [eslint] Added new [`@typescript-eslint/only-throw-error`](https://typescript-eslint.io/rules/only-throw-error/) rule - [eslint] Added new [`@typescript-eslint/use-unknown-in-catch-callback-variable`](https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable/) rule - [eslint] Added new [`no-empty-object-type`](https://typescript-eslint.io/rules/no-empty-object-type/) rule - [eslint] Added new [`promise/spec-only`](https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/spec-only.md) rule - [eslint] Added new [`unicorn/consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) rule - [eslint] Added new [`unicorn/consistent-existence-index-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-existence-index-check.md) rule - [eslint] Added new [`unicorn/no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) rule - [eslint] Added new [`unicorn/no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) rule - [eslint] Added new [`unicorn/no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) rule - [eslint] Added new [`unicorn/no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) rule - [eslint] Added new [`unicorn/prefer-global-this`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-global-this.md) rule - [eslint] Added new [`unicorn/prefer-math-min-max`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-math-min-max.md) rule - [eslint] Added new [`unicorn/prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) rule - [eslint] Added new [`unicorn/prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) rule - [eslint] Added new [`unicorn/consistent-date-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-date-clone.md) rule - [eslint] Added new [`unicorn/consistent-assert`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-assert.md) rule - [eslint] Added new [`unicorn/no-accessor-recursion`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-accessor-recursion.md) rule - [eslint] Added new [`unicorn/no-instanceof-builtins`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-instanceof-builtins.md) rule - [eslint] Added new [`unicorn/no-named-default`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-named-default.md) rule - [eslint] Replaced deprecated `unicorn/no-instanceof-array` by new [`unicorn/no-instanceof-builtins`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-instanceof-builtins.md) rule - [eslint] Activate `linterOptions.reportUnusedInlineConfigs` setting - [eslint/jsdoc] Added [`jsdoc/require-template`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md) rule - [eslint/jsdoc] Added but disabled new [jsdoc/convert-to-jsdoc-comments`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/convert-to-jsdoc-comments.md) rule - [eslint/jsdoc] Added new [`jsdoc/check-template-names`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-template-names.md) rule - [eslint/jsdoc] Added new [`jsdoc/lines-before-block`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/lines-before-block.md) rule with disabled `ignoreSameLine` - [eslint/react] Added new [`react/forward-ref-uses-ref`](https://github.com/jsx-eslint/eslint-plugin-react/blob/v7.36.0/docs/rules/forward-ref-uses-ref.md) rule - [eslint/react] Activate `ignoreTranspilerName` for [`react/display-name`](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/display-name.md) - [eslint/react] Activate `unicorn/prefer-node-protocol` rule - [eslint/react] Added new [`react/checked-requires-onchange-or-readonly`](https://github.com/jsx-eslint/eslint-plugin-react/blob/v7.34.0/docs/rules/checked-requires-onchange-or-readonly.md) rule - [eslint/react] Added new [`react/jsx-props-no-spread-multi`](https://github.com/jsx-eslint/eslint-plugin-react/blob/v7.35.0/docs/rules/jsx-props-no-spread-multi.md) rule - [eslint/jest] Added but disabled new[`jest/prefer-importing-jest-globals`](https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/prefer-importing-jest-globals.md) rule - [eslint/jest] Added new [`jest/prefer-jest-mocked`](https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/prefer-jest-mocked.md) rule - [eslint/promise] Added new [`promise/prefer-catch`](https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/prefer-catch.md) rule - [markdownlint] Added new [`MD058/blanks-around-tables`](https://github.com/DavidAnson/markdownlint/blob/main/doc/md058.md) rule - [stylelint] Added and disabled new [`scss/at-import-partial-extension-allowed-list`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/at-import-partial-extension-allowed-list/README.md) rule, and removed deprecated `at-import-partial-extension-whitelist` rule - [stylelint] Added and disabled new [`scss/at-import-partial-extension-disallowed-list`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/at-import-partial-extension-disallowed-list/README.md) rule, and removed deprecated `at-import-partial-extension-blacklist rule` rule - [stylelint] Added new [`no-unknown-custom-media`](https://stylelint.io/user-guide/rules/no-unknown-custom-media/) rule - [stylelint] Added new [`scss/at-mixin-no-risky-nesting-selector`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/at-mixin-no-risky-nesting-selector/README.md) rule - [stylelint] Added new [`scss/declaration-property-value-no-unknown`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/declaration-property-value-no-unknown/README.md) rule, which disabled `declaration-property-value-no-unknown` - [stylelint] Added new [`scss/function-color-channel`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/function-color-channel/README.md) rule - [stylelint] Added new [`scss/load-partial-extension`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/load-partial-extension/README.md) rule, and removed deprecated `at-import-partial-extension` rule - [stylelint] Added new [`scss/no-duplicate-load-rules`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/no-duplicate-load-rules) rule - [stylelint] Added new [`at-rule-descriptor-no-unknown`](https://stylelint.io/user-guide/rules/at-rule-descriptor-no-unknown/) rule - [stylelint] Added new [`at-rule-descriptor-value-no-unknown`](https://stylelint.io/user-guide/rules/at-rule-descriptor-value-no-unknown/) rule - [stylelint] Added new [`at-rule-no-deprecated`](https://stylelint.io/user-guide/rules/at-rule-no-deprecated/) rule - [stylelint] Added new [`at-rule-prelude-no-invalid`](https://stylelint.io/user-guide/rules/at-rule-prelude-no-invalid/) rule - [stylelint] Added new [`declaration-property-value-keyword-no-deprecated`](https://stylelint.io/user-guide/rules/declaration-property-value-keyword-no-deprecated/) rule - [stylelint] Added new [`syntax-string-no-invalid`](https://stylelint.io/user-guide/rules/syntax-string-no-invalid/) rule - [stylelint] Show rule performance information - [stylelint] Activated [`reportUnscopedDisables`] setting ### Removed - [eslint] Removed deprecated `@typescript-eslint/ban-types` rule - [eslint] Removed deprecated `@typescript-eslint/no-throw-literal` rule - [eslint] Removed deprecated `no-new-symbol` rule - [eslint] Removed deprecated `prefer-ts-expect-error` rule - [eslint] Replaced deprecated `@typescript-eslint/no-loss-of-precision` rule by ESLint `no-loss-of-precision` - [eslint/gatsby] Removed `no-global-undefined-check` rule [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v6.3.0...v7.0.0) ## [6.3.0] - 2024-02-06 ### Changed - [eslint] Updated `@typescript-eslint/eslint-plugin` from `6.19.1` to `6.21.0` - [eslint] Updated `eslint-plugin-unicorn` from `50.0.1` to `51.0.0` - [eslint/overrides-jsdoc] Updated `eslint-plugin-jsdoc` from `48.0.3` to `48.0.5` - [markdownlint] Updated `markdownlint-cli` from `0.38.0` to `0.39.0` - [stylelint] Updated `stylelint` from `16.2.0` to `16.2.1` - [eslint] Make use of [`@typescript-eslint/no-array-delete`](https://typescript-eslint.io/rules/no-array-delete/) rule - [eslint] Make use of [`@typescript-eslint/no-useless-template-literals`](https://typescript-eslint.io/rules/no-useless-template-literals/) rule - [eslint] Make use of [`@typescript-eslint/prefer-find`](https://typescript-eslint.io/rules/prefer-find/) rule - [eslint] Make use of [`@typescript-eslint/prefer-promise-reject-errors`](https://typescript-eslint.io/rules/prefer-promise-reject-errors/) rule - [markdownlint] Make use of new [`MD054`/link-image-style](https://github.com/DavidAnson/markdownlint/blob/main/doc/md054.md) rule - [markdownlint] Make use of new [`MD056`/table-column-count](https://github.com/DavidAnson/markdownlint/blob/main/doc/md056.md) rule - [audit] Updated `improved-yarn-audit` from `3.0.0` to `3.0.3` ### Added - [eslint] Added "Params" to the [unicorn/prevent-abbreviations](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v32.0.1/docs/rules/prevent-abbreviations.md) `ignore` list. - [eslint] Added the possibility to configure additional options for the [`@typescript-eslint/naming-convention`](https://typescript-eslint.io/rules/naming-convention/) rule in the `overrides.general` linter-bundle configuration [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v6.2.2...v6.3.0) ## [6.2.2] - 2024-01-25 ### Fixed - [eslint/overrides-jest] Changed `jest/no-confusing-set-time` to correct rule name [`jest/no-confusing-set-timeout`](https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/no-confusing-set-timeout.md) [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v6.2.1...v6.2.2) ## [6.2.1] - 2024-01-25 ### Changed - [stylelint] Change order of `(inset/margin/padding)-block` and `(inset/margin/padding)-inset` [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v6.2.0...v6.2.1) ## [6.2.0] - 2024-01-25 ### Changed - [eslint/overrides-jsdoc] Updated `eslint-plugin-jsdoc` from `48.0.2` to `48.0.3` - [stylelint] Remove `padding-inline`, `margin-inline`, `inset-inline`, `inset-inline-start` and `inset-inline-end` from [`property-disallowed-list`](https://stylelint.io/user-guide/rules/property-disallowed-list/) rule, as it is supported in all main browsers since at least 3 years - [stylelint] Add `inset-block(-start/-end)`, `inset-inline(-start/-end)`, `padding-block(-start/-end)`, `padding-inline(-start/-end)` and `margin-block(-start/-end)`, `margin-inline(-start/-end)` to [`order/properties-order`](https://github.com/hudochenkov/stylelint-order/blob/master/rules/properties-order/README.md) configuration [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v6.1.0...v6.2.0) ## [6.1.0] - 2024-01-24 ### Changed - [eslint] Updated `@typescript-eslint` from `6.19.0` to `6.19.1` - [stylelint] Updated `stylelint-scss` from `6.0.0` to `6.1.0` - [eslint] Activate `allowConstantLoopConditions` of [`@typescript-eslint/no-unnecessary-condition`](https://typescript-eslint.io/rules/no-unnecessary-condition/) rule, as this is covered by [`no-constant-condition`](https://archive.eslint.org/docs/rules/no-constant-condition) - [eslint] Allow "camelCase" and "PascalCase" style in [`@typescript-eslint/naming-convention`](https://typescript-eslint.io/rules/naming-convention/) rule for imports - [eslint/overrides-javascript] Disable [`unicorn/prefer-module`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-module.md) for *.js files in the root directory (so that configuration files are ignored) - [stylelint] Make use of new [`scss/no-unused-private-members`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/no-unused-private-members/README.md) rule [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v6.0.0...v6.1.0) ## [6.0.0] - 2024-01-21 ### Added - [eslint] Make use of new [`@typescript-eslint/no-useless-empty-export`](https://typescript-eslint.io/rules/no-useless-empty-export) rule - [eslint] Make use of new [`@typescript-eslint/no-unsafe-unary-minus`](https://typescript-eslint.io/rules/no-unsafe-unary-minus/) rule - [eslint] Make use of new [`no-object-constructor`](https://eslint.org/docs/latest/rules/no-object-constructor) rule - [eslint] Make use of new [`unicorn/no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) rule - [markdownlint] Make use of new [`MD054`/link-image-style](https://github.com/DavidAnson/markdownlint/blob/main/doc/md054.md) rule - [eslint/overrides-jest] Make use of new [`jest/no-confusing-set-timeout`](https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/no-confusing-set-timeout.md) rule - [eslint/overrides-jsdoc] Make use of [`jsdoc/informative-docs`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/informative-docs.md) rule - [stylelint] Make use of new [`lightness-notation`](https://stylelint.io/user-guide/rules/lightness-notation/) rule with option "percentage" - [stylelint] Make use of new [`scss/at-root-no-redundant`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/at-root-no-redundant/README.md) rule - [stylelint] Make use of new [`scss/property-no-unknown`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/property-no-unknown/README.md) rule, replacing [`property-no-unknown`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/property-no-unknown/) rule - [stylelint] Make use of new [`scss/function-calculation-no-interpolation`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/function-calculation-no-interpolation/README.md) rule - [stylelint] Added, but disabled new [`scss/block-no-redundant-nesting`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/block-no-redundant-nesting/README.md) rule - [stylelint] Added, but disabled new [`scss/load-no-partial-leading-underscore`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/load-no-partial-leading-underscore/README.md) rule - [stylelint] Added, but disabled [`scss/at-use-no-redundant-alias`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/at-use-no-redundant-alias/README.md) rule ### Fixed - [general] Removed '--verbose' argument for `tsc` and `markdownlint`, which don't support it - [general] Show errors in linter-bundle configuration file ### Changed - [general] Drop support for Node.js version less than v18.12.0 as `stylelint@16.0.0` doesn't support them anymore - [eslint] Updated `@typescript-eslint` from `6.5.0` to `6.19.0` - [eslint] Updated `eslint` from `8.48.0` to `8.56.0` - [eslint] Updated `eslint-import-resolver-typescript` from `3.6.0` to `3.6.1` - [eslint] Updated `eslint-import-resolver-webpack` from `0.13.7` to `0.13.8` - [eslint] Updated `eslint-plugin-import` from `2.28.1` to `2.29.1` - [eslint] Updated `eslint-plugin-jest` from `27.2.3` to `27.6.3` - [eslint] Updated `eslint-plugin-jsdoc` from `46.5.1` to `48.0.2` - [eslint] Updated `eslint-plugin-jsx-a11y` from `6.7.1` to `6.8.0` - [eslint] Updated `eslint-plugin-n` from `16.0.2` to `16.6.2` - [eslint] Updated `eslint-plugin-unicorn` from `48.0.1` to `50.0.1` - [markdownlint] Updated `markdownlint-cli` from `0.36.0` to `0.38.0` - [stylelint] Updated `postcss-scss` from `4.0.7` to `4.0.9` - [stylelint] Updated `stylelint` from `15.10.3` to `16.2.0` - [stylelint] Updated `stylelint-declaration-block-no-ignored-properties` from `2.7.0` to `2.8.0` - [stylelint] Updated `stylelint-order` from `6.0.3` to `6.0.4` - [stylelint] Updated `stylelint-scss` from `5.1.0` to `6.0.0` - [stylelint] Updated `stylelint-use-logical-spec` from `5.0.0` to `5.0.1` - [stylelint] Forked 73 stylistic rules from `stylelint@15.11.0` which have been removed in `stylelint@16.0.0` - [audit] Updated `better-npm-audit` from `1.9.1` to `3.7.3` - [audit] Updated `improved-yarn-audit` from `2.3.3` to `3.0.0` - [eslint] Enable `ignoreOverrideMethods` and `ignoreClassesThatImplementAnInterface` of [`@typescript-eslint/class-methods-use-this`](https://typescript-eslint.io/rules/class-methods-use-this/) rule - [eslint] Enable `includeTypes` option of [`import/no-extraneous-dependencies`](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-extraneous-dependencies.md) rule - [eslint/overrides-javascript] Activated rule [`unicorn/prefer-module`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-module.md) rule - [stylelint] Re-use [`stylelint-high-performance-animation`](https://www.npmjs.com/package/stylelint-high-performance-animation) instead of the fork, as it seems to be maintained again ### Removed - [eslint] Remove deprecated `no-new-object` rule - [markdownlint] Update removed the deprecated `MD002`/`MD006` rules - [markdownlint] Update removed rule aliases for "header" - [stylelint] Removed deprecated `scss/at-import-no-partial-leading-underscore` rule [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v5.1.0...v6.0.0) ## [5.1.0] - 2023-09-03 ### Added - [general] Added basic schema for `.linter-bundle.json` configuration file ### Fixed - [general] Fix support for `.linter-bundle.json` [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v5.0.1...v5.1.0) ## [5.0.1] - 2023-09-03 ### Changed - [general] Updated [README.md](./README.md) to reflect breaking changes in v5.0.0. [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v5.0.0...v5.0.1) ## [5.0.0] - 2023-09-03 ### Breaking change - [general] Migrated the code base from CommonJS to ESModules (as far as possible, because ESLint currently does not support ESModules) - [general] The linter-bundle configuration can now be a ESModule (`.linter-bundle.mjs` is supported) - [general] `"extends"` in the .eslintrc.js needs to be suffixed with the ".cjs" file extension (e.g. `require.resolve('linter-bundle/eslint.cjs')`) - [general] `"extends"` in the stylelint.config.js needs to be suffixed with the ".cjs" file extension (e.g. `require.resolve('linter-bundle/stylelint.cjs')`) ### Changed - [files] Report unmatched `allowed` pattern - [markdownlint] Updated `markdownlint-cli` from `0.35.0` to `0.36.0` - [eslint] Disabled `considerComments` option of [`import/new-after-import`](https://github.com/import-js/eslint-plugin-import/blob/v2.28.1/docs/rules/newline-after-import.md) rule as it conflicts with the [`import/order`](https://github.com/import-js/eslint-plugin-import/blob/v2.28.1/docs/rules/order.md) rule - [eslint/overrides-javascript] Disable [`import/dynamic-import-chunkname`](https://github.com/import-js/eslint-plugin-import/blob/v2.28.1/docs/rules/dynamic-import-chunkname.md) for JavaScript files [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v4.0.3...v5.0.0) ## [4.0.3] - 2023-08-31 ### Fixed - [files] Don't show "No relevant files changed." if the `--git`` option was not used [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v4.0.2...v4.0.3) ## [4.0.2] - 2023-08-31 ### Fixed - [files] Don't append `"**"` as fallback argument to the command line [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v4.0.1...v4.0.2) ## [4.0.1] - 2023-08-31 ### Changed - [eslint] Disabled `unicorn/filename-case` in favour of the new linter-bundle `files` task ### Fixed - [files] Fixed path to `files` task [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v4.0.0...v4.0.1) ## [4.0.0] - 2023-08-30 ### Breaking change - [general] The global configuration variable `global.linterBundleSettings` has been replaced by a `.linter-bundle.json` / `.linter-bundle.cjs` / `.linter-bundle.js` configuration file in the projects root directory ### Added - [general] New `files` task which ensures that files in the project match the restrictions defined in the linter-bundle configuration file. ### Changed - [eslint] Updated `eslint-plugin-jsdoc` from `46.5.0` to `46.5.1` [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v3.10.0...v4.0.0) ## [3.10.0] - 2023-08-29 ### Changed - [eslint] Updated `@typescript-eslint` from `6.4.1` to `6.5.0` ### Fixed - [eslint] Don't consider files outside of `basePath` in [`restricted-filenames`](./eslint/rules/restricted-filenames.md) rule [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v3.9.0...v3.10.0) ## [3.9.0] - 2023-08-28 ### Changed - [general] Use users default shell for linting sub-processes [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v3.8.0...v3.9.0) ## [3.8.0] - 2023-08-28 ### Changed - [eslint] Updated `@typescript-eslint` from `6.3.0` to `6.4.1` - [eslint] Updated `eslint` from `8.47.0` to `8.48.0` - [eslint] Updated `eslint-import-resolver-webpack` from `0.13.4` to `0.13.7` - [eslint] Updated `eslint-plugin-import` from `2.28.0` to `2.28.1` - [eslint] Updated `eslint-plugin-jsdoc` from `46.4.6` to `46.5.0` - [eslint] Updated `eslint-plugin-n` from `16.0.1` to `16.0.2` - [eslint] Updated `eslint-plugin-react` from `7.33.1` to `7.33.2` - [stylelint] Updated `postcss-scss` from `4.0.6` to `4.0.7` - [stylelint] Updated `stylelint` from `15.10.2` to `15.10.3` ### Added - [eslint] New rule [`restricted-filenames`](./eslint/rules/restricted-filenames.md), which restrict file and path names with given glob patterns. [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v3.7.0...v3.8.0) ## [3.7.0] - 2023-08-11 ### Changed - [eslint] Adjusted `jsdoc/tag-lines` configuration to enforce no empty like for `@typedef`, `@property` and `@returns`; and weakened line configuration for `@see` [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v3.6.0...v3.7.0) ## [3.6.0] - 2023-08-11 ### Changed - [general] Change peer-dependency of `typescript` from `^4.0.0` to `>=4.0.0` - [eslint] Updated `@typescript-eslint` from `6.2.0` to `6.3.0` - [eslint] Updated `eslint` from `8.45.0` to `8.47.0` - [eslint] Updated `eslint-import-resolver-typescript` from `3.5.5` to `3.6.0` - [eslint] Updated `eslint-import-resolver-webpack` from `0.13.2` to `0.13.4` - [eslint] Updated `eslint-plugin-functional` from `5.0.8` to `6.0.0` - [eslint] Updated `eslint-plugin-jsdoc` from `46.4.5` to `46.4.6` - [eslint] Updated `eslint-plugin-react` from `7.33.0` to `7.33.1` - [stylelint] Updated `stylelint-scss` from `5.0.1` to `5.1.0` - [styleint] Added but disabled [`scss/function-disallowed-list`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/function-disallowed-list) rule ### Removed - [eslint] Removed deprecated (and currently disabled) `no-return-await` rule [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v3.5.0...v3.6.0) ## [3.5.0] - 2023-07-28 ### Changed - [eslint] Updated `@typescript-eslint/eslint-plugin` from `6.1.0` to `6.2.0` - [eslint] Updated `eslint-plugin-import` from `2.27.5` to `2.28.0` - [eslint] Updated `eslint-plugin-jsdoc` from `46.4.4` to `46.4.5` - [eslint] Updated `eslint-plugin-react` from `7.32.2` to `7.33.0` - [eslint] Updated `eslint-plugin-unicorn` from `48.0.0` to `48.0.1` - [eslint] Reactivated `unicorn/no-empty-file` - [eslint] Activated `ignoreConditionalTests` and `ignoreMixedLogicalExpressions` options of [@typescript-eslint/prefer-nullish-coalescing](https://typescript-eslint.io/rules/prefer-nullish-coalescing.md) rule - [styleint] Set `ignoreFunctions` option to `/^custom-/u` of [`scss/function-no-unknown`](https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/function-no-unknown/README.md) rule - [stylelint] Ignore SCSS variables in [`declaration-property-value-no-unknown`](https://stylelint.io/user-guide/rules/declaration-property-value-no-unknown/) rule - [stylelint] Ignore wrapping parentheses for `grid-template-areas` values in [`declaration-property-value-no-unknown`](https://stylelint.io/user-guide/rules/declaration-property-value-no-unknown/) rule ### Added - Replace the ESLint rule `class-methods-use-this` by the new [`@typescript-eslint/class-methods-use-this`](https://typescript-eslint.io/rules/class-methods-use-this/) rule [Show all code changes](https://github.com/jens-duttke/linter-bundle/compare/v3.4.0...v3.5.0) ## [3.4.0] - 2023-07-20 ### Changed - [eslint] Updated `@typescript-eslint` from `6.0.0` to `6.1.0` - [eslint] Updated `eslint` from `8.44.0` to `8.45.0` - [eslint] Updated `eslint-plugin-jsdoc` from `46.4.3` to `46.4.4` - [eslint] Updated `eslint-plugin-unicorn` from `47.0.0` to `48.0.0` - [stylelint] Updated `stylelint` from `15.10.1` to `15.