diff --git a/CHANGELOG.md b/CHANGELOG.md index b93391e18c46..5e73f9683458 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,34 @@ +## 7.16.0 (2024-07-08) + + +### 🚀 Features + +- **ast-spec:** add parent property to AccessorProperty node types ([#9487](https://github.com/typescript-eslint/typescript-eslint/pull/9487)) +- **eslint-plugin:** [no-unnecessary-parameter-property-assignment] add new rule ([#8903](https://github.com/typescript-eslint/typescript-eslint/pull/8903)) +- **eslint-plugin:** add support for nested namespaces to unsafe-member-access ([#9478](https://github.com/typescript-eslint/typescript-eslint/pull/9478)) +- **eslint-plugin:** [no-floating-promises] add checkThenables option ([#9263](https://github.com/typescript-eslint/typescript-eslint/pull/9263)) +- **rule-tester:** stricter rule test validations ([#9086](https://github.com/typescript-eslint/typescript-eslint/pull/9086)) + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 ([#9497](https://github.com/typescript-eslint/typescript-eslint/pull/9497)) +- **eslint-plugin:** [no-floating-promises] add `suggestions` to tests from #9263 `checkThenables` ([#9515](https://github.com/typescript-eslint/typescript-eslint/pull/9515), [#9263](https://github.com/typescript-eslint/typescript-eslint/issues/9263)) +- **eslint-plugin:** [restrict-template-expressions] don't report tuples if `allowArray` option is enabled ([#9492](https://github.com/typescript-eslint/typescript-eslint/pull/9492)) +- **utils:** context.parserPath may be undefined ([#9486](https://github.com/typescript-eslint/typescript-eslint/pull/9486)) +- **website:** react key error on internal pages of website ([#9506](https://github.com/typescript-eslint/typescript-eslint/pull/9506)) + +### ❤️ Thank You + +- Abraham Guo +- auvred @auvred +- Josh Goldberg ✨ +- Juan Sanchez @JSanchezIO +- Vinccool96 +- YeonJuan @yeonjuan +- Yukihiro Hasegawa @y-hsgw + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) diff --git a/eslint.config.mjs b/eslint.config.mjs index d171204d9d93..6dbb66b271ec 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -213,6 +213,7 @@ export default tseslint.config( { commentPattern: '.*intentional fallthrough.*' }, ], 'one-var': ['error', 'never'], + 'prefer-arrow-callback': 'error', 'prefer-object-has-own': 'error', // diff --git a/packages/ast-spec/CHANGELOG.md b/packages/ast-spec/CHANGELOG.md index 486d1d2a081c..23d697bfa89e 100644 --- a/packages/ast-spec/CHANGELOG.md +++ b/packages/ast-spec/CHANGELOG.md @@ -1,3 +1,25 @@ +## 7.16.0 (2024-07-08) + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **website:** react key error on internal pages of website + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) This was a version bump only for ast-spec to align it with other projects, there were no code changes. diff --git a/packages/ast-spec/package.json b/packages/ast-spec/package.json index 780005068a24..676d71e56bd3 100644 --- a/packages/ast-spec/package.json +++ b/packages/ast-spec/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/ast-spec", - "version": "7.15.0", + "version": "7.16.0", "description": "Complete specification for the TypeScript-ESTree AST", "private": true, "keywords": [ diff --git a/packages/eslint-plugin-internal/CHANGELOG.md b/packages/eslint-plugin-internal/CHANGELOG.md index 2081130971a3..bb8475fd447e 100644 --- a/packages/eslint-plugin-internal/CHANGELOG.md +++ b/packages/eslint-plugin-internal/CHANGELOG.md @@ -1,3 +1,25 @@ +## 7.16.0 (2024-07-08) + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **website:** react key error on internal pages of website + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) This was a version bump only for eslint-plugin-internal to align it with other projects, there were no code changes. diff --git a/packages/eslint-plugin-internal/package.json b/packages/eslint-plugin-internal/package.json index d3cd95c3f521..3713f2166251 100644 --- a/packages/eslint-plugin-internal/package.json +++ b/packages/eslint-plugin-internal/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/eslint-plugin-internal", - "version": "7.15.0", + "version": "7.16.0", "private": true, "main": "dist/index.js", "types": "index.d.ts", @@ -15,10 +15,10 @@ }, "dependencies": { "@prettier/sync": "^0.5.1", - "@typescript-eslint/rule-tester": "7.15.0", - "@typescript-eslint/scope-manager": "7.15.0", - "@typescript-eslint/type-utils": "7.15.0", - "@typescript-eslint/utils": "7.15.0", + "@typescript-eslint/rule-tester": "7.16.0", + "@typescript-eslint/scope-manager": "7.16.0", + "@typescript-eslint/type-utils": "7.16.0", + "@typescript-eslint/utils": "7.16.0", "prettier": "^3.2.5" }, "devDependencies": { diff --git a/packages/eslint-plugin/CHANGELOG.md b/packages/eslint-plugin/CHANGELOG.md index 177614af7e79..780f981d8bb9 100644 --- a/packages/eslint-plugin/CHANGELOG.md +++ b/packages/eslint-plugin/CHANGELOG.md @@ -1,3 +1,40 @@ +## 7.16.0 (2024-07-08) + + +### 🚀 Features + +- **rule-tester:** stricter rule test validations + +- **eslint-plugin:** [no-unnecessary-parameter-property-assignment] add new rule + +- **eslint-plugin:** add support for nested namespaces to unsafe-member-access + +- **eslint-plugin:** [no-floating-promises] add checkThenables option + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **eslint-plugin:** [no-floating-promises] add `suggestions` to tests from #9263 `checkThenables` + +- **website:** react key error on internal pages of website + +- **eslint-plugin:** [restrict-template-expressions] don't report tuples if `allowArray` option is enabled + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) diff --git a/packages/eslint-plugin/docs/rules/no-floating-promises.mdx b/packages/eslint-plugin/docs/rules/no-floating-promises.mdx index 6be96809da78..bd814ac63dcd 100644 --- a/packages/eslint-plugin/docs/rules/no-floating-promises.mdx +++ b/packages/eslint-plugin/docs/rules/no-floating-promises.mdx @@ -129,10 +129,6 @@ await createMyThenable(); -:::info -This option is enabled by default in v7 but will be turned off by default in v8. -::: - ### `ignoreVoid` This option, which is `true` by default, allows you to stop the rule reporting promises consumed with void operator. diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index c24e82a0d2cd..c752beda664b 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/eslint-plugin", - "version": "7.15.0", + "version": "7.16.0", "description": "TypeScript plugin for ESLint", "files": [ "dist", @@ -60,10 +60,10 @@ }, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.15.0", - "@typescript-eslint/type-utils": "7.15.0", - "@typescript-eslint/utils": "7.15.0", - "@typescript-eslint/visitor-keys": "7.15.0", + "@typescript-eslint/scope-manager": "7.16.0", + "@typescript-eslint/type-utils": "7.16.0", + "@typescript-eslint/utils": "7.16.0", + "@typescript-eslint/visitor-keys": "7.16.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -74,8 +74,8 @@ "@types/marked": "^5.0.2", "@types/mdast": "^4.0.3", "@types/natural-compare": "*", - "@typescript-eslint/rule-schema-to-typescript-types": "7.15.0", - "@typescript-eslint/rule-tester": "7.15.0", + "@typescript-eslint/rule-schema-to-typescript-types": "7.16.0", + "@typescript-eslint/rule-tester": "7.16.0", "ajv": "^6.12.6", "cross-env": "^7.0.3", "cross-fetch": "*", diff --git a/packages/eslint-plugin/src/rules/no-floating-promises.ts b/packages/eslint-plugin/src/rules/no-floating-promises.ts index 4c21c6cfb18c..fe5b0a567a76 100644 --- a/packages/eslint-plugin/src/rules/no-floating-promises.ts +++ b/packages/eslint-plugin/src/rules/no-floating-promises.ts @@ -104,7 +104,7 @@ export default createRule({ { allowForKnownSafeCalls: readonlynessOptionsDefaults.allow, allowForKnownSafePromises: readonlynessOptionsDefaults.allow, - checkThenables: true, + checkThenables: false, ignoreIIFE: false, ignoreVoid: true, }, diff --git a/packages/eslint-plugin/src/rules/no-unnecessary-parameter-property-assignment.ts b/packages/eslint-plugin/src/rules/no-unnecessary-parameter-property-assignment.ts index 43cc5ebbcf24..4e589a93af5c 100644 --- a/packages/eslint-plugin/src/rules/no-unnecessary-parameter-property-assignment.ts +++ b/packages/eslint-plugin/src/rules/no-unnecessary-parameter-property-assignment.ts @@ -13,7 +13,6 @@ export default createRule({ description: 'Disallow unnecessary assignment of constructor property parameter', }, - fixable: 'code', messages: { unnecessaryAssign: 'This assignment is unnecessary since it is already assigned by a parameter property.', diff --git a/packages/eslint-plugin/src/rules/restrict-template-expressions.ts b/packages/eslint-plugin/src/rules/restrict-template-expressions.ts index cc719fe7fb7b..5aa90084ac63 100644 --- a/packages/eslint-plugin/src/rules/restrict-template-expressions.ts +++ b/packages/eslint-plugin/src/rules/restrict-template-expressions.ts @@ -30,7 +30,7 @@ const optionTesters = ( [ 'Array', (type, checker, recursivelyCheckType): boolean => - checker.isArrayType(type) && + (checker.isArrayType(type) || checker.isTupleType(type)) && // eslint-disable-next-line @typescript-eslint/no-non-null-assertion recursivelyCheckType(type.getNumberIndexType()!), ], diff --git a/packages/eslint-plugin/tests/rules/no-floating-promises.test.ts b/packages/eslint-plugin/tests/rules/no-floating-promises.test.ts index e808d9234757..c8e860b7f257 100644 --- a/packages/eslint-plugin/tests/rules/no-floating-promises.test.ts +++ b/packages/eslint-plugin/tests/rules/no-floating-promises.test.ts @@ -770,15 +770,11 @@ createSafePromise(); }, ], }, - { - code: ` -declare const createPromise: () => PromiseLike; -createPromise(); - `, - options: [{ checkThenables: false }], - }, - { - code: ` + ` +declare const createPromiseLike: () => PromiseLike; +createPromiseLike(); + `, + ` interface MyThenable { then(onFulfilled: () => void, onRejected: () => void): MyThenable; } @@ -786,9 +782,7 @@ interface MyThenable { declare function createMyThenable(): MyThenable; createMyThenable(); - `, - options: [{ checkThenables: false }], - }, + `, ], invalid: [ @@ -2104,6 +2098,7 @@ async function test() { ], }, ], + options: [{ checkThenables: true }], }, { code: ` @@ -3586,6 +3581,7 @@ promise; options: [ { allowForKnownSafePromises: [{ from: 'file', name: 'SafeThenable' }], + checkThenables: true, }, ], errors: [ @@ -3962,7 +3958,6 @@ void createPromise(); ], }, ], - options: [{ checkThenables: false }], }, { code: ` @@ -3986,7 +3981,6 @@ void createMyPromise(); ], }, ], - options: [{ checkThenables: false }], }, { code: ` @@ -4014,7 +4008,7 @@ void createMyPromise(); ], }, ], - options: [{ checkThenables: false }], + options: [{ checkThenables: true }], }, ], }); diff --git a/packages/eslint-plugin/tests/rules/restrict-template-expressions.test.ts b/packages/eslint-plugin/tests/rules/restrict-template-expressions.test.ts index 698471ae00a3..7a69ff34cbc9 100644 --- a/packages/eslint-plugin/tests/rules/restrict-template-expressions.test.ts +++ b/packages/eslint-plugin/tests/rules/restrict-template-expressions.test.ts @@ -149,12 +149,40 @@ ruleTester.run('restrict-template-expressions', rule, { { options: [{ allowArray: true }], code: ` - const arg = []; function test(arg: T) { return \`arg = \${arg}\`; } `, }, + { + options: [{ allowArray: true }], + code: ` + declare const arg: [number, string]; + const msg = \`arg = \${arg}\`; + `, + }, + { + options: [{ allowArray: true }], + code: ` + const arg = [1, 'a'] as const; + const msg = \`arg = \${arg || 'default'}\`; + `, + }, + { + options: [{ allowArray: true }], + code: ` + function test(arg: T) { + return \`arg = \${arg}\`; + } + `, + }, + { + code: ` + declare const arg: [number | undefined, string]; + const msg = \`arg = \${arg}\`; + `, + options: [{ allowNullish: true, allowArray: true }], + }, // allowAny { options: [{ allowAny: true }], @@ -365,6 +393,20 @@ ruleTester.run('restrict-template-expressions', rule, { ], options: [{ allowNullish: false }], }, + { + code: ` + declare const arg: number[]; + const msg = \`arg = \${arg}\`; + `, + errors: [ + { + messageId: 'invalidType', + data: { type: 'number[]' }, + line: 3, + column: 30, + }, + ], + }, { code: ` const msg = \`arg = \${[, 2]}\`; @@ -379,6 +421,21 @@ ruleTester.run('restrict-template-expressions', rule, { ], options: [{ allowNullish: false, allowArray: true }], }, + { + code: ` + declare const arg: [number | undefined, string]; + const msg = \`arg = \${arg}\`; + `, + errors: [ + { + messageId: 'invalidType', + data: { type: '[number | undefined, string]' }, + line: 3, + column: 30, + }, + ], + options: [{ allowNullish: false, allowArray: true }], + }, { code: ` declare const arg: number; diff --git a/packages/integration-tests/CHANGELOG.md b/packages/integration-tests/CHANGELOG.md index 934d94497234..d8309698c26a 100644 --- a/packages/integration-tests/CHANGELOG.md +++ b/packages/integration-tests/CHANGELOG.md @@ -1,3 +1,25 @@ +## 7.16.0 (2024-07-08) + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **website:** react key error on internal pages of website + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) This was a version bump only for integration-tests to align it with other projects, there were no code changes. diff --git a/packages/integration-tests/package.json b/packages/integration-tests/package.json index 4af6f42c8021..62400d93cf4d 100644 --- a/packages/integration-tests/package.json +++ b/packages/integration-tests/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/integration-tests", - "version": "7.15.0", + "version": "7.16.0", "private": true, "scripts": { "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", diff --git a/packages/parser/CHANGELOG.md b/packages/parser/CHANGELOG.md index 2f99daa71107..825846d66358 100644 --- a/packages/parser/CHANGELOG.md +++ b/packages/parser/CHANGELOG.md @@ -1,3 +1,25 @@ +## 7.16.0 (2024-07-08) + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **website:** react key error on internal pages of website + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) This was a version bump only for parser to align it with other projects, there were no code changes. diff --git a/packages/parser/package.json b/packages/parser/package.json index 34f56fef49dd..f33dd6594b41 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/parser", - "version": "7.15.0", + "version": "7.16.0", "description": "An ESLint custom parser which leverages TypeScript ESTree", "files": [ "dist", @@ -52,10 +52,10 @@ "eslint": "^8.57.0 || ^9.0.0" }, "dependencies": { - "@typescript-eslint/scope-manager": "7.15.0", - "@typescript-eslint/types": "7.15.0", - "@typescript-eslint/typescript-estree": "7.15.0", - "@typescript-eslint/visitor-keys": "7.15.0", + "@typescript-eslint/scope-manager": "7.16.0", + "@typescript-eslint/types": "7.16.0", + "@typescript-eslint/typescript-estree": "7.16.0", + "@typescript-eslint/visitor-keys": "7.16.0", "debug": "^4.3.4" }, "devDependencies": { diff --git a/packages/repo-tools/CHANGELOG.md b/packages/repo-tools/CHANGELOG.md index a0420dcadc04..9af4f75f6273 100644 --- a/packages/repo-tools/CHANGELOG.md +++ b/packages/repo-tools/CHANGELOG.md @@ -1,3 +1,25 @@ +## 7.16.0 (2024-07-08) + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **website:** react key error on internal pages of website + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) diff --git a/packages/repo-tools/package.json b/packages/repo-tools/package.json index 17ee7c7bf439..dc3c26717ec1 100644 --- a/packages/repo-tools/package.json +++ b/packages/repo-tools/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/repo-tools", - "version": "7.15.0", + "version": "7.16.0", "private": true, "//": "NOTE: intentionally no build step in this package", "scripts": { @@ -18,11 +18,11 @@ "devDependencies": { "@jest/types": "29.6.3", "@nx/devkit": "*", - "@typescript-eslint/eslint-plugin": "7.15.0", - "@typescript-eslint/scope-manager": "7.15.0", - "@typescript-eslint/types": "7.15.0", - "@typescript-eslint/typescript-estree": "7.15.0", - "@typescript-eslint/utils": "7.15.0", + "@typescript-eslint/eslint-plugin": "7.16.0", + "@typescript-eslint/scope-manager": "7.16.0", + "@typescript-eslint/types": "7.16.0", + "@typescript-eslint/typescript-estree": "7.16.0", + "@typescript-eslint/utils": "7.16.0", "cross-fetch": "*", "execa": "*", "prettier": "^3.2.5", diff --git a/packages/rule-schema-to-typescript-types/CHANGELOG.md b/packages/rule-schema-to-typescript-types/CHANGELOG.md index ddee0cf67883..cf9da7a40e4a 100644 --- a/packages/rule-schema-to-typescript-types/CHANGELOG.md +++ b/packages/rule-schema-to-typescript-types/CHANGELOG.md @@ -1,3 +1,25 @@ +## 7.16.0 (2024-07-08) + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **website:** react key error on internal pages of website + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) This was a version bump only for rule-schema-to-typescript-types to align it with other projects, there were no code changes. diff --git a/packages/rule-schema-to-typescript-types/package.json b/packages/rule-schema-to-typescript-types/package.json index f64dd1f19adc..cab7307d54ef 100644 --- a/packages/rule-schema-to-typescript-types/package.json +++ b/packages/rule-schema-to-typescript-types/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/rule-schema-to-typescript-types", - "version": "7.15.0", + "version": "7.16.0", "private": true, "type": "commonjs", "exports": { @@ -34,8 +34,8 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/type-utils": "7.15.0", - "@typescript-eslint/utils": "7.15.0", + "@typescript-eslint/type-utils": "7.16.0", + "@typescript-eslint/utils": "7.16.0", "natural-compare": "^1.4.0", "prettier": "^3.2.5" }, diff --git a/packages/rule-tester/CHANGELOG.md b/packages/rule-tester/CHANGELOG.md index 1d12d205052b..96ea9a9975d7 100644 --- a/packages/rule-tester/CHANGELOG.md +++ b/packages/rule-tester/CHANGELOG.md @@ -1,3 +1,30 @@ +## 7.16.0 (2024-07-08) + + +### 🚀 Features + +- **rule-tester:** stricter rule test validations + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **website:** react key error on internal pages of website + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) diff --git a/packages/rule-tester/package.json b/packages/rule-tester/package.json index 2b3761933e48..abc57192b675 100644 --- a/packages/rule-tester/package.json +++ b/packages/rule-tester/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/rule-tester", - "version": "7.15.0", + "version": "7.16.0", "description": "Tooling to test ESLint rules", "files": [ "dist", @@ -48,8 +48,8 @@ }, "//": "NOTE - AJV is out-of-date, but it's intentionally synced with ESLint - https://github.com/eslint/eslint/blob/ad9dd6a933fd098a0d99c6a9aa059850535c23ee/package.json#L70", "dependencies": { - "@typescript-eslint/typescript-estree": "7.15.0", - "@typescript-eslint/utils": "7.15.0", + "@typescript-eslint/typescript-estree": "7.16.0", + "@typescript-eslint/utils": "7.16.0", "ajv": "^6.12.6", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "4.6.2", @@ -63,7 +63,7 @@ "@jest/types": "29.6.3", "@types/json-stable-stringify-without-jsonify": "^1.0.2", "@types/lodash.merge": "4.6.9", - "@typescript-eslint/parser": "7.15.0", + "@typescript-eslint/parser": "7.16.0", "chai": "^4.4.1", "eslint-visitor-keys": "^4.0.0", "espree": "^10.0.1", diff --git a/packages/scope-manager/CHANGELOG.md b/packages/scope-manager/CHANGELOG.md index b04950c336eb..835d9c60c27f 100644 --- a/packages/scope-manager/CHANGELOG.md +++ b/packages/scope-manager/CHANGELOG.md @@ -1,3 +1,25 @@ +## 7.16.0 (2024-07-08) + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **website:** react key error on internal pages of website + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) This was a version bump only for scope-manager to align it with other projects, there were no code changes. diff --git a/packages/scope-manager/package.json b/packages/scope-manager/package.json index 3e64697e7652..408949fcfc12 100644 --- a/packages/scope-manager/package.json +++ b/packages/scope-manager/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/scope-manager", - "version": "7.15.0", + "version": "7.16.0", "description": "TypeScript scope analyser for ESLint", "files": [ "dist", @@ -46,13 +46,13 @@ "typecheck": "npx nx typecheck" }, "dependencies": { - "@typescript-eslint/types": "7.15.0", - "@typescript-eslint/visitor-keys": "7.15.0" + "@typescript-eslint/types": "7.16.0", + "@typescript-eslint/visitor-keys": "7.16.0" }, "devDependencies": { "@jest/types": "29.6.3", "@types/glob": "*", - "@typescript-eslint/typescript-estree": "7.15.0", + "@typescript-eslint/typescript-estree": "7.16.0", "glob": "*", "jest-specific-snapshot": "*", "make-dir": "*", diff --git a/packages/type-utils/CHANGELOG.md b/packages/type-utils/CHANGELOG.md index 045cee8058ca..932862d08931 100644 --- a/packages/type-utils/CHANGELOG.md +++ b/packages/type-utils/CHANGELOG.md @@ -1,3 +1,25 @@ +## 7.16.0 (2024-07-08) + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **website:** react key error on internal pages of website + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) This was a version bump only for type-utils to align it with other projects, there were no code changes. diff --git a/packages/type-utils/package.json b/packages/type-utils/package.json index ea11bbac53e4..d1c38290253f 100644 --- a/packages/type-utils/package.json +++ b/packages/type-utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/type-utils", - "version": "7.15.0", + "version": "7.16.0", "description": "Type utilities for working with TypeScript + ESLint together", "files": [ "dist", @@ -46,14 +46,14 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/typescript-estree": "7.15.0", - "@typescript-eslint/utils": "7.15.0", + "@typescript-eslint/typescript-estree": "7.16.0", + "@typescript-eslint/utils": "7.16.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, "devDependencies": { "@jest/types": "29.6.3", - "@typescript-eslint/parser": "7.15.0", + "@typescript-eslint/parser": "7.16.0", "ajv": "^6.12.6", "downlevel-dts": "*", "jest": "29.7.0", diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index af9dfd05a491..d82688c0deb9 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -1,3 +1,30 @@ +## 7.16.0 (2024-07-08) + + +### 🚀 Features + +- **ast-spec:** add parent property to AccessorProperty node types + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **website:** react key error on internal pages of website + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) This was a version bump only for types to align it with other projects, there were no code changes. diff --git a/packages/types/package.json b/packages/types/package.json index fadc257b4c47..26a24b6677d7 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/types", - "version": "7.15.0", + "version": "7.16.0", "description": "Types for the TypeScript-ESTree AST spec", "files": [ "dist", diff --git a/packages/typescript-eslint/CHANGELOG.md b/packages/typescript-eslint/CHANGELOG.md index e1739a20aac2..0bcda93c4bb5 100644 --- a/packages/typescript-eslint/CHANGELOG.md +++ b/packages/typescript-eslint/CHANGELOG.md @@ -1,3 +1,30 @@ +## 7.16.0 (2024-07-08) + + +### 🚀 Features + +- **eslint-plugin:** [no-unnecessary-parameter-property-assignment] add new rule + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **website:** react key error on internal pages of website + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) diff --git a/packages/typescript-eslint/package.json b/packages/typescript-eslint/package.json index a6fca71b227e..2576894b2365 100644 --- a/packages/typescript-eslint/package.json +++ b/packages/typescript-eslint/package.json @@ -1,6 +1,6 @@ { "name": "typescript-eslint", - "version": "7.15.0", + "version": "7.16.0", "description": "Tooling which enables you to use TypeScript with ESLint", "files": [ "dist", @@ -52,9 +52,9 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/eslint-plugin": "7.15.0", - "@typescript-eslint/parser": "7.15.0", - "@typescript-eslint/utils": "7.15.0" + "@typescript-eslint/eslint-plugin": "7.16.0", + "@typescript-eslint/parser": "7.16.0", + "@typescript-eslint/utils": "7.16.0" }, "devDependencies": { "@jest/types": "29.6.3", diff --git a/packages/typescript-estree/CHANGELOG.md b/packages/typescript-estree/CHANGELOG.md index 68207870c747..3aff0767caa6 100644 --- a/packages/typescript-estree/CHANGELOG.md +++ b/packages/typescript-estree/CHANGELOG.md @@ -1,3 +1,25 @@ +## 7.16.0 (2024-07-08) + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **website:** react key error on internal pages of website + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) This was a version bump only for typescript-estree to align it with other projects, there were no code changes. diff --git a/packages/typescript-estree/package.json b/packages/typescript-estree/package.json index 63c31ff9e070..d022a8e51d72 100644 --- a/packages/typescript-estree/package.json +++ b/packages/typescript-estree/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/typescript-estree", - "version": "7.15.0", + "version": "7.16.0", "description": "A parser that converts TypeScript source code into an ESTree compatible form", "files": [ "dist", @@ -54,8 +54,8 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/types": "7.15.0", - "@typescript-eslint/visitor-keys": "7.15.0", + "@typescript-eslint/types": "7.16.0", + "@typescript-eslint/visitor-keys": "7.16.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index 3ab7b0de5633..8775265117b9 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -1,3 +1,27 @@ +## 7.16.0 (2024-07-08) + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **utils:** context.parserPath may be undefined + +- **website:** react key error on internal pages of website + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) diff --git a/packages/utils/package.json b/packages/utils/package.json index d9939d673867..189e7f377876 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/utils", - "version": "7.15.0", + "version": "7.16.0", "description": "Utilities for working with TypeScript + ESLint together", "files": [ "dist", @@ -64,9 +64,9 @@ }, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.15.0", - "@typescript-eslint/types": "7.15.0", - "@typescript-eslint/typescript-estree": "7.15.0" + "@typescript-eslint/scope-manager": "7.16.0", + "@typescript-eslint/types": "7.16.0", + "@typescript-eslint/typescript-estree": "7.16.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0" diff --git a/packages/utils/src/eslint-utils/getParserServices.ts b/packages/utils/src/eslint-utils/getParserServices.ts index 0fd908f4a2ec..f105fbf9902a 100644 --- a/packages/utils/src/eslint-utils/getParserServices.ts +++ b/packages/utils/src/eslint-utils/getParserServices.ts @@ -3,7 +3,7 @@ import type { ParserServices, ParserServicesWithTypeInformation, } from '../ts-estree'; -import { parserPathSeemsToBeTSESLint } from './parserPathSeemsToBeTSESLint'; +import { parserSeemsToBeTSESLint } from './parserSeemsToBeTSESLint'; const ERROR_MESSAGE_REQUIRES_PARSER_SERVICES = 'You have used a rule which requires parserServices to be generated. You must therefore provide a value for the "parserOptions.project" property for @typescript-eslint/parser.'; @@ -60,6 +60,9 @@ function getParserServices( context: Readonly>, allowWithoutFullTypeInformation = false, ): ParserServices { + const parser = + context.parserPath || context.languageOptions.parser?.meta?.name; + // This check is unnecessary if the user is using the latest version of our parser. // // However the world isn't perfect: @@ -74,7 +77,7 @@ function getParserServices( context.sourceCode.parserServices?.esTreeNodeToTSNodeMap == null || context.sourceCode.parserServices.tsNodeToESTreeNodeMap == null ) { - throwError(context.parserPath); + throwError(parser); } // if a rule requires full type information, then hard fail if it doesn't exist @@ -83,21 +86,20 @@ function getParserServices( context.sourceCode.parserServices.program == null && !allowWithoutFullTypeInformation ) { - throwError(context.parserPath); + throwError(parser); } return context.sourceCode.parserServices as ParserServices; } /* eslint-enable @typescript-eslint/unified-signatures */ -function throwError(parserPath: string): never { +function throwError(parser: string | undefined): never { const messages = [ ERROR_MESSAGE_REQUIRES_PARSER_SERVICES, - `Parser: ${parserPath}`, - ]; - if (!parserPathSeemsToBeTSESLint(parserPath)) { - messages.push(ERROR_MESSAGE_UNKNOWN_PARSER); - } + `Parser: ${parser || '(unknown)'}`, + !parserSeemsToBeTSESLint(parser) && ERROR_MESSAGE_UNKNOWN_PARSER, + ].filter(Boolean); + throw new Error(messages.join('\n')); } diff --git a/packages/utils/src/eslint-utils/parserPathSeemsToBeTSESLint.ts b/packages/utils/src/eslint-utils/parserPathSeemsToBeTSESLint.ts deleted file mode 100644 index ab68b4367ab7..000000000000 --- a/packages/utils/src/eslint-utils/parserPathSeemsToBeTSESLint.ts +++ /dev/null @@ -1,3 +0,0 @@ -export function parserPathSeemsToBeTSESLint(parserPath: string): boolean { - return /(?:typescript-eslint|\.\.)[\w/\\]*parser/.test(parserPath); -} diff --git a/packages/utils/src/eslint-utils/parserSeemsToBeTSESLint.ts b/packages/utils/src/eslint-utils/parserSeemsToBeTSESLint.ts new file mode 100644 index 000000000000..386384b0d331 --- /dev/null +++ b/packages/utils/src/eslint-utils/parserSeemsToBeTSESLint.ts @@ -0,0 +1,3 @@ +export function parserSeemsToBeTSESLint(parser: string | undefined): boolean { + return !!parser && /(?:typescript-eslint|\.\.)[\w/\\]*parser/.test(parser); +} diff --git a/packages/utils/src/ts-eslint/Rule.ts b/packages/utils/src/ts-eslint/Rule.ts index 584a9eb92265..e159ea8c42dc 100644 --- a/packages/utils/src/ts-eslint/Rule.ts +++ b/packages/utils/src/ts-eslint/Rule.ts @@ -194,9 +194,9 @@ export interface RuleContext< */ options: Options; /** - * The name of the parser from configuration. + * The name of the parser from configuration, if in eslintrc (legacy) config. */ - parserPath: string; + parserPath: string | undefined; /** * The language options configured for this run */ diff --git a/packages/utils/tests/eslint-utils/getParserServices.test.ts b/packages/utils/tests/eslint-utils/getParserServices.test.ts index b247727786ae..2fe3c0c04c3c 100644 --- a/packages/utils/tests/eslint-utils/getParserServices.test.ts +++ b/packages/utils/tests/eslint-utils/getParserServices.test.ts @@ -3,6 +3,7 @@ import type * as ts from 'typescript'; import type { ParserServices, TSESLint, TSESTree } from '../../src'; import { ESLintUtils } from '../../src'; +import type { FlatConfig } from '../../src/ts-eslint'; type UnknownRuleContext = Readonly>; @@ -25,18 +26,20 @@ const createMockRuleContext = ( ...overrides, }) as unknown as UnknownRuleContext; -const requiresParserServicesMessageTemplate = +const requiresParserServicesMessageTemplate = (parser = '\\S*'): string => 'You have used a rule which requires parserServices to be generated. You must therefore provide a value for the "parserOptions.project" property for @typescript-eslint/parser.\n' + - 'Parser: \\S*'; -const baseErrorRegex = new RegExp(requiresParserServicesMessageTemplate); -const unknownParserErrorRegex = new RegExp( - requiresParserServicesMessageTemplate + - '\n' + - 'Note: detected a parser other than @typescript-eslint/parser. Make sure the parser is configured to forward "parserOptions.project" to @typescript-eslint/parser.', -); + `Parser: ${parser}`; +const baseErrorRegex = (parser?: string): RegExp => + new RegExp(requiresParserServicesMessageTemplate(parser)); +const unknownParserErrorRegex = (parser?: string): RegExp => + new RegExp( + requiresParserServicesMessageTemplate(parser) + + '\n' + + 'Note: detected a parser other than @typescript-eslint/parser. Make sure the parser is configured to forward "parserOptions.project" to @typescript-eslint/parser.', + ); describe('getParserServices', () => { - it('throws a standard error when parserOptions.esTreeNodeToTSNodeMap is missing and the parser is known', () => { + it('throws a standard error with the parser when parserOptions.esTreeNodeToTSNodeMap is missing and the parser is typescript-eslint', () => { const context = createMockRuleContext({ sourceCode: { ...defaults.sourceCode, @@ -48,7 +51,69 @@ describe('getParserServices', () => { }); expect(() => ESLintUtils.getParserServices(context)).toThrow( - baseErrorRegex, + baseErrorRegex('@typescript-eslint[\\/]parser[\\/]dist[\\/]index\\.js'), + ); + }); + + it('throws a standard error with the parser when parserOptions.esTreeNodeToTSNodeMap is missing and the parser is custom', () => { + const context = createMockRuleContext({ + languageOptions: { + parser: { + meta: { + name: 'custom-parser', + }, + } as FlatConfig.Parser, + }, + parserPath: undefined, + sourceCode: { + ...defaults.sourceCode, + parserServices: { + ...defaults.sourceCode.parserServices, + esTreeNodeToTSNodeMap: undefined as any, + }, + }, + }); + + expect(() => ESLintUtils.getParserServices(context)).toThrow( + baseErrorRegex('custom-parser'), + ); + }); + + it('throws a standard error with an unknown parser when parserOptions.esTreeNodeToTSNodeMap is missing and the parser is missing', () => { + const context = createMockRuleContext({ + languageOptions: {}, + parserPath: undefined, + sourceCode: { + ...defaults.sourceCode, + parserServices: { + ...defaults.sourceCode.parserServices, + esTreeNodeToTSNodeMap: undefined as any, + }, + }, + }); + + expect(() => ESLintUtils.getParserServices(context)).toThrow( + baseErrorRegex('\\(unknown\\)'), + ); + }); + + it('throws a standard error with an unknown parser when parserOptions.esTreeNodeToTSNodeMap is missing and the parser is unknown', () => { + const context = createMockRuleContext({ + languageOptions: { + parser: {} as FlatConfig.Parser, + }, + parserPath: undefined, + sourceCode: { + ...defaults.sourceCode, + parserServices: { + ...defaults.sourceCode.parserServices, + esTreeNodeToTSNodeMap: undefined as any, + }, + }, + }); + + expect(() => ESLintUtils.getParserServices(context)).toThrow( + baseErrorRegex('\\(unknown\\)'), ); }); @@ -64,7 +129,7 @@ describe('getParserServices', () => { }, }); expect(() => ESLintUtils.getParserServices(context)).toThrow( - unknownParserErrorRegex, + unknownParserErrorRegex(), ); }); @@ -80,7 +145,7 @@ describe('getParserServices', () => { }); expect(() => ESLintUtils.getParserServices(context)).toThrow( - baseErrorRegex, + baseErrorRegex(), ); }); @@ -96,7 +161,7 @@ describe('getParserServices', () => { }); expect(() => ESLintUtils.getParserServices(context)).toThrow( - baseErrorRegex, + baseErrorRegex(), ); }); diff --git a/packages/utils/tests/eslint-utils/parserPathSeemsToBeTSESLint.test.ts b/packages/utils/tests/eslint-utils/parserSeemsToBeTSESLint.test.ts similarity index 79% rename from packages/utils/tests/eslint-utils/parserPathSeemsToBeTSESLint.test.ts rename to packages/utils/tests/eslint-utils/parserSeemsToBeTSESLint.test.ts index 0c11c1664005..fb70c5e644e6 100644 --- a/packages/utils/tests/eslint-utils/parserPathSeemsToBeTSESLint.test.ts +++ b/packages/utils/tests/eslint-utils/parserSeemsToBeTSESLint.test.ts @@ -1,7 +1,9 @@ -import { parserPathSeemsToBeTSESLint } from '../../src/eslint-utils/parserPathSeemsToBeTSESLint'; +import { parserSeemsToBeTSESLint } from '../../src/eslint-utils/parserSeemsToBeTSESLint'; -describe('parserPathSeemsToBeTSESLint', () => { +describe('parserSeemsToBeTSESLint', () => { test.each([ + [undefined, false], + ['espree', false], ['local.js', false], ['../other.js', false], ['@babel/eslint-parser/lib/index.cjs', false], @@ -19,6 +21,6 @@ describe('parserPathSeemsToBeTSESLint', () => { ['/path/to/@typescript-eslint/packages/parser/dist/index.js', true], ['/path/to/@typescript-eslint/packages/parser/index.js', true], ])('%s', (parserPath, expected) => { - expect(parserPathSeemsToBeTSESLint(parserPath)).toBe(expected); + expect(parserSeemsToBeTSESLint(parserPath)).toBe(expected); }); }); diff --git a/packages/visitor-keys/CHANGELOG.md b/packages/visitor-keys/CHANGELOG.md index 267228ccb75f..cddb2f51bb03 100644 --- a/packages/visitor-keys/CHANGELOG.md +++ b/packages/visitor-keys/CHANGELOG.md @@ -1,3 +1,25 @@ +## 7.16.0 (2024-07-08) + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **website:** react key error on internal pages of website + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) This was a version bump only for visitor-keys to align it with other projects, there were no code changes. diff --git a/packages/visitor-keys/package.json b/packages/visitor-keys/package.json index a3dd06719549..94089e0612a2 100644 --- a/packages/visitor-keys/package.json +++ b/packages/visitor-keys/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/visitor-keys", - "version": "7.15.0", + "version": "7.16.0", "description": "Visitor keys used to help traverse the TypeScript-ESTree AST", "files": [ "dist", @@ -47,7 +47,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@typescript-eslint/types": "7.15.0", + "@typescript-eslint/types": "7.16.0", "eslint-visitor-keys": "^3.4.3" }, "devDependencies": { diff --git a/packages/website-eslint/CHANGELOG.md b/packages/website-eslint/CHANGELOG.md index 7aa1c492f1ba..253ad2fce01e 100644 --- a/packages/website-eslint/CHANGELOG.md +++ b/packages/website-eslint/CHANGELOG.md @@ -1,3 +1,25 @@ +## 7.16.0 (2024-07-08) + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **website:** react key error on internal pages of website + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) diff --git a/packages/website-eslint/package.json b/packages/website-eslint/package.json index b0fdf879ce9a..66cd2d60c46e 100644 --- a/packages/website-eslint/package.json +++ b/packages/website-eslint/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/website-eslint", - "version": "7.15.0", + "version": "7.16.0", "private": true, "description": "ESLint which works in browsers.", "files": [ @@ -24,11 +24,11 @@ }, "devDependencies": { "@eslint/js": "*", - "@typescript-eslint/eslint-plugin": "7.15.0", - "@typescript-eslint/parser": "7.15.0", - "@typescript-eslint/scope-manager": "7.15.0", - "@typescript-eslint/typescript-estree": "7.15.0", - "@typescript-eslint/visitor-keys": "7.15.0", + "@typescript-eslint/eslint-plugin": "7.16.0", + "@typescript-eslint/parser": "7.16.0", + "@typescript-eslint/scope-manager": "7.16.0", + "@typescript-eslint/typescript-estree": "7.16.0", + "@typescript-eslint/visitor-keys": "7.16.0", "esbuild": "~0.21.0", "eslint": "*", "esquery": "*", diff --git a/packages/website-eslint/src/mock/path.js b/packages/website-eslint/src/mock/path.js index abf5e0f2466c..238d8542c79f 100644 --- a/packages/website-eslint/src/mock/path.js +++ b/packages/website-eslint/src/mock/path.js @@ -82,9 +82,7 @@ export function resolve() { // Normalize the path resolvedPath = normalizeArray( - filter(resolvedPath.split('/'), function (p) { - return !!p; - }), + filter(resolvedPath.split('/'), p => !!p), !resolvedAbsolute, ).join('/'); @@ -99,9 +97,7 @@ export function normalize(path) { // Normalize the path path = normalizeArray( - filter(path.split('/'), function (p) { - return !!p; - }), + filter(path.split('/'), p => !!p), !isPathAbsolute, ).join('/'); @@ -124,7 +120,7 @@ export function isAbsolute(path) { export function join() { const paths = Array.prototype.slice.call(arguments, 0); return normalize( - filter(paths, function (p) { + filter(paths, p => { if (typeof p !== 'string') { throw new TypeError('Arguments to path.join must be strings'); } diff --git a/packages/website/CHANGELOG.md b/packages/website/CHANGELOG.md index 05b99980c93d..2ad02ccf9478 100644 --- a/packages/website/CHANGELOG.md +++ b/packages/website/CHANGELOG.md @@ -1,3 +1,25 @@ +## 7.16.0 (2024-07-08) + + +### 🩹 Fixes + +- **deps:** update dependency @eslint-community/regexpp to v4.11.0 + +- **website:** react key error on internal pages of website + + +### ❤️ Thank You + +- Abraham Guo +- auvred +- Josh Goldberg ✨ +- Juan Sanchez +- Vinccool96 +- YeonJuan +- Yukihiro Hasegawa + +You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. + ## 7.15.0 (2024-07-01) diff --git a/packages/website/data/sponsors.json b/packages/website/data/sponsors.json index 8daf8b72c618..f8e2d086533f 100644 --- a/packages/website/data/sponsors.json +++ b/packages/website/data/sponsors.json @@ -73,7 +73,7 @@ "id": "THANKS.DEV", "image": "https://images.opencollective.com/thanks-dev/ed78b39/logo.png", "name": "THANKS.DEV", - "totalDonations": 178731, + "totalDonations": 190518, "website": "https://thanks.dev" }, { diff --git a/packages/website/package.json b/packages/website/package.json index de51b327e683..438bf668d6ed 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -1,6 +1,6 @@ { "name": "website", - "version": "7.15.0", + "version": "7.16.0", "private": true, "scripts": { "build": "docusaurus build", @@ -23,8 +23,8 @@ "@docusaurus/preset-classic": "^3.2.1", "@docusaurus/remark-plugin-npm2yarn": "^3.2.1", "@docusaurus/theme-common": "^3.2.1", - "@typescript-eslint/parser": "7.15.0", - "@typescript-eslint/website-eslint": "7.15.0", + "@typescript-eslint/parser": "7.16.0", + "@typescript-eslint/website-eslint": "7.16.0", "@uiw/react-shields": "2.0.1", "clsx": "^2.1.0", "eslint": "*", @@ -32,7 +32,7 @@ "konamimojisplosion": "^0.5.2", "lz-string": "^1.5.0", "prettier": "^3.2.5", - "prism-react-renderer": "^1.3.5", + "prism-react-renderer": "^2.3.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-resizable-panels": "^0.0.63", @@ -47,12 +47,12 @@ "@types/mdast": "^4.0.3", "@types/react": "*", "@types/unist": "^3.0.2", - "@typescript-eslint/eslint-plugin": "7.15.0", - "@typescript-eslint/rule-schema-to-typescript-types": "7.15.0", - "@typescript-eslint/scope-manager": "7.15.0", - "@typescript-eslint/types": "7.15.0", - "@typescript-eslint/typescript-estree": "7.15.0", - "@typescript-eslint/utils": "7.15.0", + "@typescript-eslint/eslint-plugin": "7.16.0", + "@typescript-eslint/rule-schema-to-typescript-types": "7.16.0", + "@typescript-eslint/scope-manager": "7.16.0", + "@typescript-eslint/types": "7.16.0", + "@typescript-eslint/typescript-estree": "7.16.0", + "@typescript-eslint/utils": "7.16.0", "copy-webpack-plugin": "^12.0.0", "cross-fetch": "*", "history": "^4.9.0", diff --git a/packages/website/src/theme/CodeBlock/Content/String.tsx b/packages/website/src/theme/CodeBlock/Content/String.tsx index 16cc0880ba1a..dcd0b526ec52 100644 --- a/packages/website/src/theme/CodeBlock/Content/String.tsx +++ b/packages/website/src/theme/CodeBlock/Content/String.tsx @@ -15,8 +15,7 @@ import Line from '@theme/CodeBlock/Line'; import WordWrapButton from '@theme/CodeBlock/WordWrapButton'; import clsx from 'clsx'; import * as lz from 'lz-string'; -import type { Language } from 'prism-react-renderer'; -import Highlight, { defaultProps } from 'prism-react-renderer'; +import { Highlight } from 'prism-react-renderer'; import React from 'react'; import { TryInPlayground } from '../../MDXComponents/TryInPlayground'; @@ -75,12 +74,7 @@ export default function CodeBlockString({ > {title &&
{title}
}
- + {({ className, tokens, diff --git a/yarn.lock b/yarn.lock index d0a448cbab03..890b996b61ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2971,31 +2971,6 @@ __metadata: languageName: node linkType: hard -"@ericcornelissen/bash-parser@npm:0.5.3": - version: 0.5.3 - resolution: "@ericcornelissen/bash-parser@npm:0.5.3" - dependencies: - array-last: ^1.1.1 - babylon: ^6.9.1 - compose-function: ^3.0.3 - filter-obj: ^1.1.0 - has-own-property: ^0.1.0 - identity-function: ^1.0.0 - is-iterable: ^1.1.0 - iterable-lookahead: ^1.0.0 - lodash.curry: ^4.1.1 - magic-string: ^0.16.0 - map-obj: ^2.0.0 - object-pairs: ^0.1.0 - object-values: ^1.0.0 - reverse-arguments: ^1.0.0 - shell-quote-word: ^1.0.1 - to-pascal-case: ^1.0.0 - unescape-js: ^1.0.5 - checksum: b3f6c899ea3240000b83674d37c744e2ae06e776b2f76129db9fcd397d77f2cb84c1c560ce318395fffc6a2b5edb1ec513a8c67514f4ea0229d9d87095955ac5 - languageName: node - linkType: hard - "@es-joy/jsdoccomment@npm:~0.41.0": version: 0.41.0 resolution: "@es-joy/jsdoccomment@npm:0.41.0" @@ -3921,16 +3896,6 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.scandir@npm:3.0.0": - version: 3.0.0 - resolution: "@nodelib/fs.scandir@npm:3.0.0" - dependencies: - "@nodelib/fs.stat": 3.0.0 - run-parallel: ^1.2.0 - checksum: f4e9d07b310f248503d3cd632310b25cd01d97a74701bc59e1458bad32c84f78615d9853820adba8af73d970868aab46de68e540ca7efd90dacd4ea34d05553d - languageName: node - linkType: hard - "@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": version: 2.0.5 resolution: "@nodelib/fs.stat@npm:2.0.5" @@ -3938,24 +3903,7 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.stat@npm:3.0.0": - version: 3.0.0 - resolution: "@nodelib/fs.stat@npm:3.0.0" - checksum: 93a93e19b64d0275b5120bed2cf85da4c5804014de1bdac6e9933b835b1cb9f88252dc990b148076bec034fc757bdd97d74cf5d99bc9f895e0f925aeabe7dbcf - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:2.0.0": - version: 2.0.0 - resolution: "@nodelib/fs.walk@npm:2.0.0" - dependencies: - "@nodelib/fs.scandir": 3.0.0 - fastq: ^1.15.0 - checksum: f900965bc3953a67cb74916ec0950cd5d58006a9218aef99928cc22dd77d117376aaf710e46c740d18638a99337a4e81cbf70c892a2124269bf177c459d89837 - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": +"@nodelib/fs.walk@npm:1.2.8, @nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: @@ -5615,17 +5563,17 @@ __metadata: dependencies: "@jest/types": 29.6.3 "@prettier/sync": ^0.5.1 - "@typescript-eslint/rule-tester": 7.15.0 - "@typescript-eslint/scope-manager": 7.15.0 - "@typescript-eslint/type-utils": 7.15.0 - "@typescript-eslint/utils": 7.15.0 + "@typescript-eslint/rule-tester": 7.16.0 + "@typescript-eslint/scope-manager": 7.16.0 + "@typescript-eslint/type-utils": 7.16.0 + "@typescript-eslint/utils": 7.16.0 jest: 29.7.0 prettier: ^3.2.5 rimraf: "*" languageName: unknown linkType: soft -"@typescript-eslint/eslint-plugin@7.15.0, @typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin": +"@typescript-eslint/eslint-plugin@7.16.0, @typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin": version: 0.0.0-use.local resolution: "@typescript-eslint/eslint-plugin@workspace:packages/eslint-plugin" dependencies: @@ -5634,12 +5582,12 @@ __metadata: "@types/marked": ^5.0.2 "@types/mdast": ^4.0.3 "@types/natural-compare": "*" - "@typescript-eslint/rule-schema-to-typescript-types": 7.15.0 - "@typescript-eslint/rule-tester": 7.15.0 - "@typescript-eslint/scope-manager": 7.15.0 - "@typescript-eslint/type-utils": 7.15.0 - "@typescript-eslint/utils": 7.15.0 - "@typescript-eslint/visitor-keys": 7.15.0 + "@typescript-eslint/rule-schema-to-typescript-types": 7.16.0 + "@typescript-eslint/rule-tester": 7.16.0 + "@typescript-eslint/scope-manager": 7.16.0 + "@typescript-eslint/type-utils": 7.16.0 + "@typescript-eslint/utils": 7.16.0 + "@typescript-eslint/visitor-keys": 7.16.0 ajv: ^6.12.6 cross-env: ^7.0.3 cross-fetch: "*" @@ -5684,16 +5632,16 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/parser@7.15.0, @typescript-eslint/parser@workspace:packages/parser": +"@typescript-eslint/parser@7.16.0, @typescript-eslint/parser@workspace:packages/parser": version: 0.0.0-use.local resolution: "@typescript-eslint/parser@workspace:packages/parser" dependencies: "@jest/types": 29.6.3 "@types/glob": "*" - "@typescript-eslint/scope-manager": 7.15.0 - "@typescript-eslint/types": 7.15.0 - "@typescript-eslint/typescript-estree": 7.15.0 - "@typescript-eslint/visitor-keys": 7.15.0 + "@typescript-eslint/scope-manager": 7.16.0 + "@typescript-eslint/types": 7.16.0 + "@typescript-eslint/typescript-estree": 7.16.0 + "@typescript-eslint/visitor-keys": 7.16.0 debug: ^4.3.4 downlevel-dts: "*" glob: "*" @@ -5715,11 +5663,11 @@ __metadata: dependencies: "@jest/types": 29.6.3 "@nx/devkit": "*" - "@typescript-eslint/eslint-plugin": 7.15.0 - "@typescript-eslint/scope-manager": 7.15.0 - "@typescript-eslint/types": 7.15.0 - "@typescript-eslint/typescript-estree": 7.15.0 - "@typescript-eslint/utils": 7.15.0 + "@typescript-eslint/eslint-plugin": 7.16.0 + "@typescript-eslint/scope-manager": 7.16.0 + "@typescript-eslint/types": 7.16.0 + "@typescript-eslint/typescript-estree": 7.16.0 + "@typescript-eslint/utils": 7.16.0 cross-fetch: "*" execa: "*" prettier: ^3.2.5 @@ -5729,28 +5677,28 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/rule-schema-to-typescript-types@7.15.0, @typescript-eslint/rule-schema-to-typescript-types@workspace:packages/rule-schema-to-typescript-types": +"@typescript-eslint/rule-schema-to-typescript-types@7.16.0, @typescript-eslint/rule-schema-to-typescript-types@workspace:packages/rule-schema-to-typescript-types": version: 0.0.0-use.local resolution: "@typescript-eslint/rule-schema-to-typescript-types@workspace:packages/rule-schema-to-typescript-types" dependencies: "@jest/types": 29.6.3 - "@typescript-eslint/type-utils": 7.15.0 - "@typescript-eslint/utils": 7.15.0 + "@typescript-eslint/type-utils": 7.16.0 + "@typescript-eslint/utils": 7.16.0 natural-compare: ^1.4.0 prettier: ^3.2.5 languageName: unknown linkType: soft -"@typescript-eslint/rule-tester@7.15.0, @typescript-eslint/rule-tester@workspace:packages/rule-tester": +"@typescript-eslint/rule-tester@7.16.0, @typescript-eslint/rule-tester@workspace:packages/rule-tester": version: 0.0.0-use.local resolution: "@typescript-eslint/rule-tester@workspace:packages/rule-tester" dependencies: "@jest/types": 29.6.3 "@types/json-stable-stringify-without-jsonify": ^1.0.2 "@types/lodash.merge": 4.6.9 - "@typescript-eslint/parser": 7.15.0 - "@typescript-eslint/typescript-estree": 7.15.0 - "@typescript-eslint/utils": 7.15.0 + "@typescript-eslint/parser": 7.16.0 + "@typescript-eslint/typescript-estree": 7.16.0 + "@typescript-eslint/utils": 7.16.0 ajv: ^6.12.6 chai: ^4.4.1 eslint-visitor-keys: ^4.0.0 @@ -5769,15 +5717,15 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/scope-manager@7.15.0, @typescript-eslint/scope-manager@workspace:packages/scope-manager": +"@typescript-eslint/scope-manager@7.16.0, @typescript-eslint/scope-manager@workspace:packages/scope-manager": version: 0.0.0-use.local resolution: "@typescript-eslint/scope-manager@workspace:packages/scope-manager" dependencies: "@jest/types": 29.6.3 "@types/glob": "*" - "@typescript-eslint/types": 7.15.0 - "@typescript-eslint/typescript-estree": 7.15.0 - "@typescript-eslint/visitor-keys": 7.15.0 + "@typescript-eslint/types": 7.16.0 + "@typescript-eslint/typescript-estree": 7.16.0 + "@typescript-eslint/visitor-keys": 7.16.0 glob: "*" jest-specific-snapshot: "*" make-dir: "*" @@ -5806,14 +5754,14 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@7.15.0, @typescript-eslint/type-utils@workspace:packages/type-utils": +"@typescript-eslint/type-utils@7.16.0, @typescript-eslint/type-utils@workspace:packages/type-utils": version: 0.0.0-use.local resolution: "@typescript-eslint/type-utils@workspace:packages/type-utils" dependencies: "@jest/types": 29.6.3 - "@typescript-eslint/parser": 7.15.0 - "@typescript-eslint/typescript-estree": 7.15.0 - "@typescript-eslint/utils": 7.15.0 + "@typescript-eslint/parser": 7.16.0 + "@typescript-eslint/typescript-estree": 7.16.0 + "@typescript-eslint/utils": 7.16.0 ajv: ^6.12.6 debug: ^4.3.4 downlevel-dts: "*" @@ -5828,7 +5776,7 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/types@7.15.0, @typescript-eslint/types@workspace:packages/types": +"@typescript-eslint/types@7.16.0, @typescript-eslint/types@workspace:packages/types": version: 0.0.0-use.local resolution: "@typescript-eslint/types@workspace:packages/types" dependencies: @@ -5928,13 +5876,13 @@ __metadata: languageName: unknown linkType: soft -"@typescript-eslint/typescript-estree@7.15.0, @typescript-eslint/typescript-estree@workspace:packages/typescript-estree": +"@typescript-eslint/typescript-estree@7.16.0, @typescript-eslint/typescript-estree@workspace:packages/typescript-estree": version: 0.0.0-use.local resolution: "@typescript-eslint/typescript-estree@workspace:packages/typescript-estree" dependencies: "@jest/types": 29.6.3 - "@typescript-eslint/types": 7.15.0 - "@typescript-eslint/visitor-keys": 7.15.0 + "@typescript-eslint/types": 7.16.0 + "@typescript-eslint/visitor-keys": 7.16.0 debug: ^4.3.4 glob: "*" globby: ^11.1.0 @@ -5990,14 +5938,14 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@7.15.0, @typescript-eslint/utils@workspace:packages/utils": +"@typescript-eslint/utils@7.16.0, @typescript-eslint/utils@workspace:packages/utils": version: 0.0.0-use.local resolution: "@typescript-eslint/utils@workspace:packages/utils" dependencies: "@eslint-community/eslint-utils": ^4.4.0 - "@typescript-eslint/scope-manager": 7.15.0 - "@typescript-eslint/types": 7.15.0 - "@typescript-eslint/typescript-estree": 7.15.0 + "@typescript-eslint/scope-manager": 7.16.0 + "@typescript-eslint/types": 7.16.0 + "@typescript-eslint/typescript-estree": 7.16.0 downlevel-dts: "*" jest: 29.7.0 prettier: ^3.2.5 @@ -6043,13 +5991,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@7.15.0, @typescript-eslint/visitor-keys@workspace:packages/visitor-keys": +"@typescript-eslint/visitor-keys@7.16.0, @typescript-eslint/visitor-keys@workspace:packages/visitor-keys": version: 0.0.0-use.local resolution: "@typescript-eslint/visitor-keys@workspace:packages/visitor-keys" dependencies: "@jest/types": 29.6.3 "@types/eslint-visitor-keys": "*" - "@typescript-eslint/types": 7.15.0 + "@typescript-eslint/types": 7.16.0 downlevel-dts: "*" eslint-visitor-keys: ^3.4.3 jest: 29.7.0 @@ -6079,16 +6027,16 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/website-eslint@7.15.0, @typescript-eslint/website-eslint@workspace:packages/website-eslint": +"@typescript-eslint/website-eslint@7.16.0, @typescript-eslint/website-eslint@workspace:packages/website-eslint": version: 0.0.0-use.local resolution: "@typescript-eslint/website-eslint@workspace:packages/website-eslint" dependencies: "@eslint/js": "*" - "@typescript-eslint/eslint-plugin": 7.15.0 - "@typescript-eslint/parser": 7.15.0 - "@typescript-eslint/scope-manager": 7.15.0 - "@typescript-eslint/typescript-estree": 7.15.0 - "@typescript-eslint/visitor-keys": 7.15.0 + "@typescript-eslint/eslint-plugin": 7.16.0 + "@typescript-eslint/parser": 7.16.0 + "@typescript-eslint/scope-manager": 7.16.0 + "@typescript-eslint/typescript-estree": 7.16.0 + "@typescript-eslint/visitor-keys": 7.16.0 esbuild: ~0.21.0 eslint: "*" esquery: "*" @@ -6689,13 +6637,6 @@ __metadata: languageName: node linkType: hard -"arity-n@npm:^1.0.4": - version: 1.0.4 - resolution: "arity-n@npm:1.0.4" - checksum: 3d76e16907f7b8a9452690c1efc301d0fbecea457365797eccfbade9b8d1653175b2c38343201bf26fdcbf0bcbb31eab6d912e7c008c6d19042301dc0be80a73 - languageName: node - linkType: hard - "array-buffer-byte-length@npm:^1.0.0, array-buffer-byte-length@npm:^1.0.1": version: 1.0.1 resolution: "array-buffer-byte-length@npm:1.0.1" @@ -6734,15 +6675,6 @@ __metadata: languageName: node linkType: hard -"array-last@npm:^1.1.1": - version: 1.3.0 - resolution: "array-last@npm:1.3.0" - dependencies: - is-number: ^4.0.0 - checksum: 7631c7df9b44ea26f49e2f6eeb7a7d4d95b3798586b917e1efae4a321b6362e449e00b011e88eb0260959fbfc940fbdfce1d2a35765ea080de6d71e3fc3cf1dd - languageName: node - linkType: hard - "array-timsort@npm:^1.0.3": version: 1.0.3 resolution: "array-timsort@npm:1.0.3" @@ -7144,15 +7076,6 @@ __metadata: languageName: node linkType: hard -"babylon@npm:^6.9.1": - version: 6.18.0 - resolution: "babylon@npm:6.18.0" - bin: - babylon: ./bin/babylon.js - checksum: 0777ae0c735ce1cbfc856d627589ed9aae212b84fb0c03c368b55e6c5d3507841780052808d0ad46e18a2ba516e93d55eeed8cd967f3b2938822dfeccfb2a16d - languageName: node - linkType: hard - "bail@npm:^2.0.0": version: 2.0.2 resolution: "bail@npm:2.0.2" @@ -8031,15 +7954,6 @@ __metadata: languageName: node linkType: hard -"compose-function@npm:^3.0.3": - version: 3.0.3 - resolution: "compose-function@npm:3.0.3" - dependencies: - arity-n: ^1.0.4 - checksum: 9f17d431e3ee4797c844f2870e13494079882ac3dbc54c143b7d99967b371908e0ce7ceb71c6aed61e2ecddbcd7bb437d91428a3d0e6569aee17a87fcbc7918f - languageName: node - linkType: hard - "compressible@npm:~2.0.16": version: 2.0.18 resolution: "compressible@npm:2.0.18" @@ -10548,7 +10462,7 @@ __metadata: languageName: node linkType: hard -"fastq@npm:^1.15.0, fastq@npm:^1.6.0": +"fastq@npm:^1.6.0": version: 1.17.1 resolution: "fastq@npm:1.17.1" dependencies: @@ -10667,13 +10581,6 @@ __metadata: languageName: node linkType: hard -"filter-obj@npm:^1.1.0": - version: 1.1.0 - resolution: "filter-obj@npm:1.1.0" - checksum: cf2104a7c45ff48e7f505b78a3991c8f7f30f28bd8106ef582721f321f1c6277f7751aacd5d83026cb079d9d5091082f588d14a72e7c5d720ece79118fa61e10 - languageName: node - linkType: hard - "finalhandler@npm:1.2.0": version: 1.2.0 resolution: "finalhandler@npm:1.2.0" @@ -11466,13 +11373,6 @@ __metadata: languageName: node linkType: hard -"has-own-property@npm:^0.1.0": - version: 0.1.0 - resolution: "has-own-property@npm:0.1.0" - checksum: 4754f42e8a54860ea1a397c231843937ba890f3aa556698c9a2160df5f9b1a02ddb321ef0528294aec3aaa3139d17744da048027aa7129a631cb6554b6faed6f - languageName: node - linkType: hard - "has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.1, has-property-descriptors@npm:^1.0.2": version: 1.0.2 resolution: "has-property-descriptors@npm:1.0.2" @@ -12004,13 +11904,6 @@ __metadata: languageName: node linkType: hard -"identity-function@npm:^1.0.0": - version: 1.0.0 - resolution: "identity-function@npm:1.0.0" - checksum: 0ec311050c69679334b12479f53226f67ca41bc3ba7283ede3dacfb80802ec07643868d16b274ab823ceb2e81291697f01b07e32c7796f92255bd81452b7ea15 - languageName: node - linkType: hard - "identity-obj-proxy@npm:3.0.0": version: 3.0.0 resolution: "identity-obj-proxy@npm:3.0.0" @@ -12462,13 +12355,6 @@ __metadata: languageName: node linkType: hard -"is-iterable@npm:^1.1.0": - version: 1.1.1 - resolution: "is-iterable@npm:1.1.1" - checksum: d059aaf00899cf351cdf4d71ea6b4e8912107c47b31b554d28205199b306420f3b5d30a419efa6b807f466f675fd945822f1651fd6d1fd45469a578573da671e - languageName: node - linkType: hard - "is-lambda@npm:^1.0.1": version: 1.0.1 resolution: "is-lambda@npm:1.0.1" @@ -12513,13 +12399,6 @@ __metadata: languageName: node linkType: hard -"is-number@npm:^4.0.0": - version: 4.0.0 - resolution: "is-number@npm:4.0.0" - checksum: e71962a5ae97400211e6be5946eff2b81d3fa85154dad498bfe2704999e63ac6b3f8591fdb7971a121122cc6e25915c2cfe882ff7b77e243d51b92ca6961267e - languageName: node - linkType: hard - "is-number@npm:^7.0.0": version: 7.0.0 resolution: "is-number@npm:7.0.0" @@ -12838,13 +12717,6 @@ __metadata: languageName: node linkType: hard -"iterable-lookahead@npm:^1.0.0": - version: 1.0.0 - resolution: "iterable-lookahead@npm:1.0.0" - checksum: 9d849bfbfafcaf83c6eec2835192088b1f7d1aadf9f33ec4e1d117664af2d47acb742e130179c35a6eec01d0e3ec2750ea8347ba6796e47e329b015455076e67 - languageName: node - linkType: hard - "iterator.prototype@npm:^1.1.2": version: 1.1.2 resolution: "iterator.prototype@npm:1.1.2" @@ -13601,11 +13473,10 @@ __metadata: linkType: hard "knip@npm:^5.9.4": - version: 5.23.3 - resolution: "knip@npm:5.23.3" + version: 5.25.1 + resolution: "knip@npm:5.25.1" dependencies: - "@ericcornelissen/bash-parser": 0.5.3 - "@nodelib/fs.walk": 2.0.0 + "@nodelib/fs.walk": 1.2.8 "@snyk/github-codeowners": 1.1.0 easy-table: 1.2.0 fast-glob: ^3.3.2 @@ -13628,7 +13499,7 @@ __metadata: bin: knip: bin/knip.js knip-bun: bin/knip-bun.js - checksum: 93acc4d1745dc7b64c17f8545c43ec03ef67b78c3291347e886c8e09c2dc134dfbfd0ebb83e160717d4a19025d46e037590a99c51886a325efa7a817bbaa9145 + checksum: a8b2955d162668535ba23090042387335bda9b77364e6c86bbf8dcc6ea077cdce02dbe9dc8b46fe707fffc7b1e0babf87552315fa9c011c256c8950a58c9b25a languageName: node linkType: hard @@ -13841,13 +13712,6 @@ __metadata: languageName: node linkType: hard -"lodash.curry@npm:^4.1.1": - version: 4.1.1 - resolution: "lodash.curry@npm:4.1.1" - checksum: 9192b70fe7df4d1ff780c0260bee271afa9168c93fe4fa24bc861900240531b59781b5fdaadf4644fea8f4fbcd96f0700539ab294b579ffc1022c6c15dcc462a - languageName: node - linkType: hard - "lodash.debounce@npm:^4.0.8": version: 4.0.8 resolution: "lodash.debounce@npm:4.0.8" @@ -14011,15 +13875,6 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.16.0": - version: 0.16.0 - resolution: "magic-string@npm:0.16.0" - dependencies: - vlq: ^0.2.1 - checksum: f97e225062b600212e95fc8ed1948410bee3cb5248e03ed14fc45f12bb61a43960fdc0525f4aaaf62d6e79165526c9f8274ec225a92d421980cfcfcb8063be98 - languageName: node - linkType: hard - "magic-string@npm:^0.25.0, magic-string@npm:^0.25.7": version: 0.25.9 resolution: "magic-string@npm:0.25.9" @@ -14084,13 +13939,6 @@ __metadata: languageName: node linkType: hard -"map-obj@npm:^2.0.0": - version: 2.0.0 - resolution: "map-obj@npm:2.0.0" - checksum: 77d2b7b03398a71c84bd7df8ab7be2139e5459fc1e18dbb5f15055fe7284bec0fc37fe410185b5f8ca2e3c3e01fd0fd1f946c579607878adb26cad1cd75314aa - languageName: node - linkType: hard - "markdown-extensions@npm:^2.0.0": version: 2.0.0 resolution: "markdown-extensions@npm:2.0.0" @@ -15761,20 +15609,6 @@ __metadata: languageName: node linkType: hard -"object-pairs@npm:^0.1.0": - version: 0.1.0 - resolution: "object-pairs@npm:0.1.0" - checksum: 8bde82dda701c84a27ba5bcf5e014283c6defbdab6df189af0b6582541711ed86ba2f0cce0a300a2220ba27b54ee11128c508982a191fa04f81770a7695b23d9 - languageName: node - linkType: hard - -"object-values@npm:^1.0.0": - version: 1.0.0 - resolution: "object-values@npm:1.0.0" - checksum: b86e7ef56349de1444e45b00f4aac7dcb76f2973f3e2cd5836cf86815b1ea4b2b3827bb2320cd5d1a50c78dd3068ce23cbcb5a1f024abe12296af8cf50d17a22 - languageName: node - linkType: hard - "object.assign@npm:^4.1.0, object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": version: 4.1.5 resolution: "object.assign@npm:4.1.5" @@ -16916,16 +16750,7 @@ __metadata: languageName: node linkType: hard -"prism-react-renderer@npm:^1.3.5": - version: 1.3.5 - resolution: "prism-react-renderer@npm:1.3.5" - peerDependencies: - react: ">=0.14.9" - checksum: c18806dcbc4c0b4fd6fd15bd06b4f7c0a6da98d93af235c3e970854994eb9b59e23315abb6cfc29e69da26d36709a47e25da85ab27fed81b6812f0a52caf6dfa - languageName: node - linkType: hard - -"prism-react-renderer@npm:^2.3.0": +"prism-react-renderer@npm:^2.3.0, prism-react-renderer@npm:^2.3.1": version: 2.3.1 resolution: "prism-react-renderer@npm:2.3.1" dependencies: @@ -17880,13 +17705,6 @@ __metadata: languageName: node linkType: hard -"reverse-arguments@npm:^1.0.0": - version: 1.0.0 - resolution: "reverse-arguments@npm:1.0.0" - checksum: 4dc725066adb35bccdee90545bab7e3ddd07e61c3622afa22a6a17cc84cf22166f9355f8f206c89d344f0afc78a53ae6a8d43a710ca9774a676e3632a5a3d9a1 - languageName: node - linkType: hard - "rfdc@npm:^1.3.1": version: 1.3.1 resolution: "rfdc@npm:1.3.1" @@ -17979,7 +17797,7 @@ __metadata: languageName: node linkType: hard -"run-parallel@npm:^1.1.9, run-parallel@npm:^1.2.0": +"run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" dependencies: @@ -18326,13 +18144,6 @@ __metadata: languageName: node linkType: hard -"shell-quote-word@npm:^1.0.1": - version: 1.0.1 - resolution: "shell-quote-word@npm:1.0.1" - checksum: 05c5df92acba3e7920dbd987b235276871d38cf360d339074cbfabea49bbca8406a6f06a822cd1e84912c3150277d73de5194ca21c37ef95e108dfe45372526f - languageName: node - linkType: hard - "shell-quote@npm:^1.7.3, shell-quote@npm:^1.8.1": version: 1.8.1 resolution: "shell-quote@npm:1.8.1" @@ -18806,13 +18617,6 @@ __metadata: languageName: node linkType: hard -"string.fromcodepoint@npm:^0.2.1": - version: 0.2.1 - resolution: "string.fromcodepoint@npm:0.2.1" - checksum: 6ba80f70c3e2a36dab87f5d68168936403295a73838564e701f5c861d397d77d9e97b0e2aa0f3c163a25a96c785dcc2145452b220753fb7b3e6c6fe431c9c411 - languageName: node - linkType: hard - "string.prototype.includes@npm:^2.0.0": version: 2.0.0 resolution: "string.prototype.includes@npm:2.0.0" @@ -19399,22 +19203,6 @@ __metadata: languageName: node linkType: hard -"to-no-case@npm:^1.0.0": - version: 1.0.2 - resolution: "to-no-case@npm:1.0.2" - checksum: 1d85326eeb89f9f3a805bf5b395bcabb8556e882350164c1faa10846076732f4cec02ac95b016e7d6bb2f55e448ce5dd227c7699ec43e387c705a5b2b1ee2963 - languageName: node - linkType: hard - -"to-pascal-case@npm:^1.0.0": - version: 1.0.0 - resolution: "to-pascal-case@npm:1.0.0" - dependencies: - to-space-case: ^1.0.0 - checksum: 3956e209defc6df9de98c5db24a16fb2a1a11f711350ea3bdd9466240a04ab889fa09f1bd005e26fc31343c1cca341981daf2d80d4ec3f2d0706a557978f8b91 - languageName: node - linkType: hard - "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" @@ -19424,15 +19212,6 @@ __metadata: languageName: node linkType: hard -"to-space-case@npm:^1.0.0": - version: 1.0.0 - resolution: "to-space-case@npm:1.0.0" - dependencies: - to-no-case: ^1.0.0 - checksum: 157cebe3e98e7cb465fe1978cf26450cc8ea8e637a01039854fac7ed60ad074e5e18b32333cc5f30df81b81ca374d63df768cd4c1fa0fe672605f965376227f4 - languageName: node - linkType: hard - "toidentifier@npm:1.0.1": version: 1.0.1 resolution: "toidentifier@npm:1.0.1" @@ -19743,9 +19522,9 @@ __metadata: resolution: "typescript-eslint@workspace:packages/typescript-eslint" dependencies: "@jest/types": 29.6.3 - "@typescript-eslint/eslint-plugin": 7.15.0 - "@typescript-eslint/parser": 7.15.0 - "@typescript-eslint/utils": 7.15.0 + "@typescript-eslint/eslint-plugin": 7.16.0 + "@typescript-eslint/parser": 7.16.0 + "@typescript-eslint/utils": 7.16.0 downlevel-dts: "*" jest: 29.7.0 prettier: ^3.2.5 @@ -19812,15 +19591,6 @@ __metadata: languageName: node linkType: hard -"unescape-js@npm:^1.0.5": - version: 1.1.4 - resolution: "unescape-js@npm:1.1.4" - dependencies: - string.fromcodepoint: ^0.2.1 - checksum: 97acf60a8f6c170f8a66b48b71f5c56bda728c2ff6b08c3443c5f21635bf5fa38a4265bcfcf46d17cb6ac9bbb8b913a34b1abc5cfe8db5d7cc5c8eecb1817472 - languageName: node - linkType: hard - "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" @@ -20200,13 +19970,6 @@ __metadata: languageName: node linkType: hard -"vlq@npm:^0.2.1": - version: 0.2.3 - resolution: "vlq@npm:0.2.3" - checksum: 2231d8caeb5b2c1a438677ab029e9a94aa6fb61ab05819c72691b792aea0456dab29576aff5ae29309ee45bad0a309e832dc45173119bca1393f3b87709d8f8d - languageName: node - linkType: hard - "vscode-languageserver-textdocument@npm:^1.0.11": version: 1.0.11 resolution: "vscode-languageserver-textdocument@npm:1.0.11" @@ -20455,14 +20218,14 @@ __metadata: "@types/mdast": ^4.0.3 "@types/react": "*" "@types/unist": ^3.0.2 - "@typescript-eslint/eslint-plugin": 7.15.0 - "@typescript-eslint/parser": 7.15.0 - "@typescript-eslint/rule-schema-to-typescript-types": 7.15.0 - "@typescript-eslint/scope-manager": 7.15.0 - "@typescript-eslint/types": 7.15.0 - "@typescript-eslint/typescript-estree": 7.15.0 - "@typescript-eslint/utils": 7.15.0 - "@typescript-eslint/website-eslint": 7.15.0 + "@typescript-eslint/eslint-plugin": 7.16.0 + "@typescript-eslint/parser": 7.16.0 + "@typescript-eslint/rule-schema-to-typescript-types": 7.16.0 + "@typescript-eslint/scope-manager": 7.16.0 + "@typescript-eslint/types": 7.16.0 + "@typescript-eslint/typescript-estree": 7.16.0 + "@typescript-eslint/utils": 7.16.0 + "@typescript-eslint/website-eslint": 7.16.0 "@uiw/react-shields": 2.0.1 clsx: ^2.1.0 copy-webpack-plugin: ^12.0.0 @@ -20476,7 +20239,7 @@ __metadata: mdast-util-mdx: ^3.0.0 monaco-editor: ~0.50.0 prettier: ^3.2.5 - prism-react-renderer: ^1.3.5 + prism-react-renderer: ^2.3.1 raw-loader: ^4.0.2 react: ^18.2.0 react-dom: ^18.2.0