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

Package detail

linter-bundle

jens-duttke448MIT7.6.0TypeScript support: included

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

eslint, stylelint, markdownlint, config, functional, import, jest, node, react, react-hooks, unicorn, scss, css

readme

linter-bundle

npm version Dependency Status Known Vulnerabilities npm MIT license

Ready-to use bundle of linting tools, containing configurations for

The linting tools are running in parallel, which can improve the performance by more than 20 percent.

Used plugins

This setup is using the following additional plugins:

ESLint

The linter-bundle is using the Flat Configuration Format which was introduced in ESLint v8.

Beside that, the following additional rules are part of this bundle:

stylelint

Beside that 72 stylistic rules has been forked from `stylelint@15.11.0, which have been removed instylelint@16.0.0`, are part of this bundle.

Previously used, but now unmaintained plugins

Unfortunately a couple of previously used plugins are not regularly maintained or depend on unmaintained third-party code which blocks them from updating, so they don't provide updates for the major releases of the linters (ESLint and Stylelint). For that reason the following plugins are not used anymore:

If these plugins are maintained again, the plugins will also be used again.

Install

Ensure you are using atleast Node.js version 20.9.0/21.1.0.

npm install linter-bundle --save-dev

Usage examples

package.json

{
  "scripts": {
    "lint": "lint tsc ts css md audit",
    "lint-different-configurations": "lint tsc --tsconfig=./path1/tsconfig.json tsc --tsconfig=./path2/tsconfig.json ts css md audit"
  }
}

eslint.config.mjs

import gatsbyConfig from 'linter-bundle/eslint/gatsby.mjs';
import javascriptConfig from 'linter-bundle/eslint/javascript.mjs';
// import javascriptLazyConfig from 'linter-bundle/eslint/javascript-lazy.mjs';
import jestConfig from 'linter-bundle/eslint/jest.mjs';
import jsdocConfig from 'linter-bundle/eslint/jsdoc.mjs';
import reactConfig from 'linter-bundle/eslint/react.mjs';
import storybookConfig from 'linter-bundle/eslint/storybook.mjs';
import typeDeclarationsConfig from 'linter-bundle/eslint/type-declarations.mjs';
import workerConfig from 'linter-bundle/eslint/worker.mjs';
import eslintConfig from 'linter-bundle/eslint.mjs';

export default [
  ...eslintConfig,
  ...gatsbyConfig,
  ...javascriptConfig,
  // ...javascriptLazyConfig,
  ...jsdocConfig,
  ...reactConfig,
  ...storybookConfig,
  ...typeDeclarationsConfig,
  ...workerConfig
  ...jestConfig,
]
Available extends
Source Description Rules setup
linter-bundle/eslint.mjs General rule setup. This is also the base for the following specialized rule sets. View
linter-bundle/eslint/gatsby.mjs Settings for Gatsby-based projects. View
linter-bundle/eslint/javascript.mjs Strict settings for JavaScript files, which enforces correct types everywhere. View
linter-bundle/eslint/javascript-lazy.mjs Can be used instead of javascript. It's less strict and allows the any type. View
linter-bundle/eslint/jest.mjs Settings for projects using Jest. View
linter-bundle/eslint/jsdoc.mjs Settings for projects using JSDoc comments. View
linter-bundle/eslint/react.mjs Settings for projects using React comments. View
linter-bundle/eslint/storybook.mjs Settings for projects using Storybook comments. View
linter-bundle/eslint/type-declarations.mjs Settings for type declaration files (.d.ts). View
linter-bundle/eslint/worker.mjs Settings for projects using Web Workers. View

stylelint.config.js

export default {
  extends: 'linter-bundle/stylelint.mjs'
};

.markdownlint.json

{
  "extends": "node_modules/linter-bundle/markdownlint/base.json"
}

.gitignore / .npmignore

.eslintcache

.linter-bundle.json / .linter-bundle.mjs / .linter-bundle.js

linter-bundle supports a couple of additional options, which can be configured in the configuration file, in the root of your project.
Some of the options are also available as command line arguments (see below).
The file itself, and any of the options is optional.

Minimum example configuration (.linter-bundle.json)

{
  "verbose": true,
  "timing": true,
  "git": true,
  "tsc": {
    "tsconfig": "./tsconfig.lint.json"
  },
  "ts": {
    "tsconfig": "./tsconfig.lint.json",
    "include": ["./included/*.ts"],
    "exclude": ["./excluded/*.ts"],
    "overrides": {
      "general": {
        "no-restricted-globals": {
          "additionalRestrictions": [
            {
              "name": "fetch",
              "message": "Use Utils.fetchWithTimeout() instead."
            }
          ]
        },
        "no-restricted-properties": {
          "additionalRestrictions": [
            {
              "object": "localStorage",
              "property": "getItem",
              "message": "Use StorageHelper.getItem() instead."
            }
          ]
        },
        "no-restricted-syntax": {
          "additionalRestrictions": [
            {
              "selector": "NewExpression[callee.name=\"Blob\"]",
              "message": "Use BlobHelper.create() instead of new Blob()."
            }
          ]
        },
        "import/order": {
          "additionalExternalPatterns": ["@sentry/*"]
        },
        "@typescript-eslint/naming-convention": {
          "additionalOptions": [
            {
              "selector": "variable",
              "modifiers": ["const"],
              "format": ["camelCase"]
            }
          ]
        }
      },
      "react": {
        "react/forbid-component-props": {
          "allowClassNameFor": ["Checkbox", "Grid", "GridItem", "Button"],
          "allowStyleFor": ["Grid", "GridItem"]
        }
      }
    }
  },
  "css": {
    "include": ["./included/*.css"],
    "patternPrefix": "(my-prefix|another-prefix)"
  },
  "md": {
    "include": ["./included/*.md"],
  },
  "audit": {
    "minSeverity": "high",
    "exclude": ["975", "1751"]
  },
  "files": {
    "restrictions": [
      {
        "basePath": "./src",
        "allow": [
          "components/**/index.tsx",
          "utils/{index.ts,lib/[a-z]+([a-zA-Z])?(.spec).ts}"
        ],
        "disallow": [
          "components/NotAllowed/index.tsx"
        ]
      }
    ]
  }
}

Maximum example configuration (.linter-bundle.js)

<summary>Click here to see the example configuration with descriptions</summary>
export default {
  /**
   * Same as `--verbose` command line argument.
   * 
   * @type {boolean}
   */
  verbose: true,

  /**
   * Same as `--timing` command line argument.
   * 
   * @type {boolean}
   */
  timing: true,

  /**
   * Same as `--git` command line argument.
   * 
   * @type {boolean}
   */
  git: true,

  /**
   * Configuration, specific to the `tsc` command.
   */
  tsc: {
    /**
     * Same as `--tsconfig` command line argument.
     * 
     * @type {string}
     */
    tsconfig: './tsconfig.lint.json'
  },

  /**
   * Configuration, specific to the `ts` command.
   */
  ts: {
    /**
     * `timing` and `git` are the same as in the root node.
     */
    timing: true,
    git: true,

    /**
     * Same as `--tsconfig` command line argument.
     * 
     * @type {string}
     */
    tsconfig: './tsconfig.lint.json',

    /**
     * Same as `--include` command line argument.
     * 
     * @type {string[]}
     */
    include: ['./included/*.ts'],

    /**
     * Same as `--exclude` command line argument.
     * 
     * @type {string[]}
     */
    exclude: ['./excluded/*.ts'],

    /**
     * Overrides and extensions for specific ESLint rules.
     */
    overrides: {
      /**
       * Rules that are applied to `linter-bundle/eslint.mjs`.
       */
      general: {
        'no-restricted-globals': {
          /**
           * Extend the `restrictions` of the `no-restricted-globals` rule.
           * 
           * @type {{ name: string; message: string; }[]}
           */
          additionalRestrictions: [
            {
              name: 'fetch',
              message: 'Use Utils.fetchWithTimeout() instead.'
            }
          ]
        },
        'no-restricted-properties': {
          /**
           * Extend the `restrictions` of the `no-restricted-properties` rule.
           * 
           * @type {{ object: string; property: string; message: string; }[]}
           */
          additionalRestrictions: [
            {
              object: 'localStorage',
              property: 'getItem',
              message: 'Use StorageHelper.getItem() instead.'
            }
          ]
        },
        'no-restricted-syntax': {
          /**
           * Extend the `restrictions` of the `no-restricted-syntax` rule.
           * 
           * @type {{ selector: string; message: string; }[]}
           */
          additionalRestrictions: [
            {
              selector: 'NewExpression[callee.name="Blob"]',
              message: 'Use BlobHelper.create() instead of new Blob().'
            }
          ]
        },
        'import/order': {
          /**
           * Extend the `externalPatterns` of the `import/order` rule.
           *
           * @type {string[]}
           */
          additionalExternalPatterns: ['@sentry/*']
        }
      },

      /**
       * Rules that are applied to `linter-bundle/eslint/react.mjs`.
       */
      react: {
        'react/forbid-component-props': {
          /**
           * Allows the `className` property for the specified components.
           *
           * @type {string[]}
           */
          allowClassNameFor: ['Checkbox', 'Grid', 'GridItem', 'Button'],

          /**
           * Allows the `style` property for the specified components.
           *
           * @type {string[]}
           */
          allowStyleFor: ['Grid', 'GridItem']
        }
      }
    }
  },

  /**
   * Configuration, specific to the `css` command.
   */
  css: {
    /**
     * `verbose`, `timing` and `git` are the same as in the root node.
     */
    verbose: true,
    timing: true,
    git: true,

    /**
     * Same as `--include` command line argument.
     * 
     * @type {string[]}
     */
    include: ['./included/*.css'],

    /**
     * The prefix used for the 'custom-media-pattern' (`@media (--my-prefix-foo)`) and 'custom-property-pattern' (`var(--my-prefix-bar)`) rule.
     *
     * If not defined, these rules are disabled.
     */
    patternPrefix: '--my-prefix'
  },

  /**
   * Configuration, specific to the `audit` command.
   */
  md: {
    /**
     * `git` is the same as in the root node.
     */
    git: true,

    /**
     * Same as `--include` command line argument.
     * 
     * @type {string[]}
     */
    include: ['./included/*.md']
  },

  /**
   * Configuration, specific to the `audit` command.
   */
  audit: {
    /**
     * Same as `--min-severity` command line argument.
     * 
     * @type {'info' | 'low' | 'moderate' | 'high' | 'critical'}
     */
    minSeverity: 'high',

    /**
     * Same as `--exclude` command line argument.
     * 
     * @type {string[]}
     */
    exclude: ['975', '1751']
  },

  /**
   * Configuration, specific to the `files` command.
   */
  files: {
    /**
     * `git` is the same as in the root node.
     */
    git: true,

    /**
     * Same as `--include` command line argument.
     * 
     * @type {string[]}
     */
    include: ['./included/*.ts'],

    /**
     * Array of restrictions for different base paths.
     *
     * The configuration is equal to the `restricted-filenames` ESLint plugin.
     * This plugin is using the configuration here, if ESLint is used outside of `linter-bundle` (e.g. in VSCode).
     *
     * @see https://github.com/jens-duttke/linter-bundle/blob/main/eslint/rules/restricted-filenames.md
     */
    restrictions: [
      {
        /**
         * Same as `--exclude` command line argument.
         * 
         * @type {string}
         */
        basePath: './src',

        /**
         * Glob pattern Same as `--exclude` command line argument.
         * 
         * @type {string[]}
         */
        allow: [
          'components/**/index.tsx',
          'utils/{index.ts,lib/[a-z]+([a-zA-Z])?(.spec).ts}'
        ],

        /**
         * Same as `--exclude` command line argument.
         * 
         * @type {string[]}
         * 
         */
        disallow: [
          'components/NotAllowed/index.tsx'
        ]
      }
    ]
  }
}

Available commands

The command line arguments are separated in groups. Here are some examples:

# Run File restrictions, TypeScript compiler, ESLint, Stylelint, Markdownlint, and audit in the given order, using the default configuration
lint files tsc ts css md audit

# Run ESLint and Audit, and show their terminal output even on success
lint --verbose ts audit

# Run ESLint and Audit, and show the ESLint terminal output even on success
lint ts --verbose audit

# Run TypeScript compiler and ESLint, but with different tsconfig.json files
lint tsc --tsconfig=./cypress/tsconfig.json ts --tsconfig=./.storybook/tsconfig.json

# Run TypeScript compiler twice with different configurations
lint tsc tsc --tsconfig="./cypress/tsconfig.json"

Below, you can find the available command line arguments and what they are doing.

General optional command line arguments

Argument Description Example
--verbose By default, the terminal output of linters is only shown if an error occurs. Use this option to show their terminal output even on success. --verbose
--timing Show information how long each linting process was running. --timing
--git Experimental Only lint (ESLint, Stylelint and Markdownlint) files which have been detected as changed (compared to the upstream branch) by Git. This can result into massive performance improvements on large code bases, but also lead to undetected issues with cross-file rules. --git

lint files

Will check if the files in the project match the restrictions defined in the linter-bundle configuration file.

lint tsc

Will execute:

tsc --skipLibCheck --noEmit

Optional command line arguments for lint tsc

Argument Description Example
--tsconfig Allows to specifiy a different tsconfig.json file. --tsconfig=./cypress/tsconfig.json

lint ts

Will execute:

eslint "./**/*.{js,cjs,mjs,jsx,ts,cts,mts,tsx}" --format unix

Additionally, the environment variable TIMING is set to 10, to show timing information about the 10 slowest rules.

Optional command line arguments for lint ts

Argument Description Example
--tsconfig Allows to specifiy a different tsconfig.json file. --tsconfig=./cypress/tsconfig.json
--include Patterns with files which should be considered --include="./cypress/**/*.ts"
--exclude Patterns with files which should not be considered. Can be used multiple times for different patterns. Used as --ignore-pattern argument for ESLint. --exclude="cypress" --exclude=".storybook"

lint css

Will execute:

stylelint "src/**/*.{css,scss}" --formatter unix --report-needless-disables --report-invalid-scope-disables --report-descriptionless-disables

lint md

Will execute:

markdownlint **/*.md --ignore node_modules

lint audit

If a package.json exist, it will execute:

better-npm-audit audit -l moderate -p

If a yarn.lock exist, it will execute:

improved-yarn-audit --min-severity moderate --fail-on-missing-exclusions --ignore-dev-deps

Optional command line arguments for lint audit

Argument Description Example
--min-severity Minimum severity to treat as an error, default is moderate (info, low, moderate, high, critical). Used as -l argument for better-npm-audit, and --min-severity argument for improved-yarn-audit. --min-severity=moderate
--exclude Comma-separated list of advisory IDs to ignore. Used as -i argument for better-npm-audit, and --exclude argument for improved-yarn-audit. --exclude=118,577

VSCode setup

ESLint

For VSCode I recommend the ESLint extension.

To ensure the ESLint plugins are correctly loaded, you need to adjust the settings of this plugin.

This can be done by adding these options to your .vscode/settings.json:

{
  "eslint.nodePath": "./node_modules/linter-bundle/node_modules/eslint",
  "eslint.options": {
    "overrideConfigFile": "./eslint.config.mjs"
  }
}

If the ESLint extension shows the following message on the bottom-right:

https://cdn.jsdelivr.net/gh/jens-duttke/linter-bundle@f7d514f/vscode-eslint-1.png

Click on "Select Node Path". A selection popup will appear at the top of the editor:

https://cdn.jsdelivr.net/gh/jens-duttke/linter-bundle@f7d514f/vscode-eslint-2.png

Here, choose the option "Use NODE_PATH value defined via setting".

stylelint

For VSCode I recommend the stylelint extension.

To ensure the stylelint plugins are correctly loaded, you need to adjust the settings of this plugin in your .vscode/settings.json:

{
  "stylelint.enable": true,
  "stylelint.validate": [,
    "css",
    "scss"
  ],
  "css.validate": false,
  "less.validate": false,
  "scss.validate": false
}

Auto-fix code on save

In order to fix the code according to the ESLint/stylelint rules when saving, the following settings can be added to your .vscode/settings.json:

{
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true,
    "source.fixAll.stylelint": true
  }
}

Rulers

To visualize the max line-length rules in VSCode, you can activate rulers, by adding the following settings to your .vscode/settings.json:

{
  "[javascript]": {
    "editor.rulers": [300]
  },
  "[markdown]": {
    "editor.rulers": [300]
  },
  "[css]": {
    "editor.rulers": [160]
  },
  "[scss]": {
    "editor.rulers": [160]
  },
  "[typescript]": {
    "editor.rulers": [300]
  },
  "[typescriptreact]": {
    "editor.rulers": [300]
  }
}

FAQ

How to solve the problem Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser. ?

If you get such an error message:

Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser.
The file does not match your project config: [any-name].js.
The file must be included in at least one of the projects provided.

the problem is most likely, that your tsconfig.json does not cover your JavaScript files and that you don't have a jsconfig.json file in your root directory. This is required by the @typescript-eslint to use TypeScript for linting of JavaScript files.

To solve this problem, either "include" your JavaScript files in your tsconfig.json (don't forget to set the compiler option "checkJs" to true) or create a jsconfig.json file in your root directory (this can be a copy of your tsconfig.json with an "include" of your JavaScript files).

changelog

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Show all code changes

[7.6.0] - 2025-05-14

  • [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 rule
  • [eslint] Added unicorn/no-unnecessary-array-flat-depth rule
  • [eslint] Added unicorn/no-unnecessary-array-splice-count rule
  • [eslint] Activated unicorn/prefer-event-target rule
  • [eslint] Activated unicorn/prefer-top-level-await rule
  • [eslint] Added @typescript-eslint/no-unnecessary-type-conversion rule
  • [stylelint] Activated selector-not-notation rule with "complex" option

Show all code changes

[7.5.0] - 2025-04-08

  • [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 rule
  • [eslint] Disabled unicorn/prefer-string-raw rule
  • [stylelint] Added new color-function-alias-notation rule and set it to without-alpha
  • [stylelint] Added new container-name-pattern rule and apply sass > patternPrefix from the linter-bundle configuration, if set
  • [stylelint] Added new layer-name-pattern rule and apply sass > patternPrefix from the linter-bundle configuration, if set

Show all code changes

Changed

  • [eslint] Updated eslint from 9.22.0 to 9.23.0
  • [eslint/react] Activated allowExpressions of the @typescript-eslint/explicit-function-return-typerule also for the React overrides

Show all code changes

[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-typerule also for the React overrides

Show all code changes

[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

[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

[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

Show all code changes

[7.1.1] - 2025-03-15

Fixed

  • [eslint/react] Fixed Key "plugins": Cannot redefine plugin "linter-bundle". issue

Show all code changes

[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 which enforces parentheses around logical operations
  • [eslint] Added custom linter rule linter-bundle/enforce-ternary-parens which ensures ternary expressions are wrapped in parentheses
  • [eslint] Added custom linter rule linter-bundle/no-extra-spaces-in-generics to disallows spaces after the < and before the > in TypeScript generics
  • [eslint] Added custom linter rule linter-bundle/no-ternary-return which disallows ternary expressions as return values for better readability
  • [eslint] Configured 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 to enforces using Lucide 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

[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 website additional required changes
  • [eslint] The VSCode configuration needs to be adapted. See 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 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 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

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

[6.3.0] - 2024-02-06

Changed

Added

Show all code changes

[6.2.2] - 2024-01-25

Fixed

Show all code changes

[6.2.1] - 2024-01-25

Changed

  • [stylelint] Change order of (inset/margin/padding)-block and (inset/margin/padding)-inset

Show all code changes

[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 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 configuration

Show all code changes

[6.1.0] - 2024-01-24

Changed

Show all code changes

[6.0.0] - 2024-01-21

Added

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.0which have been removed instylelint@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 rule
  • [eslint] Enable includeTypes option of import/no-extraneous-dependencies rule
  • [eslint/overrides-javascript] Activated rule unicorn/prefer-module rule
  • [stylelint] Re-use 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

[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

[5.0.1] - 2023-09-03

Changed

  • [general] Updated README.md to reflect breaking changes in v5.0.0.

Show all code changes

[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

Show all code changes

[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

[4.0.2] - 2023-08-31

Fixed

  • [files] Don't append "**" as fallback argument to the command line

Show all code changes

[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

[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

[3.10.0] - 2023-08-29

Changed

  • [eslint] Updated @typescript-eslint from 6.4.1 to 6.5.0

Fixed

Show all code changes

[3.9.0] - 2023-08-28

Changed

  • [general] Use users default shell for linting sub-processes

Show all code changes

[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, which restrict file and path names with given glob patterns.

Show all code changes

[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

[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 rule

Removed

  • [eslint] Removed deprecated (and currently disabled) no-return-await rule

Show all code changes

[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 rule
  • [styleint] Set ignoreFunctions option to /^custom-/u of scss/function-no-unknown rule
  • [stylelint] Ignore SCSS variables in declaration-property-value-no-unknown rule
  • [stylelint] Ignore wrapping parentheses for grid-template-areas values in declaration-property-value-no-unknown rule

Added

Show all code changes

[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.10.2
  • [eslint] Moved unicorn/import-style configuration for path (unassigned: false, default: false, namespace: true, named: true) from overrides-storybook into the main configuration.
  • [eslint/overrides-javascript] Activated unicorn/prefer-top-level-await rule for *.mjs files.

Fixed

  • [stylelint] Fixed Cannot find module 'node_modules/stylelint/bin/stylelint.js' issue, if the file is called stylelint.mjs

Show all code changes

[3.3.0] - 2023-07-13

Changed

  • [general] Drop support for Node.js version v17 (v16 is still supported), as @typescript-eslint v6.0.0 doesn't support it anymore
  • [eslint] Updated @typescript-eslint from 5.59.9 to 6.0.0
  • [eslint] Updated eslint from 8.42.0 to 8.44.0
  • [eslint] Updated eslint-plugin-jest from 27.2.1 to 27.2.3
  • [eslint] Updated eslint-plugin-n from 16.0.0 to 16.0.1
  • [eslint/overrides-jsdoc] Updated eslint-plugin-jsdoc from 46.2.4 to 46.4.3
  • [markdownlint] Updated markdownlint-cli from 0.34.0 to 0.35.0
  • [stylelint] Updated stylelint from 15.7.0 to 15.10.1
  • [stylelint] Updated stylelint-scss from 5.0.0 to 5.0.1
  • [eslint/overrides-jsdoc] Don't enforce line-breaks before @throws by the jsdoc/tag-lines rule
  • [stylelint] Forked stylelint-selector-no-empty, because it seems not to be regularly maintained anymore

Added

  • [stylelint] Make use of new media-feature-name-value-no-unknown rule
  • [stylelint] Make use of new media-query-no-invalid rule
  • [eslint/overrides-javascript] Activated @typescript-eslint/prefer-nullish-coalescing for JavaScript file, as it is now supported in Node.js for a while.
  • [eslint/overrides-javascript] Activated @typescript-eslint/prefer-optional-chain for JavaScript file, as it is now supported in Node.js for a while.

Removed

  • [eslint] Remove silently removed @typescript-eslint/no-parameter-properties rule
  • [eslint] Disabled unicorn/no-empty-file, because of false-positives with @typescript-eslint v6.0.0

Show all code changes

[3.2.0] - 2023-06-06

Changed

  • [eslint] Updated @typescript-eslint from 5.59.8 to 5.59.9
  • [stylelint] Updated stylelint from 15.6.3 to 15.7.0

Show all code changes

[3.1.0] - 2023-06-05

Changed

  • [eslint] Disabled unicorn/prefer-blob-reading-methods rule, as it's not widely supported yet
  • [eslint] Updated @typescript-eslint from 5.59.6 to 5.59.8
  • [eslint] Updated eslint from 8.40.0 to 8.42.0
  • [eslint] Updated eslint-plugin-jsdoc from 44.2.4 to 46.2.4
  • [stylelint] Updated stylelint from 15.6.1 to 15.6.3

Added

  • [eslint/overrides-jsdoc] Added, but disabled new jsdoc/imports-as-dependencies rule, as it doesn't cover peerDependencies and Node.js modules (like child_process)

Show all code changes

[3.0.0] - 2023-05-16

Changed

  • [general] The minimum required Node.js version is v16 now
  • [eslint] Consider JavaScript files with the '.cjs' file extension (CommonJS Modules)
  • [eslint] Consider TypeScript files with the '.mts' file extension (TypeScript ES Modules)
  • [eslint] Consider TypeScript files with the '.cts' file extension (TypeScript CommonJS modules)
  • [eslint] Move root rules into overrides to limit them to the files with the extensions js, cjs, mjs, jsx, ts, cts, mts, tsx, and to prevent that they are applied to overrides for non-JavaScript files (e.g. GraphQL schema files)
  • [eslint] Updated @typescript-eslint from 5.59.2 to 5.59.6
  • [eslint] Updated eslint from 8.39.0 to 8.40.0
  • [eslint] Updated eslint-plugin-jsdoc from 43.2.0 to 44.2.4
  • [eslint] Updated eslint-plugin-n from 15.7.0 to 16.0.0
  • [eslint] Updated eslint-plugin-unicorn from 46.0.0 to 47.0.0
  • [eslint] Make use of new unicorn/prefer-blob-reading-methods rule

Show all code changes

[2.29.0] - 2023-05-05

Fixed

  • [stylelint] Fix liberty/use-logical-spec and order/properties-order issue with the inset property

Changed

  • [eslint] Updated @typescript-eslint from 5.59.0 to 5.59.2
  • [eslint] Updated eslint-plugin-jsdoc from 43.0.7 to 43.2.0
  • [markdownlint] Updated markdownlint-cli from 0.33.0 to 0.34.0
  • [stylelint] Updated stylelint from 15.5.0 to 15.6.1
  • [stylelint] Updated stylelint-scss from 4.6.0 to 5.0.0

Added

Show all code changes

[2.28.0] - 2023-04-22

Changed

  • [eslint] Updated @typescript-eslint from 5.49.0 to 5.59.0
  • [eslint] Updated eslint from 8.32.0 to 8.39.0
  • [eslint] Updated eslint-import-resolver-typescript from 3.5.3 to 3.5.5
  • [eslint] Updated eslint-plugin-functional from 4.4.1 to 5.0.8
  • [eslint] Updated eslint-plugin-jsdoc from 39.6.9 to 43.0.7
  • [eslint] Updated eslint-plugin-n from 15.6.1 to 15.7.0
  • [eslint] Updated eslint-plugin-react from 7.32.1 to 7.32.2
  • [eslint] Updated eslint-plugin-unicorn from 45.0.2 to 46.0.0
  • [stylelint] Updated stylelint from 14.16.1 to 15.5.0
  • [stylelint] Updated stylelint-declaration-block-no-ignored-properties from 2.6.0 to 2.7.0
  • [stylelint] Updated stylelint-order from 6.0.1 to 6.0.3
  • [stylelint] Updated stylelint-scss from 4.3.0 to 4.6.0
  • [stylelint] Updated stylelint-use-logical-spec from 4.1.0 to 5.0.0
  • [eslint] Consider JavaScript files with the '.mjs' file extension (ECMAScript Modules)
  • [eslint] Activated react/destructuring-assignment rule
  • [stylelint] Since all 76 stylistic Stylelint rules have been marked as deprecated, code to fork them has been implemented

Added

Removed

  • [eslint] Removed deprecated rule functional/prefer-readonly-type
  • [eslint/overrides-jsdoc] Removed deprecated rule jsdoc/newline-after-description
  • [stylelint] Removed deprecated rule at-rule-name-newline-after
  • [stylelint] Removed deprecated rule block-closing-brace-space-after
  • [stylelint] Removed deprecated rule block-opening-brace-newline-before

Show all code changes

[2.27.0] - 2023-01-27

Changed

  • [eslint] Updated @typescript-eslint from 5.41.0 to 5.49.0
  • [eslint] Updated eslint from 8.26.0 to 8.32.0
  • [eslint] Updated eslint-import-resolver-typescript from 3.5.2 to 3.5.3
  • [eslint] Updated eslint-plugin-import from 2.26.0 to 2.27.5
  • [eslint] Updated eslint-plugin-jest from 27.1.3 to 27.2.1
  • [eslint] Updated eslint-plugin-jsdoc from 39.3.25 to 39.6.9
  • [eslint] Updated eslint-plugin-jsx-a11y from 6.6.1 to 6.7.1
  • [eslint] Updated eslint-plugin-n from 15.3.0 to 15.6.1
  • [eslint] Updated eslint-plugin-react from 7.31.10 to 7.32.1
  • [eslint] Updated eslint-plugin-unicorn from 44.0.2 to 45.0.2
  • [markdownlint] Updated markdownlint-cli from 0.32.2 to 0.33.0
  • [stylelint] Updated postcss-scss from 4.0.5 to 4.0.6
  • [stylelint] Updated stylelint from 14.14.0 to 14.16.1
  • [stylelint] Updated stylelint-order from 5.0.0 to 6.0.1
  • [eslint] Define order for getters and setters and private fields of @typescript-eslint/member-ordering rule

Added

Fixed

  • [general] Fix typo in linterBundleSettings.overrides.general.additionalRest*r*ictions

Show all code changes

[2.26.0] - 2022-10-27

Changed

  • [eslint] Updated @typescript-eslint from 5.40.1 to 5.41.0
  • [eslint] Updated eslint from 8.25.0 to 8.26.0
  • [eslint] Updated eslint-plugin-jsdoc from 39.3.14 to 39.3.25
  • [stylelint] Updated stylelint-declaration-block-no-ignored-properties from 2.5.0 to 2.6.0
  • [stylelint] Grouped hyphenate-character below hyphens for order/properties-order rule

Added

Show all code changes

[2.25.2] - 2022-10-20

Show all code changes

[2.25.1] - 2022-10-20

Removed

  • [eslint/overrides-react] Revert: Replaced deprecated react/jsx-sort-default-props rule by new react/sort-default-props rule
  • [eslint/overrides-react] Revert: Activate allowDestructuredState option of react/hook-use-state rule

Show all code changes

[2.25.0] - 2022-10-20

Changed

  • [eslint] Updated @typescript-eslint from 5.38.0 to 5.40.1
  • [eslint] Updated eslint from 8.23.1 to 8.25.0
  • [eslint] Updated eslint-import-resolver-typescript from 3.5.1 to 3.5.2
  • [eslint] Updated eslint-plugin-functional from 4.4.0 to 4.4.1
  • [eslint] Updated eslint-plugin-jest from 27.0.4 to 27.1.3
  • [eslint] Updated eslint-plugin-jsdoc from 39.3.6 to 39.3.14
  • [eslint] Updated eslint-plugin-promise from 6.0.1 to 6.1.1
  • [eslint] Updated eslint-plugin-react from 7.31.8 to 7.31.10
  • [eslint] Updated eslint-plugin-unicorn from 43.0.2 to 44.0.2
  • [eslint] Moved eslint-plugin-jsx-a11y configuration to eslint/overrides-react
  • [stylelint] Updated stylelint from 14.12.1 to 14.14.0
  • [stylelint] Ignore !default annotation in annotation-no-unknown rule

Added

Show all code changes

[2.24.0] - 2022-09-23

Changed

Show all code changes

[2.23.0] - 2022-09-21

Added

  • [general] Add functionality to ensure that the installed dependencies match to the required dependency of the linter-bundle

Changed

  • [eslint] Updated eslint-plugin-functional from 4.3.2 to 4.4.0
  • [stylelint] Updated stylelint from 14.12.0 to 14.12.1
  • [eslint] Improved no-unnecessary-typeof to cover even more cases and fix false-positives

Show all code changes

[2.22.0] - 2022-09-19

Changed

  • [eslint] Updated @typescript-eslint from 5.37.0 to 5.38.0
  • [eslint] Updated eslint-plugin-functional from 4.3.1 to 4.3.2
  • [stylelint] Updated postcss-scss from 4.0.4 to 4.0.5
  • [stylelint] Updated stylelint from 14.11.0 to 14.12.0
  • [eslint] Improved no-unnecessary-typeof to cover more cases

Show all code changes

[2.21.0] - 2022-09-14

Added

  • [eslint] New rule no-unnecessary-typeof, which prevents typeof checks at runtime, if a typeof operant has only one type in TypeScript.

Changed

  • [eslint] Updated @typescript-eslint from 5.36.1 to 5.37.0
  • [eslint] Updated eslint from 8.23.0 to 8.23.1
  • [eslint] Updated eslint-import-resolver-typescript from 3.5.0 to 3.5.1
  • [eslint] Updated eslint-plugin-functional from 4.2.2 to 4.3.1
  • [eslint] Updated eslint-plugin-jest from 27.0.1 to 27.0.4
  • [eslint] Updated eslint-plugin-react from 7.31.1 to 7.31.8

Show all code changes

[2.20.0] - 2022-09-01

Changed

  • [eslint] Updated @typescript-eslint from 5.35.1 to 5.36.1
  • [eslint] Updated eslint-plugin-jest from 26.9.0 to 27.0.1

Removed

  • [eslint/overrides-jest] Removed deprecated jest/no-jest-import

Show all code changes

[2.19.0] - 2022-08-28

Changed

  • [eslint] Updated @typescript-eslint from 5.33.1 to 5.35.1
  • [eslint] Updated eslint from 8.22.0 to 8.23.0
  • [eslint] Updated eslint-import-resolver-typescript from 3.4.2 to 3.5.0
  • [eslint] Updated eslint-plugin-jest from 26.8.3 to 26.9.0
  • [eslint] Updated eslint-plugin-promise from 6.0.0 to 6.0.1
  • [eslint] Updated eslint-plugin-react from 7.30.1 to 7.31.1
  • [markdownlint] Updated markdownlint-cli from 0.32.1 to 0.32.2
  • [stylelint] Updated stylelint from 14.10.0 to 14.11.0
  • [eslint] Activate allowEmptyCase option of no-fallthrough rule
  • [stylelint] Activate ignoreAfterCombinators: ['>', '+'] of selector-max-universal rule, see this issue for details

Added

Show all code changes

[2.18.0] - 2022-08-19

Changed

  • [eslint] Updated @typescript-eslint from 5.33.0 to 5.33.1
  • [eslint] Updated eslint from 8.21.0 to 8.22.0
  • [eslint] Updated eslint-import-resolver-typescript from 3.4.0 to 3.4.2
  • [eslint] Updated eslint-plugin-jest from 26.8.2 to 26.8.3
  • [stylelint] Updated stylelint from 14.9.1 to 14.10.0
  • [eslint/overrides-react] Activate allowExpressions for react/jsx-no-useless-fragment rule, to fill the React type definitions requirement that when a component returns only children (a ReactNode), the return value is a ReactElement by wrapping children in a React.Fragment

Added

Show all code changes

[2.17.0] - 2022-08-10

Changed

  • [eslint] Updated @typescript-eslint from 5.32.0 to 5.33.0
  • [eslint] Updated eslint-plugin-jest from 26.7.0 to 26.8.2
  • [eslint] Updated eslint-plugin-jsdoc from 39.3.4 to 39.3.6

Fixed

  • [eslint/overrides-react] Disable react/jsx-no-leaked-render rule, as this should be covered by types in TypeScript to prevent unnecessary type castings from boolean to boolean
  • [stylelint] Add except for "margin" and "padding" in stylelint-use-logical-spec rule, to prevent unnecessary warnings for usages like margin: 10px 20px;

Show all code changes

[2.16.0] - 2022-08-05

Changed

  • [eslint] Updated eslint from 8.14.0 to 8.21.0
  • [eslint] Updated eslint-import-resolver-typescript from 2.7.1 to 3.4.0
  • [eslint] Updated eslint-plugin-functional from 4.2.1 to 4.2.2
  • [eslint] Updated eslint-plugin-jest from 26.1.5 to 26.7.0
  • [eslint] Updated eslint-plugin-jsdoc from 39.2.9 to 39.3.4
  • [eslint] Updated eslint-plugin-jsx-a11y from 6.5.1 to 6.6.1
  • [eslint] Updated eslint-plugin-react from 7.29.4 to 7.30.1
  • [eslint] Updated eslint-plugin-react-hooks from 4.5.0 to 4.6.0
  • [eslint] Updated eslint-plugin-unicorn from 42.0.0 to 43.0.2
  • [eslint] Updated @typescript-eslint from 5.22.0 to 5.32.0
  • [markdownlint] Updated markdownlint-cli from 0.31.1 to 0.32.1
  • [stylelint] Updated stylelint from 14.8.2 to 14.9.1
  • [stylelint] Updated stylelint-scss from 4.2.0 to 4.3.0
  • [stylelint] Updated stylelint-selector-no-empty from 1.0.8 to 1.0.9
  • [stylelint] Updated stylelint-use-logical-spec from 3.2.2 to 4.1.0

Added

Removed

  • [eslint] Remove deprecated @typescript-eslint/no-duplicate-imports rule
  • [eslint] Remove deprecated unicorn/import-index rule

Show all code changes

Show all code changes

[2.15.0] - 2022-05-05

Fixed

  • [stylelint] Disabled declaration-property-max-values rule because of false-positives.
  • [stylelint] Disabled selector-not-notation for now, because it depends on the project if modern Selectors Level 4 CSS can be used.

Show all code changes

[2.14.1] - 2022-05-05

Fixed

  • [general] Fixed empty warning for outdated resolutions in package.json

Show all code changes

[2.14.0] - 2022-05-05

Changed

  • [eslint] Updated @typescript-eslint from 5.21.0 to 5.22.0
  • [eslint] Updated eslint-plugin-jsdoc from 39.2.8 to 39.2.9
  • [eslint] Updated eslint-plugin-react-hooks from 4.4.0 to 4.5.0
  • [stylelint] Updated stylelint from 14.7.1 to 14.8.2

Added

Fixed

  • [general] Remove files from npm package which are only necessary for development
  • [stylelint] Fix invalid configuration of declaration-property-max-values rule

Show all code changes

[2.13.0] - 2022-04-25

Changed

  • [eslint] Updated @typescript-eslint from 5.17.0 to 5.21.0
  • [eslint] Updated eslint from 8.12.0 to 8.14.0
  • [eslint] Updated eslint-import-resolver-typescript from 2.7.0 to 2.7.1
  • [eslint] Updated eslint-plugin-functional from 4.2.0 to 4.2.1
  • [eslint] Updated eslint-plugin-import from 2.25.4 to 2.26.0
  • [eslint] Updated eslint-plugin-jest from 26.1.3 to 26.1.5
  • [eslint] Updated eslint-plugin-jsdoc from 38.1.4 to 39.2.8
  • [eslint] Updated eslint-plugin-unicorn from 41.0.1 to 42.0.0
  • [stylelint] Updated postcss-scss from 4.0.3 to 4.0.4
  • [stylelint] Updated stylelint from 14.6.1 to 14.7.1
  • [eslint/overrides-jsdoc] Set minLineCount option to 2 for require-jsdoc rule
  • [stylelint] Set selector-not-notation rule to "complex"

Added

Show all code changes

[2.12.0] - 2022-03-30

Changed

  • [eslint] Updated @typescript-eslint from 5.14.0 to 5.17.0
  • [eslint] Updated eslint from 8.11.0 to 8.12.0
  • [eslint] Updated eslint-import-resolver-typescript from 2.5.0 to 2.7.0
  • [eslint] Updated eslint-plugin-jest from 26.1.1 to 26.1.3
  • [eslint] Updated eslint-plugin-jsdoc from 38.0.2 to 38.1.4
  • [eslint] Updated eslint-plugin-react from 7.29.3 to 7.29.4
  • [eslint] Updated eslint-plugin-react-hooks from 4.3.0 to 4.4.0
  • [eslint] Updated eslint-plugin-unicorn from 41.0.0 to 41.0.1
  • [stylelint] Updated stylelint from 14.5.3 to 14.6.1
  • [stylelint] Updated stylelint-scss from 4.1.0 to 4.2.0
  • [general] Updated micromatch from 4.0.4 to 4.0.5
  • [stylelint] Replace function-no-unknown by scss/function-no-unknown

Added

Show all code changes

[2.11.1] - 2022-03-13

Changed

  • [eslint] Disabled @typescript-eslint/no-redundant-type-constituents, because of false positives with Promise<... | never>
  • [eslint] Weaken @typescript-eslint/naming-convention rule to allow names with special characters for objectLiteralProperty.

Show all code changes

[2.11.0] - 2022-03-12

Added

  • [general] Ensures that the "overrides" and "resolutions" configuration in the package.json is up-to-date for linter dependencies, to prevent errors with unknown linter rules or options.

Changed

Show all code changes

[2.10.1] - 2022-03-11

Fixed

  • [eslint/override-react] Fix naming warnOnDuplicates option of react/jsx-key rule

Show all code changes

[2.10.0] - 2022-03-10

Changed

  • [stylelint] Remove "before-comment" exception in scss/dollar-variable-empty-line-after rule
  • [eslint] Updated @typescript-eslint from 5.12.1 to 5.14.0
  • [eslint] Updated eslint from 8.9.0 to 8.10.0
  • [eslint] Updated eslint-plugin-jsdoc from 37.9.4 to 37.9.7
  • [eslint] Updated eslint-plugin-react from 7.28.0 to 7.29.3
  • [stylelint] Updated stylelint from 14.5.2 to 14.5.3

Added

Show all code changes

[2.9.0] - 2022-02-23

Changed

  • [eslint] Updated @typescript-eslint from v5.12.0 to v5.12.1
  • [stylelint] Updated stylelint from v14.5.1 to v14.5.2
  • [eslint] Re-activated @typescript-eslint/no-unnecessary-type-arguments since the false positives with React.FunctionComponent generics has been fixed.

Added

  • [general] --timing argument to show information how long each linting process was running.
  • [general] Experimental --git argument to only lint (ESLint, Stylelint and Markdownlint) files which have been detected as changed (compared to the upstream branch) by Git

Show all code changes

[2.8.4] - 2022-02-19

Changed

Show all code changes

[2.8.3] - 2022-02-19

Changed

Show all code changes

[2.8.2] - 2022-02-19

Changed

  • [eslint] Disable @typescript-eslint/no-unnecessary-type-arguments rule, because of false positives with React.FunctionComponent generics

Show all code changes

[2.8.1] - 2022-02-19

Changed

Show all code changes

[2.8.0] - 2022-02-18

Changed

  • [eslint] Updated eslint-plugin-jsdoc from v37.9.1 to v37.9.4
  • [eslint] Updated eslint-plugin-unicorn from v40.1.0 to v41.0.0

Added

Fixed

Show all code changes

[2.7.0] - 2022-02-16

Changed

  • [eslint] Updated eslint-plugin-jest from v26.1.0 to v26.1.1
  • [stylelint] Updated stylelint from v14.5.0 to v14.5.1

Added

Show all code changes

[2.6.0] - 2022-02-14

Changed

Show all code changes

[2.5.0] - 2022-02-11

Changed

  • [eslint] Updated eslint-plugin-jsdoc from v37.8.1 to v37.8.2
  • [stylelint] Updated stylelint from v14.4.0 to v14.5.0
  • [eslint/overrides-gatsby] Disabled unusedExports and enabled missingExports for the import/no-unused-modules rule, for src/pages/*.tsx files.

Show all code changes

[2.4.0] - 2022-02-09

Changed

  • [eslint] Updated @typescript-eslint from v5.10.1 to v5.11.0
  • [eslint] Updated eslint from v8.7.0 to v8.8.0
  • [eslint] Updated eslint-plugin-functional from v4.1.1 to v4.2.0
  • [eslint] Updated eslint-plugin-jest from v26.0.0 to v26.1.0
  • [eslint] Updated eslint-plugin-jsdoc from v37.7.0 to v37.8.1
  • [markdownlint] Updated markdownlint-cli from v0.30.0 to v0.31.1, which adds the new rules MD049 and MD050 for consistent emphasis/strong style, and improves the rules MD007/MD010/MD032/MD033/MD035/MD037/MD039
  • [stylelint] Updated stylelint from v14.3.0 to v14.4.0

Added

Show all code changes

[2.3.1] - 2022-01-28

Fixed

  • [eslint/overrides-javascript(-lazy)] Move import/no-import-module-exports rule tooverrides-javascript
  • [eslint/overrides-gatsby] Ignore '@reach/router' in import/no-unresolved rule
  • [eslint] Disabled react/require-default-props, because of false-positive for React.forwardRef wrapped functional components
  • [eslint] Disabled unicorn/prefer-top-level-await, because of false-positive on environments with Node.js below v14.8

Added

Show all code changes

[2.3.0] - 2022-01-27

Changed

  • [eslint] In the .vscode/settings.json the "configFile" option in "eslint.options" has been renamed to "overrideConfigFile"
  • [eslint] Updated eslint-plugin-react-hooks from v4.2.1-alpha-13455d26d-20211104 to v4.3.0
  • [eslint] Disabled unicorn/prefer-object-has-own for now, because of limited engine support
  • [eslint] Disabled allowThrowingAny and allowThrowingUnknown of the @typescript-eslint/no-throw-literal rule
  • [eslint] Updated @typescript-eslint from v5.3.0 to v5.10.1
  • [eslint] Updated eslint from v8.2.0 to v8.7.0
  • [eslint] Updated eslint-plugin-functional from v4.0.2 to v4.1.1
  • [eslint] Updated eslint-plugin-import from v2.25.2 to v2.25.4
  • [eslint] Updated eslint-plugin-jest from v25.2.3 to v26.0.0
  • [eslint] Updated eslint-plugin-jsdoc from v37.0.3 to v37.7.0
  • [eslint] Updated eslint-plugin-unicode from v38.0.0 to v40.1.0
  • [markdownlint] Updated markdownlint-cli from v0.29.0 to v0.30.0
  • [stylelint] Updated stylelint from v14.0.1 to v14.3.0
  • [stylelint] Updated stylelint-scss from v4.0.0 to v4.1.0

Added

Show all code changes

[2.1.0] - 2021-11-07

Changed

Show all code changes

[2.0.0] - 2021-11-05

Removed

  • [eslint] eslint-plugin-jsx-a11y has been removed, because it seems not to be regularly maintained anymore, which blocks us from updating to ESLint v8
  • [eslint] eslint-plugin-promise has been removed, because it seems not to be regularly maintained anymore, which blocks us from updating to ESLint v8
  • [eslint] eslint-plugin-react has been removed, because it's relying on unmaintained dependencies, which blocks us from updating to ESLint v8
  • [stylelint] stylelint-declaration-block-no-ignored-properties has been removed, because it seems not to be regularly maintained anymore, which blocks us from updating to Stylelint v14
  • [stylelint] stylelint-use-nesting has been removed, because it seems not to be regularly maintained anymore, which blocks us from updating to Stylelint v14
  • [eslint] Removed deprecated @typescript-eslint/no-unused-vars-experimental rule
  • [eslint] Removed deprecated functional/prefer-type-literal rule
  • [eslint] Removed deprecated jest/prefer-to-be-null rule
  • [eslint] Removed deprecated jest/prefer-to-be-undefined rule
  • [stylelint] Removed deprecated function-calc-no-invalid rule

Changed

  • [eslint] Updated @typescript-eslint from v4.31.1 to v5.3.0
  • [eslint] Updated eslint from v7.32.0 to v8.1.0
  • [eslint] Updated eslint-plugin-functional from v3.7.0 to v4.0.2
  • [eslint] Updated eslint-plugin-import from v2.24.2 to v2.25.2
  • [eslint] Updated eslint-plugin-jest from v24.4.2 to v25.2.3
  • [eslint] Updated eslint-plugin-jsdoc from v36.1.0 to v37.0.3
  • [eslint] Updated eslint-plugin-promise from v5.1.0 to v5.1.1
  • [eslint] Updated eslint-plugin-react from v7.25.2 to v7.26.1
  • [eslint] Updated eslint-plugin-unicorn from v36.0.0 to v38.0.0
  • [eslint] Updated eslint-import-resolver-webpack from v0.13.1 to v0.13.2
  • [eslint] Updated eslint-plugin-react-hooks from v4.2.0 to v4.2.1-alpha-13455d26d-20211104
  • [eslint] jest/valid-describe as been renamed to valid-describe-callback
  • [eslint] jest/lowercase-name as been renamed to prefer-lowercase-title
  • [markdownlint] Updated markdownlint-cli from v0.28.1 to v0.29.0
  • [stylelint] Updated stylelint from v13.13.1 to v14.0.1
  • [stylelint] Updated stylelint-order from v4.1.0 to v5.0.0
  • [stylelint] Updated stylelint-scss from v3.21.0 to v4.0.0
  • [stylelint] Forked stylelint-selector-tag-no-without-class, because it seems not to be regularly maintained anymore

Added

Show all code changes

[1.28.0] - 2021-09-18

Changed

  • [general] The minimum required Node.js version is v14 now
  • [eslint] Updated @typescript-eslint from v4.31.0 to v4.31.1
  • [eslint] Updated eslint-import-resolver-typescript from v2.4.0 to v2.5.0
  • [eslint] Updated eslint-plugin-jest from v24.4.0 to v24.4.2
  • [eslint] Updated eslint-plugin-react from v7.25.1 to v7.25.2
  • [stylelint] Updated stylelint-scss from v3.20.1 to v3.21.0

Show all code changes

[1.27.0] - 2021-09-12

Changed

  • [eslint] Updated @typescript-eslint from v4.29.3 to v4.31.0
  • [eslint] Updated eslint-plugin-jsdoc from v36.0.8 to v36.1.0
  • [eslint] Updated eslint-plugin-react from v7.25.0 to v7.25.1
  • [eslint] Updated eslint-plugin-unicornfrom v35.0.0 to v36.0.0

Added

Show all code changes

[1.26.0] - 2021-08-29

Changed

  • [eslint] Updated eslint-plugin-functional from v3.6.0 to v3.7.0
  • [eslint] Updated eslint-plugin-react from v7.24.0 to v7.25.0
  • [eslint] Disabled functional/prefer-tacit because changes are recommended that could lead to potential bugs

Added

Show all code changes

[1.25.2] - 2021-08-27

  • [eslint] Disabled @typescript-eslint/no-implicit-any-catch because of false-positive with the new TypeScript 4.4 option "useUnknownInCatchVariables"

Show all code changes

[1.25.1] - 2021-08-25

Fixed

Changed

  • [eslint] Updated eslint-plugin-import from v2.24.1 to v2.24.2
  • [eslint] Updated eslint-plugin-jsdoc from v36.0.7 to v36.0.8

Show all code changes

[1.25.0] - 2021-08-24

Changed

  • [eslint] Updated @typescript-eslint from v4.28.5 to v4.29.3
  • [eslint] Updated eslint from v7.31.0 to v7.32.0
  • [eslint] Updated eslint-plugin-functional from v3.3.0 to v3.6.0
  • [eslint] Updated eslint-plugin-import from v2.23.4 to v2.24.1
  • [eslint] Updated eslint-plugin-jsdoc from v36.0.6 to v36.0.7
  • [eslint] Updated eslint-plugin-unicorn from v34.0.1 to v35.0.0

Added

Show all code changes

[1.24.0] - 2021-07-28

Changed

  • [eslint] Updated @typescript-eslint from v4.26.1 to v4.28.5
  • [eslint] Updated eslint from v7.28.0 to v7.31.0
  • [eslint] Updated eslint-plugin-functional from v3.2.1 to v3.3.0
  • [eslint] Updated eslint-plugin-jest from v24.3.6 to v24.4.0
  • [eslint] Updated eslint-plugin-jsdoc from v35.2.0 to v36.0.6
  • [eslint] Updated eslint-plugin-unicorn from v33.0.1 to v34.0.1
  • [markdownlint] Updated markdownlint-cli from v0.27.1 to v0.28.1
  • [stylelint] Updated stylelint-declaration-block-no-ignored-properties from v2.3.0 to v2.4.0
  • [stylelint] Updated stylelint-scss from v3.19.0 to v3.20.1
  • [stylelint] Updated stylelint-use-logical-spec from v3.2.0 to v3.2.2

Added

Show all code changes

[1.23.0] - 2021-06-14

Changed

  • [eslint/overrides-jest] Don't apply any of the rules for .jsx and .tsx files
  • [eslint] Updated eslint-plugin-jsdoc from v35.1.3 to v35.2.0

Show all code changes

[1.22.3] - 2021-06-08

Added

Show all code changes

[1.22.2] - 2021-06-08

Changed

  • [eslint] Updated @typescript-eslint from v4.26.0 to v4.26.1
  • [eslint] Activated allowComputed of import/namespace rule

Fixed

Show all code changes

[1.22.1] - 2021-06-07

Changed

  • [eslint] Updated eslint from v7.27.0 to v7.28.0
  • [eslint] Updated eslint-plugin-jsdoc from v35.1.2 to v35.1.3
  • [eslint] Updated eslint-plugin-unicorn from v33.0.0 to v33.0.1
  • [eslint] Make use of eslint-import-resolver-webpack package

Fixed

  • [eslint] Disabled the import/no-import-module-exports rule because of false-positives

Show all code changes

[1.22.0] - 2021-06-02

Changed

Show all code changes

[1.21.0] - 2021-05-27

Changed

  • [eslint] Updated @typescript-eslint from v4.24.0 to v4.25.0
  • [eslint] Updated eslint-plugin-jsdoc from v34.8.2 to v35.0.0
  • [eslint] Activated ignoreNonDOM option for jsx-a11y/no-autofocus rule

Show all code changes

[1.20.0] - 2021-05-22

Changed

  • [audit] Use of npx to load better-npm-audit or improved-yarn-audit on demand. This reduces the bundle size and installation
  • [eslint] Updated eslint from v7.26.0 to v7.27.0
  • [eslint] Updated eslint-plugin-import from v2.22.1 to v2.23.3
  • [eslint] Updated eslint-plugin-jsdoc from v34.7.0 to v34.8.2
  • [eslint] Activated jsdoc/tag-lines rule

Show all code changes

[1.19.0] - 2021-05-18

Changed

  • [stylelint] Enforce the all property to be the first property in import/order.

Show all code changes

[1.18.0] - 2021-05-17

Added

  • [eslint] Reactivate the rule @typescript-eslint/dot-notation, since it now supports the TypeScript compiler option noPropertyAccessFromIndexSignature
  • [eslint/overrides-jsdoc] Set noFinalLineText to false for jsdoc/multiline-blocks

Changed

  • [eslint] Downgraded eslint-plugin-import from v2.23.2 to v2.22.1 because of this issue
  • [eslint] Updated @typescript-eslint from v4.23.0 to v4.24.0
  • [eslint] Updated eslint-plugin-jsdoc from v34.6.0 to v34.7.0
  • [audit] Updated improved-yarn-audit from v2.3.2 to v2.3.3

Show all code changes

[1.17.0] - 2021-05-15

Added

Changed

  • [audit] Updated better-npm-audit from v1.8.1 to v1.9.1
  • [eslint] Updated eslint-plugin-import from v2.22.1 to v2.23.2
  • [eslint] Updated eslint-plugin-jsdoc from v34.0.2 to v34.6.0
  • [eslint] eslint-comments/require-description ignores "eslint-enable" now

Show all code changes

[1.16.0] - 2021-05-12

Added

Changed

  • [eslint] Updated @typescript-eslint from v4.22.0 to v4.23.0
  • [eslint] Updated eslint from v7.25.0 to v7.26.0
  • [eslint] Updated eslint-plugin-jsdoc from v33.0.0 to v34.0.2
  • [eslint] Updated eslint-plugin-unicorn from v31.0.0 to v32.0.1

Show all code changes

[1.15.1] - 2021-05-04

Changed

Show all code changes

[1.15.0] - 2021-05-01

Added

Changed

Show all code changes

[1.14.0] - 2021-04-27

Added

Changed

  • [eslint] Updated eslint from v7.24.0 to v7.25.0
  • [eslint] Updated eslint-plugin-jest from v24.3.5 to v24.3.6
  • [eslint] Updated eslint-plugin-jsdoc from v32.3.1 to v32.3.2
  • [stylelint] Updated stylelint from v13.12.0 to v13.13.0
  • [stylelint] Added but disabled new selector-disallowed-list rule

Show all code changes

[1.13.1] - 2021-04-23

Changed

Show all code changes

[1.13.0] - 2021-04-23

Added

Changed

  • [eslint] Updated eslint-plugin-unicorn from v29.0.0 to v31.0.0
  • [eslint] Make use of new unicorn/prefer-switch rule
  • [eslint] Disabled new unicorn/prefer-node-protocol rule, till it's widely supported
  • [eslint] Disabled new unicorn/prefer-module rule, till it's wider supported
  • [eslint] Updated stylelint-selector-tag-no-without-class from v2.0.3 to v2.0.4
  • [eslint] Updated eslint-plugin-jsdoc from v32.3.0 to v32.3.1

Show all code changes

[1.12.0] - 2021-04-18

Added

Changed

  • [stylelint] Restrict disallowed reserved ECMAScript keywords (added in v1.8.0) to CSS Modules
  • [stylelint] Explicitly disable the order/properties-alphabetical-order rule (which was previously not configured)

Show all code changes

[1.11.0] - 2021-04-16

Changed

Show all code changes

[1.10.0] - 2021-04-14

Changed

  • [tsc] Lazy peer dependency check for TypeScript, instead of forcing a specific version
  • [eslint] Updated eslint from v7.22.0 to v4.24.0
  • [eslint] Make use of eslint option "disallowTemplateShorthand" of no-implicit-coercion
  • [eslint] Updated @typescript-eslint from v4.19.0 to v4.22.0
  • [eslint] Make use of new @typescript-eslint/no-unsafe-argument rule
  • [eslint] Updated eslint-plugin-jest from v24.3.2 to v24.3.5
  • [eslint] Updated eslint-plugin-react from v7.22.0 to v7.23.2
  • [eslint] Make use of new react/no-unstable-nested-components rule
  • [stylelint] Updated stylelint-selector-no-empty from v1.0.7 to v1.0.8
  • [audit] Updated better-npm-audit from v1.0.7 to v1.0.8

Show all code changes

[1.9.0] - 2021-03-22

Changed

  • [eslint] Updated @typescript-eslint to v4.19.0
  • [eslint] Updated eslint-plugin-unicorn to v29.0.0
  • [eslint] Make use of eslint-plugin-unicorn no-static-only-class and prefer-array-flat rule

Show all code changes

[1.8.0] - 2021-03-20

Changed

  • [general] By default, the terminal output of the linters is printed only in case of failure to prevent unnecessary noise. Use --verbose to show their output even on success.
  • [stylelint] Disallow reserved ECMAScript keywords (abstract, arguments, await, boolean, break, byte, case, catch, char, class, const, continue, debugger, default, delete, do, double, else, enum, eval, export, extends, false, final, finally, float, for, function, goto, if, implements, import, in, Infinity, instanceof, int, interface, let, long, NaN, native, new, null, package, private, protected, public, return, short, static, super, switch, synchronized, this, throw, throws, transient, true, try, typeof, undefined, var, void, volatile, while, with, and yield) as class names

Show all code changes

[1.7.0] - 2021-03-18

Changed

  • [general] Moved check-outdated dependency to devDependencies
  • [eslint] Updated "eslint-plugin-jest to v24.3.2
  • [markdownlint] MD024: Activate "siblings_only" option

Show all code changes

[1.6.0] - 2021-03-16

Changed

  • [eslint] Updated @typescript-eslint to v4.18.0
  • [eslint] Updated eslint-plugin-jest to v24.3.1
  • [eslint] Updated eslint-plugin-jsdoc to v32.3.0
  • [stylelint] order/properties-order: Group of "Alignment" properties has been added, containing "align-content", "align-items", "align-self", "justify-content", "justify-items", "justify-self", "place-content", "place-items" and "place-self"
  • [stylelint] order/properties-order: Group "Gap" has been moved before group "Dimension"

Show all code changes

[1.5.0] - 2021-03-13

Changed

  • [eslint] Updated eslint to v7.22.0
  • [eslint/overrides-gatsby] no-restricted-imports: Added rule to ensure navigate from gatsby is used, instead of useNavigate() from @reach/router

Show all code changes

[1.4.0] - 2021-03-11

Added

  • [general] Show a red "Problems detected" warning after each failed linting step
  • [eslint/overrides-jsdoc] Introduced linting with eslint-plugin-jsdoc v32.2.0

Changed

  • [audit] Updated better-npm-audit to v1.8.0
  • [eslint] Updated eslint-plugin-jest to v24.2.1

Show all code changes

[1.3.0] - 2021-03-09

Changed

Fixed

  • [stylelint/markdownlint] Merged duplicated spaces in command line calls

Show all code changes

[1.2.0] - 2021-03-08

Added

Show all code changes

Changed

  • [eslint] Updated @typescript-eslint to v4.17.0
  • [eslint] Updated eslint-plugin-jest to v24.1.9

[1.1.0] - 2021-03-07

Added

  • [audit] Added support for yarn audit
  • [stylelint] Enabled the new stylelint rule named-grid-areas-no-invalid

Changed

  • [eslint] Updated eslint-plugin-jest to v24.1.7
  • [stylelint] Updated stylelint to v13.12.0

Show all code changes

[1.0.1] - 2021-03-03

Fixed

  • [general] Show job title before finishing a task

Show all code changes

[1.0.0] - 2021-03-05

Added

  • [general] Run all linting tools in parallel to improve the performance

Changed

  • [general] Enforces typescript v4.2.3 as peer dependency
  • [eslint/overrides-type-declarations] Don't disable typescript-eslint/no-unused-vars anymore

Show all code changes

[0.16.5] - 2021-03-03

Changed

  • [eslint] Updated @typescript-eslint to v4.16.1
  • [eslint] Updated eslint to v7.21.0
  • [markdownlint] Updated markdownlint-cli to v0.27.1

Show all code changes

[0.16.4] - 2021-02-27

Fixed

  • [tsc] Changed the way how TypeScript is resolved to prevent compatibility issues if multiple TypeScript versions are installed

Show all code changes

[0.16.3] - 2021-02-26

Changed

  • [eslint] Turned the rule @typescript-eslint/dot-notation off, because it conflicts with the "noPropertyAccessFromIndexSignature" option of TypeScript 4.2

Show all code changes

[0.16.2] - 2021-02-26

  • [general] Updated check-outdated to v2.5.1

Show all code changes

[0.16.1] - 2021-02-25

Show all code changes

[0.16.0] - 2021-02-24

Show all code changes

[0.15.0] - 2021-02-24

Show all code changes

[0.14.0] - 2021-02-24

Show all code changes

[0.13.0] - 2021-02-24

Show all code changes

[0.12.1] - 2021-02-24

Show all code changes

[0.12.0] - 2021-02-24

Show all code changes

[0.11.0] - 2021-02-23

Show all code changes

[0.10.0] - 2021-02-15

Show all code changes

[0.9.0] - 2021-02-15

Show all code changes

[0.8.0] - 2021-02-11

Show all code changes

[0.7.0] - 2021-02-02

Show all code changes

[0.6.0] - 2021-02-02

Show all code changes

[0.5.2] - 2021-02-01

Show all code changes

[0.5.1] - 2021-02-01

Show all code changes

[0.5.0] - 2021-02-01

Show all code changes

[0.4.0] - 2021-01-29

Show all code changes

[0.3.0] - 2021-01-29

Show all code changes

[0.2.0] - 2021-01-27

Show all code changes

[0.1.14] - 2021-01-25

Show all code changes

[0.1.13] - 2021-01-23

Show all code changes

[0.1.12] - 2021-01-23

Show all code changes

[0.1.11] - 2021-01-13

Show all code changes

[0.1.10] - 2021-01-13

Show all code changes

[0.1.9] - 2021-01-11

Show all code changes

[0.1.8] - 2021-01-10

Show all code changes

[0.1.7] - 2021-01-10

Show all code changes

[0.1.6] - 2021-01-10

Show all code changes

[0.1.5] - 2021-01-10

Show all code changes

[0.1.4] - 2021-01-10

Show all code changes

[0.1.3] - 2021-01-09

Show all code changes

[0.1.2] - 2021-01-09

Show all code changes

[0.1.1] - 2021-01-09

Show all code changes

[0.1.0] - 2021-01-08

First Release