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 pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy