From ef92af46ec9064231215d450482db8d6f317f071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Verit=C3=A9=20Mugabo?= Date: Sun, 19 Nov 2023 18:39:36 -0500 Subject: [PATCH] feat(fix): fix previous changes (#294) * chore: fix typo * feat: add sequential to test function chains * chore(scripts): added script to the repo --------- Co-authored-by: Daniel Syddall --- fixtures/package.json | 2 +- package.json | 18 +- pnpm-lock.yaml | 353 +++++++++++---------------- scripts/chain-permutations.mjs | 108 ++++++++ scripts/package.json | 15 ++ scripts/pnpm-lock.yaml | 16 ++ src/utils/validVitestFnCallChains.ts | 1 + 7 files changed, 296 insertions(+), 217 deletions(-) create mode 100644 scripts/chain-permutations.mjs create mode 100644 scripts/package.json create mode 100644 scripts/pnpm-lock.yaml diff --git a/fixtures/package.json b/fixtures/package.json index 3efe9d7..bcaafc4 100644 --- a/fixtures/package.json +++ b/fixtures/package.json @@ -15,6 +15,6 @@ "vitest": "^0.34.6" }, "devDependencies": { - "eslint": "^8.53.0" + "eslint": "^8.54.0" } } diff --git a/package.json b/package.json index ea10292..04ac4a5 100644 --- a/package.json +++ b/package.json @@ -42,22 +42,22 @@ "devDependencies": { "@babel/types": "^7.23.3", "@types/mocha": "^10.0.4", - "@types/node": "^20.9.0", - "@typescript-eslint/eslint-plugin": "^6.10.0", - "@typescript-eslint/rule-tester": "^6.10.0", + "@types/node": "^20.9.2", + "@typescript-eslint/eslint-plugin": "^6.11.0", + "@typescript-eslint/rule-tester": "^6.11.0", "@veritem/eslint-config": "^0.0.11", "bumpp": "^9.2.0", "concurrently": "^8.2.2", - "eslint": "^8.53.0", - "eslint-doc-generator": "^1.5.4", + "eslint": "^8.54.0", + "eslint-doc-generator": "^1.6.1", "eslint-plugin-eslint-plugin": "^5.1.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-vitest": "^0.3.9", "eslint-remote-tester": "^3.0.1", "eslint-remote-tester-repositories": "^1.0.1", "ts-node": "^10.9.1", - "tsx": "^4.0.0", - "typescript": "^5.2.2", + "tsx": "^4.1.4", + "typescript": "^5.2.0", "unbuild": "^2.0.0", "vitest": "^0.34.6" }, @@ -77,6 +77,6 @@ } }, "dependencies": { - "@typescript-eslint/utils": "^6.10.0" + "@typescript-eslint/utils": "^6.11.0" } -} +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a0a20fa..a6d9e82 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: dependencies: '@typescript-eslint/utils': - specifier: ^6.10.0 - version: 6.10.0(eslint@8.53.0)(typescript@5.2.2) + specifier: ^6.11.0 + version: 6.11.0(eslint@8.54.0)(typescript@5.2.2) devDependencies: '@babel/types': @@ -17,17 +17,17 @@ devDependencies: specifier: ^10.0.4 version: 10.0.4 '@types/node': - specifier: ^20.9.0 - version: 20.9.0 + specifier: ^20.9.2 + version: 20.9.2 '@typescript-eslint/eslint-plugin': - specifier: ^6.10.0 - version: 6.11.0(@typescript-eslint/parser@6.4.1)(eslint@8.53.0)(typescript@5.2.2) + specifier: ^6.11.0 + version: 6.11.0(@typescript-eslint/parser@6.4.1)(eslint@8.54.0)(typescript@5.2.2) '@typescript-eslint/rule-tester': - specifier: ^6.10.0 - version: 6.10.0(@eslint/eslintrc@2.1.3)(eslint@8.53.0)(typescript@5.2.2) + specifier: ^6.11.0 + version: 6.11.0(@eslint/eslintrc@2.1.3)(eslint@8.54.0)(typescript@5.2.2) '@veritem/eslint-config': specifier: ^0.0.11 - version: 0.0.11(eslint@8.53.0)(typescript@5.2.2) + version: 0.0.11(eslint@8.54.0)(typescript@5.2.2) bumpp: specifier: ^9.2.0 version: 9.2.0 @@ -35,34 +35,34 @@ devDependencies: specifier: ^8.2.2 version: 8.2.2 eslint: - specifier: ^8.53.0 - version: 8.53.0 + specifier: ^8.54.0 + version: 8.54.0 eslint-doc-generator: - specifier: ^1.5.4 - version: 1.5.4(eslint@8.53.0)(typescript@5.2.2) + specifier: ^1.6.1 + version: 1.6.1(eslint@8.54.0)(typescript@5.2.2) eslint-plugin-eslint-plugin: specifier: ^5.1.1 - version: 5.1.1(eslint@8.53.0) + version: 5.1.1(eslint@8.54.0) eslint-plugin-node: specifier: ^11.1.0 - version: 11.1.0(eslint@8.53.0) + version: 11.1.0(eslint@8.54.0) eslint-plugin-vitest: specifier: ^0.3.9 - version: 0.3.9(@typescript-eslint/eslint-plugin@6.11.0)(eslint@8.53.0)(typescript@5.2.2)(vitest@0.34.6) + version: 0.3.9(@typescript-eslint/eslint-plugin@6.11.0)(eslint@8.54.0)(typescript@5.2.2)(vitest@0.34.6) eslint-remote-tester: specifier: ^3.0.1 - version: 3.0.1(eslint@8.53.0)(ts-node@10.9.1) + version: 3.0.1(eslint@8.54.0)(ts-node@10.9.1) eslint-remote-tester-repositories: specifier: ^1.0.1 version: 1.0.1 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@20.9.0)(typescript@5.2.2) + version: 10.9.1(@types/node@20.9.2)(typescript@5.2.2) tsx: - specifier: ^4.0.0 - version: 4.1.2 + specifier: ^4.1.4 + version: 4.1.4 typescript: - specifier: ^5.2.2 + specifier: ^5.2.0 version: 5.2.2 unbuild: specifier: ^2.0.0 @@ -734,13 +734,13 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.53.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.53.0 + eslint: 8.54.0 eslint-visitor-keys: 3.4.3 /@eslint-community/regexpp@4.7.0: @@ -763,8 +763,8 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/js@8.53.0: - resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==} + /@eslint/js@8.54.0: + resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /@humanwhocodes/config-array@0.11.13: @@ -1022,8 +1022,8 @@ packages: resolution: {integrity: sha512-xKU7bUjiFTIttpWaIZ9qvgg+22O1nmbA+HRxdlR+u6TWsGfmFdXrheJoK4fFxrHNVIOBDvDNKZG+LYBpMHpX3w==} dev: true - /@types/node@20.9.0: - resolution: {integrity: sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==} + /@types/node@20.9.2: + resolution: {integrity: sha512-WHZXKFCEyIUJzAwh3NyyTHYSR35SevJ6mZ1nWwJafKtiQbqRTIKSRcw3Ma3acqgsent3RRDqeVwpHntMk+9irg==} dependencies: undici-types: 5.26.5 dev: true @@ -1047,7 +1047,7 @@ packages: resolution: {integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==} dev: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1059,12 +1059,12 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.7.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.2.2) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.54.0)(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.2.2) debug: 4.3.4 - eslint: 8.53.0 + eslint: 8.54.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare-lite: 1.4.0 @@ -1075,7 +1075,7 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.11.0(@typescript-eslint/parser@6.4.1)(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/eslint-plugin@6.11.0(@typescript-eslint/parser@6.4.1)(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-uXnpZDc4VRjY4iuypDBKzW1rz9T5YBBK0snMn8MaTSNd2kMlj50LnLBABELjJiOL5YHk7ZD8hbSpI9ubzqYI0w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1087,13 +1087,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.7.0 - '@typescript-eslint/parser': 6.4.1(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.4.1(eslint@8.54.0)(typescript@5.2.2) '@typescript-eslint/scope-manager': 6.11.0 - '@typescript-eslint/type-utils': 6.11.0(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/type-utils': 6.11.0(eslint@8.54.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.11.0(eslint@8.54.0)(typescript@5.2.2) '@typescript-eslint/visitor-keys': 6.11.0 debug: 4.3.4 - eslint: 8.53.0 + eslint: 8.54.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 @@ -1104,7 +1104,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1118,13 +1118,13 @@ packages: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) debug: 4.3.4 - eslint: 8.53.0 + eslint: 8.54.0 typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.4.1(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/parser@6.4.1(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-610G6KHymg9V7EqOaNBMtD1GgpAmGROsmfHJPXNLCU9bfIuLrkdOygltK784F6Crboyd5tBFayPB7Sf0McrQwg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1139,24 +1139,24 @@ packages: '@typescript-eslint/typescript-estree': 6.4.1(typescript@5.2.2) '@typescript-eslint/visitor-keys': 6.4.1 debug: 4.3.4 - eslint: 8.53.0 + eslint: 8.54.0 typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/rule-tester@6.10.0(@eslint/eslintrc@2.1.3)(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-I0ZY+9ei73dlOuXwIYWsn/r/ue26Ygf4yEJPxeJRPI06YWDawmR1FI1dXL6ChAWVrmBQRvWep/1PxnV41zfcMA==} + /@typescript-eslint/rule-tester@6.11.0(@eslint/eslintrc@2.1.3)(eslint@8.54.0)(typescript@5.2.2): + resolution: {integrity: sha512-4OQn7HuOnqtg2yDjBvshUs7NnQ4ySKjylh+dbmGojkau7wX8laUcIRUEu3qS2+LyQAmt1yoM7lKdGzJSG3TXyQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@eslint/eslintrc': '>=2' eslint: '>=8' dependencies: '@eslint/eslintrc': 2.1.3 - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2) + '@typescript-eslint/utils': 6.11.0(eslint@8.54.0)(typescript@5.2.2) ajv: 6.12.6 - eslint: 8.53.0 + eslint: 8.54.0 lodash.merge: 4.6.2 semver: 7.5.4 transitivePeerDependencies: @@ -1172,20 +1172,12 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@6.10.0: - resolution: {integrity: sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/visitor-keys': 6.10.0 - /@typescript-eslint/scope-manager@6.11.0: resolution: {integrity: sha512-0A8KoVvIURG4uhxAdjSaxy8RdRE//HztaZdG8KiHLP8WOXSk0vlF7Pvogv+vlJA5Rnjj/wDcFENvDaHb+gKd1A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.11.0 '@typescript-eslint/visitor-keys': 6.11.0 - dev: true /@typescript-eslint/scope-manager@6.4.1: resolution: {integrity: sha512-p/OavqOQfm4/Hdrr7kvacOSFjwQ2rrDVJRPxt/o0TOWdFnjJptnjnZ+sYDR7fi4OimvIuKp+2LCkc+rt9fIW+A==} @@ -1195,7 +1187,7 @@ packages: '@typescript-eslint/visitor-keys': 6.4.1 dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/type-utils@5.62.0(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1206,16 +1198,16 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) - '@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.2.2) debug: 4.3.4 - eslint: 8.53.0 + eslint: 8.54.0 tsutils: 3.21.0(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/type-utils@6.11.0(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/type-utils@6.11.0(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1226,9 +1218,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.11.0(eslint@8.54.0)(typescript@5.2.2) debug: 4.3.4 - eslint: 8.53.0 + eslint: 8.54.0 ts-api-utils: 1.0.2(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: @@ -1240,14 +1232,9 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.10.0: - resolution: {integrity: sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg==} - engines: {node: ^16.0.0 || >=18.0.0} - /@typescript-eslint/types@6.11.0: resolution: {integrity: sha512-ZbEzuD4DwEJxwPqhv3QULlRj8KYTAnNsXxmfuUXFCxZmO6CF2gM/y+ugBSAQhrqaJL3M+oe4owdWunaHM6beqA==} engines: {node: ^16.0.0 || >=18.0.0} - dev: true /@typescript-eslint/types@6.4.1: resolution: {integrity: sha512-zAAopbNuYu++ijY1GV2ylCsQsi3B8QvfPHVqhGdDcbx/NK5lkqMnCGU53amAjccSpk+LfeONxwzUhDzArSfZJg==} @@ -1275,26 +1262,6 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.10.0(typescript@5.2.2): - resolution: {integrity: sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/visitor-keys': 6.10.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.2(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - /@typescript-eslint/typescript-estree@6.11.0(typescript@5.2.2): resolution: {integrity: sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1314,7 +1281,6 @@ packages: typescript: 5.2.2 transitivePeerDependencies: - supports-color - dev: true /@typescript-eslint/typescript-estree@6.4.1(typescript@5.2.2): resolution: {integrity: sha512-xF6Y7SatVE/OyV93h1xGgfOkHr2iXuo8ip0gbfzaKeGGuKiAnzS+HtVhSPx8Www243bwlW8IF7X0/B62SzFftg==} @@ -1337,19 +1303,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/utils@5.62.0(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) - eslint: 8.53.0 + eslint: 8.54.0 eslint-scope: 5.1.1 semver: 7.5.4 transitivePeerDependencies: @@ -1357,42 +1323,23 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.10.0(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.10.0 - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) - eslint: 8.53.0 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - - /@typescript-eslint/utils@6.11.0(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/utils@6.11.0(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 '@typescript-eslint/scope-manager': 6.11.0 '@typescript-eslint/types': 6.11.0 '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2) - eslint: 8.53.0 + eslint: 8.54.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript - dev: true /@typescript-eslint/visitor-keys@5.62.0: resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} @@ -1402,20 +1349,12 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.10.0: - resolution: {integrity: sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.10.0 - eslint-visitor-keys: 3.4.3 - /@typescript-eslint/visitor-keys@6.11.0: resolution: {integrity: sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.11.0 eslint-visitor-keys: 3.4.3 - dev: true /@typescript-eslint/visitor-keys@6.4.1: resolution: {integrity: sha512-y/TyRJsbZPkJIZQXrHfdnxVnxyKegnpEvnRGNam7s3TRR2ykGefEWOhaef00/UUN3IZxizS7BTO3svd3lCOJRQ==} @@ -1428,18 +1367,18 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@veritem/eslint-config-base@0.0.11(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.53.0)(typescript@5.2.2): + /@veritem/eslint-config-base@0.0.11(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-tmDpz6DheFC4b7n8FxiyG/TCoHgSeiA3sECXvcvJi5ECokHfhubjoTJu4jha6XdE8rReiv5eXFx/CJtanSgpaw==} peerDependencies: typescript: '>=4.x' dependencies: - eslint-plugin-eslint-comments: 3.2.0(eslint@8.53.0) + eslint-plugin-eslint-comments: 3.2.0(eslint@8.54.0) eslint-plugin-html: 7.1.0 - eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint@8.53.0) - eslint-plugin-markdown: 3.0.1(eslint@8.53.0) - eslint-plugin-promise: 6.1.1(eslint@8.53.0) - eslint-plugin-unicorn: 46.0.1(eslint@8.53.0) - eslint-plugin-unused-imports: 2.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.53.0) + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint@8.54.0) + eslint-plugin-markdown: 3.0.1(eslint@8.54.0) + eslint-plugin-promise: 6.1.1(eslint@8.54.0) + eslint-plugin-unicorn: 46.0.1(eslint@8.54.0) + eslint-plugin-unused-imports: 2.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.54.0) typescript: 5.2.2 transitivePeerDependencies: - '@typescript-eslint/eslint-plugin' @@ -1450,16 +1389,16 @@ packages: - supports-color dev: true - /@veritem/eslint-config-react@0.0.11(eslint@8.53.0)(typescript@5.2.2): + /@veritem/eslint-config-react@0.0.11(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-s5RbJvdrY5bYPAro3nsw0BWVYCIVyyw7cm6jbXASsqoBrUEkt+ubCm7h3oO0WGoO3ioqu8uBhQCTSZP9U4T/NA==} peerDependencies: eslint: '>=8.0.0' dependencies: - '@veritem/eslint-config-ts': 0.0.11(eslint@8.53.0)(typescript@5.2.2) - eslint: 8.53.0 - eslint-plugin-jsx-a11y: 6.7.1(eslint@8.53.0) - eslint-plugin-react: 7.33.2(eslint@8.53.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.53.0) + '@veritem/eslint-config-ts': 0.0.11(eslint@8.54.0)(typescript@5.2.2) + eslint: 8.54.0 + eslint-plugin-jsx-a11y: 6.7.1(eslint@8.54.0) + eslint-plugin-react: 7.33.2(eslint@8.54.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.54.0) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -1467,16 +1406,16 @@ packages: - typescript dev: true - /@veritem/eslint-config-ts@0.0.11(eslint@8.53.0)(typescript@5.2.2): + /@veritem/eslint-config-ts@0.0.11(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-OZ6GzEtbZlTg0ZwUfPl2kHJKuQJapZ3fZf4/Uhs7xnbONtkUprgBlU4oH20+12XdS2CUQLmUEzvUGpgho/UniA==} peerDependencies: eslint: '>=8.0.0' dependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/parser': 5.62.0(eslint@8.53.0)(typescript@5.2.2) - '@veritem/eslint-config-base': 0.0.11(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.53.0)(typescript@5.2.2) - eslint: 8.53.0 - eslint-plugin-n: 15.7.0(eslint@8.53.0) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.2.2) + '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.2.2) + '@veritem/eslint-config-base': 0.0.11(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.2.2) + eslint: 8.54.0 + eslint-plugin-n: 15.7.0(eslint@8.54.0) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -1484,10 +1423,10 @@ packages: - typescript dev: true - /@veritem/eslint-config@0.0.11(eslint@8.53.0)(typescript@5.2.2): + /@veritem/eslint-config@0.0.11(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-NTESflVjo4gdIab27tSmGaRoAI5rkSEvp24pSXouIULb7Ah7UaIZoGfmZpwhGJlgOafkySiofe0gqzFwrVPO3Q==} dependencies: - '@veritem/eslint-config-react': 0.0.11(eslint@8.53.0)(typescript@5.2.2) + '@veritem/eslint-config-react': 0.0.11(eslint@8.54.0)(typescript@5.2.2) transitivePeerDependencies: - eslint - eslint-import-resolver-typescript @@ -2672,21 +2611,21 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - /eslint-doc-generator@1.5.4(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-G4wcX2QcOEA0cZnk4zDx2VKVkktv8IGJd1D3TZ2HP0PBFxh56Eisq5bXkukHwBqR4GllzYrpvaotRBt9zNsfbQ==} + /eslint-doc-generator@1.6.1(eslint@8.54.0)(typescript@5.2.2): + resolution: {integrity: sha512-X9NmwwUBxIUSS5CVXJ/vjz/eRD2H/NMhi4ZrnBRSuiAEQO5tjaQeSuHZ3wrUt8cZj0KaXWw8d7xI38JszGpSUw==} engines: {node: ^14.18.0 || ^16.0.0 || >=18.0.0} hasBin: true peerDependencies: eslint: '>= 7' dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.2.2) ajv: 8.11.2 boolean: 3.2.0 commander: 10.0.0 cosmiconfig: 8.0.0 deepmerge: 4.2.2 dot-prop: 7.2.0 - eslint: 8.53.0 + eslint: 8.54.0 jest-diff: 29.3.1 json-schema-traverse: 1.0.0 markdown-table: 3.0.3 @@ -2707,7 +2646,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.54.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2728,55 +2667,55 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.2.2) debug: 3.2.7 - eslint: 8.53.0 + eslint: 8.54.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-es@3.0.1(eslint@8.53.0): + /eslint-plugin-es@3.0.1(eslint@8.54.0): resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.53.0 + eslint: 8.54.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-es@4.1.0(eslint@8.53.0): + /eslint-plugin-es@4.1.0(eslint@8.54.0): resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.53.0 + eslint: 8.54.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-eslint-comments@3.2.0(eslint@8.53.0): + /eslint-plugin-eslint-comments@3.2.0(eslint@8.54.0): resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} engines: {node: '>=6.5.0'} peerDependencies: eslint: '>=4.19.1' dependencies: escape-string-regexp: 1.0.5 - eslint: 8.53.0 + eslint: 8.54.0 ignore: 5.2.4 dev: true - /eslint-plugin-eslint-plugin@5.1.1(eslint@8.53.0): + /eslint-plugin-eslint-plugin@5.1.1(eslint@8.54.0): resolution: {integrity: sha512-4MGDsG505Ot2TSDSYxFL0cpDo4Y+t6hKB8cfZw9Jx484VjXWDfiYC/A6cccWFtWoOOC0j+wGgQIIb11cdIAMBg==} engines: {node: ^14.17.0 || ^16.0.0 || >= 18.0.0} peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.53.0 - eslint-utils: 3.0.0(eslint@8.53.0) + eslint: 8.54.0 + eslint-utils: 3.0.0(eslint@8.54.0) estraverse: 5.3.0 dev: true @@ -2786,7 +2725,7 @@ packages: htmlparser2: 8.0.2 dev: true - /eslint-plugin-import@2.28.1(@typescript-eslint/parser@5.62.0)(eslint@8.53.0): + /eslint-plugin-import@2.28.1(@typescript-eslint/parser@5.62.0)(eslint@8.54.0): resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} engines: {node: '>=4'} peerDependencies: @@ -2796,16 +2735,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.2.2) array-includes: 3.1.6 array.prototype.findlastindex: 1.2.2 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.53.0 + eslint: 8.54.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.54.0) has: 1.0.3 is-core-module: 2.13.0 is-glob: 4.0.3 @@ -2821,7 +2760,7 @@ packages: - supports-color dev: true - /eslint-plugin-jsx-a11y@6.7.1(eslint@8.53.0): + /eslint-plugin-jsx-a11y@6.7.1(eslint@8.54.0): resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} peerDependencies: @@ -2836,7 +2775,7 @@ packages: axobject-query: 3.2.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.53.0 + eslint: 8.54.0 has: 1.0.3 jsx-ast-utils: 3.3.3 language-tags: 1.0.5 @@ -2846,28 +2785,28 @@ packages: semver: 6.3.1 dev: true - /eslint-plugin-markdown@3.0.1(eslint@8.53.0): + /eslint-plugin-markdown@3.0.1(eslint@8.54.0): resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.53.0 + eslint: 8.54.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-n@15.7.0(eslint@8.53.0): + /eslint-plugin-n@15.7.0(eslint@8.54.0): resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} engines: {node: '>=12.22.0'} peerDependencies: eslint: '>=7.0.0' dependencies: builtins: 5.0.1 - eslint: 8.53.0 - eslint-plugin-es: 4.1.0(eslint@8.53.0) - eslint-utils: 3.0.0(eslint@8.53.0) + eslint: 8.54.0 + eslint-plugin-es: 4.1.0(eslint@8.54.0) + eslint-utils: 3.0.0(eslint@8.54.0) ignore: 5.2.4 is-core-module: 2.11.0 minimatch: 3.1.2 @@ -2875,14 +2814,14 @@ packages: semver: 7.5.4 dev: true - /eslint-plugin-node@11.1.0(eslint@8.53.0): + /eslint-plugin-node@11.1.0(eslint@8.54.0): resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=5.16.0' dependencies: - eslint: 8.53.0 - eslint-plugin-es: 3.0.1(eslint@8.53.0) + eslint: 8.54.0 + eslint-plugin-es: 3.0.1(eslint@8.54.0) eslint-utils: 2.1.0 ignore: 5.2.0 minimatch: 3.0.4 @@ -2890,25 +2829,25 @@ packages: semver: 6.3.0 dev: true - /eslint-plugin-promise@6.1.1(eslint@8.53.0): + /eslint-plugin-promise@6.1.1(eslint@8.54.0): resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.53.0 + eslint: 8.54.0 dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.53.0): + /eslint-plugin-react-hooks@4.6.0(eslint@8.54.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.53.0 + eslint: 8.54.0 dev: true - /eslint-plugin-react@7.33.2(eslint@8.53.0): + /eslint-plugin-react@7.33.2(eslint@8.54.0): resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} engines: {node: '>=4'} peerDependencies: @@ -2919,7 +2858,7 @@ packages: array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 es-iterator-helpers: 1.0.13 - eslint: 8.53.0 + eslint: 8.54.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 @@ -2933,17 +2872,17 @@ packages: string.prototype.matchall: 4.0.8 dev: true - /eslint-plugin-unicorn@46.0.1(eslint@8.53.0): + /eslint-plugin-unicorn@46.0.1(eslint@8.54.0): resolution: {integrity: sha512-setGhMTiLAddg1asdwjZ3hekIN5zLznNa5zll7pBPwFOka6greCKDQydfqy4fqyUhndi74wpDzClSQMEcmOaew==} engines: {node: '>=14.18'} peerDependencies: eslint: '>=8.28.0' dependencies: '@babel/helper-validator-identifier': 7.22.20 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) ci-info: 3.7.1 clean-regexp: 1.0.0 - eslint: 8.53.0 + eslint: 8.54.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.0 @@ -2958,7 +2897,7 @@ packages: strip-indent: 3.0.0 dev: true - /eslint-plugin-unused-imports@2.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.53.0): + /eslint-plugin-unused-imports@2.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.54.0): resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2968,12 +2907,12 @@ packages: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.53.0)(typescript@5.2.2) - eslint: 8.53.0 + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.2.2) + eslint: 8.54.0 eslint-rule-composer: 0.3.0 dev: true - /eslint-plugin-vitest@0.3.9(@typescript-eslint/eslint-plugin@6.11.0)(eslint@8.53.0)(typescript@5.2.2)(vitest@0.34.6): + /eslint-plugin-vitest@0.3.9(@typescript-eslint/eslint-plugin@6.11.0)(eslint@8.54.0)(typescript@5.2.2)(vitest@0.34.6): resolution: {integrity: sha512-ZGrz8dWFlotM5dwrsMLP4VcY5MizwKNV4JTnY0VKdnuCZ+qeEUMHf1qd8kRGQA3tqLvXcV929wt2ANkduq2Pgw==} engines: {node: 14.x || >= 16} peerDependencies: @@ -2986,9 +2925,9 @@ packages: vitest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.11.0(@typescript-eslint/parser@6.4.1)(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) - eslint: 8.53.0 + '@typescript-eslint/eslint-plugin': 6.11.0(@typescript-eslint/parser@6.4.1)(eslint@8.54.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.11.0(eslint@8.54.0)(typescript@5.2.2) + eslint: 8.54.0 vitest: 0.34.6 transitivePeerDependencies: - supports-color @@ -2999,7 +2938,7 @@ packages: resolution: {integrity: sha512-XL9PqGBDL4rORnQ74b/3tqbJUpMlPz9gzKSrmYFtakLBQ/ayBELB/HZvd6ZEl+mH0vBeSYtUH7E/rawBsf9Qzg==} dev: true - /eslint-remote-tester@3.0.1(eslint@8.53.0)(ts-node@10.9.1): + /eslint-remote-tester@3.0.1(eslint@8.54.0)(ts-node@10.9.1): resolution: {integrity: sha512-/jifRW0gJ5NmrWGD8mn2imvafO0fS6KBKLzv8ZIdI1uMHZ2EriYN7Fw4cyOR7rfbt6Ve2tUrluSvVptW1PxEvg==} engines: {node: '>=12.11'} hasBin: true @@ -3013,12 +2952,12 @@ packages: '@babel/code-frame': 7.22.13 JSONStream: 1.3.5 chalk: 4.1.2 - eslint: 8.53.0 + eslint: 8.54.0 ink: 3.2.0(react@17.0.2) object-hash: 3.0.0 react: 17.0.2 simple-git: 3.20.0 - ts-node: 10.9.1(@types/node@20.9.0)(typescript@5.2.2) + ts-node: 10.9.1(@types/node@20.9.2)(typescript@5.2.2) transitivePeerDependencies: - '@types/react' - bufferutil @@ -3053,13 +2992,13 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /eslint-utils@3.0.0(eslint@8.53.0): + /eslint-utils@3.0.0(eslint@8.54.0): resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.53.0 + eslint: 8.54.0 eslint-visitor-keys: 2.1.0 dev: true @@ -3077,15 +3016,15 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /eslint@8.53.0: - resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==} + /eslint@8.54.0: + resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) '@eslint-community/regexpp': 4.7.0 '@eslint/eslintrc': 2.1.3 - '@eslint/js': 8.53.0 + '@eslint/js': 8.54.0 '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -5069,7 +5008,7 @@ packages: dependencies: typescript: 5.2.2 - /ts-node@10.9.1(@types/node@20.9.0)(typescript@5.2.2): + /ts-node@10.9.1(@types/node@20.9.2)(typescript@5.2.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -5088,7 +5027,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 20.9.0 + '@types/node': 20.9.2 acorn: 8.8.1 acorn-walk: 8.2.0 arg: 4.1.3 @@ -5127,8 +5066,8 @@ packages: typescript: 5.2.2 dev: true - /tsx@4.1.2: - resolution: {integrity: sha512-1spM1bFV6MP2s4tO4tDC7g52fsaFdtEWdO4GfGdqi20qUgPbnAJqixOyIAvCSx1DDj3YIUB4CD06owTWUsOAuQ==} + /tsx@4.1.4: + resolution: {integrity: sha512-9X7uBCIyUsvMzIH+o8m+5o/5eL461cChCF+XUtOZsPr1a4pZx2lTQx0Muu5G5VwJWZwAGKBe3sJHLk82BENAVw==} engines: {node: '>=18.0.0'} hasBin: true dependencies: @@ -5336,7 +5275,7 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vite-node@0.34.6(@types/node@20.9.0): + /vite-node@0.34.6(@types/node@20.9.2): resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} engines: {node: '>=v14.18.0'} hasBin: true @@ -5346,7 +5285,7 @@ packages: mlly: 1.4.0 pathe: 1.1.1 picocolors: 1.0.0 - vite: 3.2.3(@types/node@20.9.0) + vite: 3.2.3(@types/node@20.9.2) transitivePeerDependencies: - '@types/node' - less @@ -5357,7 +5296,7 @@ packages: - terser dev: true - /vite@3.2.3(@types/node@20.9.0): + /vite@3.2.3(@types/node@20.9.2): resolution: {integrity: sha512-h8jl1TZ76eGs3o2dIBSsvXDLb1m/Ec1iej8ZMdz+PsaFUsftZeWe2CZOI3qogEsMNaywc17gu0q6cQDzh/weCQ==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -5382,7 +5321,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.9.0 + '@types/node': 20.9.2 esbuild: 0.15.18 postcss: 8.4.18 resolve: 1.22.4 @@ -5424,7 +5363,7 @@ packages: dependencies: '@types/chai': 4.3.5 '@types/chai-subset': 1.3.3 - '@types/node': 20.9.0 + '@types/node': 20.9.2 '@vitest/expect': 0.34.6 '@vitest/runner': 0.34.6 '@vitest/snapshot': 0.34.6 @@ -5443,8 +5382,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.0 tinypool: 0.7.0 - vite: 3.2.3(@types/node@20.9.0) - vite-node: 0.34.6(@types/node@20.9.0) + vite: 3.2.3(@types/node@20.9.2) + vite-node: 0.34.6(@types/node@20.9.2) why-is-node-running: 2.2.2 transitivePeerDependencies: - less diff --git a/scripts/chain-permutations.mjs b/scripts/chain-permutations.mjs new file mode 100644 index 0000000..20ff103 --- /dev/null +++ b/scripts/chain-permutations.mjs @@ -0,0 +1,108 @@ +// imported from https://github.com/veritem/eslint-plugin-vitest/pull/293 +// This script generates all possible permutations for vitest methods +import { per } from "percom"; + +const data = [ + { + names: ["beforeEach", "beforeAll", "afterEach", "afterAll"], + first: [], + conditions: [], + methods: [], + last: [], + }, + { + names: ["it", "test"], + first: ["extend"], + conditions: ["skipIf", "runIf"], + methods: ["skip", "only", "concurrent", "sequential", "todo", "fails"], + last: ["each"], + }, + { + names: ["bench"], + first: [], + conditions: ["skipIf", "runIf"], + methods: ["skip", "only", "todo"], + last: [], + }, + { + names: ["describe"], + first: [], + conditions: ["skipIf", "runIf"], + methods: ["skip", "only", "concurrent", "sequential", "shuffle", "todo"], + last: ["each"], + }, +]; + +const DEPTH = 3; + +const allPermutations = []; + +const join = (methods) => methods.filter((method) => !!method).join("."); +const depths = (maxDepth) => Array.from({ length: maxDepth }, (_, i) => i); + +data.forEach((q) => { + q.names.map((name) => { + allPermutations.push(name); + + const maxDepth = Math.min(DEPTH, q.methods.length); + const methodPerms = depths(maxDepth).flatMap((i) => [ + ...per(q.methods, i + 1), + ...q.first.flatMap((first) => + (per(q.methods, i) || [""]).map((p) => [first, ...p]) + ), + ...q.conditions.flatMap((condition) => + (per(q.methods, i) || [""]).map((p) => [condition, ...p]) + ), + ...q.last.flatMap((last) => + (per(q.methods, i) || [""]).map((p) => [...p, last]) + ), + ...(i > 0 + ? q.first.flatMap((first) => + q.conditions.flatMap((condition) => + (per(q.methods, i - 1) || [""]).map((p) => [ + first, + condition, + ...p, + ]) + ) + ) + : []), + ...(i > 0 + ? q.first.flatMap((first) => + q.last.flatMap((last) => + (per(q.methods, i - 1) || [""]).map((p) => [first, ...p, last]) + ) + ) + : []), + ...(i > 0 + ? q.conditions.flatMap((condition) => + q.last.flatMap((last) => + (per(q.methods, i - 1) || [""]).map((p) => [ + condition, + ...p, + last, + ]) + ) + ) + : []), + ...(i > 1 + ? q.first.flatMap((first) => + q.conditions.flatMap((condition) => + q.last.flatMap((last) => + (per(q.methods, i - 2) || [""]).map((p) => [ + first, + condition, + ...p, + last, + ]) + ) + ) + ) + : []), + ]); + const allPerms = methodPerms.map((p) => [name, ...p].join(".")); + allPermutations.push(...allPerms); + }); +}); + +console.log(allPermutations); diff --git a/scripts/package.json b/scripts/package.json new file mode 100644 index 0000000..027acf0 --- /dev/null +++ b/scripts/package.json @@ -0,0 +1,15 @@ +{ + "name": "scripts", + "version": "0.0.1", + "description": "", + "main": "chain-permutations.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "Verite Mugabo (https://veritemugabo.com/)", + "license": "MIT", + "devDependencies": { + "percom": "^1.1.3" + } +} \ No newline at end of file diff --git a/scripts/pnpm-lock.yaml b/scripts/pnpm-lock.yaml new file mode 100644 index 0000000..7e4fe2f --- /dev/null +++ b/scripts/pnpm-lock.yaml @@ -0,0 +1,16 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +devDependencies: + percom: + specifier: ^1.1.3 + version: 1.1.3 + +packages: + + /percom@1.1.3: + resolution: {integrity: sha512-AJS/mzZh/xes9p2796DI9Kz40Nd6oZCa1an8uONCI+aaziYcexSwiQBwJOTO9GX4Tyn/gWDqZHiAxQR0e5LKrw==} + dev: true diff --git a/src/utils/validVitestFnCallChains.ts b/src/utils/validVitestFnCallChains.ts index 3c02c95..a8f04cf 100644 --- a/src/utils/validVitestFnCallChains.ts +++ b/src/utils/validVitestFnCallChains.ts @@ -1007,6 +1007,7 @@ export const ValidVitestFnCallChains = new Set([ 'describe.runIf.todo.each', // Call chains that are not supported by Vitest, but were in the original list + // TODO(@veritem): Remove the use of these call chains in the test suite 'xtest', 'xtest.each', 'xit',