From 4c987f5f566398d95584668bd2bc18bfdf438e40 Mon Sep 17 00:00:00 2001 From: Simen Bekkhus Date: Tue, 23 Aug 2022 12:49:16 +0200 Subject: [PATCH 01/10] feat: drop support for Node versions 12 and 17 (#1211) BREAKING CHANGE: Node versions 12 and 17 are no longer supported --- .github/workflows/nodejs.yml | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 8134e6a37..21e52b5dc 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -67,7 +67,7 @@ jobs: strategy: fail-fast: false matrix: - node-version: [12.x, 14.x, 16.x, 17.x, 18.x] + node-version: [14.x, 16.x, 18.x] eslint-version: [6, 7, 8] runs-on: ubuntu-latest diff --git a/package.json b/package.json index 6f88b9b05..58b4d14cf 100644 --- a/package.json +++ b/package.json @@ -153,6 +153,6 @@ }, "packageManager": "yarn@3.2.2", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } } From 21fc2feea67a8fd9f6673fd6a1e91ca1f5bdda11 Mon Sep 17 00:00:00 2001 From: Simen Bekkhus Date: Tue, 23 Aug 2022 12:50:18 +0200 Subject: [PATCH 02/10] feat: drop support for `eslint@6` (#1212) BREAKING CHANGE: Support for ESLint version 6 is removed --- .github/workflows/nodejs.yml | 2 +- package.json | 2 +- yarn.lock | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 21e52b5dc..4c16aacbe 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -68,7 +68,7 @@ jobs: fail-fast: false matrix: node-version: [14.x, 16.x, 18.x] - eslint-version: [6, 7, 8] + eslint-version: [7, 8] runs-on: ubuntu-latest steps: diff --git a/package.json b/package.json index 58b4d14cf..7cf8fcb19 100644 --- a/package.json +++ b/package.json @@ -141,7 +141,7 @@ }, "peerDependencies": { "@typescript-eslint/eslint-plugin": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "@typescript-eslint/eslint-plugin": { diff --git a/yarn.lock b/yarn.lock index bdb212e9a..5e9dcefcc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4463,7 +4463,7 @@ __metadata: typescript: ^4.4.0 peerDependencies: "@typescript-eslint/eslint-plugin": ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 peerDependenciesMeta: "@typescript-eslint/eslint-plugin": optional: true From fe74f9ac6816b644635b8c04e38dfcbcd4ad4338 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 23 Aug 2022 10:56:36 +0000 Subject: [PATCH 03/10] chore(release): 27.0.0-next.1 [skip ci] # [27.0.0-next.1](https://github.com/jest-community/eslint-plugin-jest/compare/v26.8.7...v27.0.0-next.1) (2022-08-23) ### Features * drop support for `eslint@6` ([#1212](https://github.com/jest-community/eslint-plugin-jest/issues/1212)) ([21fc2fe](https://github.com/jest-community/eslint-plugin-jest/commit/21fc2feea67a8fd9f6673fd6a1e91ca1f5bdda11)) * drop support for Node versions 12 and 17 ([#1211](https://github.com/jest-community/eslint-plugin-jest/issues/1211)) ([4c987f5](https://github.com/jest-community/eslint-plugin-jest/commit/4c987f5f566398d95584668bd2bc18bfdf438e40)) ### BREAKING CHANGES * Support for ESLint version 6 is removed * Node versions 12 and 17 are no longer supported --- CHANGELOG.md | 14 ++++++++++++++ package.json | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 88e15c2b7..46560542c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +# [27.0.0-next.1](https://github.com/jest-community/eslint-plugin-jest/compare/v26.8.7...v27.0.0-next.1) (2022-08-23) + + +### Features + +* drop support for `eslint@6` ([#1212](https://github.com/jest-community/eslint-plugin-jest/issues/1212)) ([21fc2fe](https://github.com/jest-community/eslint-plugin-jest/commit/21fc2feea67a8fd9f6673fd6a1e91ca1f5bdda11)) +* drop support for Node versions 12 and 17 ([#1211](https://github.com/jest-community/eslint-plugin-jest/issues/1211)) ([4c987f5](https://github.com/jest-community/eslint-plugin-jest/commit/4c987f5f566398d95584668bd2bc18bfdf438e40)) + + +### BREAKING CHANGES + +* Support for ESLint version 6 is removed +* Node versions 12 and 17 are no longer supported + ## [26.8.7](https://github.com/jest-community/eslint-plugin-jest/compare/v26.8.6...v26.8.7) (2022-08-21) diff --git a/package.json b/package.json index 7cf8fcb19..fac747b1a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-jest", - "version": "26.8.7", + "version": "27.0.0-next.1", "description": "ESLint rules for Jest", "keywords": [ "eslint", From f6ba42a24f75f9f769973cabda1af7b559448c8f Mon Sep 17 00:00:00 2001 From: Simen Bekkhus Date: Tue, 23 Aug 2022 13:04:57 +0200 Subject: [PATCH 04/10] chore: update dated dependencies (#1213) --- package.json | 14 +- yarn.lock | 549 +++++++++++++++++++++++++++++---------------------- 2 files changed, 322 insertions(+), 241 deletions(-) diff --git a/package.json b/package.json index fac747b1a..b2d0f6343 100644 --- a/package.json +++ b/package.json @@ -103,14 +103,14 @@ "@babel/core": "^7.4.4", "@babel/preset-env": "^7.4.4", "@babel/preset-typescript": "^7.3.3", - "@commitlint/cli": "^16.0.0", - "@commitlint/config-conventional": "^16.0.0", + "@commitlint/cli": "^17.0.3", + "@commitlint/config-conventional": "^17.0.3", "@schemastore/package": "^0.0.6", "@semantic-release/changelog": "^6.0.0", "@semantic-release/git": "^10.0.0", "@types/dedent": "^0.7.0", "@types/jest": "^28.0.0", - "@types/node": "^16.0.0", + "@types/node": "^14.18.26", "@types/prettier": "^2.0.0", "@typescript-eslint/eslint-plugin": "^5.0.0", "@typescript-eslint/parser": "^5.0.0", @@ -120,17 +120,17 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-eslint-comments": "^3.1.2", - "eslint-plugin-eslint-plugin": "^4.0.0", + "eslint-plugin-eslint-plugin": "^5.0.6", "eslint-plugin-import": "^2.25.1", "eslint-plugin-node": "^11.0.0", - "eslint-plugin-prettier": "^3.4.1", + "eslint-plugin-prettier": "^4.2.1", "eslint-remote-tester": "^3.0.0", "eslint-remote-tester-repositories": "~0.0.5", - "husky": "^7.0.2", + "husky": "^8.0.1", "is-ci": "^3.0.0", "jest": "^28.0.0", "jest-runner-eslint": "^1.0.0", - "lint-staged": "^12.0.0", + "lint-staged": "^13.0.3", "pinst": "^3.0.0", "prettier": "^2.0.5", "rimraf": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index 5e9dcefcc..fd548ea83 100644 --- a/yarn.lock +++ b/yarn.lock @@ -52,43 +52,43 @@ __metadata: linkType: hard "@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.18.8": - version: 7.18.8 - resolution: "@babel/compat-data@npm:7.18.8" - checksum: 3096aafad74936477ebdd039bcf342fba84eb3100e608f3360850fb63e1efa1c66037c4824f814d62f439ab47d25164439343a6e92e9b4357024fdf571505eb9 + version: 7.18.13 + resolution: "@babel/compat-data@npm:7.18.13" + checksum: 869a730dc3ec40d4d5141b832d50b16702a2ea7bf5b87dc2761e7dfaa8deeafa03b8809fc42ff713ac1d450748dcdb07e1eb21f4633e10b87fd47be0065573e6 languageName: node linkType: hard "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.4.4": - version: 7.18.10 - resolution: "@babel/core@npm:7.18.10" + version: 7.18.13 + resolution: "@babel/core@npm:7.18.13" dependencies: "@ampproject/remapping": ^2.1.0 "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.18.10 + "@babel/generator": ^7.18.13 "@babel/helper-compilation-targets": ^7.18.9 "@babel/helper-module-transforms": ^7.18.9 "@babel/helpers": ^7.18.9 - "@babel/parser": ^7.18.10 + "@babel/parser": ^7.18.13 "@babel/template": ^7.18.10 - "@babel/traverse": ^7.18.10 - "@babel/types": ^7.18.10 + "@babel/traverse": ^7.18.13 + "@babel/types": ^7.18.13 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.1 semver: ^6.3.0 - checksum: 3a3fcd878430a9e1cb165f755c89fff45acc4efe4dd3a2ba356e89af331cb1947886b9782d56902a49af19ba3c24f08cf638a632699b9c5a4d8305c57c6a150d + checksum: c7ee5b2c10bc5b0325e31fb5da4cb4bc03f9d5f5c00ec3481a018917bcc6b7b040de0690c606a424f57e5fc26d218d64e7718d0e5d7d8614d39c8cd898fab9b3 languageName: node linkType: hard -"@babel/generator@npm:^7.18.10, @babel/generator@npm:^7.7.2": - version: 7.18.12 - resolution: "@babel/generator@npm:7.18.12" +"@babel/generator@npm:^7.18.13, @babel/generator@npm:^7.7.2": + version: 7.18.13 + resolution: "@babel/generator@npm:7.18.13" dependencies: - "@babel/types": ^7.18.10 + "@babel/types": ^7.18.13 "@jridgewell/gen-mapping": ^0.3.2 jsesc: ^2.5.1 - checksum: 07dd71d255144bb703a80ab0156c35d64172ce81ddfb70ff24e2be687b052080233840c9a28d92fa2c33f7ecb8a8b30aef03b807518afc53b74c7908bf8859b1 + checksum: 27f5e7eb774e4d76ee75dc96e3e1bd26cc0ee7cea13a8f7342b716319c0a4d4e26fc49aa8f19316f7c99383da55eeb2a866c6e034e9deacad58a9de9ed6004fb languageName: node linkType: hard @@ -126,8 +126,8 @@ __metadata: linkType: hard "@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/helper-create-class-features-plugin@npm:7.18.9" + version: 7.18.13 + resolution: "@babel/helper-create-class-features-plugin@npm:7.18.13" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 "@babel/helper-environment-visitor": ^7.18.9 @@ -138,7 +138,7 @@ __metadata: "@babel/helper-split-export-declaration": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0 - checksum: 020dba79b92ee9a98520dad81dddb47d75b34b7b4392672cbefc59db6f5e89a96c5eb95bb1cc46b2fddf913ef63dfe6d17168f56b059af5c6965bb37b6ce1d82 + checksum: 3d2da92a54b885b211a747a8c553bb0190895d140cd1daab5d9945b2b271817d9d288a512364085e9fad19bd503921cd85fcc12f98df67b39b27f5655eb9d058 languageName: node linkType: hard @@ -364,12 +364,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.18.11": - version: 7.18.11 - resolution: "@babel/parser@npm:7.18.11" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.18.13": + version: 7.18.13 + resolution: "@babel/parser@npm:7.18.13" bin: parser: ./bin/babel-parser.js - checksum: 5ecc75b83e62ec53a947b1635a6ca75d6210d4a4f962f9f16f4239a6783f98e57f9662b598fa2fb1b8e12c0ad5c2bd86846ed0b97b85eb73dd7498b3a6d71a4b + checksum: 8b41c35607668495d67d9a7c5f61768aaab26acf887efdadc2781aed54046981480ef40aeda0b84d61aed02cf0c4ff4b028d5f83ab85e17e2ddff318f9243b8b languageName: node linkType: hard @@ -860,13 +860,13 @@ __metadata: linkType: hard "@babel/plugin-transform-destructuring@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/plugin-transform-destructuring@npm:7.18.9" + version: 7.18.13 + resolution: "@babel/plugin-transform-destructuring@npm:7.18.13" dependencies: "@babel/helper-plugin-utils": ^7.18.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1a9b85dff67fd248fa8a2488ef59df3eb4dd4ca6007ff7db9f780c7873630a13bc16cfb2ad8f4c4ca966e42978410d1e4b306545941fe62769f2683f34973acd + checksum: 83e44ec93a4cfbf69376db8836d00ec803820081bf0f8b6cea73a9b3cd320b8285768d5b385744af4a27edda4b6502245c52d3ed026ea61356faf57bfe78effb languageName: node linkType: hard @@ -1310,32 +1310,32 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.18.10, @babel/traverse@npm:^7.18.11, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.7.2": - version: 7.18.11 - resolution: "@babel/traverse@npm:7.18.11" +"@babel/traverse@npm:^7.18.11, @babel/traverse@npm:^7.18.13, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.7.2": + version: 7.18.13 + resolution: "@babel/traverse@npm:7.18.13" dependencies: "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.18.10 + "@babel/generator": ^7.18.13 "@babel/helper-environment-visitor": ^7.18.9 "@babel/helper-function-name": ^7.18.9 "@babel/helper-hoist-variables": ^7.18.6 "@babel/helper-split-export-declaration": ^7.18.6 - "@babel/parser": ^7.18.11 - "@babel/types": ^7.18.10 + "@babel/parser": ^7.18.13 + "@babel/types": ^7.18.13 debug: ^4.1.0 globals: ^11.1.0 - checksum: 727409464d5cf27f33555010098ce9bb435f0648cc76e674f4fb7513522356655ba62be99c8df330982b391ccf5f0c0c23c7bd7453d4936d47e2181693fed14c + checksum: 1a2ef738fac4968feba6385787a3f8f7357d08e7739ecc5b37d8ff5668935253a03290f700f02a85ccfd369d5898625f0722d7733bff2ef91504f6cd8b836f19 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.18.10 - resolution: "@babel/types@npm:7.18.10" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.13, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.18.13 + resolution: "@babel/types@npm:7.18.13" dependencies: "@babel/helper-string-parser": ^7.18.10 "@babel/helper-validator-identifier": ^7.18.6 to-fast-properties: ^2.0.0 - checksum: 11632c9b106e54021937a6498138014ebc9ad6c327a07b2af3ba8700773945aba4055fd136431cbe3a500d0f363cbf9c68eb4d6d38229897c5de9d06e14c85e8 + checksum: abc3ad1f3b6864df0ea0e778bcdf7d2c5ee2293811192962d50e8a8c05c1aeec90a48275f53b2a45aad882ed8bef9477ae1f8e70ac1d44d039e14930d1388dcc languageName: node linkType: hard @@ -1353,191 +1353,192 @@ __metadata: languageName: node linkType: hard -"@commitlint/cli@npm:^16.0.0": - version: 16.3.0 - resolution: "@commitlint/cli@npm:16.3.0" +"@commitlint/cli@npm:^17.0.3": + version: 17.0.3 + resolution: "@commitlint/cli@npm:17.0.3" dependencies: - "@commitlint/format": ^16.2.1 - "@commitlint/lint": ^16.2.4 - "@commitlint/load": ^16.3.0 - "@commitlint/read": ^16.2.1 - "@commitlint/types": ^16.2.1 + "@commitlint/format": ^17.0.0 + "@commitlint/lint": ^17.0.3 + "@commitlint/load": ^17.0.3 + "@commitlint/read": ^17.0.0 + "@commitlint/types": ^17.0.0 + execa: ^5.0.0 lodash: ^4.17.19 resolve-from: 5.0.0 resolve-global: 1.0.0 yargs: ^17.0.0 bin: commitlint: cli.js - checksum: 4fa791cd21fc4c61212de28cd4e64adc3de6d3a4f10ef89955d5382af6be95871d1a7cf210c6a7d74a8a6d75f008a52f7616bdc881776b292f45004ec2ced21a + checksum: d8319889e0b5290d15c53b1f1f7588cb364d9c062cdf52f56b83e474dfe371a9430a1e3682a7b9668c5173a006d4c4eed0c9747580b44225864ea388014d58dd languageName: node linkType: hard -"@commitlint/config-conventional@npm:^16.0.0": - version: 16.2.4 - resolution: "@commitlint/config-conventional@npm:16.2.4" +"@commitlint/config-conventional@npm:^17.0.3": + version: 17.0.3 + resolution: "@commitlint/config-conventional@npm:17.0.3" dependencies: - conventional-changelog-conventionalcommits: ^4.3.1 - checksum: 211a322967c1eeee961eb0be9752782d16c025213520b7ada173d6b16050efe477778103f32b62361ad595b79ff6703694569d99705469cb2be0ac5ffba6465e + conventional-changelog-conventionalcommits: ^5.0.0 + checksum: 1cd30d827cf43bc7b08604398d4104bc031a69c8b45777886572aff12de25f40761dfbe5ffc6cd1f0d5b05de850e6d3e22dee6d799288e9cdd80bf575d036d46 languageName: node linkType: hard -"@commitlint/config-validator@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/config-validator@npm:16.2.1" +"@commitlint/config-validator@npm:^17.0.3": + version: 17.0.3 + resolution: "@commitlint/config-validator@npm:17.0.3" dependencies: - "@commitlint/types": ^16.2.1 - ajv: ^6.12.6 - checksum: 1b86832dc03fc7f9442f9358c6c73d42974e9006944b8524bc4b4cd2ce946e50f3eca972737844dc7765a874c465ff5f18dad210f979491f9ee07c831b0eb8d3 + "@commitlint/types": ^17.0.0 + ajv: ^8.11.0 + checksum: bc543193bbe132e1fc351bd912434a7214055e8b865ea661b016c6e05c84714d75d8dc54ac6dcc1d53e872ef3665e4a0cf0e3817cff88a01201bf0b37d23744f languageName: node linkType: hard -"@commitlint/ensure@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/ensure@npm:16.2.1" +"@commitlint/ensure@npm:^17.0.0": + version: 17.0.0 + resolution: "@commitlint/ensure@npm:17.0.0" dependencies: - "@commitlint/types": ^16.2.1 + "@commitlint/types": ^17.0.0 lodash: ^4.17.19 - checksum: 388a124e515c02f14d026973821a6ce1d586ac966da8a51e69fabb925ee858e864696cd2b398bb5bec8d7ceee97f9f04c77630061b7784a10b06e0a436447d44 + checksum: 5ce3c624417dc64ed0d406954b7684ed287142535b0f55df6984093d0f82eadf0da5ab3e472e3020139304cd007c682a4bdfb95cf53fb99e7c7ae6d4711ada6b languageName: node linkType: hard -"@commitlint/execute-rule@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/execute-rule@npm:16.2.1" - checksum: 83be0e858fa415ba7d844fc68c7c8bcc3b14074fe862f2129e03ce5fd07a58876d88d080e0d2fbf25e10f6d3189a04bca024def48206fa0f0f1c5890d689539c +"@commitlint/execute-rule@npm:^17.0.0": + version: 17.0.0 + resolution: "@commitlint/execute-rule@npm:17.0.0" + checksum: cb37e5c6e0e16bf04e8f344094146ed2de8155456191da88fb9a1b943a9b5a98e0f6ef49c55b239104eb68634df681fd3be05311bf2da0cb6b171fdd24371669 languageName: node linkType: hard -"@commitlint/format@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/format@npm:16.2.1" +"@commitlint/format@npm:^17.0.0": + version: 17.0.0 + resolution: "@commitlint/format@npm:17.0.0" dependencies: - "@commitlint/types": ^16.2.1 - chalk: ^4.0.0 - checksum: d8f26a789f0ffc2dd763ed6467262e2cfa94900d7f517f39d32b0f0e9e5222767da12b5302bdccfb1e8a4805c667e5dc36ef98d41754c3ed0e339c35664c0ba6 + "@commitlint/types": ^17.0.0 + chalk: ^4.1.0 + checksum: e54705bdc91741632bac6ae330ba5d08110ec7575900585f4947487e7189a3d586396a3da3f1622fd3b6a49be9af1f71519a1ffeaa562d4cc7349bde3846eb8a languageName: node linkType: hard -"@commitlint/is-ignored@npm:^16.2.4": - version: 16.2.4 - resolution: "@commitlint/is-ignored@npm:16.2.4" +"@commitlint/is-ignored@npm:^17.0.3": + version: 17.0.3 + resolution: "@commitlint/is-ignored@npm:17.0.3" dependencies: - "@commitlint/types": ^16.2.1 + "@commitlint/types": ^17.0.0 semver: 7.3.7 - checksum: 1ae5f3ca1394fc3d211e8c3bf8f8a16b77e8b04050390a6231990d3802865d465273976f4d3ea1d6ec7ca4c9a8220044f10ea5cae3c13db826d56f7d9c69cbaa + checksum: 5a0b1921ea03cf8b5fd735b1c0903e6a28b4ff0a730977b8c2afe827feed8162c95264127d60cfe8f03e46be194436a44d4c3049ab07396c9bce2daa730a212c languageName: node linkType: hard -"@commitlint/lint@npm:^16.2.4": - version: 16.2.4 - resolution: "@commitlint/lint@npm:16.2.4" +"@commitlint/lint@npm:^17.0.3": + version: 17.0.3 + resolution: "@commitlint/lint@npm:17.0.3" dependencies: - "@commitlint/is-ignored": ^16.2.4 - "@commitlint/parse": ^16.2.1 - "@commitlint/rules": ^16.2.4 - "@commitlint/types": ^16.2.1 - checksum: 189d3070fb0c131d6ac2b2e8c864c37892fd2d202b866be9f0d9fdf5a5d5a0d5e8221bc373f29977ac1e5e33015abd71640dbd104e86137b60d8d4783d61679f + "@commitlint/is-ignored": ^17.0.3 + "@commitlint/parse": ^17.0.0 + "@commitlint/rules": ^17.0.0 + "@commitlint/types": ^17.0.0 + checksum: 5bbb8bc1f3b37fd680700c00a6135a72d6737dac85c79bcaa85a211828e2dff08d742e721255edca859d75996352b20b888ee47bdef5b47fc2718f9fd08d5b53 languageName: node linkType: hard -"@commitlint/load@npm:^16.3.0": - version: 16.3.0 - resolution: "@commitlint/load@npm:16.3.0" +"@commitlint/load@npm:^17.0.3": + version: 17.0.3 + resolution: "@commitlint/load@npm:17.0.3" dependencies: - "@commitlint/config-validator": ^16.2.1 - "@commitlint/execute-rule": ^16.2.1 - "@commitlint/resolve-extends": ^16.2.1 - "@commitlint/types": ^16.2.1 + "@commitlint/config-validator": ^17.0.3 + "@commitlint/execute-rule": ^17.0.0 + "@commitlint/resolve-extends": ^17.0.3 + "@commitlint/types": ^17.0.0 "@types/node": ">=12" - chalk: ^4.0.0 + chalk: ^4.1.0 cosmiconfig: ^7.0.0 cosmiconfig-typescript-loader: ^2.0.0 lodash: ^4.17.19 resolve-from: ^5.0.0 - typescript: ^4.4.3 - checksum: b03e3d9af2adec36e5d539741807c161a2860411ba25c2fddb75d3d4d2dadf4faaefd417150a0898b3aca4ce451a378222ce5039760e85faacc315b525a44035 + typescript: ^4.6.4 + checksum: 786b7064470b4c38577a10910ad725b4371e9f649fbcd4b6018ec4dec2b7f30bc60c6f02807b154ca59f5d5fd347f3d4a46523c9f44e324c05902a2fd29dfb17 languageName: node linkType: hard -"@commitlint/message@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/message@npm:16.2.1" - checksum: 172e18bd5bd47bf7d61356ba1da4a552a5f96860fadb277b9431e1ecfe6b49dd8f303e6d7ad120961325093346ec6764231975f8c73434f5487b05493406d551 +"@commitlint/message@npm:^17.0.0": + version: 17.0.0 + resolution: "@commitlint/message@npm:17.0.0" + checksum: ec80ea7f98082e48116fda1203277ac139bf2f442a8f58f87f8b823c6e526ec3771a9de7821b249254d580bff59a3fe205d044d1e9df29c34c3014a41e851c5d languageName: node linkType: hard -"@commitlint/parse@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/parse@npm:16.2.1" +"@commitlint/parse@npm:^17.0.0": + version: 17.0.0 + resolution: "@commitlint/parse@npm:17.0.0" dependencies: - "@commitlint/types": ^16.2.1 + "@commitlint/types": ^17.0.0 conventional-changelog-angular: ^5.0.11 conventional-commits-parser: ^3.2.2 - checksum: 8f966c45b2838900dfe8af14fa5085707a2c2ece7d6f00d8e61dad1fdd617b202177cfcc428ef6f7a41b7e6872560c9a040cf92eb122ad31a8f7777e3f9bab7b + checksum: 86610df080665b8ba83037c598f4e6d0538a5ec40fdb0c2ad1925bfdf0f494934deafa020d2e21663f64dbc20fec4e889d21675573d3860c379c2d305db7a141 languageName: node linkType: hard -"@commitlint/read@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/read@npm:16.2.1" +"@commitlint/read@npm:^17.0.0": + version: 17.0.0 + resolution: "@commitlint/read@npm:17.0.0" dependencies: - "@commitlint/top-level": ^16.2.1 - "@commitlint/types": ^16.2.1 + "@commitlint/top-level": ^17.0.0 + "@commitlint/types": ^17.0.0 fs-extra: ^10.0.0 git-raw-commits: ^2.0.0 - checksum: c2eb6c299a6af0ffda8ba27a5534210638b227855dd5d01d757fbf7a26a05a5c3d4d1f30e91bdd5ce12de023e482a329fad049df1f5b0f232049e7212e3cf947 + checksum: 5307d9ba06279343280cae4ab64bc6a153a44a24bc8948bbd80f07f5fac1f5b64586d34386ce5f6fd0fd221de4787c21fd82607f44a7969ab499c84bab1f0fa6 languageName: node linkType: hard -"@commitlint/resolve-extends@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/resolve-extends@npm:16.2.1" +"@commitlint/resolve-extends@npm:^17.0.3": + version: 17.0.3 + resolution: "@commitlint/resolve-extends@npm:17.0.3" dependencies: - "@commitlint/config-validator": ^16.2.1 - "@commitlint/types": ^16.2.1 + "@commitlint/config-validator": ^17.0.3 + "@commitlint/types": ^17.0.0 import-fresh: ^3.0.0 lodash: ^4.17.19 resolve-from: ^5.0.0 resolve-global: ^1.0.0 - checksum: e710fcb24573e1027bf0b7336983cd0539c32734b01831eb0da8a7f500d0734669d38ea75ff93e90c162417fd4db5cc460c2f122d772dfa0f4577f49caaee687 + checksum: 384fc59a5a8f3da2b4551b92b2734f8d22c39ba389ca31df2f7a8ea1e68e8c15b137faf4ae20529a7b826ca6a7f5e5cd30ab2c903f9d65f74d0b43dcac5f8e0c languageName: node linkType: hard -"@commitlint/rules@npm:^16.2.4": - version: 16.2.4 - resolution: "@commitlint/rules@npm:16.2.4" +"@commitlint/rules@npm:^17.0.0": + version: 17.0.0 + resolution: "@commitlint/rules@npm:17.0.0" dependencies: - "@commitlint/ensure": ^16.2.1 - "@commitlint/message": ^16.2.1 - "@commitlint/to-lines": ^16.2.1 - "@commitlint/types": ^16.2.1 + "@commitlint/ensure": ^17.0.0 + "@commitlint/message": ^17.0.0 + "@commitlint/to-lines": ^17.0.0 + "@commitlint/types": ^17.0.0 execa: ^5.0.0 - checksum: 117373efcec540512747832ab75af30a584e054ff92cce6f47b7fc552cc2048af5f9812b78d1dd5b128e7eeec7623f7bd45f139451020258d87548348c5bf08b + checksum: cd0944069932bee738a0ed70cb972fa0d14c0e35642310ca856d5e368ddc48513d05ece00f2e309ebcf4ecb119f8b44b322ff086edaa5208edb3cec0968dac06 languageName: node linkType: hard -"@commitlint/to-lines@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/to-lines@npm:16.2.1" - checksum: 94b1523298f335583307cff4f634137788bdce67f572dcdd6f08ca09cbe1176193ba2e308158696951ce3dd93cb2c6d1d8946e8ee376f506ac5212a65d87ed58 +"@commitlint/to-lines@npm:^17.0.0": + version: 17.0.0 + resolution: "@commitlint/to-lines@npm:17.0.0" + checksum: ccad787a3baf567c6c589e96e110aa2582103b50eaa9b70493116c08a0e5c6c50669c05e67b0a77cd803d66c031b1dcb9805b752d604178dbc4c744fc7f9bb04 languageName: node linkType: hard -"@commitlint/top-level@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/top-level@npm:16.2.1" +"@commitlint/top-level@npm:^17.0.0": + version: 17.0.0 + resolution: "@commitlint/top-level@npm:17.0.0" dependencies: find-up: ^5.0.0 - checksum: db6ae0483a4b7fbe3e2ca02541049180f87d88417039ea58e7539f22fb042fe50e465f5654394555bf9759b1c1e6130b435e4e80fbcec1d0e58cf24f9ccaf728 + checksum: 2e43d021a63faee67aa0e63b86a3ab9347ccda1b81f1f0722841223bd6bf127de954933c2ca3172fac0a1ce07a8b3bed62ac8f4afa04d50281dc5f80b43b61fb languageName: node linkType: hard -"@commitlint/types@npm:^16.2.1": - version: 16.2.1 - resolution: "@commitlint/types@npm:16.2.1" +"@commitlint/types@npm:^17.0.0": + version: 17.0.0 + resolution: "@commitlint/types@npm:17.0.0" dependencies: - chalk: ^4.0.0 - checksum: 93af3c26c36f3b11d99f0cbbb09c8952581eed2a6b7763eb728c0e7e7ecff5072de064a208b80225fb51533823af84ee3117d9c2efbcb63d1f5cfbf6fbfb8ed8 + chalk: ^4.1.0 + checksum: 210636d3923f93f7cfc409eac04376b0fe50356a0e08f25a37b43d5cd9ca4363f7b03ca2e7736cbf95b62d67733fe8e1028269d35b4fddd1b3f2a653c90ca85c languageName: node linkType: hard @@ -2620,16 +2621,16 @@ __metadata: linkType: hard "@types/node@npm:*, @types/node@npm:>=12": - version: 18.7.9 - resolution: "@types/node@npm:18.7.9" - checksum: 691ea1b734c0a39c4fe03c104fed18e0148bda6f2504dd341f84be8153d28e74d8114198d2d064ab7fdd2ece3ee16c60b78eea0101fb004f6e4595a631bc3839 + version: 18.7.11 + resolution: "@types/node@npm:18.7.11" + checksum: 66f200a5595d94285fa2052d29048b328acd729ace4be3516d3d2c1736ab33b5cbf698bec70afc5c6101e5df6c9867e3ec3a091dd937886c1e7a712ddde60f69 languageName: node linkType: hard -"@types/node@npm:^16.0.0": - version: 16.11.52 - resolution: "@types/node@npm:16.11.52" - checksum: eb688bff28015f1399264b7aa347d5f40e165d438306bd5884d78993671c5e43b7849b8ddc74b91bf7c7b73e15ba54fc56ea1db2118b0e3f59f9fabd2adc7fe7 +"@types/node@npm:^14.18.26": + version: 14.18.26 + resolution: "@types/node@npm:14.18.26" + checksum: c6ac3f9d4f6f77c0fa5ac17757779ad4d9835abfe3af5708b7552597cb5c7c1103e83499ccaf767a1cfa70040990bcf3f58761c547051dc8d5077f3c419091b1 languageName: node linkType: hard @@ -2882,7 +2883,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.10.0, ajv@npm:^6.12.4, ajv@npm:^6.12.6": +"ajv@npm:^6.10.0, ajv@npm:^6.12.4": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -2894,6 +2895,18 @@ __metadata: languageName: node linkType: hard +"ajv@npm:^8.11.0": + version: 8.11.0 + resolution: "ajv@npm:8.11.0" + dependencies: + fast-deep-equal: ^3.1.1 + json-schema-traverse: ^1.0.0 + require-from-string: ^2.0.2 + uri-js: ^4.2.2 + checksum: 5e0ff226806763be73e93dd7805b634f6f5921e3e90ca04acdf8db81eed9d8d3f0d4c5f1213047f45ebbf8047ffe0c840fa1ef2ec42c3a644899f69aa72b5bef + languageName: node + linkType: hard + "ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.0": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" @@ -3409,9 +3422,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001370": - version: 1.0.30001380 - resolution: "caniuse-lite@npm:1.0.30001380" - checksum: a106a63dfc6f49271bff16820cda81ca87c0afa7bd0a7b542e31cec250bca8b4d29ec2daff5ac1e4d9ee58b9edef9ee6c1fb852ebd371a794f5c67d36184ede6 + version: 1.0.30001382 + resolution: "caniuse-lite@npm:1.0.30001382" + checksum: 186ec65230bf315c4dbfb2785be811653869aaa7713c5e83dfa9ca9396be371f5e02a0dfe56b9c7069ad9ecff811d316b507d8a7c700d429e423d8808dee5771 languageName: node linkType: hard @@ -3685,7 +3698,7 @@ __metadata: languageName: node linkType: hard -"colorette@npm:^2.0.16": +"colorette@npm:^2.0.16, colorette@npm:^2.0.17": version: 2.0.19 resolution: "colorette@npm:2.0.19" checksum: 888cf5493f781e5fcf54ce4d49e9d7d698f96ea2b2ef67906834bb319a392c667f9ec69f4a10e268d2946d13a9503d2d19b3abaaaf174e3451bfe91fb9d82427 @@ -3757,14 +3770,14 @@ __metadata: languageName: node linkType: hard -"conventional-changelog-conventionalcommits@npm:^4.3.1": - version: 4.6.3 - resolution: "conventional-changelog-conventionalcommits@npm:4.6.3" +"conventional-changelog-conventionalcommits@npm:^5.0.0": + version: 5.0.0 + resolution: "conventional-changelog-conventionalcommits@npm:5.0.0" dependencies: compare-func: ^2.0.0 lodash: ^4.17.15 q: ^1.5.1 - checksum: 7b8e8a21ebb56f9aaa510e12917b7c609202072c3e71089e0a09630c37c2e8146cdb04364809839b0e3eb55f807fe84d03b2079500b37f6186d505848be5c562 + checksum: b67d12e4e0fdde5baa32c3d77af472de38646a18657b26f5543eecce041a318103092fbfcef247e2319a16957c9ac78c6ea78acc11a5db6acf74be79a28c561f languageName: node linkType: hard @@ -4176,9 +4189,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.4.202": - version: 1.4.225 - resolution: "electron-to-chromium@npm:1.4.225" - checksum: 54b5c5550e33ce5df1d2ab71543b9dc24e4dd55dc4650b29cc19b2911b932b072317e662ce3236c500a498ad69e90d2ceebe2433a772e53a337e97bd53cc7dc9 + version: 1.4.227 + resolution: "electron-to-chromium@npm:1.4.227" + checksum: 9d3f6a78cae28d8e4712fac8087856c195b19543e05bc3ef7cc3f3701c11da44c9ac54038fc4de756dd4116204e13c5b41a1897c6072f84700986f8b22374579 languageName: node linkType: hard @@ -4382,15 +4395,15 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-eslint-plugin@npm:^4.0.0": - version: 4.4.1 - resolution: "eslint-plugin-eslint-plugin@npm:4.4.1" +"eslint-plugin-eslint-plugin@npm:^5.0.6": + version: 5.0.6 + resolution: "eslint-plugin-eslint-plugin@npm:5.0.6" dependencies: eslint-utils: ^3.0.0 estraverse: ^5.2.0 peerDependencies: - eslint: ">=6.0.0" - checksum: 01af66aae1f9f34401459d3397c044f4f474a36b91e3c92c6108e72f5379c4ad8b477d2044f59f82123839de9617fa56a88d718eb911ebeb38f6c506de3d1aea + eslint: ">=7.0.0" + checksum: 8761571af3e81f7451ff787ac2cf6077d8d093cd3a3fca503d8423ac1d47c7c431ccb1640c1991dd4ed62832e004d9fc8999ac480a59cfd2649bbcf3baf5cee7 languageName: node linkType: hard @@ -4425,14 +4438,14 @@ __metadata: "@babel/core": ^7.4.4 "@babel/preset-env": ^7.4.4 "@babel/preset-typescript": ^7.3.3 - "@commitlint/cli": ^16.0.0 - "@commitlint/config-conventional": ^16.0.0 + "@commitlint/cli": ^17.0.3 + "@commitlint/config-conventional": ^17.0.3 "@schemastore/package": ^0.0.6 "@semantic-release/changelog": ^6.0.0 "@semantic-release/git": ^10.0.0 "@types/dedent": ^0.7.0 "@types/jest": ^28.0.0 - "@types/node": ^16.0.0 + "@types/node": ^14.18.26 "@types/prettier": ^2.0.0 "@typescript-eslint/eslint-plugin": ^5.0.0 "@typescript-eslint/parser": ^5.0.0 @@ -4443,17 +4456,17 @@ __metadata: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 eslint-config-prettier: ^8.3.0 eslint-plugin-eslint-comments: ^3.1.2 - eslint-plugin-eslint-plugin: ^4.0.0 + eslint-plugin-eslint-plugin: ^5.0.6 eslint-plugin-import: ^2.25.1 eslint-plugin-node: ^11.0.0 - eslint-plugin-prettier: ^3.4.1 + eslint-plugin-prettier: ^4.2.1 eslint-remote-tester: ^3.0.0 eslint-remote-tester-repositories: ~0.0.5 - husky: ^7.0.2 + husky: ^8.0.1 is-ci: ^3.0.0 jest: ^28.0.0 jest-runner-eslint: ^1.0.0 - lint-staged: ^12.0.0 + lint-staged: ^13.0.3 pinst: ^3.0.0 prettier: ^2.0.5 rimraf: ^3.0.0 @@ -4488,18 +4501,18 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:^3.4.1": - version: 3.4.1 - resolution: "eslint-plugin-prettier@npm:3.4.1" +"eslint-plugin-prettier@npm:^4.2.1": + version: 4.2.1 + resolution: "eslint-plugin-prettier@npm:4.2.1" dependencies: prettier-linter-helpers: ^1.0.0 peerDependencies: - eslint: ">=5.0.0" - prettier: ">=1.13.0" + eslint: ">=7.28.0" + prettier: ">=2.0.0" peerDependenciesMeta: eslint-config-prettier: optional: true - checksum: fa6a89f0d7cba1cc87064352f5a4a68dc3739448dd279bec2bced1bfa3b704467e603d13b69dcec853f8fa30b286b8b715912898e9da776e1b016cf0ee48bd99 + checksum: b9e839d2334ad8ec7a5589c5cb0f219bded260839a857d7a486997f9870e95106aa59b8756ff3f37202085ebab658de382b0267cae44c3a7f0eb0bcc03a4f6d6 languageName: node linkType: hard @@ -4703,7 +4716,7 @@ __metadata: languageName: node linkType: hard -"execa@npm:^5.0.0, execa@npm:^5.1.1": +"execa@npm:^5.0.0": version: 5.1.1 resolution: "execa@npm:5.1.1" dependencies: @@ -4720,6 +4733,23 @@ __metadata: languageName: node linkType: hard +"execa@npm:^6.1.0": + version: 6.1.0 + resolution: "execa@npm:6.1.0" + dependencies: + cross-spawn: ^7.0.3 + get-stream: ^6.0.1 + human-signals: ^3.0.1 + is-stream: ^3.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^5.1.0 + onetime: ^6.0.0 + signal-exit: ^3.0.7 + strip-final-newline: ^3.0.0 + checksum: 1a4af799839134f5c72eb63d525b87304c1114a63aa71676c91d57ccef2e26f2f53e14c11384ab11c4ec479be1efa83d11c8190e00040355c2c5c3364327fa8e + languageName: node + linkType: hard + "exit@npm:^0.1.2": version: 0.1.2 resolution: "exit@npm:0.1.2" @@ -5060,7 +5090,7 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^6.0.0": +"get-stream@npm:^6.0.0, get-stream@npm:^6.0.1": version: 6.0.1 resolution: "get-stream@npm:6.0.1" checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad @@ -5365,6 +5395,13 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^3.0.1": + version: 3.0.1 + resolution: "human-signals@npm:3.0.1" + checksum: f252a7769c8094a5c9dc6772816bdb417b188820b04c8b42d0fc468e03a0ba905b1dd07afabe9385cc83504af1ccc2b985cd1e4aeeeb8e0029896c5af2e6f354 + languageName: node + linkType: hard + "humanize-ms@npm:^1.2.1": version: 1.2.1 resolution: "humanize-ms@npm:1.2.1" @@ -5374,12 +5411,12 @@ __metadata: languageName: node linkType: hard -"husky@npm:^7.0.2": - version: 7.0.4 - resolution: "husky@npm:7.0.4" +"husky@npm:^8.0.1": + version: 8.0.1 + resolution: "husky@npm:8.0.1" bin: husky: lib/bin.js - checksum: c6ec4af63da2c9522da8674a20ad9b48362cc92704896cc8a58c6a2a39d797feb2b806f93fbd83a6d653fbdceb2c3b6e0b602c6b2e8565206ffc2882ef7db9e9 + checksum: 943a73a13d0201318fd30e83d299bb81d866bd245b69e6277804c3b462638dc1921694cb94c2b8c920a4a187060f7d6058d3365152865406352e934c5fff70dc languageName: node linkType: hard @@ -5483,9 +5520,9 @@ __metadata: linkType: hard "ini@npm:^3.0.0": - version: 3.0.0 - resolution: "ini@npm:3.0.0" - checksum: e92b6b0835ac369e58c677e7faa8db6019ac667d7404887978fb86b181d658e50f1742ecbba7d81eb5ff917b3ae4d63a48e1ef3a9f8a0527bd7605fe1a9995d4 + version: 3.0.1 + resolution: "ini@npm:3.0.1" + checksum: 947b582a822f06df3c22c75c90aec217d604ea11f7a20249530ee5c1cf8f508288439abe17b0e1d9b421bda5f4fae5e7aae0b18cb3ded5ac9d68f607df82f10f languageName: node linkType: hard @@ -5795,6 +5832,13 @@ __metadata: languageName: node linkType: hard +"is-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "is-stream@npm:3.0.0" + checksum: 172093fe99119ffd07611ab6d1bcccfe8bc4aa80d864b15f43e63e54b7abc71e779acd69afdb854c4e2a67fdc16ae710e370eda40088d1cfc956a50ed82d8f16 + languageName: node + linkType: hard + "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -6450,6 +6494,13 @@ __metadata: languageName: node linkType: hard +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad + languageName: node + linkType: hard + "json-stable-stringify-without-jsonify@npm:^1.0.1": version: 1.0.1 resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" @@ -6705,27 +6756,26 @@ __metadata: languageName: node linkType: hard -"lint-staged@npm:^12.0.0": - version: 12.5.0 - resolution: "lint-staged@npm:12.5.0" +"lint-staged@npm:^13.0.3": + version: 13.0.3 + resolution: "lint-staged@npm:13.0.3" dependencies: cli-truncate: ^3.1.0 - colorette: ^2.0.16 + colorette: ^2.0.17 commander: ^9.3.0 debug: ^4.3.4 - execa: ^5.1.1 + execa: ^6.1.0 lilconfig: 2.0.5 listr2: ^4.0.5 micromatch: ^4.0.5 normalize-path: ^3.0.0 object-inspect: ^1.12.2 - pidtree: ^0.5.0 + pidtree: ^0.6.0 string-argv: ^0.3.1 - supports-color: ^9.2.2 - yaml: ^1.10.2 + yaml: ^2.1.1 bin: lint-staged: bin/lint-staged.js - checksum: ac203917be098305bc0aebd5f1a969e88ea0854e8fb2199ebcbbb059d8bce324cf97db8f3d25f7954dd48c0666ae13987fb4db569d5b6fecda06f9fb742278e1 + checksum: 53d585007df06e162febab6b0836b55016d902586a267823c8a1158529d8c742dc7297e523f7023dff02250bef3eb0d6934f4ec4f9961adfc2ebbed5f54162d0 languageName: node linkType: hard @@ -7049,6 +7099,13 @@ __metadata: languageName: node linkType: hard +"mimic-fn@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-fn@npm:4.0.0" + checksum: 995dcece15ee29aa16e188de6633d43a3db4611bcf93620e7e62109ec41c79c0f34277165b8ce5e361205049766e371851264c21ac64ca35499acb5421c2ba56 + languageName: node + linkType: hard + "min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -7102,8 +7159,8 @@ __metadata: linkType: hard "minipass-fetch@npm:^2.0.3": - version: 2.1.1 - resolution: "minipass-fetch@npm:2.1.1" + version: 2.1.2 + resolution: "minipass-fetch@npm:2.1.2" dependencies: encoding: ^0.1.13 minipass: ^3.1.6 @@ -7112,7 +7169,7 @@ __metadata: dependenciesMeta: encoding: optional: true - checksum: 1aae0c2240b2f65309e046615e5a38cfd56a16ed2d334932aa195d183a0a2e1673a242a3b257bbb64892dee2e75d0233e8d2c3ad160928b6a2e5609efe6daad8 + checksum: 3f216be79164e915fc91210cea1850e488793c740534985da017a4cbc7a5ff50506956d0f73bb0cb60e4fe91be08b6b61ef35101706d3ef5da2c8709b5f08f91 languageName: node linkType: hard @@ -7490,6 +7547,15 @@ __metadata: languageName: node linkType: hard +"npm-run-path@npm:^5.1.0": + version: 5.1.0 + resolution: "npm-run-path@npm:5.1.0" + dependencies: + path-key: ^4.0.0 + checksum: dc184eb5ec239d6a2b990b43236845332ef12f4e0beaa9701de724aa797fe40b6bbd0157fb7639d24d3ab13f5d5cf22d223a19c6300846b8126f335f788bee66 + languageName: node + linkType: hard + "npm-user-validate@npm:^1.0.1": version: 1.0.1 resolution: "npm-user-validate@npm:1.0.1" @@ -7660,6 +7726,15 @@ __metadata: languageName: node linkType: hard +"onetime@npm:^6.0.0": + version: 6.0.0 + resolution: "onetime@npm:6.0.0" + dependencies: + mimic-fn: ^4.0.0 + checksum: 0846ce78e440841335d4e9182ef69d5762e9f38aa7499b19f42ea1c4cd40f0b4446094c455c713f9adac3f4ae86f613bb5e30c99e52652764d06a89f709b3788 + languageName: node + linkType: hard + "opener@npm:^1.5.2": version: 1.5.2 resolution: "opener@npm:1.5.2" @@ -7915,6 +7990,13 @@ __metadata: languageName: node linkType: hard +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 8e6c314ae6d16b83e93032c61020129f6f4484590a777eed709c4a01b50e498822b00f76ceaf94bc64dbd90b327df56ceadce27da3d83393790f1219e07721d7 + languageName: node + linkType: hard + "path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" @@ -7943,12 +8025,12 @@ __metadata: languageName: node linkType: hard -"pidtree@npm:^0.5.0": - version: 0.5.0 - resolution: "pidtree@npm:0.5.0" +"pidtree@npm:^0.6.0": + version: 0.6.0 + resolution: "pidtree@npm:0.6.0" bin: pidtree: bin/pidtree.js - checksum: 371cd14bbc9bdee2a6a44596dd521dd3565e223481e0b1afffdca3f1c29831850bfa7784114dc30d245d37e7d186cec035e036256b39f75d878d19498fe0df6a + checksum: 8fbc073ede9209dd15e80d616e65eb674986c93be49f42d9ddde8dbbd141bb53d628a7ca4e58ab5c370bb00383f67d75df59a9a226dede8fa801267a7030c27a languageName: node linkType: hard @@ -8428,6 +8510,13 @@ __metadata: languageName: node linkType: hard +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: a03ef6895445f33a4015300c426699bc66b2b044ba7b670aa238610381b56d3f07c686251740d575e22f4c87531ba662d06937508f0f3c0f1ddc04db3130560b + languageName: node + linkType: hard + "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -8592,8 +8681,8 @@ __metadata: linkType: hard "semantic-release@npm:^19.0.0": - version: 19.0.3 - resolution: "semantic-release@npm:19.0.3" + version: 19.0.4 + resolution: "semantic-release@npm:19.0.4" dependencies: "@semantic-release/commit-analyzer": ^9.0.2 "@semantic-release/error": ^3.0.0 @@ -8622,10 +8711,10 @@ __metadata: semver: ^7.3.2 semver-diff: ^3.1.1 signale: ^1.2.1 - yargs: ^16.2.0 + yargs: ^17.0.0 bin: semantic-release: bin/semantic-release.js - checksum: 89afc3bba5b7addc503e92387de76274bf7f8b6c955ea4338760719f91ed730df9774ccfc58b28a0c739eb1eb3bed1f9c9bef393dda1156c4481197bb6671760 + checksum: 46bc947a464ca9eb609731febc30b5868721209a7f97251279db10154a715d0523cc9dceb24206d08080f41036ce43a76f64b77073674a7dea5e268d7731616f languageName: node linkType: hard @@ -8743,13 +8832,13 @@ __metadata: linkType: hard "simple-git@npm:^3.7.0": - version: 3.12.0 - resolution: "simple-git@npm:3.12.0" + version: 3.13.0 + resolution: "simple-git@npm:3.13.0" dependencies: "@kwsites/file-exists": ^1.1.1 "@kwsites/promise-deferred": ^1.1.1 debug: ^4.3.4 - checksum: a862851030a3f2100f33cafe68de255ba13a8ddef30cbb17a9b8d9a74cc903c7c39ab8b4afde9f6c362a9f4bb65b09989356f6c58171c190611d3916a4802a1e + checksum: 6f36a451d4614838026caebdb54ecfc74889939603c74245293afc33f0d8bca34b77a0f54e10504b94a0dfe6726cc0eda7016fa416e6316b1e6b7cfca467b350 languageName: node linkType: hard @@ -8886,9 +8975,9 @@ __metadata: linkType: hard "spdx-license-ids@npm:^3.0.0": - version: 3.0.11 - resolution: "spdx-license-ids@npm:3.0.11" - checksum: 1da1acb090257773e60b022094050e810ae9fec874dc1461f65dc0400cd42dd830ab2df6e64fb49c2db3dce386dd0362110780e1b154db7c0bb413488836aaeb + version: 3.0.12 + resolution: "spdx-license-ids@npm:3.0.12" + checksum: 92a4dddce62ce1db6fe54a7a839cf85e06abc308fc83b776a55b44e4f1906f02e7ebd506120847039e976bbbad359ea8bdfafb7925eae5cd7e73255f02e0b7d6 languageName: node linkType: hard @@ -9072,6 +9161,13 @@ __metadata: languageName: node linkType: hard +"strip-final-newline@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-final-newline@npm:3.0.0" + checksum: 23ee263adfa2070cd0f23d1ac14e2ed2f000c9b44229aec9c799f1367ec001478469560abefd00c5c99ee6f0b31c137d53ec6029c53e9f32a93804e18c201050 + languageName: node + linkType: hard + "strip-indent@npm:^3.0.0": version: 3.0.0 resolution: "strip-indent@npm:3.0.0" @@ -9122,13 +9218,6 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^9.2.2": - version: 9.2.2 - resolution: "supports-color@npm:9.2.2" - checksum: 976d84877402fc38c1d43b1fde20b0a8dc0283273f21cfebe4ff7507d27543cdfbeec7db108a96b82d694465f06d64e8577562b05d0520b41710088e0a33cc50 - languageName: node - linkType: hard - "supports-hyperlinks@npm:^2.0.0, supports-hyperlinks@npm:^2.2.0": version: 2.2.0 resolution: "supports-hyperlinks@npm:2.2.0" @@ -9453,7 +9542,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^4.4.0, typescript@npm:^4.4.3": +"typescript@npm:^4.4.0, typescript@npm:^4.6.4": version: 4.7.4 resolution: "typescript@npm:4.7.4" bin: @@ -9463,7 +9552,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@^4.4.0#~builtin, typescript@patch:typescript@^4.4.3#~builtin": +"typescript@patch:typescript@^4.4.0#~builtin, typescript@patch:typescript@^4.6.4#~builtin": version: 4.7.4 resolution: "typescript@patch:typescript@npm%3A4.7.4#~builtin::version=4.7.4&hash=f456af" bin: @@ -9820,14 +9909,21 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^1.10.0, yaml@npm:^1.10.2, yaml@npm:^1.7.2": +"yaml@npm:^1.10.0, yaml@npm:^1.7.2": version: 1.10.2 resolution: "yaml@npm:1.10.2" checksum: ce4ada136e8a78a0b08dc10b4b900936912d15de59905b2bf415b4d33c63df1d555d23acb2a41b23cf9fb5da41c256441afca3d6509de7247daa062fd2c5ea5f languageName: node linkType: hard -"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3": +"yaml@npm:^2.1.1": + version: 2.1.1 + resolution: "yaml@npm:2.1.1" + checksum: f48bb209918aa57cfaf78ef6448d1a1f8187f45c746f933268b7023dc59e5456004611879126c9bb5ea55b0a2b1c2b392dfde436931ece0c703a3d754562bb96 + languageName: node + linkType: hard + +"yargs-parser@npm:^20.2.3": version: 20.2.9 resolution: "yargs-parser@npm:20.2.9" checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 @@ -9841,21 +9937,6 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^16.2.0": - version: 16.2.0 - resolution: "yargs@npm:16.2.0" - dependencies: - cliui: ^7.0.2 - escalade: ^3.1.1 - get-caller-file: ^2.0.5 - require-directory: ^2.1.1 - string-width: ^4.2.0 - y18n: ^5.0.5 - yargs-parser: ^20.2.2 - checksum: b14afbb51e3251a204d81937c86a7e9d4bdbf9a2bcee38226c900d00f522969ab675703bee2a6f99f8e20103f608382936034e64d921b74df82b63c07c5e8f59 - languageName: node - linkType: hard - "yargs@npm:^17.0.0, yargs@npm:^17.3.1": version: 17.5.1 resolution: "yargs@npm:17.5.1" From d3dff780e90ee2d38691f34aa28aa663e5e2fabd Mon Sep 17 00:00:00 2001 From: Simen Bekkhus Date: Thu, 25 Aug 2022 15:30:07 +0200 Subject: [PATCH 05/10] chore: update jest (#1216) --- package.json | 6 +- .../__snapshots__/rules.test.ts.snap | 24 +- yarn.lock | 747 +++++++++++------- 3 files changed, 457 insertions(+), 320 deletions(-) diff --git a/package.json b/package.json index b2d0f6343..7419b8328 100644 --- a/package.json +++ b/package.json @@ -114,7 +114,7 @@ "@types/prettier": "^2.0.0", "@typescript-eslint/eslint-plugin": "^5.0.0", "@typescript-eslint/parser": "^5.0.0", - "babel-jest": "^28.0.0", + "babel-jest": "^29.0.0", "babel-plugin-replace-ts-export-assignment": "^0.0.2", "dedent": "^0.7.0", "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0", @@ -128,8 +128,8 @@ "eslint-remote-tester-repositories": "~0.0.5", "husky": "^8.0.1", "is-ci": "^3.0.0", - "jest": "^28.0.0", - "jest-runner-eslint": "^1.0.0", + "jest": "^29.0.0", + "jest-runner-eslint": "^1.1.0", "lint-staged": "^13.0.3", "pinst": "^3.0.0", "prettier": "^2.0.5", diff --git a/src/__tests__/__snapshots__/rules.test.ts.snap b/src/__tests__/__snapshots__/rules.test.ts.snap index ab02a0366..6e0f2c3fc 100644 --- a/src/__tests__/__snapshots__/rules.test.ts.snap +++ b/src/__tests__/__snapshots__/rules.test.ts.snap @@ -1,15 +1,15 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`rules should export configs that refer to actual rules 1`] = ` -Object { - "all": Object { - "env": Object { +{ + "all": { + "env": { "jest/globals": true, }, - "plugins": Array [ + "plugins": [ "jest", ], - "rules": Object { + "rules": { "jest/consistent-test-it": "error", "jest/expect-expect": "error", "jest/max-expects": "error", @@ -61,14 +61,14 @@ Object { "jest/valid-title": "error", }, }, - "recommended": Object { - "env": Object { + "recommended": { + "env": { "jest/globals": true, }, - "plugins": Array [ + "plugins": [ "jest", ], - "rules": Object { + "rules": { "jest/expect-expect": "warn", "jest/no-commented-out-tests": "warn", "jest/no-conditional-expect": "error", @@ -90,11 +90,11 @@ Object { "jest/valid-title": "error", }, }, - "style": Object { - "plugins": Array [ + "style": { + "plugins": [ "jest", ], - "rules": Object { + "rules": { "jest/no-alias-methods": "warn", "jest/prefer-to-be": "error", "jest/prefer-to-contain": "error", diff --git a/yarn.lock b/yarn.lock index fd548ea83..e87d1c488 100644 --- a/yarn.lock +++ b/yarn.lock @@ -685,6 +685,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-jsx@npm:^7.7.2": + version: 7.18.6 + resolution: "@babel/plugin-syntax-jsx@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 6d37ea972970195f1ffe1a54745ce2ae456e0ac6145fae9aa1480f297248b262ea6ebb93010eddb86ebfacb94f57c05a1fc5d232b9a67325b09060299d515c67 + languageName: node + linkType: hard + "@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" @@ -1627,51 +1638,50 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/console@npm:28.1.3" +"@jest/console@npm:^29.0.0": + version: 29.0.0 + resolution: "@jest/console@npm:29.0.0" dependencies: - "@jest/types": ^28.1.3 + "@jest/types": ^29.0.0 "@types/node": "*" chalk: ^4.0.0 - jest-message-util: ^28.1.3 - jest-util: ^28.1.3 + jest-message-util: ^29.0.0 + jest-util: ^29.0.0 slash: ^3.0.0 - checksum: fe50d98d26d02ce2901c76dff4bd5429a33c13affb692c9ebf8a578ca2f38a5dd854363d40d6c394f215150791fd1f692afd8e730a4178dda24107c8dfd9750a + checksum: 138fc508175e28a1dfda9fed079b8c6b91b5c56b2bb4e867a8d2a9e8806efc5b7e8398d7a82ef6eb5843afd6b3b68a36090792c2876001c8325cdb573a0a2c7b languageName: node linkType: hard -"@jest/core@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/core@npm:28.1.3" +"@jest/core@npm:^29.0.0": + version: 29.0.0 + resolution: "@jest/core@npm:29.0.0" dependencies: - "@jest/console": ^28.1.3 - "@jest/reporters": ^28.1.3 - "@jest/test-result": ^28.1.3 - "@jest/transform": ^28.1.3 - "@jest/types": ^28.1.3 + "@jest/console": ^29.0.0 + "@jest/reporters": ^29.0.0 + "@jest/test-result": ^29.0.0 + "@jest/transform": ^29.0.0 + "@jest/types": ^29.0.0 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 ci-info: ^3.2.0 exit: ^0.1.2 graceful-fs: ^4.2.9 - jest-changed-files: ^28.1.3 - jest-config: ^28.1.3 - jest-haste-map: ^28.1.3 - jest-message-util: ^28.1.3 - jest-regex-util: ^28.0.2 - jest-resolve: ^28.1.3 - jest-resolve-dependencies: ^28.1.3 - jest-runner: ^28.1.3 - jest-runtime: ^28.1.3 - jest-snapshot: ^28.1.3 - jest-util: ^28.1.3 - jest-validate: ^28.1.3 - jest-watcher: ^28.1.3 + jest-changed-files: ^29.0.0 + jest-config: ^29.0.0 + jest-haste-map: ^29.0.0 + jest-message-util: ^29.0.0 + jest-regex-util: ^29.0.0 + jest-resolve: ^29.0.0 + jest-resolve-dependencies: ^29.0.0 + jest-runner: ^29.0.0 + jest-runtime: ^29.0.0 + jest-snapshot: ^29.0.0 + jest-util: ^29.0.0 + jest-validate: ^29.0.0 + jest-watcher: ^29.0.0 micromatch: ^4.0.4 - pretty-format: ^28.1.3 - rimraf: ^3.0.0 + pretty-format: ^29.0.0 slash: ^3.0.0 strip-ansi: ^6.0.0 peerDependencies: @@ -1679,19 +1689,19 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: cb79f34bafc4637e7130df12257f5b29075892a2be2c7f45c6d4c0420853e80b5dae11016e652530eb234f4c44c00910cdca3c2cd86275721860725073f7d9b4 + checksum: bcd39834a108baa6e63ac3b7ca06737a25854abff0e136560625b710c503d5a470bd34d16fbe0a5c9b8ec36e601176e9d198c767da771c82110b86c97f396aed languageName: node linkType: hard -"@jest/environment@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/environment@npm:28.1.3" +"@jest/environment@npm:^29.0.0": + version: 29.0.0 + resolution: "@jest/environment@npm:29.0.0" dependencies: - "@jest/fake-timers": ^28.1.3 - "@jest/types": ^28.1.3 + "@jest/fake-timers": ^29.0.0 + "@jest/types": ^29.0.0 "@types/node": "*" - jest-mock: ^28.1.3 - checksum: 14c496b84aef951df33128cea68988e9de43b2e9d62be9f9c4308d4ac307fa345642813679f80d0a4cedeb900cf6f0b6bb2b92ce089528e8721f72295fdc727f + jest-mock: ^29.0.0 + checksum: fdfdbfb7171d61f21b728c4cdeeb76ebb3f534b5ce7875f614246e0b5f6d80ea445ae6f75bdb59e0e46e6267202d2891a95519ca77f5ab3987ded4cfe0c1d0e2 languageName: node linkType: hard @@ -1704,51 +1714,61 @@ __metadata: languageName: node linkType: hard -"@jest/expect@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/expect@npm:28.1.3" +"@jest/expect-utils@npm:^29.0.0": + version: 29.0.0 + resolution: "@jest/expect-utils@npm:29.0.0" dependencies: - expect: ^28.1.3 - jest-snapshot: ^28.1.3 - checksum: 4197f6fdddc33dc45ba4e838f992fc61839c421d7aed0dfe665ef9c2f172bb1df8a8cac9cecee272b40e744a326da521d5e182709fe82a0b936055bfffa3b473 + jest-get-type: ^29.0.0 + checksum: c174cb45f51f93521bdc86bcc2169e6706962bb94d6b2ea437b4d72959633b19593ac1490749cda04bd47a9865f1f0057389bf9c4b41444953fff0aac174a5a8 languageName: node linkType: hard -"@jest/fake-timers@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/fake-timers@npm:28.1.3" +"@jest/expect@npm:^29.0.0": + version: 29.0.0 + resolution: "@jest/expect@npm:29.0.0" dependencies: - "@jest/types": ^28.1.3 + expect: ^29.0.0 + jest-snapshot: ^29.0.0 + checksum: 5865008ef288a4d5b9417bd491bccb5ec6dbe97afaf6b561aa5d6a07aec1f01798cf67778d6f9ddb4cd82316a447c22e4b2773cf8c1bbfecaaf28b0712bab0f5 + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^29.0.0": + version: 29.0.0 + resolution: "@jest/fake-timers@npm:29.0.0" + dependencies: + "@jest/types": ^29.0.0 "@sinonjs/fake-timers": ^9.1.2 "@types/node": "*" - jest-message-util: ^28.1.3 - jest-mock: ^28.1.3 - jest-util: ^28.1.3 - checksum: cec14d5b14913a54dce64a62912c5456235f5d90b509ceae19c727565073114dae1aaf960ac6be96b3eb94789a3a758b96b72c8fca7e49a6ccac415fbc0321e1 + jest-message-util: ^29.0.0 + jest-mock: ^29.0.0 + jest-util: ^29.0.0 + checksum: f933fea4536311f65b628267ee04ec371936d97c8b84433ec76672866a2cca6b73eb6b268ff4dc29a0f1dba29e748f4d45cebde9430bf020ce9332136d764405 languageName: node linkType: hard -"@jest/globals@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/globals@npm:28.1.3" +"@jest/globals@npm:^29.0.0": + version: 29.0.0 + resolution: "@jest/globals@npm:29.0.0" dependencies: - "@jest/environment": ^28.1.3 - "@jest/expect": ^28.1.3 - "@jest/types": ^28.1.3 - checksum: 3504bb23de629d466c6f2b6b75d2e1c1b10caccbbcfb7eaa82d22cc37711c8e364c243929581184846605c023b475ea6c42c2e3ea5994429a988d8d527af32cd + "@jest/environment": ^29.0.0 + "@jest/expect": ^29.0.0 + "@jest/types": ^29.0.0 + jest-mock: ^29.0.0 + checksum: 06b258b075da8e26b5cbcd731b5b3d6bff480952f1a584984af5d09207f5f888a3f5c8e1d5a03f70be8af9c5f3ec71d5d429fd292a88e40e5bd1affa044e1835 languageName: node linkType: hard -"@jest/reporters@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/reporters@npm:28.1.3" +"@jest/reporters@npm:^29.0.0": + version: 29.0.0 + resolution: "@jest/reporters@npm:29.0.0" dependencies: "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^28.1.3 - "@jest/test-result": ^28.1.3 - "@jest/transform": ^28.1.3 - "@jest/types": ^28.1.3 - "@jridgewell/trace-mapping": ^0.3.13 + "@jest/console": ^29.0.0 + "@jest/test-result": ^29.0.0 + "@jest/transform": ^29.0.0 + "@jest/types": ^29.0.0 + "@jridgewell/trace-mapping": ^0.3.15 "@types/node": "*" chalk: ^4.0.0 collect-v8-coverage: ^1.0.0 @@ -1760,9 +1780,9 @@ __metadata: istanbul-lib-report: ^3.0.0 istanbul-lib-source-maps: ^4.0.0 istanbul-reports: ^3.1.3 - jest-message-util: ^28.1.3 - jest-util: ^28.1.3 - jest-worker: ^28.1.3 + jest-message-util: ^29.0.0 + jest-util: ^29.0.0 + jest-worker: ^29.0.0 slash: ^3.0.0 string-length: ^4.0.1 strip-ansi: ^6.0.0 @@ -1773,7 +1793,7 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: a7440887ce837922cbeaa64c3232eb48aae02aa9123f29fc4280ad3e1afe4b35dcba171ba1d5fd219037c396c5152d9c2d102cff1798dd5ae3bd33ac4759ae0a + checksum: fd15388769605e1b8bcb259aec1d48f768e2171baad4a024b0631d7b4a3fbacd77e5840540abd49b68767469343adc08006833e4cfc5fcd03302d7af1b900980 languageName: node linkType: hard @@ -1786,61 +1806,70 @@ __metadata: languageName: node linkType: hard -"@jest/source-map@npm:^28.1.2": - version: 28.1.2 - resolution: "@jest/source-map@npm:28.1.2" +"@jest/schemas@npm:^29.0.0": + version: 29.0.0 + resolution: "@jest/schemas@npm:29.0.0" dependencies: - "@jridgewell/trace-mapping": ^0.3.13 + "@sinclair/typebox": ^0.24.1 + checksum: 41355c78f09eb1097e57a3c5d0ca11c9099e235e01ea5fa4e3953562a79a6a9296c1d300f1ba50ca75236048829e056b00685cd2f1ff8285e56fd2ce01249acb + languageName: node + linkType: hard + +"@jest/source-map@npm:^29.0.0": + version: 29.0.0 + resolution: "@jest/source-map@npm:29.0.0" + dependencies: + "@jridgewell/trace-mapping": ^0.3.15 callsites: ^3.0.0 graceful-fs: ^4.2.9 - checksum: b82a5c2e93d35d86779c61a02ccb967d1b5cd2e9dd67d26d8add44958637cbbb99daeeb8129c7653389cb440dc2a2f5ae4d2183dc453c67669ff98938b775a3a + checksum: dd97bc5826cf68d6eb5565383816332f800476232fd12800bd027a259cbf3ef216f1633405f3ad0861dde3b12a7886301798c078b334f6d3012044d43abcf4f6 languageName: node linkType: hard -"@jest/test-result@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/test-result@npm:28.1.3" +"@jest/test-result@npm:^29.0.0": + version: 29.0.0 + resolution: "@jest/test-result@npm:29.0.0" dependencies: - "@jest/console": ^28.1.3 - "@jest/types": ^28.1.3 + "@jest/console": ^29.0.0 + "@jest/types": ^29.0.0 "@types/istanbul-lib-coverage": ^2.0.0 collect-v8-coverage: ^1.0.0 - checksum: 957a5dd2fd2e84aabe86698f93c0825e96128ccaa23abf548b159a9b08ac74e4bde7acf4bec48479243dbdb27e4ea1b68c171846d21fb64855c6b55cead9ef27 + checksum: 555a78742e693ce1e2b7eb1bca1d814bb8e288dbc30380957b507a6e79cfaba37b6e660070acd1eeaa6f5815c146095c1793c78dadd185d3e00294cc79dc5317 languageName: node linkType: hard -"@jest/test-sequencer@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/test-sequencer@npm:28.1.3" +"@jest/test-sequencer@npm:^29.0.0": + version: 29.0.0 + resolution: "@jest/test-sequencer@npm:29.0.0" dependencies: - "@jest/test-result": ^28.1.3 + "@jest/test-result": ^29.0.0 graceful-fs: ^4.2.9 - jest-haste-map: ^28.1.3 + jest-haste-map: ^29.0.0 slash: ^3.0.0 - checksum: 13f8905e6d1ec8286694146f7be3cf90eff801bbdea5e5c403e6881444bb390ed15494c7b9948aa94bd7e9c9a851e0d3002ed6e7371d048b478596e5b23df953 + checksum: d7e98f073c5121d625fa159d78c39c93350d56b9fe225aa8143cd1f2f30530b3387155df1b67afdba0cf8fb1a3f78111c7001f1bc2172cbf0b4833dc96233c2b languageName: node linkType: hard -"@jest/transform@npm:^28.1.3": - version: 28.1.3 - resolution: "@jest/transform@npm:28.1.3" +"@jest/transform@npm:^29.0.0": + version: 29.0.0 + resolution: "@jest/transform@npm:29.0.0" dependencies: "@babel/core": ^7.11.6 - "@jest/types": ^28.1.3 - "@jridgewell/trace-mapping": ^0.3.13 + "@jest/types": ^29.0.0 + "@jridgewell/trace-mapping": ^0.3.15 babel-plugin-istanbul: ^6.1.1 chalk: ^4.0.0 convert-source-map: ^1.4.0 - fast-json-stable-stringify: ^2.0.0 + fast-json-stable-stringify: ^2.1.0 graceful-fs: ^4.2.9 - jest-haste-map: ^28.1.3 - jest-regex-util: ^28.0.2 - jest-util: ^28.1.3 + jest-haste-map: ^29.0.0 + jest-regex-util: ^29.0.0 + jest-util: ^29.0.0 micromatch: ^4.0.4 pirates: ^4.0.4 slash: ^3.0.0 write-file-atomic: ^4.0.1 - checksum: dadf618936e0aa84342f07f532801d5bed43cdf95d1417b929e4f8782c872cff1adc84096d5a287a796d0039a2691c06d8450cce5a713a8b52fbb9f872a1e760 + checksum: bf5fb31103217463f812ac985a33df9041759c5c9fe27455a21bf97f7a7ed988d4dcba802be739c6d5daedfa980d59c6deb58a921cbf8187bb45e1c958ed0316 languageName: node linkType: hard @@ -1858,6 +1887,20 @@ __metadata: languageName: node linkType: hard +"@jest/types@npm:^29.0.0": + version: 29.0.0 + resolution: "@jest/types@npm:29.0.0" + dependencies: + "@jest/schemas": ^29.0.0 + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^17.0.8 + chalk: ^4.0.0 + checksum: bd4512bfae26f475cf6da9f9d936440740d2a7ec7ed536365b27214bb60344428997e468f3e1b4a4d616332f705a12b94feba8e9a971152fafd8e5ed549ab8ab + languageName: node + linkType: hard + "@jridgewell/gen-mapping@npm:^0.1.0": version: 0.1.1 resolution: "@jridgewell/gen-mapping@npm:0.1.1" @@ -1910,7 +1953,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.13, @jridgewell/trace-mapping@npm:^0.3.8, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.15, @jridgewell/trace-mapping@npm:^0.3.8, @jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.15 resolution: "@jridgewell/trace-mapping@npm:0.3.15" dependencies: @@ -3116,20 +3159,20 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^28.0.0, babel-jest@npm:^28.1.3": - version: 28.1.3 - resolution: "babel-jest@npm:28.1.3" +"babel-jest@npm:^29.0.0": + version: 29.0.0 + resolution: "babel-jest@npm:29.0.0" dependencies: - "@jest/transform": ^28.1.3 + "@jest/transform": ^29.0.0 "@types/babel__core": ^7.1.14 babel-plugin-istanbul: ^6.1.1 - babel-preset-jest: ^28.1.3 + babel-preset-jest: ^29.0.0 chalk: ^4.0.0 graceful-fs: ^4.2.9 slash: ^3.0.0 peerDependencies: "@babel/core": ^7.8.0 - checksum: 57ccd2296e1839687b5df2fd138c3d00717e0369e385254b012ccd4ee70e75f5d5c8e6cfcdf92d155015b468cfebb847b38e69bb5805d8aaf730e20575127cc6 + checksum: b23ec1865e05ca6e999c38ded68ec4b765726d37455b132e9845a7ac50891e81dd27e614eea267bf8bc7b10138e2ce0e6f5b2a4b87363c24d530e31d6cedd8a7 languageName: node linkType: hard @@ -3155,15 +3198,15 @@ __metadata: languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^28.1.3": - version: 28.1.3 - resolution: "babel-plugin-jest-hoist@npm:28.1.3" +"babel-plugin-jest-hoist@npm:^29.0.0": + version: 29.0.0 + resolution: "babel-plugin-jest-hoist@npm:29.0.0" dependencies: "@babel/template": ^7.3.3 "@babel/types": ^7.3.3 "@types/babel__core": ^7.1.14 "@types/babel__traverse": ^7.0.6 - checksum: 648d89f9d80f6450ce7e50d0c32eb91b7f26269b47c3e37aaf2e0f2f66a980978345bd6b8c9b8c3aa6a8252ad2bc2c9fb50630e9895622c9a0972af5f70ed20e + checksum: e6f4c0821369bfb7e24e9cb7f62457dad9a38060a29c55775cfd6b99a0f21746b7b762eefab63544b3e7d807c135505253c50e931bf64a1875b5c64bea56e60b languageName: node linkType: hard @@ -3232,15 +3275,15 @@ __metadata: languageName: node linkType: hard -"babel-preset-jest@npm:^28.1.3": - version: 28.1.3 - resolution: "babel-preset-jest@npm:28.1.3" +"babel-preset-jest@npm:^29.0.0": + version: 29.0.0 + resolution: "babel-preset-jest@npm:29.0.0" dependencies: - babel-plugin-jest-hoist: ^28.1.3 + babel-plugin-jest-hoist: ^29.0.0 babel-preset-current-node-syntax: ^1.0.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 8248a4a5ca4242cc06ad13b10b9183ad2664da8fb0da060c352223dcf286f0ce9c708fa17901dc44ecabec25e6d309e5e5b9830a61dd777c3925f187a345a47d + checksum: b93b4c5a801527246a34ef847764e462ad4789893190cbefc3c42df972cdd057d0e50910650503d1051b3503dc89b9c2d06488c6d57e11fddcaac96cf3f7818a languageName: node linkType: hard @@ -4122,6 +4165,13 @@ __metadata: languageName: node linkType: hard +"diff-sequences@npm:^29.0.0": + version: 29.0.0 + resolution: "diff-sequences@npm:29.0.0" + checksum: 2c084a3db03ecde26f649f6f2559974e01e174451debeb301a7e17199e73423a8e8ddeb9a35ae38638c084b4fa51296a4a20fa7f44f3db0c0ba566bdc704ed3d + languageName: node + linkType: hard + "diff@npm:^4.0.1": version: 4.0.2 resolution: "diff@npm:4.0.2" @@ -4450,7 +4500,7 @@ __metadata: "@typescript-eslint/eslint-plugin": ^5.0.0 "@typescript-eslint/parser": ^5.0.0 "@typescript-eslint/utils": ^5.10.0 - babel-jest: ^28.0.0 + babel-jest: ^29.0.0 babel-plugin-replace-ts-export-assignment: ^0.0.2 dedent: ^0.7.0 eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -4464,8 +4514,8 @@ __metadata: eslint-remote-tester-repositories: ~0.0.5 husky: ^8.0.1 is-ci: ^3.0.0 - jest: ^28.0.0 - jest-runner-eslint: ^1.0.0 + jest: ^29.0.0 + jest-runner-eslint: ^1.1.0 lint-staged: ^13.0.3 pinst: ^3.0.0 prettier: ^2.0.5 @@ -4757,7 +4807,7 @@ __metadata: languageName: node linkType: hard -"expect@npm:^28.0.0, expect@npm:^28.1.3": +"expect@npm:^28.0.0": version: 28.1.3 resolution: "expect@npm:28.1.3" dependencies: @@ -4770,6 +4820,19 @@ __metadata: languageName: node linkType: hard +"expect@npm:^29.0.0": + version: 29.0.0 + resolution: "expect@npm:29.0.0" + dependencies: + "@jest/expect-utils": ^29.0.0 + jest-get-type: ^29.0.0 + jest-matcher-utils: ^29.0.0 + jest-message-util: ^29.0.0 + jest-util: ^29.0.0 + checksum: 02fd77ce56c2cfb8c529692fd984bce2778043361a25834ad10c8d2e9e0e69539fc00631c984ca355e0ac6b3028ec96f1515cd72988b4a17c938497666ee5339 + languageName: node + linkType: hard + "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -4797,7 +4860,7 @@ __metadata: languageName: node linkType: hard -"fast-json-stable-stringify@npm:^2.0.0": +"fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" checksum: b191531e36c607977e5b1c47811158733c34ccb3bfde92c44798929e9b4154884378536d26ad90dfecd32e1ffc09c545d23535ad91b3161a27ddbb8ebe0cbecb @@ -5961,57 +6024,57 @@ __metadata: languageName: node linkType: hard -"jest-changed-files@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-changed-files@npm:28.1.3" +"jest-changed-files@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-changed-files@npm:29.0.0" dependencies: execa: ^5.0.0 p-limit: ^3.1.0 - checksum: c78af14a68b9b19101623ae7fde15a2488f9b3dbe8cca12a05c4a223bc9bfd3bf41ee06830f20fb560c52434435d6153c9cc6cf450b1f7b03e5e7f96a953a6a6 + checksum: 5642ace8cd1e7e4f9e3ee423b97d0b018b00ad85ea7e5864592b4657e8500ef56ec50d2189229b912223046bbf31c9196c8ef2442a917be9726a5911d40db1b2 languageName: node linkType: hard -"jest-circus@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-circus@npm:28.1.3" +"jest-circus@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-circus@npm:29.0.0" dependencies: - "@jest/environment": ^28.1.3 - "@jest/expect": ^28.1.3 - "@jest/test-result": ^28.1.3 - "@jest/types": ^28.1.3 + "@jest/environment": ^29.0.0 + "@jest/expect": ^29.0.0 + "@jest/test-result": ^29.0.0 + "@jest/types": ^29.0.0 "@types/node": "*" chalk: ^4.0.0 co: ^4.6.0 dedent: ^0.7.0 is-generator-fn: ^2.0.0 - jest-each: ^28.1.3 - jest-matcher-utils: ^28.1.3 - jest-message-util: ^28.1.3 - jest-runtime: ^28.1.3 - jest-snapshot: ^28.1.3 - jest-util: ^28.1.3 + jest-each: ^29.0.0 + jest-matcher-utils: ^29.0.0 + jest-message-util: ^29.0.0 + jest-runtime: ^29.0.0 + jest-snapshot: ^29.0.0 + jest-util: ^29.0.0 p-limit: ^3.1.0 - pretty-format: ^28.1.3 + pretty-format: ^29.0.0 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: b635e60a9c92adaefc3f24def8eba691e7c2fdcf6c9fa640cddf2eb8c8b26ee62eab73ebb88798fd7c52a74c1495a984e39b748429b610426f02e9d3d56e09b2 + checksum: 995ee9751987595af18a4bee7df162fa9874f358f2c497bd42c91ceb0d15e4ec5b5938d4930ea200a81916d50460251bf721d5788687b3c8cd4e75a064b8bcea languageName: node linkType: hard -"jest-cli@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-cli@npm:28.1.3" +"jest-cli@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-cli@npm:29.0.0" dependencies: - "@jest/core": ^28.1.3 - "@jest/test-result": ^28.1.3 - "@jest/types": ^28.1.3 + "@jest/core": ^29.0.0 + "@jest/test-result": ^29.0.0 + "@jest/types": ^29.0.0 chalk: ^4.0.0 exit: ^0.1.2 graceful-fs: ^4.2.9 import-local: ^3.0.2 - jest-config: ^28.1.3 - jest-util: ^28.1.3 - jest-validate: ^28.1.3 + jest-config: ^29.0.0 + jest-util: ^29.0.0 + jest-validate: ^29.0.0 prompts: ^2.0.1 yargs: ^17.3.1 peerDependencies: @@ -6021,34 +6084,34 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: fb424576bf38346318daddee3fcc597cd78cb8dda1759d09c529d8ba1a748f2765c17b00671072a838826e59465a810ff8a232bc6ba2395c131bf3504425a363 + checksum: 181ac35d8533a1c954471b87e04c06d0053f1f29b16f6e8ef2be9443bafd9d45b32d764dd11ded7d250ced32319b44de51d07ecc335b1e054cd3983203378c32 languageName: node linkType: hard -"jest-config@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-config@npm:28.1.3" +"jest-config@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-config@npm:29.0.0" dependencies: "@babel/core": ^7.11.6 - "@jest/test-sequencer": ^28.1.3 - "@jest/types": ^28.1.3 - babel-jest: ^28.1.3 + "@jest/test-sequencer": ^29.0.0 + "@jest/types": ^29.0.0 + babel-jest: ^29.0.0 chalk: ^4.0.0 ci-info: ^3.2.0 deepmerge: ^4.2.2 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-circus: ^28.1.3 - jest-environment-node: ^28.1.3 - jest-get-type: ^28.0.2 - jest-regex-util: ^28.0.2 - jest-resolve: ^28.1.3 - jest-runner: ^28.1.3 - jest-util: ^28.1.3 - jest-validate: ^28.1.3 + jest-circus: ^29.0.0 + jest-environment-node: ^29.0.0 + jest-get-type: ^29.0.0 + jest-regex-util: ^29.0.0 + jest-resolve: ^29.0.0 + jest-runner: ^29.0.0 + jest-util: ^29.0.0 + jest-validate: ^29.0.0 micromatch: ^4.0.4 parse-json: ^5.2.0 - pretty-format: ^28.1.3 + pretty-format: ^29.0.0 slash: ^3.0.0 strip-json-comments: ^3.1.1 peerDependencies: @@ -6059,7 +6122,7 @@ __metadata: optional: true ts-node: optional: true - checksum: ddabffd3a3a8cb6c2f58f06cdf3535157dbf8c70bcde3e5c3de7bee6a8d617840ffc8cffb0083e38c6814f2a08c225ca19f58898efaf4f351af94679f22ce6bc + checksum: fb7a5de997b3558a3ec2da2119352caa22921f41da4f667ea13769235e9a047225ad5211bb1e2deead4777ff1bd079f772541400f4af13e475617b1595d4aad1 languageName: node linkType: hard @@ -6075,39 +6138,51 @@ __metadata: languageName: node linkType: hard -"jest-docblock@npm:^28.1.1": - version: 28.1.1 - resolution: "jest-docblock@npm:28.1.1" +"jest-diff@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-diff@npm:29.0.0" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^29.0.0 + jest-get-type: ^29.0.0 + pretty-format: ^29.0.0 + checksum: ea6a96369524ea94666460d5096c5190747f948d2024ad6ea1eeba0848ba8feffea6cf85ad80f9e7286b5c51b1b6425d693d2397efc11987a3cac0164a8fea23 + languageName: node + linkType: hard + +"jest-docblock@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-docblock@npm:29.0.0" dependencies: detect-newline: ^3.0.0 - checksum: 22fca68d988ecb2933bc65f448facdca85fc71b4bd0a188ea09a5ae1b0cc3a049a2a6ec7e7eaa2542c1d5cb5e5145e420a3df4fa280f5070f486c44da1d36151 + checksum: b4f81426cc0dffb05b873d3cc373a1643040be62d72cce4dfed499fbcb57c55ac02c44af7aba5e7753915ff5e85b8d6030456981156eaea20be1cb57d2719904 languageName: node linkType: hard -"jest-each@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-each@npm:28.1.3" +"jest-each@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-each@npm:29.0.0" dependencies: - "@jest/types": ^28.1.3 + "@jest/types": ^29.0.0 chalk: ^4.0.0 - jest-get-type: ^28.0.2 - jest-util: ^28.1.3 - pretty-format: ^28.1.3 - checksum: 5c5b8ccb1484e58b027bea682cfa020a45e5bf5379cc7c23bdec972576c1dc3c3bf03df2b78416cefc1a58859dd33b7cf5fff54c370bc3c0f14a3e509eb87282 + jest-get-type: ^29.0.0 + jest-util: ^29.0.0 + pretty-format: ^29.0.0 + checksum: 5ab1bccdc344565694c80beb0b9fcbf54ae2a990ad37df53491416abfd27a9717aff31781a29c801a76b235bdf4d6a7e316935f007cfc9292c92fa7aadd410e6 languageName: node linkType: hard -"jest-environment-node@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-environment-node@npm:28.1.3" +"jest-environment-node@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-environment-node@npm:29.0.0" dependencies: - "@jest/environment": ^28.1.3 - "@jest/fake-timers": ^28.1.3 - "@jest/types": ^28.1.3 + "@jest/environment": ^29.0.0 + "@jest/fake-timers": ^29.0.0 + "@jest/types": ^29.0.0 "@types/node": "*" - jest-mock: ^28.1.3 - jest-util: ^28.1.3 - checksum: 1048fe306a6a8b0880a4c66278ebb57479f29c12cff89aab3aa79ab77a8859cf17ab8aa9919fd21c329a7db90e35581b43664e694ad453d5b04e00f3c6420469 + jest-mock: ^29.0.0 + jest-util: ^29.0.0 + checksum: 2c052879956c7bf26126d8ade2406423ef3a4ad20225631d9a1ccb47ce05441fd0fc503a3ba6a02154798b5e4053fceff0ed0b97a694a2e60a0dd77c562401b6 languageName: node linkType: hard @@ -6118,36 +6193,43 @@ __metadata: languageName: node linkType: hard -"jest-haste-map@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-haste-map@npm:28.1.3" +"jest-get-type@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-get-type@npm:29.0.0" + checksum: 9abdd11d69788963a92fb9d813a7b887654ecc8f3a3c8bf83166d33aaf4d57ed380e74ab8ef106f57565dd235446ca6ebc607679f0c516c4633e6d09f0540a2b + languageName: node + linkType: hard + +"jest-haste-map@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-haste-map@npm:29.0.0" dependencies: - "@jest/types": ^28.1.3 + "@jest/types": ^29.0.0 "@types/graceful-fs": ^4.1.3 "@types/node": "*" anymatch: ^3.0.3 fb-watchman: ^2.0.0 fsevents: ^2.3.2 graceful-fs: ^4.2.9 - jest-regex-util: ^28.0.2 - jest-util: ^28.1.3 - jest-worker: ^28.1.3 + jest-regex-util: ^29.0.0 + jest-util: ^29.0.0 + jest-worker: ^29.0.0 micromatch: ^4.0.4 walker: ^1.0.8 dependenciesMeta: fsevents: optional: true - checksum: d05fdc108645fc2b39fcd4001952cc7a8cb550e93494e98c1e9ab1fc542686f6ac67177c132e564cf94fe8f81503f3f8db8b825b9b713dc8c5748aec63ba4688 + checksum: 22954db32679352cccc67722e6cddd20c62f13077a4f58829d71a3b86297540026207a6c362eeffb6f0362bd4f4e25a494e72532cb34703fc087cf39ddd222a7 languageName: node linkType: hard -"jest-leak-detector@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-leak-detector@npm:28.1.3" +"jest-leak-detector@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-leak-detector@npm:29.0.0" dependencies: - jest-get-type: ^28.0.2 - pretty-format: ^28.1.3 - checksum: 2e976a4880cf9af11f53a19f6a3820e0f90b635a900737a5427fc42e337d5628ba446dcd7c020ecea3806cf92bc0bbf6982ed62a9cd84e5a13d8751aa30fbbb7 + jest-get-type: ^29.0.0 + pretty-format: ^29.0.0 + checksum: 852f25d29c4bf488f2ef6769a820d0c81a1da1ea29771dc195f56cf3844ce3f81f3656a96e1d73aa3d1552f9b632825e1b9566675c015a506ae3252581fa11c4 languageName: node linkType: hard @@ -6163,6 +6245,18 @@ __metadata: languageName: node linkType: hard +"jest-matcher-utils@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-matcher-utils@npm:29.0.0" + dependencies: + chalk: ^4.0.0 + jest-diff: ^29.0.0 + jest-get-type: ^29.0.0 + pretty-format: ^29.0.0 + checksum: 325ef6be5185332af72050fc77170177a4d3d7c9390136e3d6a4214efbf07d69351f0e595fcef289d39626da5a06dcd2ecac5c042665e514f2ea8d8f77cec6ab + languageName: node + linkType: hard + "jest-message-util@npm:^28.1.3": version: 28.1.3 resolution: "jest-message-util@npm:28.1.3" @@ -6180,13 +6274,30 @@ __metadata: languageName: node linkType: hard -"jest-mock@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-mock@npm:28.1.3" +"jest-message-util@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-message-util@npm:29.0.0" dependencies: - "@jest/types": ^28.1.3 + "@babel/code-frame": ^7.12.13 + "@jest/types": ^29.0.0 + "@types/stack-utils": ^2.0.0 + chalk: ^4.0.0 + graceful-fs: ^4.2.9 + micromatch: ^4.0.4 + pretty-format: ^29.0.0 + slash: ^3.0.0 + stack-utils: ^2.0.3 + checksum: 163f727474ecd81fdfa56a9bbaec9ce90cd996d9bce1ba0603c6b8d11e10ca0de58ef69c161456355139153395076b49fe29724bf64226bf116354f3a85d4b8d + languageName: node + linkType: hard + +"jest-mock@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-mock@npm:29.0.0" + dependencies: + "@jest/types": ^29.0.0 "@types/node": "*" - checksum: a573bf8e5f12f4c29c661266c31b5c6b69a28d3195b83049983bce025b2b1a0152351567e89e63b102ef817034c2a3aa97eda4e776f3bae2aee54c5765573aa7 + checksum: 6e26deea0af390738e2d144731855ba243b624cce8c6203db86f26de1d5dbc44a30b07e12c1ce00a81a06d18abca96373ebd121d58e46d43cabde0506cf18f2b languageName: node linkType: hard @@ -6202,43 +6313,43 @@ __metadata: languageName: node linkType: hard -"jest-regex-util@npm:^28.0.2": - version: 28.0.2 - resolution: "jest-regex-util@npm:28.0.2" - checksum: 0ea8c5c82ec88bc85e273c0ec82e0c0f35f7a1e2d055070e50f0cc2a2177f848eec55f73e37ae0d045c3db5014c42b2f90ac62c1ab3fdb354d2abd66a9e08add +"jest-regex-util@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-regex-util@npm:29.0.0" + checksum: dce16394c357213008e6f84f2288f77c64bba59b7cb48ea614e85c5aae036a7e46dbfd1f45aa08180b7e7c576102bf4f8f0ff8bc60fb9721fb80874adc3ae0ea languageName: node linkType: hard -"jest-resolve-dependencies@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-resolve-dependencies@npm:28.1.3" +"jest-resolve-dependencies@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-resolve-dependencies@npm:29.0.0" dependencies: - jest-regex-util: ^28.0.2 - jest-snapshot: ^28.1.3 - checksum: 4eea9ec33aefc1c71dc5956391efbcc7be76bda986b366ab3931d99c5f7ed01c9ebd7520e405ea2c76e1bb2c7ce504be6eca2b9831df16564d1e625500f3bfe7 + jest-regex-util: ^29.0.0 + jest-snapshot: ^29.0.0 + checksum: 3601f8420f781abe66cd9d827f44210b5f0bb281b4395d7c206e626ea53bd37a3ccead5721fe3d327da2fa72d11fb1a642ee2ececaf0ba09c8b60e2d6377e27e languageName: node linkType: hard -"jest-resolve@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-resolve@npm:28.1.3" +"jest-resolve@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-resolve@npm:29.0.0" dependencies: chalk: ^4.0.0 graceful-fs: ^4.2.9 - jest-haste-map: ^28.1.3 + jest-haste-map: ^29.0.0 jest-pnp-resolver: ^1.2.2 - jest-util: ^28.1.3 - jest-validate: ^28.1.3 + jest-util: ^29.0.0 + jest-validate: ^29.0.0 resolve: ^1.20.0 resolve.exports: ^1.1.0 slash: ^3.0.0 - checksum: df61a490c93f4f4cf52135e43d6a4fcacb07b0b7d4acc6319e9289529c1d14f2d8e1638e095dbf96f156834802755e38db68caca69dba21a3261ee711d4426b6 + checksum: abbcad82d5748c8951717fd11ac1f03d92497ef510d7345571828173a7d180954ea22d41260ba073bfb65dbcfefde32f6e986912386f3c1fb676ed9a3de2cf5e languageName: node linkType: hard -"jest-runner-eslint@npm:^1.0.0": - version: 1.0.1 - resolution: "jest-runner-eslint@npm:1.0.1" +"jest-runner-eslint@npm:^1.1.0": + version: 1.1.0 + resolution: "jest-runner-eslint@npm:1.1.0" dependencies: chalk: ^3.0.0 cosmiconfig: ^6.0.0 @@ -6246,98 +6357,99 @@ __metadata: dot-prop: ^5.3.0 peerDependencies: eslint: ^6 || ^7 || ^8 - jest: ^25.1 || ^26 || ^27 || ^28 - checksum: 409d76526765d49d3b5ee7a536012956677707c486265214ade165b777f0160d514ece253dc376dbf4e106c11af010a459011340d7b5d29dd24363ecd083f52b + jest: ^25.1 || ^26 || ^27 || ^28 || ^29 + checksum: c4b2da40666c8cc1a7e9dbd1ac73a74bc2af6c3dd598b3a0bac224cffac6fb677d31082f14987982b3fb06b5c41602dbe31fe6beb107da4b3c1c17eb324d4907 languageName: node linkType: hard -"jest-runner@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-runner@npm:28.1.3" +"jest-runner@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-runner@npm:29.0.0" dependencies: - "@jest/console": ^28.1.3 - "@jest/environment": ^28.1.3 - "@jest/test-result": ^28.1.3 - "@jest/transform": ^28.1.3 - "@jest/types": ^28.1.3 + "@jest/console": ^29.0.0 + "@jest/environment": ^29.0.0 + "@jest/test-result": ^29.0.0 + "@jest/transform": ^29.0.0 + "@jest/types": ^29.0.0 "@types/node": "*" chalk: ^4.0.0 emittery: ^0.10.2 graceful-fs: ^4.2.9 - jest-docblock: ^28.1.1 - jest-environment-node: ^28.1.3 - jest-haste-map: ^28.1.3 - jest-leak-detector: ^28.1.3 - jest-message-util: ^28.1.3 - jest-resolve: ^28.1.3 - jest-runtime: ^28.1.3 - jest-util: ^28.1.3 - jest-watcher: ^28.1.3 - jest-worker: ^28.1.3 + jest-docblock: ^29.0.0 + jest-environment-node: ^29.0.0 + jest-haste-map: ^29.0.0 + jest-leak-detector: ^29.0.0 + jest-message-util: ^29.0.0 + jest-resolve: ^29.0.0 + jest-runtime: ^29.0.0 + jest-util: ^29.0.0 + jest-watcher: ^29.0.0 + jest-worker: ^29.0.0 p-limit: ^3.1.0 source-map-support: 0.5.13 - checksum: 32405cd970fa6b11e039192dae699fd1bcc6f61f67d50605af81d193f24dd4373b25f5fcc1c571a028ec1b02174e8a4b6d0d608772063fb06f08a5105693533b + checksum: be192bdd841455aa20023ecb1ac7fc8ad1000d01a075f0443057e2dcf7d75f5fc06f718f18438a5015b43fb9bc201e3025ee1e7af58ebe31e45563e238232d34 languageName: node linkType: hard -"jest-runtime@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-runtime@npm:28.1.3" - dependencies: - "@jest/environment": ^28.1.3 - "@jest/fake-timers": ^28.1.3 - "@jest/globals": ^28.1.3 - "@jest/source-map": ^28.1.2 - "@jest/test-result": ^28.1.3 - "@jest/transform": ^28.1.3 - "@jest/types": ^28.1.3 +"jest-runtime@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-runtime@npm:29.0.0" + dependencies: + "@jest/environment": ^29.0.0 + "@jest/fake-timers": ^29.0.0 + "@jest/globals": ^29.0.0 + "@jest/source-map": ^29.0.0 + "@jest/test-result": ^29.0.0 + "@jest/transform": ^29.0.0 + "@jest/types": ^29.0.0 + "@types/node": "*" chalk: ^4.0.0 cjs-module-lexer: ^1.0.0 collect-v8-coverage: ^1.0.0 - execa: ^5.0.0 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-haste-map: ^28.1.3 - jest-message-util: ^28.1.3 - jest-mock: ^28.1.3 - jest-regex-util: ^28.0.2 - jest-resolve: ^28.1.3 - jest-snapshot: ^28.1.3 - jest-util: ^28.1.3 + jest-haste-map: ^29.0.0 + jest-message-util: ^29.0.0 + jest-mock: ^29.0.0 + jest-regex-util: ^29.0.0 + jest-resolve: ^29.0.0 + jest-snapshot: ^29.0.0 + jest-util: ^29.0.0 slash: ^3.0.0 strip-bom: ^4.0.0 - checksum: b17c40af858e74dafa4f515ef3711c1e9ef3d4ad7d74534ee0745422534bc04fd166d4eceb62a3aa7dc951505d6f6d2a81d16e90bebb032be409ec0500974a36 + checksum: 60e621a55f3f6c46e35d70c680eb07d51635cda81a8e85023653e769510e513b6e05037fa912dcf4f6221f0c84e400ff2ba81c461e454ddffc835220cf66cf1c languageName: node linkType: hard -"jest-snapshot@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-snapshot@npm:28.1.3" +"jest-snapshot@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-snapshot@npm:29.0.0" dependencies: "@babel/core": ^7.11.6 "@babel/generator": ^7.7.2 + "@babel/plugin-syntax-jsx": ^7.7.2 "@babel/plugin-syntax-typescript": ^7.7.2 "@babel/traverse": ^7.7.2 "@babel/types": ^7.3.3 - "@jest/expect-utils": ^28.1.3 - "@jest/transform": ^28.1.3 - "@jest/types": ^28.1.3 + "@jest/expect-utils": ^29.0.0 + "@jest/transform": ^29.0.0 + "@jest/types": ^29.0.0 "@types/babel__traverse": ^7.0.6 "@types/prettier": ^2.1.5 babel-preset-current-node-syntax: ^1.0.0 chalk: ^4.0.0 - expect: ^28.1.3 + expect: ^29.0.0 graceful-fs: ^4.2.9 - jest-diff: ^28.1.3 - jest-get-type: ^28.0.2 - jest-haste-map: ^28.1.3 - jest-matcher-utils: ^28.1.3 - jest-message-util: ^28.1.3 - jest-util: ^28.1.3 + jest-diff: ^29.0.0 + jest-get-type: ^29.0.0 + jest-haste-map: ^29.0.0 + jest-matcher-utils: ^29.0.0 + jest-message-util: ^29.0.0 + jest-util: ^29.0.0 natural-compare: ^1.4.0 - pretty-format: ^28.1.3 + pretty-format: ^29.0.0 semver: ^7.3.5 - checksum: 2a46a5493f1fb50b0a236a21f25045e7f46a244f9f3ae37ef4fbcd40249d0d68bb20c950ce77439e4e2cac985b05c3061c90b34739bf6069913a1199c8c716e1 + checksum: b96dfeb83589a79a0c00e2d937eb95bd8196a00270f5b5612791cdbb046212558c5fbf35ae8edf707a94c8318b8f0ba1061460b45f2afb3f436ab5e90e4dcef3 languageName: node linkType: hard @@ -6355,33 +6467,47 @@ __metadata: languageName: node linkType: hard -"jest-validate@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-validate@npm:28.1.3" +"jest-util@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-util@npm:29.0.0" dependencies: - "@jest/types": ^28.1.3 + "@jest/types": ^29.0.0 + "@types/node": "*" + chalk: ^4.0.0 + ci-info: ^3.2.0 + graceful-fs: ^4.2.9 + picomatch: ^2.2.3 + checksum: d1f0f600df4bb96c3721e9e367bb28cb8c01d01b5a45a401790c1ca39daa44b61b61b60d979333688ae41a17b56c40c85dce15d57080b143548a3fc8502bf7da + languageName: node + linkType: hard + +"jest-validate@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-validate@npm:29.0.0" + dependencies: + "@jest/types": ^29.0.0 camelcase: ^6.2.0 chalk: ^4.0.0 - jest-get-type: ^28.0.2 + jest-get-type: ^29.0.0 leven: ^3.1.0 - pretty-format: ^28.1.3 - checksum: 95e0513b3803c3372a145cda86edbdb33d9dfeaa18818176f2d581e821548ceac9a179f065b6d4671a941de211354efd67f1fff8789a4fb89962565c85f646db + pretty-format: ^29.0.0 + checksum: 976b4258cc7e7bf7bdceb16e3cfd5add6a8a520de23010b33b16037daf183b10af17e0844bcac3e93f0cc6371826160ca0556fb4ef6c02c92d4c0501da5271d8 languageName: node linkType: hard -"jest-watcher@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-watcher@npm:28.1.3" +"jest-watcher@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-watcher@npm:29.0.0" dependencies: - "@jest/test-result": ^28.1.3 - "@jest/types": ^28.1.3 + "@jest/test-result": ^29.0.0 + "@jest/types": ^29.0.0 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 emittery: ^0.10.2 - jest-util: ^28.1.3 + jest-util: ^29.0.0 string-length: ^4.0.1 - checksum: 8f6d674a4865e7df251f71544f1b51f06fd36b5a3a61f2ac81aeb81fa2a196be354fba51d0f97911c88f67cd254583b3a22ee124bf2c5b6ee2fadec27356c207 + checksum: 5150e7a838e6f4f39a66c223c7bd6560275f222bec88ae175e668ea60f3595a62da5e7e6215caf7c27202cd697a7734990321ce71fdf4b223b69213aa31ef812 languageName: node linkType: hard @@ -6395,25 +6521,25 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-worker@npm:28.1.3" +"jest-worker@npm:^29.0.0": + version: 29.0.0 + resolution: "jest-worker@npm:29.0.0" dependencies: "@types/node": "*" merge-stream: ^2.0.0 supports-color: ^8.0.0 - checksum: e921c9a1b8f0909da9ea07dbf3592f95b653aef3a8bb0cbcd20fc7f9a795a1304adecac31eecb308992c167e8d7e75c522061fec38a5928ace0f9571c90169ca + checksum: 1709958e10492e359a05ce16205974ed6af0c130faad4c8ba705bdeb749657c3f9e4d0b6436253164e94dfc919ff94429d92d649d16b24794fcdb79546831b17 languageName: node linkType: hard -"jest@npm:^28.0.0": - version: 28.1.3 - resolution: "jest@npm:28.1.3" +"jest@npm:^29.0.0": + version: 29.0.0 + resolution: "jest@npm:29.0.0" dependencies: - "@jest/core": ^28.1.3 - "@jest/types": ^28.1.3 + "@jest/core": ^29.0.0 + "@jest/types": ^29.0.0 import-local: ^3.0.2 - jest-cli: ^28.1.3 + jest-cli: ^29.0.0 peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -6421,7 +6547,7 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: b9dcb542eb7c16261c281cdc2bf37155dbb3f1205bae0b567f05051db362c85ddd4b765f126591efb88f6d298eb10336d0aa6c7d5373b4d53f918137a9a70182 + checksum: b81daabe6f7341028a2e8faed550e2eda8d79619b09e226b44d6cf648da7de006af9ee514bc2fcacd03774894b57f2ad070baaf01d6953b6435e98ecd1aebb66 languageName: node linkType: hard @@ -8130,6 +8256,17 @@ __metadata: languageName: node linkType: hard +"pretty-format@npm:^29.0.0": + version: 29.0.0 + resolution: "pretty-format@npm:29.0.0" + dependencies: + "@jest/schemas": ^29.0.0 + ansi-styles: ^5.0.0 + react-is: ^18.0.0 + checksum: 0ce4414c51ae16c37a8fb0ed700f5e31c6c9b1a5a59397297f476be13bd059ee35544cbfa3f6c31381a6ca643131262cc797123dca8af0e6f801b9a0fe76a19c + languageName: node + linkType: hard + "proc-log@npm:^2.0.0, proc-log@npm:^2.0.1": version: 2.0.1 resolution: "proc-log@npm:2.0.1" From f4dd97a7ec3b985d0f7e42a5a6331bc0c65a7d56 Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Sun, 28 Aug 2022 21:47:36 +1200 Subject: [PATCH 06/10] feat(no-restricted-matchers): match based on start of chain, requiring each permutation to be set (#1218) BREAKING CHANGE: `no-restricted-matchers` now checks against the start of the expect chain, meaning you have to explicitly list each possible matcher & modifier permutations that you want to restrict --- docs/rules/no-restricted-matchers.md | 15 +++- .../__tests__/no-restricted-matchers.test.ts | 83 ++++++++----------- src/rules/no-restricted-matchers.ts | 29 ++----- 3 files changed, 57 insertions(+), 70 deletions(-) diff --git a/docs/rules/no-restricted-matchers.md b/docs/rules/no-restricted-matchers.md index ad01e3ca0..77138b558 100644 --- a/docs/rules/no-restricted-matchers.md +++ b/docs/rules/no-restricted-matchers.md @@ -8,8 +8,9 @@ alternatives. Bans are expressed in the form of a map, with the value being either a string message to be shown, or `null` if the default rule message should be used. -Both matchers, modifiers, and chains of the two are checked, allowing for -specific variations of a matcher to be banned if desired. +Bans are checked against the start of the `expect` chain - this means that to +ban a specific matcher entirely you must specify all six permutations, but +allows you to ban modifiers as well. By default, this map is empty, meaning no matchers or modifiers are banned. @@ -22,7 +23,12 @@ For example: { "toBeFalsy": null, "resolves": "Use `expect(await promise)` instead.", - "not.toHaveBeenCalledWith": null + "toHaveBeenCalledWith": null, + "not.toHaveBeenCalledWith": null, + "resolves.toHaveBeenCalledWith": null, + "rejects.toHaveBeenCalledWith": null, + "resolves.not.toHaveBeenCalledWith": null, + "rejects.not.toHaveBeenCalledWith": null } ] } @@ -32,15 +38,18 @@ Examples of **incorrect** code for this rule with the above configuration ```js it('is false', () => { + // if this has a modifer (i.e. `not.toBeFalsy`), it would be considered fine expect(a).toBeFalsy(); }); it('resolves', async () => { + // all uses of this modifier are disallowed, regardless of matcher await expect(myPromise()).resolves.toBe(true); }); describe('when an error happens', () => { it('does not upload the file', async () => { + // all uses of this matcher are disallowed expect(uploadFileMock).not.toHaveBeenCalledWith('file.name'); }); }); diff --git a/src/rules/__tests__/no-restricted-matchers.test.ts b/src/rules/__tests__/no-restricted-matchers.test.ts index 38018f55f..1d134ec38 100644 --- a/src/rules/__tests__/no-restricted-matchers.test.ts +++ b/src/rules/__tests__/no-restricted-matchers.test.ts @@ -37,6 +37,26 @@ ruleTester.run('no-restricted-matchers', rule, { code: 'expect(a)["toBe"](b)', options: [{ 'not.toBe': null }], }, + { + code: 'expect(a).resolves.not.toBe(b)', + options: [{ not: null }], + }, + { + code: 'expect(a).resolves.not.toBe(b)', + options: [{ 'not.toBe': null }], + }, + { + code: "expect(uploadFileMock).resolves.toHaveBeenCalledWith('file.name')", + options: [ + { 'not.toHaveBeenCalledWith': 'Use not.toHaveBeenCalled instead' }, + ], + }, + { + code: "expect(uploadFileMock).resolves.not.toHaveBeenCalledWith('file.name')", + options: [ + { 'not.toHaveBeenCalledWith': 'Use not.toHaveBeenCalled instead' }, + ], + }, ], invalid: [ { @@ -47,7 +67,7 @@ ruleTester.run('no-restricted-matchers', rule, { messageId: 'restrictedChain', data: { message: null, - chain: 'toBe', + restriction: 'toBe', }, column: 11, line: 1, @@ -62,7 +82,7 @@ ruleTester.run('no-restricted-matchers', rule, { messageId: 'restrictedChain', data: { message: null, - chain: 'toBe', + restriction: 'toBe', }, column: 11, line: 1, @@ -77,7 +97,7 @@ ruleTester.run('no-restricted-matchers', rule, { messageId: 'restrictedChain', data: { message: null, - chain: 'not', + restriction: 'not', }, column: 11, line: 1, @@ -92,7 +112,7 @@ ruleTester.run('no-restricted-matchers', rule, { messageId: 'restrictedChain', data: { message: null, - chain: 'not', + restriction: 'not', }, column: 11, line: 1, @@ -107,28 +127,13 @@ ruleTester.run('no-restricted-matchers', rule, { messageId: 'restrictedChain', data: { message: null, - chain: 'resolves', + restriction: 'resolves', }, column: 11, line: 1, }, ], }, - { - code: 'expect(a).resolves.not.toBe(b)', - options: [{ not: null }], - errors: [ - { - messageId: 'restrictedChain', - data: { - message: null, - chain: 'not', - }, - column: 20, - line: 1, - }, - ], - }, { code: 'expect(a).resolves.not.toBe(b)', options: [{ resolves: null }], @@ -137,7 +142,7 @@ ruleTester.run('no-restricted-matchers', rule, { messageId: 'restrictedChain', data: { message: null, - chain: 'resolves', + restriction: 'resolves', }, column: 11, line: 1, @@ -152,29 +157,13 @@ ruleTester.run('no-restricted-matchers', rule, { messageId: 'restrictedChain', data: { message: null, - chain: 'resolves.not', + restriction: 'resolves.not', }, column: 11, line: 1, }, ], }, - { - code: 'expect(a).resolves.not.toBe(b)', - options: [{ 'not.toBe': null }], - errors: [ - { - messageId: 'restrictedChain', - data: { - message: null, - chain: 'not.toBe', - }, - endColumn: 28, - column: 20, - line: 1, - }, - ], - }, { code: 'expect(a).not.toBe(b)', options: [{ 'not.toBe': null }], @@ -183,7 +172,7 @@ ruleTester.run('no-restricted-matchers', rule, { messageId: 'restrictedChain', data: { message: null, - chain: 'not.toBe', + restriction: 'not.toBe', }, endColumn: 19, column: 11, @@ -199,7 +188,7 @@ ruleTester.run('no-restricted-matchers', rule, { messageId: 'restrictedChain', data: { message: null, - chain: 'resolves.not.toBe', + restriction: 'resolves.not.toBe', }, endColumn: 28, column: 11, @@ -215,7 +204,7 @@ ruleTester.run('no-restricted-matchers', rule, { messageId: 'restrictedChainWithMessage', data: { message: 'Prefer `toStrictEqual` instead', - chain: 'toBe', + restriction: 'toBe', }, column: 11, line: 1, @@ -234,25 +223,25 @@ ruleTester.run('no-restricted-matchers', rule, { messageId: 'restrictedChainWithMessage', data: { message: 'Use `expect(await promise)` instead.', - chain: 'resolves', + restriction: 'resolves', }, - endColumn: 52, + endColumn: 57, column: 44, }, ], }, { code: 'expect(Promise.resolve({})).rejects.toBeFalsy()', - options: [{ toBeFalsy: null }], + options: [{ 'rejects.toBeFalsy': null }], errors: [ { messageId: 'restrictedChain', data: { message: null, - chain: 'toBeFalsy', + restriction: 'rejects.toBeFalsy', }, endColumn: 46, - column: 37, + column: 29, }, ], }, @@ -266,7 +255,7 @@ ruleTester.run('no-restricted-matchers', rule, { messageId: 'restrictedChainWithMessage', data: { message: 'Use not.toHaveBeenCalled instead', - chain: 'not.toHaveBeenCalledWith', + restriction: 'not.toHaveBeenCalledWith', }, endColumn: 48, column: 24, diff --git a/src/rules/no-restricted-matchers.ts b/src/rules/no-restricted-matchers.ts index e918db706..ebe2f52fd 100644 --- a/src/rules/no-restricted-matchers.ts +++ b/src/rules/no-restricted-matchers.ts @@ -21,7 +21,7 @@ export default createRule< }, ], messages: { - restrictedChain: 'Use of `{{ chain }}` is disallowed', + restrictedChain: 'Use of `{{ restriction }}` is disallowed', restrictedChainWithMessage: '{{ message }}', }, }, @@ -35,31 +35,20 @@ export default createRule< return; } - const permutations = [jestFnCall.members]; - - if (jestFnCall.members.length > 2) { - permutations.push([jestFnCall.members[0], jestFnCall.members[1]]); - permutations.push([jestFnCall.members[1], jestFnCall.members[2]]); - } - - if (jestFnCall.members.length > 1) { - permutations.push(...jestFnCall.members.map(nod => [nod])); - } - - for (const permutation of permutations) { - const chain = permutation.map(nod => getAccessorValue(nod)).join('.'); - - if (chain in restrictedChains) { - const message = restrictedChains[chain]; + const chain = jestFnCall.members + .map(nod => getAccessorValue(nod)) + .join('.'); + for (const [restriction, message] of Object.entries(restrictedChains)) { + if (chain.startsWith(restriction)) { context.report({ messageId: message ? 'restrictedChainWithMessage' : 'restrictedChain', - data: { message, chain }, + data: { message, restriction }, loc: { - start: permutation[0].loc.start, - end: permutation[permutation.length - 1].loc.end, + start: jestFnCall.members[0].loc.start, + end: jestFnCall.members[jestFnCall.members.length - 1].loc.end, }, }); From 7c1389e3d8c59e283de37ed86f3f4c12fb38c3ff Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Sun, 28 Aug 2022 21:47:48 +1200 Subject: [PATCH 07/10] fix(unbound-method): don't suppress errors from base rule (#1219) BREAKING CHANGE: errors thrown by the `unbound-method` base rule are no longer suppressed - really this means that if you don't specify `project` when this rule is enabled and `@typescript-eslint/eslint-plugin` is present, that error will no longer be suppressed instead of silently doing nothing; it will still not throw if this rule is enabled without the base rule being present --- src/rules/__tests__/unbound-method.test.ts | 19 ------------------- src/rules/unbound-method.ts | 12 +----------- 2 files changed, 1 insertion(+), 30 deletions(-) diff --git a/src/rules/__tests__/unbound-method.test.ts b/src/rules/__tests__/unbound-method.test.ts index 0dca6d703..154a4d0c1 100644 --- a/src/rules/__tests__/unbound-method.test.ts +++ b/src/rules/__tests__/unbound-method.test.ts @@ -182,25 +182,6 @@ describe('error handling', () => { }, ); }); - - describe('when "project" is not set', () => { - const ruleTester = new ESLintUtils.RuleTester({ - parser: '@typescript-eslint/parser', - parserOptions: { - sourceType: 'module', - tsconfigRootDir: rootPath, - }, - }); - - ruleTester.run( - 'unbound-method jest edition without "project" property', - requireRule(false), - { - valid: validTestCases.concat(invalidTestCases.map(({ code }) => code)), - invalid: [], - }, - ); - }); }); ruleTester.run('unbound-method jest edition', requireRule(false), { diff --git a/src/rules/unbound-method.ts b/src/rules/unbound-method.ts index 9e3b69f77..4bf269f43 100644 --- a/src/rules/unbound-method.ts +++ b/src/rules/unbound-method.ts @@ -33,16 +33,6 @@ const baseRule = (() => { } })(); -const tryCreateBaseRule = ( - context: Readonly>, -) => { - try { - return baseRule?.create(context); - } catch { - return null; - } -}; - interface Config { ignoreStatic: boolean; } @@ -75,7 +65,7 @@ export default createRule({ }, }, create(context) { - const baseSelectors = tryCreateBaseRule(context); + const baseSelectors = baseRule?.create(context); if (!baseSelectors) { return {}; From 918873beb15d4a698fe5150d826d44b696283683 Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Sun, 28 Aug 2022 21:47:58 +1200 Subject: [PATCH 08/10] feat(no-jest-import): remove rule (#1220) BREAKING CHANGE: removed `no-jest-import` rule --- README.md | 1 - docs/rules/no-jest-import.md | 20 -------- .../__snapshots__/rules.test.ts.snap | 2 - src/__tests__/rules.test.ts | 2 +- src/rules/__tests__/no-jest-import.test.ts | 47 ------------------- src/rules/no-jest-import.ts | 37 --------------- 6 files changed, 1 insertion(+), 108 deletions(-) delete mode 100644 docs/rules/no-jest-import.md delete mode 100644 src/rules/__tests__/no-jest-import.test.ts delete mode 100644 src/rules/no-jest-import.ts diff --git a/README.md b/README.md index 42a578a3c..d55d31676 100644 --- a/README.md +++ b/README.md @@ -217,7 +217,6 @@ installations requiring long-term consistency. | [no-identical-title](docs/rules/no-identical-title.md) | Disallow identical titles | ![recommended][] | | | [no-interpolation-in-snapshots](docs/rules/no-interpolation-in-snapshots.md) | Disallow string interpolation inside snapshots | ![recommended][] | | | [no-jasmine-globals](docs/rules/no-jasmine-globals.md) | Disallow Jasmine globals | ![recommended][] | ![fixable][] | -| [no-jest-import](docs/rules/no-jest-import.md) | Disallow importing Jest | ![recommended][] | | | [no-large-snapshots](docs/rules/no-large-snapshots.md) | disallow large snapshots | | | | [no-mocks-import](docs/rules/no-mocks-import.md) | Disallow manually importing from `__mocks__` | ![recommended][] | | | [no-restricted-matchers](docs/rules/no-restricted-matchers.md) | Disallow specific matchers & modifiers | | | diff --git a/docs/rules/no-jest-import.md b/docs/rules/no-jest-import.md deleted file mode 100644 index 661d427e8..000000000 --- a/docs/rules/no-jest-import.md +++ /dev/null @@ -1,20 +0,0 @@ -# Disallow importing Jest (`no-jest-import`) - -The `jest` object is automatically in scope within every test file. The methods -in the `jest` object help create mocks and let you control Jest's overall -behavior. It is therefore completely unnecessary to import in `jest`, as Jest -doesn't export anything in the first place. - -### Rule details - -This rule reports on any importing of Jest. - -To name a few: `var jest = require('jest');` `const jest = require('jest');` -`import jest from 'jest';` `import {jest as test} from 'jest';` - -There is no correct usage of this code, other than to not import `jest` in the -first place. - -## Further Reading - -- [The Jest Object](https://facebook.github.io/jest/docs/en/jest-object.html) diff --git a/src/__tests__/__snapshots__/rules.test.ts.snap b/src/__tests__/__snapshots__/rules.test.ts.snap index 6e0f2c3fc..9932b994d 100644 --- a/src/__tests__/__snapshots__/rules.test.ts.snap +++ b/src/__tests__/__snapshots__/rules.test.ts.snap @@ -28,7 +28,6 @@ exports[`rules should export configs that refer to actual rules 1`] = ` "jest/no-identical-title": "error", "jest/no-interpolation-in-snapshots": "error", "jest/no-jasmine-globals": "error", - "jest/no-jest-import": "error", "jest/no-large-snapshots": "error", "jest/no-mocks-import": "error", "jest/no-restricted-matchers": "error", @@ -80,7 +79,6 @@ exports[`rules should export configs that refer to actual rules 1`] = ` "jest/no-identical-title": "error", "jest/no-interpolation-in-snapshots": "error", "jest/no-jasmine-globals": "error", - "jest/no-jest-import": "error", "jest/no-mocks-import": "error", "jest/no-standalone-expect": "error", "jest/no-test-prefixes": "error", diff --git a/src/__tests__/rules.test.ts b/src/__tests__/rules.test.ts index a8c66cc18..826bfb533 100644 --- a/src/__tests__/rules.test.ts +++ b/src/__tests__/rules.test.ts @@ -2,7 +2,7 @@ import { existsSync } from 'fs'; import { resolve } from 'path'; import plugin from '../'; -const numberOfRules = 50; +const numberOfRules = 49; const ruleNames = Object.keys(plugin.rules); const deprecatedRules = Object.entries(plugin.rules) .filter(([, rule]) => rule.meta.deprecated) diff --git a/src/rules/__tests__/no-jest-import.test.ts b/src/rules/__tests__/no-jest-import.test.ts deleted file mode 100644 index 58e554fdc..000000000 --- a/src/rules/__tests__/no-jest-import.test.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { TSESLint } from '@typescript-eslint/utils'; -import rule from '../no-jest-import'; -import { espreeParser } from './test-utils'; - -const ruleTester = new TSESLint.RuleTester({ - parser: espreeParser, - parserOptions: { - ecmaVersion: 2015, - }, -}); - -ruleTester.run('no-jest-import', rule, { - valid: [ - { - code: 'import something from "something"', - parserOptions: { sourceType: 'module' }, - }, - 'require("somethingElse")', - 'require()', - 'entirelyDifferent(fn)', - ], - invalid: [ - { - code: 'require("jest")', - errors: [{ endColumn: 15, column: 9, messageId: 'unexpectedImport' }], - }, - { - code: 'import jest from "jest"', - parserOptions: { sourceType: 'module' }, - errors: [{ endColumn: 24, column: 1, messageId: 'unexpectedImport' }], - }, - { - code: 'var jest = require("jest")', - errors: [{ endColumn: 26, column: 20, messageId: 'unexpectedImport' }], - }, - { - code: 'import {jest as test} from "jest"', - parserOptions: { sourceType: 'module' }, - errors: [{ endColumn: 34, column: 1, messageId: 'unexpectedImport' }], - }, - { - code: 'const jest = require("jest")', - parserOptions: { sourceType: 'module' }, - errors: [{ endColumn: 28, column: 22, messageId: 'unexpectedImport' }], - }, - ], -}); diff --git a/src/rules/no-jest-import.ts b/src/rules/no-jest-import.ts deleted file mode 100644 index 6520cf1d0..000000000 --- a/src/rules/no-jest-import.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { TSESTree } from '@typescript-eslint/utils'; -import { createRule } from './utils'; - -export default createRule({ - name: __filename, - meta: { - type: 'problem', - docs: { - description: 'Disallow importing Jest', - category: 'Best Practices', - recommended: 'error', - }, - messages: { - unexpectedImport: `Jest is automatically in scope. Do not import "jest", as Jest doesn't export anything.`, - }, - schema: [], - }, - defaultOptions: [], - create(context) { - return { - 'ImportDeclaration[source.value="jest"]'( - node: TSESTree.ImportDeclaration, - ) { - context.report({ node, messageId: 'unexpectedImport' }); - }, - 'CallExpression[callee.name="require"][arguments.0.value="jest"]'( - node: TSESTree.CallExpression, - ) { - context.report({ - loc: node.arguments[0].loc, - messageId: 'unexpectedImport', - node, - }); - }, - }; - }, -}); From 914b24a0bc12a151e6f7ecec37a440769b555b94 Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Sun, 28 Aug 2022 21:48:07 +1200 Subject: [PATCH 09/10] feat: make `no-alias-methods` recommended (#1221) BREAKING CHANGE: `no-alias-methods` is now recommended as the methods themselves will be removed in the next major version of Jest --- README.md | 2 +- docs/rules/no-alias-methods.md | 3 +++ src/__tests__/__snapshots__/rules.test.ts.snap | 1 + src/rules/no-alias-methods.ts | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d55d31676..3c912c6af 100644 --- a/README.md +++ b/README.md @@ -203,7 +203,7 @@ installations requiring long-term consistency. | [expect-expect](docs/rules/expect-expect.md) | Enforce assertion to be made in a test body | ![recommended][] | | | [max-expects](docs/rules/max-expects.md) | Enforces a maximum number assertion calls in a test body | | | | [max-nested-describe](docs/rules/max-nested-describe.md) | Enforces a maximum depth to nested describe calls | | | -| [no-alias-methods](docs/rules/no-alias-methods.md) | Disallow alias methods | ![style][] | ![fixable][] | +| [no-alias-methods](docs/rules/no-alias-methods.md) | Disallow alias methods | ![recommended][] | ![fixable][] | | [no-commented-out-tests](docs/rules/no-commented-out-tests.md) | Disallow commented out tests | ![recommended][] | | | [no-conditional-expect](docs/rules/no-conditional-expect.md) | Prevent calling `expect` conditionally | ![recommended][] | | | [no-conditional-in-test](docs/rules/no-conditional-in-test.md) | Disallow conditional logic in tests | | | diff --git a/docs/rules/no-alias-methods.md b/docs/rules/no-alias-methods.md index 7f373d5fe..d439104de 100644 --- a/docs/rules/no-alias-methods.md +++ b/docs/rules/no-alias-methods.md @@ -1,5 +1,8 @@ # Disallow alias methods (`no-alias-methods`) +> These aliases are going to be removed in the next major version of Jest - see +> https://github.com/facebook/jest/issues/13164 for more + Several Jest methods have alias names, such as `toThrow` having the alias of `toThrowError`. This rule ensures that only the canonical name as used in the Jest documentation is used in the code. This makes it easier to search for all diff --git a/src/__tests__/__snapshots__/rules.test.ts.snap b/src/__tests__/__snapshots__/rules.test.ts.snap index 9932b994d..620da645c 100644 --- a/src/__tests__/__snapshots__/rules.test.ts.snap +++ b/src/__tests__/__snapshots__/rules.test.ts.snap @@ -69,6 +69,7 @@ exports[`rules should export configs that refer to actual rules 1`] = ` ], "rules": { "jest/expect-expect": "warn", + "jest/no-alias-methods": "error", "jest/no-commented-out-tests": "warn", "jest/no-conditional-expect": "error", "jest/no-deprecated-functions": "error", diff --git a/src/rules/no-alias-methods.ts b/src/rules/no-alias-methods.ts index 814b73f5c..dfd4a9629 100644 --- a/src/rules/no-alias-methods.ts +++ b/src/rules/no-alias-methods.ts @@ -11,7 +11,7 @@ export default createRule({ docs: { category: 'Best Practices', description: 'Disallow alias methods', - recommended: false, + recommended: 'error', }, messages: { replaceAlias: `Replace {{ alias }}() with its canonical name of {{ canonical }}()`, From 755e2795498df8d284f27bb38f0920fc691517c8 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 28 Aug 2022 09:55:09 +0000 Subject: [PATCH 10/10] chore(release): 27.0.0-next.2 [skip ci] # [27.0.0-next.2](https://github.com/jest-community/eslint-plugin-jest/compare/v27.0.0-next.1...v27.0.0-next.2) (2022-08-28) ### Bug Fixes * **unbound-method:** don't suppress errors from base rule ([#1219](https://github.com/jest-community/eslint-plugin-jest/issues/1219)) ([7c1389e](https://github.com/jest-community/eslint-plugin-jest/commit/7c1389e3d8c59e283de37ed86f3f4c12fb38c3ff)) ### Features * make `no-alias-methods` recommended ([#1221](https://github.com/jest-community/eslint-plugin-jest/issues/1221)) ([914b24a](https://github.com/jest-community/eslint-plugin-jest/commit/914b24a0bc12a151e6f7ecec37a440769b555b94)) * **no-jest-import:** remove rule ([#1220](https://github.com/jest-community/eslint-plugin-jest/issues/1220)) ([918873b](https://github.com/jest-community/eslint-plugin-jest/commit/918873beb15d4a698fe5150d826d44b696283683)) * **no-restricted-matchers:** match based on start of chain, requiring each permutation to be set ([#1218](https://github.com/jest-community/eslint-plugin-jest/issues/1218)) ([f4dd97a](https://github.com/jest-community/eslint-plugin-jest/commit/f4dd97a7ec3b985d0f7e42a5a6331bc0c65a7d56)) ### BREAKING CHANGES * `no-alias-methods` is now recommended as the methods themselves will be removed in the next major version of Jest * **no-jest-import:** removed `no-jest-import` rule * **unbound-method:** errors thrown by the `unbound-method` base rule are no longer suppressed - really this means that if you don't specify `project` when this rule is enabled and `@typescript-eslint/eslint-plugin` is present, that error will no longer be suppressed instead of silently doing nothing; it will still not throw if this rule is enabled without the base rule being present * **no-restricted-matchers:** `no-restricted-matchers` now checks against the start of the expect chain, meaning you have to explicitly list each possible matcher & modifier permutations that you want to restrict --- CHANGELOG.md | 22 ++++++++++++++++++++++ package.json | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 46560542c..84cdce256 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ +# [27.0.0-next.2](https://github.com/jest-community/eslint-plugin-jest/compare/v27.0.0-next.1...v27.0.0-next.2) (2022-08-28) + + +### Bug Fixes + +* **unbound-method:** don't suppress errors from base rule ([#1219](https://github.com/jest-community/eslint-plugin-jest/issues/1219)) ([7c1389e](https://github.com/jest-community/eslint-plugin-jest/commit/7c1389e3d8c59e283de37ed86f3f4c12fb38c3ff)) + + +### Features + +* make `no-alias-methods` recommended ([#1221](https://github.com/jest-community/eslint-plugin-jest/issues/1221)) ([914b24a](https://github.com/jest-community/eslint-plugin-jest/commit/914b24a0bc12a151e6f7ecec37a440769b555b94)) +* **no-jest-import:** remove rule ([#1220](https://github.com/jest-community/eslint-plugin-jest/issues/1220)) ([918873b](https://github.com/jest-community/eslint-plugin-jest/commit/918873beb15d4a698fe5150d826d44b696283683)) +* **no-restricted-matchers:** match based on start of chain, requiring each permutation to be set ([#1218](https://github.com/jest-community/eslint-plugin-jest/issues/1218)) ([f4dd97a](https://github.com/jest-community/eslint-plugin-jest/commit/f4dd97a7ec3b985d0f7e42a5a6331bc0c65a7d56)) + + +### BREAKING CHANGES + +* `no-alias-methods` is now recommended as the methods themselves will be removed in the next major version of Jest +* **no-jest-import:** removed `no-jest-import` rule +* **unbound-method:** errors thrown by the `unbound-method` base rule are no longer suppressed - really this means that if you don't specify `project` when this rule is enabled and `@typescript-eslint/eslint-plugin` is present, that error will no longer be suppressed instead of silently doing nothing; it will still not throw if this rule is enabled without the base rule being present +* **no-restricted-matchers:** `no-restricted-matchers` now checks against the start of the expect chain, meaning you have to explicitly list each possible matcher & modifier permutations that you want to restrict + # [27.0.0-next.1](https://github.com/jest-community/eslint-plugin-jest/compare/v26.8.7...v27.0.0-next.1) (2022-08-23) diff --git a/package.json b/package.json index 7419b8328..9c712656f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-jest", - "version": "27.0.0-next.1", + "version": "27.0.0-next.2", "description": "ESLint rules for Jest", "keywords": [ "eslint",