Skip to content

Releases: MetaMask/eslint-config

14.0.0

08 Oct 14:44
733b9e2
Compare
Choose a tag to compare

@metamask/eslint-config 14.0.0

Changed

  • BREAKING: Bump minimum Node.js version from 16 to 18.18 (#371)
  • BREAKING: Bump peer dependency on ESLint from ^8.57.0 to ^9.11.0 (#370)
    • ESLint 9 requires flat configs, so this change also rewrites the configs to
      use flat configs. The legacy config format is no longer supported.
  • BREAKING: Bump peer dependency on @metamask/eslint-config from ^13.0.0 to ^14.0.0 (#377)
  • BREAKING: Bump peer dependency on eslint-config-prettier from ^8.5.0 to ^9.1.0 (#370)
  • BREAKING: Bump peer dependency on eslint-plugin-import-x from ^0.5.1 to ^4.3.0 (#370)
  • BREAKING: Bump peer dependency on eslint-plugin-jsdoc from >=43.0.7 <48 to ^50.2.4 (#370)
  • BREAKING: Bump peer dependency on eslint-plugin-prettier from ^4.2.1 to ^5.2.1 (#370)
  • BREAKING: Bump peer dependency on eslint-plugin-promise from ^6.1.1 to ^7.1.0 (#370)
  • BREAKING: Bump peer dependency on prettier from ^2.7.1 to ^3.3.3 (#370)
  • BREAKING: Change package to be pure ESM (#370)
    • ESLint 9 supports ESM out-of-the-box, so this change updates the package to
      be pure ESM. This means that the package can no longer be used with CommonJS
      require syntax.

@metamask/eslint-config-browser 14.0.0

Changed

  • BREAKING: Bump minimum Node.js version from 16 to 18.18 (#371)
  • BREAKING: Bump peer dependency on ESLint from ^8.57.0 to ^9.11.0 (#370)
    • ESLint 9 requires flat configs, so this change also rewrites the configs to
      use flat configs. The legacy config format is no longer supported.
  • BREAKING: Bump peer dependency on @metamask/eslint-config from ^13.0.0 to ^14.0.0 (#377)
  • BREAKING: Change package to be pure ESM (#370)
    • ESLint 9 supports ESM out-of-the-box, so this change updates the package to
      be pure ESM. This means that the package can no longer be used with CommonJS
      require syntax.

@metamask/eslint-config-commonjs 14.0.0

Changed

  • BREAKING: Bump minimum Node.js version from 16 to 18.18 (#371)
  • BREAKING: Bump peer dependency on ESLint from ^8.57.0 to ^9.11.0 (#370)
    • ESLint 9 requires flat configs, so this change also rewrites the configs to
      use flat configs. The legacy config format is no longer supported.
  • BREAKING: Bump peer dependency on @metamask/eslint-config from ^13.0.0 to ^14.0.0 (#377)
  • BREAKING: Change package to be pure ESM (#370)
    • ESLint 9 supports ESM out-of-the-box, so this change updates the package to
      be pure ESM. This means that the package can no longer be used with CommonJS
      require syntax.

@metamask/eslint-config-jest 14.0.0

Changed

  • BREAKING: Bump minimum Node.js version from 16 to 18.18 (#371)
  • BREAKING: Bump peer dependency on ESLint from ^8.57.0 to ^9.11.0 (#370)
    • ESLint 9 requires flat configs, so this change also rewrites the configs to
      use flat configs. The legacy config format is no longer supported.
  • BREAKING: Bump peer dependency on @metamask/eslint-config from ^13.0.0 to ^14.0.0 (#377)
  • BREAKING: Bump peer dependency on eslint-plugin-jest from ^27.9.0 to ^28.8.3 (#370)
  • BREAKING: Change package to be pure ESM (#370)
    • ESLint 9 supports ESM out-of-the-box, so this change updates the package to
      be pure ESM. This means that the package can no longer be used with CommonJS
      require syntax.

@metamask/eslint-config-mocha 14.0.0

Changed

  • BREAKING: Bump minimum Node.js version from 16 to 18.18 (#371)
  • BREAKING: Bump peer dependency on ESLint from ^8.57.0 to ^9.11.0 (#370)
    • ESLint 9 requires flat configs, so this change also rewrites the configs to
      use flat configs. The legacy config format is no longer supported.
  • BREAKING: Bump peer dependency on @metamask/eslint-config from ^13.0.0 to ^14.0.0 (#377)
  • BREAKING: Bump peer dependency on eslint-plugin-mocha from ^10.4.1 to ^10.5.0 (#370)
  • BREAKING: Change package to be pure ESM (#370)
    • ESLint 9 supports ESM out-of-the-box, so this change updates the package to
      be pure ESM. This means that the package can no longer be used with CommonJS
      require syntax.

@metamask/eslint-config-nodejs 14.0.0

Changed

  • BREAKING: Bump minimum Node.js version from 16 to 18.18 (#371)
  • BREAKING: Bump peer dependency on ESLint from ^8.57.0 to ^9.11.0 (#370)
    • ESLint 9 requires flat configs, so this change also rewrites the configs to
      use flat configs. The legacy config format is no longer supported.
  • BREAKING: Bump peer dependency on @metamask/eslint-config from ^13.0.0 to ^14.0.0 (#377)
  • BREAKING: Bump peer dependency on eslint-plugin-n from ^16.6.2 to ^17.10.3 (#370)
  • BREAKING: Change package to be pure ESM (#370)
    • ESLint 9 supports ESM out-of-the-box, so this change updates the package to
      be pure ESM. This means that the package can no longer be used with CommonJS
      require syntax.

@metamask/eslint-config-typescript 14.0.0

Added

  • BREAKING: Add peer dependency on typescript-eslint@^8.6.0. (#370)
  • BREAKING: Add peer dependency on eslint-import-resolver-typescript@^3.6.3 (#370)
  • BREAKING: Add peer dependency on eslint-plugin-import-x@^4.3.0 (#370)
  • BREAKING: Add peer dependency on eslint-plugin-jsdoc@^50.2.4 (#370)

Changed

  • BREAKING: Bump minimum Node.js version from 16 to 18.18 (#371)
  • BREAKING: Bump peer dependency on ESLint from ^8.57.0 to ^9.11.0 (#370)
    • ESLint 9 requires flat configs, so this change also rewrites the configs to
      use flat configs. The legacy config format is no longer supported.
  • BREAKING: Bump peer dependency on @metamask/eslint-config from ^13.0.0 to ^14.0.0 (#377)
  • BREAKING: Change package to be pure ESM (#370)
    • ESLint 9 supports ESM out-of-the-box, so this change updates the package to
      be pure ESM. This means that the package can no longer be used with CommonJS
      require syntax.

Removed

  • Remove peer dependency on @typescript-eslint/eslint-plugin and @typescript-eslint/parser (#370)

@metamask/eslint-config-vitest 1.0.0

Added

  • Add Vitest config (#373)
    • This config is based on the @metamask/eslint-config-jest config, but uses
      the Vitest plugin instead of Jest.

13.0.0

19 Aug 12:40
e472089
Compare
Choose a tag to compare

@metamask/eslint-config

Changed

  • BREAKING: Replace eslint-plugin-import with eslint-plugin-import-x (#366)
  • BREAKING: Bump all ESLint dependencies (#351)
    • Bumps all ESLint dependencies to the latest version compatible with Node.js 16.
  • BREAKING: Bump minimum Node.js version from 14 to 16 (#332, #339)

@metamask/eslint-config-browser

Changed

  • BREAKING: Replace eslint-plugin-import with eslint-plugin-import-x (#366)
  • BREAKING: Bump all ESLint dependencies (#351)
    • Bumps all ESLint dependencies to the latest version compatible with Node.js 16.
  • BREAKING: Bump minimum Node.js version from 14 to 16 (#332, #339)

@metamask/eslint-config-commonjs

Changed

  • BREAKING: Replace eslint-plugin-import with eslint-plugin-import-x (#366)
  • BREAKING: Bump all ESLint dependencies (#351)
    • Bumps all ESLint dependencies to the latest version compatible with Node.js 16.
  • BREAKING: Bump minimum Node.js version from 14 to 16 (#332, #339)

@metamask/eslint-config-jest

Changed

  • BREAKING: Replace eslint-plugin-import with eslint-plugin-import-x (#366)
  • BREAKING: Bump all ESLint dependencies (#351)
    • Bumps all ESLint dependencies to the latest version compatible with Node.js 16.
  • BREAKING: Bump minimum Node.js version from 14 to 16 (#332, #339)

@metamask/eslint-config-mocha

Changed

  • BREAKING: Replace eslint-plugin-import with eslint-plugin-import-x (#366)
  • BREAKING: Bump all ESLint dependencies (#351)
    • Bumps all ESLint dependencies to the latest version compatible with Node.js 16.
  • BREAKING: Bump minimum Node.js version from 14 to 16 (#332, #339)

@metamask/eslint-config-nodejs

Changed

  • BREAKING: Replace eslint-plugin-import with eslint-plugin-import-x (#366)
  • BREAKING: Bump all ESLint dependencies (#351)
    • Bumps all ESLint dependencies to the latest version compatible with Node.js 16.
  • BREAKING: Bump minimum Node.js version from 14 to 16 (#332, #339)

@metamask/eslint-config-typescript

Changed

  • BREAKING: Bump TypeScript to v5.5 (#364)
    • Also bump relevant @typescript-eslint packages.
  • BREAKING: Replace eslint-plugin-import with eslint-plugin-import-x (#366)
  • BREAKING: Bump all ESLint dependencies (#351)
    • Bumps all ESLint dependencies to the latest version compatible with Node.js 16.
  • BREAKING: Bump minimum Node.js version from 14 to 16 (#332, #339)

12.2.0

14 Sep 22:26
ee9723e
Compare
Choose a tag to compare

@metamask/eslint-config

Changed

  • Remove deprecated rule jsdoc/newline-after-description (#290)
    • This means the plugin can now be used with eslint-plugin-jsdoc versions 42 and above.

Fixed

  • Pin eslint-plugin-import@~2.26.0 to avoid a regression in eslint-plugin-import@2.27.0 (#307)
  • Change endOfLine rules to better support linting on Windows (#311)

12.1.0

13 Jul 00:08
46b0219
Compare
Choose a tag to compare

@metamask/eslint-config

Changed

  • Add support for typescript 5.0.x, 5.1.x (#288)

@metamask/eslint-config-browser

Changed

  • Add support for typescript 5.0.x, 5.1.x (#288)

@metamask/eslint-config-commonjs

Changed

  • Add support for typescript 5.0.x, 5.1.x (#288)

@metamask/eslint-config-jest

Changed

  • Add support for typescript 5.0.x, 5.1.x (#288)

@metamask/eslint-config-mocha

Changed

  • Add support for typescript 5.0.x, 5.1.x (#288)

@metamask/eslint-config-nodejs

Changed

  • Add support for typescript 5.0.x, 5.1.x (#288)

@metamask/eslint-config-typescript

Changed

  • Add support for typescript 5.0.x, 5.1.x (#288)

12.0.0

10 Jul 14:03
62821d6
Compare
Choose a tag to compare

@metamask/eslint-config

Added

  • BREAKING: Add eslint-plugin-promise peer dependency, and enable no-multiple-resolved (#287)

@metamask/eslint-config-browser

Changed

  • BREAKING: Update peer dependency @metamask/eslint-config to v12

@metamask/eslint-config-commonjs

Changed

  • BREAKING: Add peer dependency @metamask/eslint-config and remove ESLint plugin and prettier peer dependencies (#301)
    • In the initial release, this package had the wrong list of peer dependencies. This brings this package back into alignment with the others.

@metamask/eslint-config-jest

Changed

  • BREAKING: Update peer dependency @metamask/eslint-config to v12

@metamask/eslint-config-mocha

Changed

  • BREAKING: Update peer dependency @metamask/eslint-config to v12

@metamask/eslint-config-nodejs

Changed

  • BREAKING: Update peer dependency @metamask/eslint-config to v12
  • BREAKING: Replace eslint-plugin-node with eslint-plugin-n (#297)

@metamask/eslint-config-typescript

Added

  • BREAKING: Add rule to enforce generic parameters have a length of at least 3 characters (#292)
  • BREAKING: Enable @typescript-eslint/consistent-type-imports rule (#284)
  • BREAKING: Enable @typescript-eslint/prefer-enum-initializers rule (#269)

Changed

  • BREAKING: Update peer dependency @metamask/eslint-config to v12
  • Disable naming convention for properties that require quotes (#293)

11.1.0

15 Dec 13:43
5ab3312
Compare
Choose a tag to compare

@metamask/eslint-config

Changed

  • Exclude test files from package (#266)

@metamask/eslint-config-browser

Changed

  • Exclude test files from package (#266)

@metamask/eslint-config-commonjs

Added

  • Initial release of this package (#267)

@metamask/eslint-config-jest

Changed

  • Exclude test files from package (#266)

@metamask/eslint-config-mocha

Changed

  • Exclude test files from package (#266)

@metamask/eslint-config-nodejs

Changed

  • Exclude test files from package (#266)

@metamask/eslint-config-typescript

Changed

  • Exclude test files from package (#266)

11.0.2

13 Dec 00:21
946d12e
Compare
Choose a tag to compare

@metamask/eslint-config

Changed

  • Stop requiring newlines between multiline blocks/expressions (#263)

@metamask/eslint-config-typescript

Changed

  • Allow async functions without any 'await' (#262)
  • Allow parameters to use PascalCase (#264)

11.0.1

18 Nov 14:08
3d0e01e
Compare
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
Compare
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
Compare
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