Skip to content

Latest commit

 

History

History
295 lines (197 loc) · 14.6 KB

CHANGELOG.md

File metadata and controls

295 lines (197 loc) · 14.6 KB

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.

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.

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)

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)

Changed

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

Added

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

Changed

  • Exclude test files from package (#266)

Changed

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

Fixed

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

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.

Changed

Added

  • BREAKING: Add JSDoc ESLint rules (#203)

Changed

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

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.

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)

6.0.0 - 2021-04-08

Changed

  • BREAKING: Set minimum Node.js version to ^12.0.0 (#144)
  • BREAKING: Set ECMAScript version to es2017/8 (#150)
  • BREAKING: Add the Prettier ESLint plugin and extend the recommended Prettier ESLint config (#96)
    • See here for the eslint-plugin-prettier rules and here for the rules of eslint-config-prettier, which the plugin extends.
    • The rules of this config should otherwise be unchanged.
  • Update eslint and other ESLint peer dependencies (#151)

Removed

5.0.0 - 2021-02-02

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)

4.1.0 - 2020-10-21

Changed

  • Disable node/no-missing-import (#75)
  • Disable node/no-missing-require (#75)

4.0.0 - 2020-10-20

Changed

  • BREAKING: Update to ESLint v7 (#46, #58, #62, #63)
  • Relax member-delimiter-style for TypeScript (#68)
  • Disable space-before-function-paren for TypeScript (#65)

3.2.0 - 2020-08-20

Changed

  • Relax prefer-destructuring rules (#57)

3.1.0 - 2020-08-19

Changed

  • Disable prefer-object-spread (#54)

3.0.0 - 2020-08-11

Changed

  • Disallow all anonymous default exports (#52)
  • Set maximum empty lines to 1 (#51)

2.2.0 - 2020-07-14

Changed

  • Relax no-plusplus rule (#44)

2.1.1 - 2020-04-17

Changed

  • Disable require-await (#37)

2.1.0 - 2020-02-24

Changed

  • Disable @typescript-eslint/no-extra-parens (#29)

2.0.0 - 2020-02-20

Added

  • Add import rules to base config (#24)
  • Clarified TypeScript config & publishing docs

Changed

  • Explicitly specify all core rules (#17)
  • Update TypeScript config (#25)

Removed

  • Remove root flag from TS config (#20)

1.2.0 - 2020-02-18

Changed

  • Disable Jest lowercase-name for describe blocks (#14)

1.1.0 - 2020-02-11

Added

  • Add README file
  • Add Mocha config (#13)

1.0.0 - 2020-01-21

Added

  • Add base, TypeScript, and Jest configs (#3)