Skip to content

Commit

Permalink
11.0.0 (#256)
Browse files Browse the repository at this point in the history
* 11.0.0

* Update changelogs

* Update all "BREAKING" for consistency

* Update READMEs

* Fix review comments

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Maarten Zuidhoorn <maarten@zuidhoorn.com>
  • Loading branch information
3 people committed Nov 16, 2022
1 parent af99bf3 commit 700c5db
Show file tree
Hide file tree
Showing 20 changed files with 143 additions and 92 deletions.
6 changes: 3 additions & 3 deletions package.json
@@ -1,6 +1,6 @@
{
"name": "root",
"version": "10.0.0",
"version": "11.0.0",
"private": true,
"repository": {
"type": "git",
Expand All @@ -26,8 +26,8 @@
"@eslint/eslintrc": "^1.3.0",
"@lavamoat/allow-scripts": "^2.0.3",
"@metamask/auto-changelog": "^3.0.0",
"@metamask/eslint-config": "*",
"@metamask/eslint-config-nodejs": "*",
"@metamask/eslint-config": "^11.0.0",
"@metamask/eslint-config-nodejs": "^11.0.0",
"@metamask/utils": "^3.3.1",
"@types/jest": "^29.2.2",
"eslint": "^8.27.0",
Expand Down
49 changes: 33 additions & 16 deletions packages/base/CHANGELOG.md
Expand Up @@ -6,28 +6,44 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [11.0.0]
### Added
- **BREAKING:** Enable id-denylist and id-length in base config ([#200](https://github.com/MetaMask/eslint-config/pull/200))
- **BREAKING:** Add rules for hybrid Node.js and browser environments ([#242](https://github.com/MetaMask/eslint-config/pull/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](https://github.com/MetaMask/eslint-config/pull/254))
- **BREAKING:** Bump all ESLint dependencies to the latest version ([#252](https://github.com/MetaMask/eslint-config/pull/252))
- This includes peer dependencies.
- **BREAKING:** Automatically sort imports ([#248](https://github.com/MetaMask/eslint-config/pull/248))
- **BREAKING:** Disable more undesired syntax ([#207](https://github.com/MetaMask/eslint-config/pull/207))
- This disables the `with` statement, function expressions, and the `in` operator.

## [10.0.0]
### Changed
- **(BREAKING)** Update ESLint from v7 to v8 ([#233](https://github.com/MetaMask/eslint-config/pull/233))
- **BREAKING:** Update ESLint from v7 to v8 ([#233](https://github.com/MetaMask/eslint-config/pull/233))
- This is breaking because `eslint` is a `peerDependency`.
- Four new rules have been added:
- [`no-loss-of-precision`](https://eslint.org/docs/latest/rules/no-loss-of-precision)
- [`no-nonoctal-decimal-escape`](https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape)
- [`no-unsafe-optional-chaining`](https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining)
- [`no-useless-backreference`](https://eslint.org/docs/latest/rules/no-useless-backreference)
- **(BREAKING)** Update `eslint-plugin-prettier` from v3 to v4 ([#231](https://github.com/MetaMask/eslint-config/pull/231))
- **BREAKING:** Update `eslint-plugin-prettier` from v3 to v4 ([#231](https://github.com/MetaMask/eslint-config/pull/231))
- This is breaking beacuse `eslint-plugin-prettier` is a `peerDependency`.
- **(BREAKING)** Update minimium Node.js version to v14 ([#225](https://github.com/MetaMask/eslint-config/pull/225))
- **BREAKING:** Update minimium Node.js version to v14 ([#225](https://github.com/MetaMask/eslint-config/pull/225))
- Ignore rest siblings for `no-unused-vars` ([#213](https://github.com/MetaMask/eslint-config/pull/213))
- This makes the `no-unused-vars` rule more permissive

## [9.0.0]
### Added
- **BREAKING** Add JSDoc ESLint rules ([#203](https://github.com/MetaMask/eslint-config/pull/203))
- **BREAKING:** Add JSDoc ESLint rules ([#203](https://github.com/MetaMask/eslint-config/pull/203))

## [8.0.0]
### Changed
- **(BREAKING)** Require newlines between multiline blocks and expressions ([#197](https://github.com/MetaMask/eslint-config/pull/197))
- **BREAKING:** Require newlines between multiline blocks and expressions ([#197](https://github.com/MetaMask/eslint-config/pull/197))

## [7.0.1]
### Fixed
Expand All @@ -39,24 +55,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [7.0.0]
### Changed
- **(BREAKING)** Update Prettier `quoteProps` rule to `as-needed` ([#181](https://github.com/MetaMask/eslint-config/pull/181))
- **(BREAKING)** Update ESLint `no-shadow` config ([#168](https://github.com/MetaMask/eslint-config/pull/168))
- **BREAKING:** Update Prettier `quoteProps` rule to `as-needed` ([#181](https://github.com/MetaMask/eslint-config/pull/181))
- **BREAKING:** Update ESLint `no-shadow` config ([#168](https://github.com/MetaMask/eslint-config/pull/168))
- Use recommended `eslint-plugin-import` rule sets ([#184](https://github.com/MetaMask/eslint-config/pull/184))
- This only removed or disabled rules, and is not breaking.
- Update install instructions in readme ([#185](https://github.com/MetaMask/eslint-config/pull/185))
- Normalize rule config values ([#169](https://github.com/MetaMask/eslint-config/pull/169))

## [6.0.0] - 2021-04-08
### Changed
- **(BREAKING)** Set minimum Node.js version to `^12.0.0` ([#144](https://github.com/MetaMask/eslint-config/pull/144))
- **(BREAKING)** Set ECMAScript version to `es2017`/`8` ([#150](https://github.com/MetaMask/eslint-config/pull/150))
- **(BREAKING)** Add the [Prettier](https://prettier.io) ESLint plugin and extend the recommended Prettier ESLint config ([#96](https://github.com/MetaMask/eslint-config/pull/96))
- **BREAKING:** Set minimum Node.js version to `^12.0.0` ([#144](https://github.com/MetaMask/eslint-config/pull/144))
- **BREAKING:** Set ECMAScript version to `es2017`/`8` ([#150](https://github.com/MetaMask/eslint-config/pull/150))
- **BREAKING:** Add the [Prettier](https://prettier.io) ESLint plugin and extend the recommended Prettier ESLint config ([#96](https://github.com/MetaMask/eslint-config/pull/96))
- See [here](https://github.com/prettier/eslint-plugin-prettier/blob/d993f24/eslint-plugin-prettier.js#L62-L73) for the `eslint-plugin-prettier` rules and [here](https://github.com/prettier/eslint-config-prettier/blob/abf3ba1/index.js) 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](https://github.com/MetaMask/eslint-config/pull/151))

### Removed
- **(BREAKING)** All configs except the base config ([#141](https://github.com/MetaMask/eslint-config/pull/141))
- **BREAKING:** All configs except the base config ([#141](https://github.com/MetaMask/eslint-config/pull/141))
- All configs are now published as separate packages, and must be extended by referencing their package names:
- [`@metamask/eslint-config`](https://npmjs.com/package/@metamask/eslint-config) (the base config)
- [`@metamask/eslint-config-jest`](https://npmjs.com/package/@metamask/eslint-config-jest)
Expand All @@ -66,9 +82,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [5.0.0] - 2021-02-02
### Changed
- **(BREAKING)** Enable `semi` in base config ([#101](https://github.com/MetaMask/eslint-config/pull/101))
- **(BREAKING)** Disallow spaces before parentheses of named functions ([#101](https://github.com/MetaMask/eslint-config/pull/101))
- **(BREAKING)** Upgrade to TypeScript v4 and corresponding `@typescript-eslint` dependencies ([#79](https://github.com/MetaMask/eslint-config/pull/79), [#80](https://github.com/MetaMask/eslint-config/pull/80), [#103](https://github.com/MetaMask/eslint-config/pull/103))
- **BREAKING:** Enable `semi` in base config ([#101](https://github.com/MetaMask/eslint-config/pull/101))
- **BREAKING:** Disallow spaces before parentheses of named functions ([#101](https://github.com/MetaMask/eslint-config/pull/101))
- **BREAKING:** Upgrade to TypeScript v4 and corresponding `@typescript-eslint` dependencies ([#79](https://github.com/MetaMask/eslint-config/pull/79), [#80](https://github.com/MetaMask/eslint-config/pull/80), [#103](https://github.com/MetaMask/eslint-config/pull/103))

## [4.1.0] - 2020-10-21
### Changed
Expand All @@ -77,7 +93,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [4.0.0] - 2020-10-20
### Changed
- **(BREAKING)** Update to ESLint v7 (#46, #58, #62, #63)
- **BREAKING:** Update to ESLint v7 (#46, #58, #62, #63)
- Relax `member-delimiter-style` for TypeScript ([#68](https://github.com/MetaMask/eslint-config/pull/68))
- Disable `space-before-function-paren` for TypeScript ([#65](https://github.com/MetaMask/eslint-config/pull/65))

Expand Down Expand Up @@ -131,7 +147,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Add base, TypeScript, and Jest configs (#3)

[Unreleased]: https://github.com/MetaMask/eslint-config/compare/v10.0.0...HEAD
[Unreleased]: https://github.com/MetaMask/eslint-config/compare/v11.0.0...HEAD
[11.0.0]: https://github.com/MetaMask/eslint-config/compare/v10.0.0...v11.0.0
[10.0.0]: https://github.com/MetaMask/eslint-config/compare/v9.0.0...v10.0.0
[9.0.0]: https://github.com/MetaMask/eslint-config/compare/v8.0.0...v9.0.0
[8.0.0]: https://github.com/MetaMask/eslint-config/compare/v7.0.1...v8.0.0
Expand Down
2 changes: 1 addition & 1 deletion packages/base/README.md
Expand Up @@ -8,7 +8,7 @@ Our default export contains a base set of ESLint rules for ES6+:

```bash
yarn add --dev \
@metamask/eslint-config@^10.0.0 \
@metamask/eslint-config@^11.0.0 \
eslint@^8.27.0 \
eslint-config-prettier@^8.5.0 \
eslint-plugin-import@^2.26.0 \
Expand Down
2 changes: 1 addition & 1 deletion packages/base/package.json
@@ -1,6 +1,6 @@
{
"name": "@metamask/eslint-config",
"version": "10.0.0",
"version": "11.0.0",
"description": "Shareable MetaMask ESLint config.",
"homepage": "https://github.com/MetaMask/eslint-config#readme",
"bugs": {
Expand Down
7 changes: 6 additions & 1 deletion packages/browser/CHANGELOG.md
Expand Up @@ -6,4 +6,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

[Unreleased]: https://github.com/MetaMask/eslint-config/
## [11.0.0]
### Added
- Initial release of this package.

[Unreleased]: https://github.com/MetaMask/eslint-config/compare/v11.0.0...HEAD
[11.0.0]: https://github.com/MetaMask/eslint-config/releases/tag/v11.0.0
4 changes: 2 additions & 2 deletions packages/browser/README.md
Expand Up @@ -8,8 +8,8 @@ Our default export contains a base set of ESLint rules for ES6+:

```bash
yarn add --dev \
@metamask/eslint-config@^10.0.0 \
@metamask/eslint-config-browser@^10.0.0 \
@metamask/eslint-config@^11.0.0 \
@metamask/eslint-config-browser@^11.0.0 \
eslint@^8.27.0 \
eslint-config-prettier@^8.5.0 \
eslint-plugin-import@^2.26.0 \
Expand Down
4 changes: 2 additions & 2 deletions packages/browser/package.json
@@ -1,6 +1,6 @@
{
"name": "@metamask/eslint-config-browser",
"version": "10.0.0",
"version": "11.0.0",
"description": "Shareable MetaMask ESLint plugin for browser environments.",
"homepage": "https://github.com/MetaMask/eslint-config#readme",
"bugs": {
Expand Down Expand Up @@ -30,7 +30,7 @@
"prettier": "^2.7.1"
},
"peerDependencies": {
"@metamask/eslint-config": "^10.0.0",
"@metamask/eslint-config": "^11.0.0",
"eslint": "^8.27.0"
},
"engines": {
Expand Down
20 changes: 13 additions & 7 deletions packages/jest/CHANGELOG.md
Expand Up @@ -6,28 +6,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [11.0.0]
### Changed
- **BREAKING:** Bump all ESLint dependencies to the latest version ([#252](https://github.com/MetaMask/eslint-config/pull/252))
- This includes peer dependencies.

## [10.0.0]
### Changed
- **(BREAKING)** Update ESLint from v7 to v8 ([#233](https://github.com/MetaMask/eslint-config/pull/233))
- **BREAKING:** Update ESLint from v7 to v8 ([#233](https://github.com/MetaMask/eslint-config/pull/233))
- This is breaking because `eslint` is a `peerDependency`.
- Four new rules have been added:
- [`no-loss-of-precision`](https://eslint.org/docs/latest/rules/no-loss-of-precision)
- [`no-nonoctal-decimal-escape`](https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape)
- [`no-unsafe-optional-chaining`](https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining)
- [`no-useless-backreference`](https://eslint.org/docs/latest/rules/no-useless-backreference)
- **(BREAKING)** Bump eslint-plugin-jest to ^26.x ([#228](https://github.com/MetaMask/eslint-config/pull/228))
- **BREAKING:** Bump eslint-plugin-jest to ^26.x ([#228](https://github.com/MetaMask/eslint-config/pull/228))
- This is breaking because `eslint-plugin-jest` is a `peerDependency`
- The rule [`jest/prefer-to-be`](https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/prefer-to-be.md) 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](https://github.com/MetaMask/eslint-config/pull/225))
- **BREAKING:** Update minimium Node.js version to v14 ([#225](https://github.com/MetaMask/eslint-config/pull/225))

## [9.0.0]
### Added
- **BREAKING** Add JSDoc ESLint rules ([#203](https://github.com/MetaMask/eslint-config/pull/203))
- **BREAKING:** Add JSDoc ESLint rules ([#203](https://github.com/MetaMask/eslint-config/pull/203))

## [8.0.0]
### Changed
- ***BREAKING*** The peer dependency `@metamask/eslint-config` has been updated from v7 to v8.
- **BREAKING:** The peer dependency `@metamask/eslint-config` has been updated from v7 to v8.

## [7.0.0]
### Changed
Expand All @@ -39,14 +44,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [6.0.0] - 2021-04-08
### Changed
- **(BREAKING)** Set minimum Node.js version to `^12.0.0` ([#144](https://github.com/MetaMask/eslint-config/pull/144))
- **BREAKING:** Set minimum Node.js version to `^12.0.0` ([#144](https://github.com/MetaMask/eslint-config/pull/144))
- Publish this config as its own package ([#141](https://github.com/MetaMask/eslint-config/pull/141))
- The contents of this package were previously published as part of [`@metamask/eslint-config`](https://npmjs.com/package/@metamask/eslint-config).
For changes prior to version `6.0.0`, please refer to the changelog of that package.
- To continue extending this config, install this package and update your `.eslintrc.js` `extends` array to include `@metamask/eslint-config-jest` instead of `@metamask/eslint-config/jest`.
- Update `eslint` and other ESLint peer dependencies ([#151](https://github.com/MetaMask/eslint-config/pull/151))

[Unreleased]: https://github.com/MetaMask/eslint-config/compare/v10.0.0...HEAD
[Unreleased]: https://github.com/MetaMask/eslint-config/compare/v11.0.0...HEAD
[11.0.0]: https://github.com/MetaMask/eslint-config/compare/v10.0.0...v11.0.0
[10.0.0]: https://github.com/MetaMask/eslint-config/compare/v9.0.0...v10.0.0
[9.0.0]: https://github.com/MetaMask/eslint-config/compare/v8.0.0...v9.0.0
[8.0.0]: https://github.com/MetaMask/eslint-config/compare/v7.0.0...v8.0.0
Expand Down
4 changes: 2 additions & 2 deletions packages/jest/README.md
Expand Up @@ -6,8 +6,8 @@ MetaMask's [Jest](https://jestjs.io/) ESLint configuration.

```bash
yarn add --dev \
@metamask/eslint-config@^10.0.0 \
@metamask/eslint-config-jest@^10.0.0 \
@metamask/eslint-config@^11.0.0 \
@metamask/eslint-config-jest@^11.0.0 \
eslint@^8.27.0 \
eslint-config-prettier@^8.5.0 \
eslint-plugin-import@^2.26.0 \
Expand Down
6 changes: 3 additions & 3 deletions packages/jest/package.json
@@ -1,6 +1,6 @@
{
"name": "@metamask/eslint-config-jest",
"version": "10.0.0",
"version": "11.0.0",
"description": "Shareable MetaMask ESLint config for Jest.",
"homepage": "https://github.com/MetaMask/eslint-config#readme",
"bugs": {
Expand All @@ -22,7 +22,7 @@
},
"devDependencies": {
"@metamask/auto-changelog": "^3.0.0",
"@metamask/eslint-config": "^10.0.0",
"@metamask/eslint-config": "^11.0.0",
"eslint": "^8.27.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-import": "^2.26.0",
Expand All @@ -32,7 +32,7 @@
"prettier": "^2.7.1"
},
"peerDependencies": {
"@metamask/eslint-config": "^10.0.0",
"@metamask/eslint-config": "^11.0.0",
"eslint": "^8.27.0",
"eslint-plugin-jest": "^27.1.5"
},
Expand Down
22 changes: 14 additions & 8 deletions packages/mocha/CHANGELOG.md
Expand Up @@ -6,29 +6,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [11.0.0]
### Changed
- **BREAKING:** Bump all ESLint dependencies to the latest version ([#252](https://github.com/MetaMask/eslint-config/pull/252))
- This includes peer dependencies.

## [10.0.0]
### Changed
- **(BREAKING)** Update ESLint from v7 to v8 ([#233](https://github.com/MetaMask/eslint-config/pull/233))
- **BREAKING:** Update ESLint from v7 to v8 ([#233](https://github.com/MetaMask/eslint-config/pull/233))
- This is breaking because `eslint` is a `peerDependency`.
- Four new rules have been added:
- [`no-loss-of-precision`](https://eslint.org/docs/latest/rules/no-loss-of-precision)
- [`no-nonoctal-decimal-escape`](https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape)
- [`no-unsafe-optional-chaining`](https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining)
- [`no-useless-backreference`](https://eslint.org/docs/latest/rules/no-useless-backreference)
- **(BREAKING)** Update `eslint-plugin-mocha` from v8 to v10 ([#232](https://github.com/MetaMask/eslint-config/pull/232))
- **BREAKING:** Update `eslint-plugin-mocha` from v8 to v10 ([#232](https://github.com/MetaMask/eslint-config/pull/232))
- This is breaking because `eslint-plugin-mocha` is a `peerDependency`.
- The rule [`mocha/no-empty-description`](https://github.com/lo1tuma/eslint-plugin-mocha/blob/master/docs/rules/no-empty-description.md) was added.
- **(BREAKING)** Update minimium Node.js version to v14 ([#225](https://github.com/MetaMask/eslint-config/pull/225))
- **BREAKING:** Update minimium Node.js version to v14 ([#225](https://github.com/MetaMask/eslint-config/pull/225))
- Update Mocha ecmaVersion ([#218](https://github.com/MetaMask/eslint-config/pull/218))
- This lets us use newer JavaScript features in our Mocha tests.

## [9.0.0]
### Added
- **BREAKING** Add JSDoc ESLint rules ([#203](https://github.com/MetaMask/eslint-config/pull/203))
- **BREAKING:** Add JSDoc ESLint rules ([#203](https://github.com/MetaMask/eslint-config/pull/203))

## [8.0.0]
### Changed
- ***BREAKING*** The peer dependency `@metamask/eslint-config` has been updated from v7 to v8.
- **BREAKING:** The peer dependency `@metamask/eslint-config` has been updated from v7 to v8.

## [7.0.0]
### Changed
Expand All @@ -40,15 +45,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [6.0.0] - 2021-04-08
### Changed
- **(BREAKING)** Set minimum Node.js version to `^12.0.0` ([#144](https://github.com/MetaMask/eslint-config/pull/144))
- **(BREAKING)** Enable [`mocha/no-exports`](https://github.com/lo1tuma/eslint-plugin-mocha/blob/bb203bc/docs/rules/no-exports.md) ([#156](https://github.com/MetaMask/eslint-config/pull/156))
- **BREAKING:** Set minimum Node.js version to `^12.0.0` ([#144](https://github.com/MetaMask/eslint-config/pull/144))
- **BREAKING:** Enable [`mocha/no-exports`](https://github.com/lo1tuma/eslint-plugin-mocha/blob/bb203bc/docs/rules/no-exports.md) ([#156](https://github.com/MetaMask/eslint-config/pull/156))
- Publish this config as its own package ([#141](https://github.com/MetaMask/eslint-config/pull/141))
- The contents of this package were previously published as part of [`@metamask/eslint-config`](https://npmjs.com/package/@metamask/eslint-config).
For changes prior to version `6.0.0`, please refer to the changelog of that package.
- To continue extending this config, install this package and update your `.eslintrc.js` `extends` array to include `@metamask/eslint-config-mocha` instead of `@metamask/eslint-config/mocha`.
- Update `eslint` and other ESLint peer dependencies ([#151](https://github.com/MetaMask/eslint-config/pull/151))

[Unreleased]: https://github.com/MetaMask/eslint-config/compare/v10.0.0...HEAD
[Unreleased]: https://github.com/MetaMask/eslint-config/compare/v11.0.0...HEAD
[11.0.0]: https://github.com/MetaMask/eslint-config/compare/v10.0.0...v11.0.0
[10.0.0]: https://github.com/MetaMask/eslint-config/compare/v9.0.0...v10.0.0
[9.0.0]: https://github.com/MetaMask/eslint-config/compare/v8.0.0...v9.0.0
[8.0.0]: https://github.com/MetaMask/eslint-config/compare/v7.0.0...v8.0.0
Expand Down

0 comments on commit 700c5db

Please sign in to comment.