Skip to content

Releases: MetaMask/eslint-config

11.0.1

18 Nov 14:08
3d0e01e

Choose a tag to compare

@metamask/eslint-config

Fixed

  • Enable function expressions again (#258)
    • We didn't realize this rule would disallow class methods, even class constructors. This was too disruptive.

@metamask/eslint-config-nodejs

Fixed

  • Disable import/no-nodejs-modules in Node.js config (#257)
    • This rule was added to the base config, but we accidentally forgot to disable it here.

11.0.0

16 Nov 16:24
700c5db

Choose a tag to compare

@metamask/eslint-config

Added

  • BREAKING: Enable id-denylist and id-length in base config (#200)
  • BREAKING: Add rules for hybrid Node.js and browser environments (#242)
    • The base config now only allows globals and modules that are available in both Node.js and browsers.
    • This adds a new @metamask/eslint-config-browser package, to be used in browser-only environments.
    • The @metamask/eslint-config-nodejs package has been updated to allow Node.js-only globals and modules.

Changed

  • BREAKING: Remove no-undef in favour of custom environments configuration (#254)
  • BREAKING: Bump all ESLint dependencies to the latest version (#252)
    • This includes peer dependencies.
  • BREAKING: Automatically sort imports (#248)
  • BREAKING: Disable more undesired syntax (#207)
    • This disables the with statement, function expressions, and the in operator.

@metamask/eslint-config-browser

Added

  • Initial release of this package.

@metamask/eslint-config-jest

Changed

  • BREAKING: Bump all ESLint dependencies to the latest version (#252)
    • This includes peer dependencies.

@metamask/eslint-config-mocha

Changed

  • BREAKING: Bump all ESLint dependencies to the latest version (#252)
    • This includes peer dependencies.

@metamask/eslint-config-nodejs

Changed

  • BREAKING: Remove no-undef in favour of custom environments configuration (#254)
    • This config now only allows globals that are available in Node.js.
  • BREAKING: Bump all ESLint dependencies to the latest version (#252)
    • This includes peer dependencies.

@metamask/eslint-config-typescript

Added

  • BREAKING: Add rules that require type information (#250)
    • This requires setting some parser options. See the README for more details.
  • BREAKING: Bump all ESLint dependencies to the latest version (#252)
    • This includes peer dependencies.
  • BREAKING: Forbid TypeScript's private modifier in favour of hash names (#244)

10.0.0

15 Aug 21:18
e654c81

Choose a tag to compare

@metamask/eslint-config

Changed

@metamask/eslint-config-jest

Changed

  • (BREAKING) Update ESLint from v7 to v8 (#233)
  • (BREAKING) Bump eslint-plugin-jest to ^26.x (#228)
    • This is breaking because eslint-plugin-jest is a peerDependency
    • The rule jest/prefer-to-be has replaced the old rules jest/prefer-to-be-null and jest/prefer-to-be-undefined. This is breaking because it is more broadly applicable than the two it replaces, and may force us to use toBe for all primatives (over toBeEqual or equivalent).
    • Two rules were renamed (jest/valid-describe => jest/valid-describe-callback, and jest/lowercase-name => jest/prefer-lowercase-title)
  • (BREAKING) Update minimium Node.js version to v14 (#225)

@metamask/eslint-config-mocha

Changed

@metamask/eslint-config-nodejs

Changed

@metamask/eslint-config-typescript

Changed

9.0.1

22 Sep 22:12
a7e0665

Choose a tag to compare

@metamask/eslint-config-typescript

Changed

  • Disable @typescript-eslint/no-throw-literal (#210)
    • The introduction of this rule was one of the two breaking changes in the previous release. It was included unintentionally, and has now been removed to make updating to v9 easier.

9.0.0

22 Sep 12:20
efcdccc

Choose a tag to compare

@metamask/eslint-config

Added

  • BREAKING Add JSDoc ESLint rules (#203)

@metamask/eslint-config-jest

Added

  • BREAKING Add JSDoc ESLint rules (#203)

@metamask/eslint-config-mocha

Added

  • BREAKING Add JSDoc ESLint rules (#203)

@metamask/eslint-config-nodejs

Added

  • BREAKING Add JSDoc ESLint rules (#203)

@metamask/eslint-config-typescript

Added

  • BREAKING Add JSDoc ESLint rules (#203)

8.0.0

06 Aug 17:28
daaae96

Choose a tag to compare

@metamask/eslint-config

Changed

  • (BREAKING) Require newlines between multiline blocks and expressions (#197)

@metamask/eslint-config-jest

@metamask/eslint-config-mocha

@metamask/eslint-config-nodejs

@metamask/eslint-config-typescript

7.0.1

29 Jun 21:25
6feaedd

Choose a tag to compare

@metamask/eslint-config

Fixed

  • Restore default parserOptions (#193)
    • By extending the recommended eslint-plugin-import rules, we accidentally changed the default parserOptions.sourceType to module.
      The sourceType is now explicitly set to script.
    • In some cases, parserOptions.ecmaVersion could also be set to an incorrect version.
      The ecmaVersion is now explicitly set to 2017, matching the corresponding setting in env.

@metamask/eslint-config-nodejs

Fixed

  • Restore default parserOptions (#193)
    • By extending the recommended eslint-plugin-import rules, we accidentally changed the default parserOptions.sourceType to module.
      The sourceType is now explicitly set to script.
    • In some cases, parserOptions.ecmaVersion could also be set to an incorrect version.
      The ecmaVersion is now explicitly set to 2017, matching the corresponding setting in env.

@metamask/eslint-config-typescript

Fixed

  • Restore default parserOptions.ecmaVersion (#193)
    • In some cases, parserOptions.ecmaVersion could be set to an incorrect version.
      The ecmaVersion is now explicitly set to 2020, matching the corresponding setting in env.

7.0.0

28 Jun 21:50
8d24d45

Choose a tag to compare

@metamask/eslint-config

Changed

  • (BREAKING) Update Prettier quoteProps rule to as-needed (#181)
  • (BREAKING) Update ESLint no-shadow config (#168)
  • Use recommended eslint-plugin-import rule sets (#184)
    • This only removed or disabled rules, and is not breaking.
  • Update install instructions in readme (#185)
  • Normalize rule config values (#169)

@metamask/eslint-config-jest

Changed

  • Update install instructions in readme (#185)

Fixed

  • Add @metamask/eslint-config as a peer dependency (#186)
    • This package is designed to be used in conjunction with the MetaMask base ESLint config, so this should always have been a peer dependency.

@metamask/eslint-config-mocha

Changed

  • Update install instructions in readme (#185)

Fixed

  • Add @metamask/eslint-config as a peer dependency (#186)
    • This package is designed to be used in conjunction with the MetaMask base ESLint config, so this should always have been a peer dependency.

@metamask/eslint-config-nodejs

Changed

  • Update install instructions in readme (#185)

Fixed

  • Add @metamask/eslint-config as a peer dependency (#186)
    • This package is designed to be used in conjunction with the MetaMask base ESLint config, so this should always have been a peer dependency.

@metamask/eslint-config-typescript

Changed

  • (BREAKING) Update @typescript/no-shadow config (#168)
  • Use recommended eslint-plugin-import rule sets (#184)
    • This only removed or disabled rules, and is not breaking.
  • Update install instructions in readme (#185)

Fixed

  • Add @metamask/eslint-config as a peer dependency (#186)
    • This package is designed to be used in conjunction with the MetaMask base ESLint config, so this should always have been a peer dependency.

6.0.0

08 Apr 20:49
e6c86f3

Choose a tag to compare

(BREAKING) All configs are now published as separate packages, and must be extended by referencing their package names:

See individual package changelogs for their specific changes:

5.0.0

03 Feb 20:32
d7f6233

Choose a tag to compare

Changed

  • BREAKING: Enable semi in base config (#101)
  • BREAKING: Disallow spaces before parentheses of named functions (#101)
  • BREAKING: Upgrade to TypeScript v4 and corresponding @typescript-eslint dependencies (#79, #80, #103)