Releases: MetaMask/eslint-config
Releases · MetaMask/eslint-config
15.0.0
@metamask/eslint-config 15.0.0
Changed
- BREAKING: Update
jsdoc/require-jsdocto require documentation for more things (#394)- New things that now require documentation are:
- Arrow functions
- Class declarations
- TypeScript enum declarations
- Function expressions
- TypeScript interface declarations
- Method definitions
- TypeScript type alias declarations
- TypeScript property signatures
- New things that now require documentation are:
- BREAKING: Convert various rules from
warntoerror(#424)- The rules impacted are:
promise/no-callback-in-promisepromise/no-nestingpromise/no-promise-in-callbackpromise/no-return-in-finallypromise/valid-params
- The rules impacted are:
@metamask/eslint-config-browser 15.0.0
Changed
- BREAKING: Bump peer dependency on
@metamask/eslint-configfrom^14.0.0to^15.0.0(#431)
@metamask/eslint-config-commonjs 15.0.0
Changed
- BREAKING: Bump peer dependency on
@metamask/eslint-configfrom^14.0.0to^15.0.0(#431)
@metamask/eslint-config-jest 15.0.0
Changed
- BREAKING: Bump peer dependency on
@metamask/eslint-configfrom^14.0.0to^15.0.0(#431) - BREAKING: Convert various rules from
warntoerror(#424)- The rules impacted are:
jest/expect-expectjest/no-alias-methodsjest/no-commented-out-testsjest/no-disabled-tests
- The rules impacted are:
- Widen
typescriptpeer dependency to allow all 5.x versions (#422)
@metamask/eslint-config-mocha 15.0.0
Changed
- BREAKING: Bump peer dependency on
@metamask/eslint-configfrom^14.0.0to^15.0.0(#431)
@metamask/eslint-config-nodejs 15.0.0
Changed
- BREAKING: Bump peer dependency on
@metamask/eslint-configfrom^14.0.0to^15.0.0(#431)
@metamask/eslint-config-typescript 15.0.0
Changed
- BREAKING: Bump peer dependency on
@metamask/eslint-configfrom^14.0.0to^15.0.0(#431) - BREAKING: Update
typescript-eslintpeer dependency to have a minimum version of v8.39.0 (#423)- This version has a matching supported
typescriptrange, and includes some bug fixes for problems we ran into.
- This version has a matching supported
- BREAKING: Update type import specifier rules (#381)
@typescript-eslint/consistent-type-importshas been replaced withimport-x/consistent-type-specifier-style- The rule now prefers "top-level" type imports over inline. e.g.
import type { a } from 'x'overimport { type a } from 'x'
- Disable
@typescript-eslint/no-unnecessary-type-arguments(#426)- We decided that "unnecessary" type arguments make types easier to read sometimes, so we should allow them.
- Disable
promise/valid-paramsbecause it's redundant in type-checked projects (#425) - Disable
import-x/no-duplicates(#427)- It was a style preference that we may not want, and the auto-fix was broken.
- Loosen
@typescript-eslint/naming-conventionby not enforcing naming conventions for object literal properties (#428)- Object literals are too often used as parameters for 3rd party libraries/services.
- Disable
jsdoc/check-indentation(#430)- Disabled due to a problem with indended sections in TSDoc blocks.
- Widen
typescriptpeer dependency to allow all 5.x versions (#422)
Fixed
- Prevent non-type imports from being grouped under a type import upon auto-fix (#427)
- This was caused by
import-x/no-duplicates, which is now disabled.
- This was caused by
- Fix false positive lint error on TSDoc blocks with indended sections (e.g. bullet lists) (#430)
@metamask/eslint-config-vitest 15.0.0
Changed
14.1.0
@metamask/eslint-config 14.1.0
Changed
- Loosen
promise/catch-or-returnandpromise/param-namesrules (#384)
@metamask/eslint-config-jest 14.1.0
Changed
- Replace
@typescript-eslint/unbound-methodrule withjest/unbound-methodin Jest tests (#391)jest/unbound-methodis looser than@typescript-eslint/unbound-method, so this should be a non-breaking change unless@typescript-eslint/unbound-methodis disabled.
- Remove
jest/no-conditional-in-testrule (#383)
@metamask/eslint-config-typescript 14.1.0
Added
- Add support for TypeScript 5.6.x-5.8.x (#395)
Changed
- Disable
@typescript-eslint/no-unsafe-enum-comparisonrule (#387) - Loosen
@typescript-eslint/prefer-promise-reject-errorsrule to allow rejecting withunknown(#389) - Loosen
@typescript-eslint/naming-conventionrule to allow more formats for import names (#388) - Loosen
@typescript-eslint/switch-exhaustiveness-checkrule to allowdefaultcase (#390)
14.0.0
@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.0to^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.
- ESLint 9 requires flat configs, so this change also rewrites the configs to
- BREAKING: Bump peer dependency on
@metamask/eslint-configfrom^13.0.0to^14.0.0(#377) - BREAKING: Bump peer dependency on
eslint-config-prettierfrom^8.5.0to^9.1.0(#370) - BREAKING: Bump peer dependency on
eslint-plugin-import-xfrom^0.5.1to^4.3.0(#370) - BREAKING: Bump peer dependency on
eslint-plugin-jsdocfrom>=43.0.7 <48to^50.2.4(#370) - BREAKING: Bump peer dependency on
eslint-plugin-prettierfrom^4.2.1to^5.2.1(#370) - BREAKING: Bump peer dependency on
eslint-plugin-promisefrom^6.1.1to^7.1.0(#370) - BREAKING: Bump peer dependency on
prettierfrom^2.7.1to^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
requiresyntax.
- ESLint 9 supports ESM out-of-the-box, so this change updates the package to
@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.0to^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.
- ESLint 9 requires flat configs, so this change also rewrites the configs to
- BREAKING: Bump peer dependency on
@metamask/eslint-configfrom^13.0.0to^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
requiresyntax.
- ESLint 9 supports ESM out-of-the-box, so this change updates the package to
@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.0to^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.
- ESLint 9 requires flat configs, so this change also rewrites the configs to
- BREAKING: Bump peer dependency on
@metamask/eslint-configfrom^13.0.0to^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
requiresyntax.
- ESLint 9 supports ESM out-of-the-box, so this change updates the package to
@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.0to^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.
- ESLint 9 requires flat configs, so this change also rewrites the configs to
- BREAKING: Bump peer dependency on
@metamask/eslint-configfrom^13.0.0to^14.0.0(#377) - BREAKING: Bump peer dependency on
eslint-plugin-jestfrom^27.9.0to^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
requiresyntax.
- ESLint 9 supports ESM out-of-the-box, so this change updates the package to
@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.0to^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.
- ESLint 9 requires flat configs, so this change also rewrites the configs to
- BREAKING: Bump peer dependency on
@metamask/eslint-configfrom^13.0.0to^14.0.0(#377) - BREAKING: Bump peer dependency on
eslint-plugin-mochafrom^10.4.1to^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
requiresyntax.
- ESLint 9 supports ESM out-of-the-box, so this change updates the package to
@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.0to^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.
- ESLint 9 requires flat configs, so this change also rewrites the configs to
- BREAKING: Bump peer dependency on
@metamask/eslint-configfrom^13.0.0to^14.0.0(#377) - BREAKING: Bump peer dependency on
eslint-plugin-nfrom^16.6.2to^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
requiresyntax.
- ESLint 9 supports ESM out-of-the-box, so this change updates the package to
@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.0to^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.
- ESLint 9 requires flat configs, so this change also rewrites the configs to
- BREAKING: Bump peer dependency on
@metamask/eslint-configfrom^13.0.0to^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
requiresyntax.
- ESLint 9 supports ESM out-of-the-box, so this change updates the package to
Removed
- Remove peer dependency on
@typescript-eslint/eslint-pluginand@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-jestconfig, but uses
the Vitest plugin instead of Jest.
- This config is based on the
13.0.0
@metamask/eslint-config
Changed
- BREAKING: Replace
eslint-plugin-importwitheslint-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-importwitheslint-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-importwitheslint-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-importwitheslint-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-importwitheslint-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-importwitheslint-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-eslintpackages.
- Also bump relevant
- BREAKING: Replace
eslint-plugin-importwitheslint-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
@metamask/eslint-config
Changed
- Remove deprecated rule
jsdoc/newline-after-description(#290)- This means the plugin can now be used with
eslint-plugin-jsdocversions42and above.
- This means the plugin can now be used with
Fixed
- Pin
eslint-plugin-import@~2.26.0to avoid a regression in[email protected](#307) - Change
endOfLinerules to better support linting on Windows (#311)
12.1.0
@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
@metamask/eslint-config
Added
- BREAKING: Add
eslint-plugin-promisepeer dependency, and enableno-multiple-resolved(#287)
@metamask/eslint-config-browser
Changed
- BREAKING: Update peer dependency
@metamask/eslint-configto v12
@metamask/eslint-config-commonjs
Changed
- BREAKING: Add peer dependency
@metamask/eslint-configand 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-configto v12
@metamask/eslint-config-mocha
Changed
- BREAKING: Update peer dependency
@metamask/eslint-configto v12
@metamask/eslint-config-nodejs
Changed
- BREAKING: Update peer dependency
@metamask/eslint-configto v12 - BREAKING: Replace
eslint-plugin-nodewitheslint-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-importsrule (#284) - BREAKING: Enable
@typescript-eslint/prefer-enum-initializersrule (#269)
Changed
- BREAKING: Update peer dependency
@metamask/eslint-configto v12 - Disable naming convention for properties that require quotes (#293)
11.1.0
@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
11.0.1
@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.