From 84d3cb5d90ea8669c8cec1de5df66d9ec1a993b7 Mon Sep 17 00:00:00 2001 From: AndreaPontrandolfo Date: Sat, 31 Aug 2024 00:34:52 +0200 Subject: [PATCH 01/11] feat(rules): removed react/jsx-props-no-spreading. There are legit usecases for this rule. --- apps/docs-website/eslint.config.mjs | 39 +++++++++---------- .../handpickedRules/reactHandPickedRules.ts | 1 - 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/apps/docs-website/eslint.config.mjs b/apps/docs-website/eslint.config.mjs index 5f6e65f8..66499886 100644 --- a/apps/docs-website/eslint.config.mjs +++ b/apps/docs-website/eslint.config.mjs @@ -1,7 +1,7 @@ -import { sheriff } from "eslint-config-sheriff"; -import { defineFlatConfig } from "eslint-define-config"; -import docusaurusEslintPlugin from "@docusaurus/eslint-plugin"; -import { flat, flatCodeBlocks, createRemarkProcessor } from "eslint-plugin-mdx"; +import { sheriff } from 'eslint-config-sheriff'; +import { defineFlatConfig } from 'eslint-define-config'; +import docusaurusEslintPlugin from '@docusaurus/eslint-plugin'; +import { flat, flatCodeBlocks, createRemarkProcessor } from 'eslint-plugin-mdx'; const sheriffOptions = { react: true, @@ -16,15 +16,15 @@ const sheriffOptions = { export default defineFlatConfig([ ...sheriff(sheriffOptions), { - files: ["*.tsx", "*.ts"], // .mdx? + files: ['*.tsx', '*.ts'], // .mdx? plugins: { - "@docusaurus": docusaurusEslintPlugin, + '@docusaurus': docusaurusEslintPlugin, }, rules: { - "@docusaurus/no-untranslated-text": 0, // enable when we have translations - "@docusaurus/string-literal-i18n-messages": 0, // enable when we have translations, - "@docusaurus/no-html-links": 2, - "@docusaurus/prefer-docusaurus-heading": 2, + '@docusaurus/no-untranslated-text': 0, // enable when we have translations + '@docusaurus/string-literal-i18n-messages': 0, // enable when we have translations, + '@docusaurus/no-html-links': 2, + '@docusaurus/prefer-docusaurus-heading': 2, }, }, { @@ -41,11 +41,10 @@ export default defineFlatConfig([ }, }, { - files: ["**/*ts", "**/*tsx"], + files: ['**/*ts', '**/*tsx'], rules: { - "sonarjs/no-duplicate-string": 0, - "react/jsx-props-no-spreading": 0, - "@typescript-eslint/no-misused-promises": [ + 'sonarjs/no-duplicate-string': 0, + '@typescript-eslint/no-misused-promises': [ 2, { checksVoidReturn: { @@ -53,22 +52,22 @@ export default defineFlatConfig([ }, }, ], - "import/no-unresolved": [ + 'import/no-unresolved': [ 2, { commonjs: true, caseSensitiveStrict: true, - ignore: ["^@theme", "^@docusaurus"], + ignore: ['^@theme', '^@docusaurus'], }, ], }, }, { ignores: [ - ".docusaurus/**/*", - ".turbo/**/*", - "babel.config.js", - "CHANGELOG.md", + '.docusaurus/**/*', + '.turbo/**/*', + 'babel.config.js', + 'CHANGELOG.md', ], }, ]); diff --git a/packages/eslint-config-sheriff/src/handpickedRules/reactHandPickedRules.ts b/packages/eslint-config-sheriff/src/handpickedRules/reactHandPickedRules.ts index 0e8c1b03..a164f19d 100644 --- a/packages/eslint-config-sheriff/src/handpickedRules/reactHandPickedRules.ts +++ b/packages/eslint-config-sheriff/src/handpickedRules/reactHandPickedRules.ts @@ -24,7 +24,6 @@ export const reactHandPickedRules = { ], 'react/no-multi-comp': 2, 'react/no-array-index-key': 2, - 'react/jsx-props-no-spreading': 2, 'react/checked-requires-onchange-or-readonly': 2, 'react/jsx-sort-props': [ 2, From e97a9226fe6fde5391809ff24861cb29a77eef61 Mon Sep 17 00:00:00 2001 From: AndreaPontrandolfo Date: Sat, 31 Aug 2024 00:36:22 +0200 Subject: [PATCH 02/11] feat(rules): added no-useless-computed-key --- .../src/handpickedRules/getBaseEslintHandPickedRules.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/eslint-config-sheriff/src/handpickedRules/getBaseEslintHandPickedRules.ts b/packages/eslint-config-sheriff/src/handpickedRules/getBaseEslintHandPickedRules.ts index 98c73667..49df0bd4 100644 --- a/packages/eslint-config-sheriff/src/handpickedRules/getBaseEslintHandPickedRules.ts +++ b/packages/eslint-config-sheriff/src/handpickedRules/getBaseEslintHandPickedRules.ts @@ -107,6 +107,7 @@ export const getBaseEslintHandPickedRules = () => { 'prefer-rest-params': 2, 'no-param-reassign': [2, { props: true }], 'no-redeclare': 2, + 'no-useless-computed-key': 2, 'array-callback-return': [2, { allowImplicit: true, checkForEach: true }], 'object-shorthand': 2, 'no-unneeded-ternary': [2, { defaultAssignment: false }], From 58a993c94e041b51e1c29796051fefc9e0e8c563 Mon Sep 17 00:00:00 2001 From: AndreaPontrandolfo Date: Sat, 31 Aug 2024 01:15:43 +0200 Subject: [PATCH 03/11] feat(rules): added unicorn/no-unused-properties --- .../src/handpickedRules/unicornHandPickedRules.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/eslint-config-sheriff/src/handpickedRules/unicornHandPickedRules.ts b/packages/eslint-config-sheriff/src/handpickedRules/unicornHandPickedRules.ts index 98ef7cf1..05e0bc44 100644 --- a/packages/eslint-config-sheriff/src/handpickedRules/unicornHandPickedRules.ts +++ b/packages/eslint-config-sheriff/src/handpickedRules/unicornHandPickedRules.ts @@ -41,4 +41,5 @@ export const unicornHandPickedRules = { 'unicorn/no-await-in-promise-methods': 2, 'unicorn/no-single-promise-in-promise-methods': 2, 'unicorn/consistent-empty-array-spread': 2, + 'no-unused-properties': 2, }; From d931cb12fe4845ecf76fc81fbf34e23dc29eabe4 Mon Sep 17 00:00:00 2001 From: AndreaPontrandolfo Date: Sat, 31 Aug 2024 01:18:11 +0200 Subject: [PATCH 04/11] fixed a rule calling --- .../src/handpickedRules/unicornHandPickedRules.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/eslint-config-sheriff/src/handpickedRules/unicornHandPickedRules.ts b/packages/eslint-config-sheriff/src/handpickedRules/unicornHandPickedRules.ts index 05e0bc44..0c463a72 100644 --- a/packages/eslint-config-sheriff/src/handpickedRules/unicornHandPickedRules.ts +++ b/packages/eslint-config-sheriff/src/handpickedRules/unicornHandPickedRules.ts @@ -41,5 +41,5 @@ export const unicornHandPickedRules = { 'unicorn/no-await-in-promise-methods': 2, 'unicorn/no-single-promise-in-promise-methods': 2, 'unicorn/consistent-empty-array-spread': 2, - 'no-unused-properties': 2, + 'unicorn/no-unused-properties': 2, }; From bd48b76be3315ee1debc590a8aeea4a61d95c86e Mon Sep 17 00:00:00 2001 From: AndreaPontrandolfo Date: Sat, 31 Aug 2024 02:26:42 +0200 Subject: [PATCH 05/11] feat(rules): restricted the confusingBrowserGlobals --- packages/eslint-config-sheriff/package.json | 2 + .../getBaseEslintHandPickedRules.ts | 112 +++++++++--------- pnpm-lock.yaml | 16 +++ 3 files changed, 75 insertions(+), 55 deletions(-) diff --git a/packages/eslint-config-sheriff/package.json b/packages/eslint-config-sheriff/package.json index 4f8e40f3..918aa58e 100644 --- a/packages/eslint-config-sheriff/package.json +++ b/packages/eslint-config-sheriff/package.json @@ -59,6 +59,7 @@ "@regru/eslint-plugin-prefer-early-return": "^1.0.0", "@stylistic/eslint-plugin": "^2.6.4", "@vitest/eslint-plugin": "^1.0.3", + "confusing-browser-globals": "^1.0.11", "eslint-config-flat-gitignore": "^0.1.8", "eslint-import-resolver-typescript": "^3.5.5", "eslint-plugin-arrow-return-style": "^1.3.0", @@ -94,6 +95,7 @@ "@arethetypeswrong/cli": "^0.15.4", "@sherifforg/constants": "workspace:*", "@sherifforg/types": "workspace:*", + "@types/confusing-browser-globals": "^1.0.3", "@types/eslint-plugin-jsx-a11y": "^6.9.0", "@types/eslint__js": "^8.42.3", "@types/lodash": "^4.17.6", diff --git a/packages/eslint-config-sheriff/src/handpickedRules/getBaseEslintHandPickedRules.ts b/packages/eslint-config-sheriff/src/handpickedRules/getBaseEslintHandPickedRules.ts index 49df0bd4..77774a84 100644 --- a/packages/eslint-config-sheriff/src/handpickedRules/getBaseEslintHandPickedRules.ts +++ b/packages/eslint-config-sheriff/src/handpickedRules/getBaseEslintHandPickedRules.ts @@ -1,4 +1,5 @@ import { getIndexedBaseNoRestrictedSyntaxRules } from '../utils/getIndexedBaseNoRestrictedSyntaxRules'; +import confusingBrowserGlobals from 'confusing-browser-globals'; export const getBaseEslintHandPickedRules = () => { return { @@ -6,27 +7,6 @@ export const getBaseEslintHandPickedRules = () => { 'no-promise-executor-return': 2, 'no-unreachable-loop': 2, 'no-caller': 2, - 'no-restricted-imports': [ - 2, - { - paths: [ - { - name: 'prop-types', - message: 'Dont use prop-types. Use Typescript instead.', - }, - ], - patterns: [ - { - group: ['node_modules'], - message: 'Imports from node_modules are likely a user mistake.', - }, - { - group: ['dist'], - message: 'Imports from dist are likely a user mistake.', - }, - ], - }, - ], 'no-extend-native': 2, 'no-extra-bind': 2, 'no-extra-label': 2, @@ -35,39 +15,6 @@ export const getBaseEslintHandPickedRules = () => { 'no-negated-condition': 2, 'no-new-wrappers': 2, 'no-new-object': 2, - 'no-restricted-properties': [ - 2, - { - object: 'global', - property: 'isFinite', - message: 'Please use Number.isFinite instead', - }, - { - object: 'self', - property: 'isFinite', - message: 'Please use Number.isFinite instead', - }, - { - object: 'window', - property: 'isFinite', - message: 'Please use Number.isFinite instead', - }, - { - object: 'global', - property: 'isNaN', - message: 'Please use Number.isNaN instead', - }, - { - object: 'self', - property: 'isNaN', - message: 'Please use Number.isNaN instead', - }, - { - object: 'window', - property: 'isNaN', - message: 'Please use Number.isNaN instead', - }, - ], strict: [2, 'never'], 'no-octal-escape': 2, 'no-proto': 2, @@ -117,8 +64,63 @@ export const getBaseEslintHandPickedRules = () => { curly: [2, 'all'], eqeqeq: 2, 'prefer-arrow-callback': 2, - 'no-restricted-syntax': [2, ...getIndexedBaseNoRestrictedSyntaxRules()], 'no-useless-assignment': 2, + 'no-restricted-imports': [ + 2, + { + paths: [ + { + name: 'prop-types', + message: 'Dont use prop-types. Use Typescript instead.', + }, + ], + patterns: [ + { + group: ['node_modules'], + message: 'Imports from node_modules are likely a user mistake.', + }, + { + group: ['dist'], + message: 'Imports from dist are likely a user mistake.', + }, + ], + }, + ], + 'no-restricted-properties': [ + 2, + { + object: 'global', + property: 'isFinite', + message: 'Please use Number.isFinite instead', + }, + { + object: 'self', + property: 'isFinite', + message: 'Please use Number.isFinite instead', + }, + { + object: 'window', + property: 'isFinite', + message: 'Please use Number.isFinite instead', + }, + { + object: 'global', + property: 'isNaN', + message: 'Please use Number.isNaN instead', + }, + { + object: 'self', + property: 'isNaN', + message: 'Please use Number.isNaN instead', + }, + { + object: 'window', + property: 'isNaN', + message: 'Please use Number.isNaN instead', + }, + ], + 'no-restricted-syntax': [2, ...getIndexedBaseNoRestrictedSyntaxRules()], + 'no-restricted-globals': [2, ...confusingBrowserGlobals], 'no-return-await': 0, // we are using the @typescript/eslint version 'no-use-before-define': 0, // we are using the @typescript/eslint version 'no-unused-expressions': 0, // we are using the @typescript/eslint version diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e3bd5252..8b2b3f4f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -322,6 +322,9 @@ importers: '@vitest/eslint-plugin': specifier: ^1.0.3 version: 1.0.3(@typescript-eslint/utils@8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.3(@types/node@20.14.10)(terser@5.31.0)) + confusing-browser-globals: + specifier: ^1.0.11 + version: 1.0.11 eslint-config-flat-gitignore: specifier: ^0.1.8 version: 0.1.8 @@ -398,6 +401,9 @@ importers: '@sherifforg/types': specifier: workspace:* version: link:../sheriff-types + '@types/confusing-browser-globals': + specifier: ^1.0.3 + version: 1.0.3 '@types/eslint-plugin-jsx-a11y': specifier: ^6.9.0 version: 6.9.0 @@ -2894,6 +2900,9 @@ packages: '@types/concat-stream@2.0.3': resolution: {integrity: sha512-3qe4oQAPNwVNwK4C9c8u+VJqv9kez+2MR4qJpoPFfXtgxxif1QbFusvXzK0/Wra2VX07smostI2VMmJNSpZjuQ==} + '@types/confusing-browser-globals@1.0.3': + resolution: {integrity: sha512-q+6axdE3RyjrSsy2ONE4UpF89rwOfpoMBP3lqJ+OzLuOeYHwP+o2GITzuleKb1UT3FSYybO8QmeACgyHleu2CA==} + '@types/connect-history-api-fallback@1.5.4': resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} @@ -4064,6 +4073,9 @@ packages: resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} engines: {node: '>=12'} + confusing-browser-globals@1.0.11: + resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} + connect-history-api-fallback@2.0.0: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} engines: {node: '>=0.8'} @@ -12522,6 +12534,8 @@ snapshots: dependencies: '@types/node': 20.14.10 + '@types/confusing-browser-globals@1.0.3': {} + '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.5 @@ -13999,6 +14013,8 @@ snapshots: write-file-atomic: 3.0.3 xdg-basedir: 5.1.0 + confusing-browser-globals@1.0.11: {} + connect-history-api-fallback@2.0.0: {} consola@2.15.3: {} From efa3ae4d4060975de4bed2d3f9ca5952ee2703a7 Mon Sep 17 00:00:00 2001 From: AndreaPontrandolfo Date: Sat, 31 Aug 2024 11:54:02 +0200 Subject: [PATCH 06/11] feat(rule): added react/no-this-in-sfc --- .../src/handpickedRules/reactHandPickedRules.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/eslint-config-sheriff/src/handpickedRules/reactHandPickedRules.ts b/packages/eslint-config-sheriff/src/handpickedRules/reactHandPickedRules.ts index a164f19d..75bf1b55 100644 --- a/packages/eslint-config-sheriff/src/handpickedRules/reactHandPickedRules.ts +++ b/packages/eslint-config-sheriff/src/handpickedRules/reactHandPickedRules.ts @@ -24,6 +24,7 @@ export const reactHandPickedRules = { ], 'react/no-multi-comp': 2, 'react/no-array-index-key': 2, + 'react/no-this-in-sfc': 2, 'react/checked-requires-onchange-or-readonly': 2, 'react/jsx-sort-props': [ 2, From a52eab405e08a9af03e431b3ce3b025d270b8bf2 Mon Sep 17 00:00:00 2001 From: AndreaPontrandolfo Date: Sat, 31 Aug 2024 13:16:10 +0200 Subject: [PATCH 07/11] chore(deps): updated some deps --- .../config-validation-playground/package.json | 2 +- apps/docs-website/package.json | 2 +- apps/sheriff-webservices/package.json | 4 +- packages/eslint-config-sheriff/package.json | 10 +- packages/sheriff-cli/package.json | 2 +- packages/sheriff-create-config/package.json | 2 +- packages/sheriff-types/package.json | 2 +- packages/sheriff-utils/package.json | 2 +- pnpm-lock.yaml | 449 ++++++++++++------ 9 files changed, 313 insertions(+), 162 deletions(-) diff --git a/apps/config-validation-playground/package.json b/apps/config-validation-playground/package.json index b60774a3..04d23812 100644 --- a/apps/config-validation-playground/package.json +++ b/apps/config-validation-playground/package.json @@ -19,7 +19,7 @@ }, "devDependencies": { "@storybook/react": "^7.6.20", - "@types/node": "^20.14.10", + "@types/node": "^22.5.1", "@types/react": "^18.3.3", "@types/react-dom": "^18.2.15", "eslint": "^9.9.0", diff --git a/apps/docs-website/package.json b/apps/docs-website/package.json index 33bbf084..cbe6ea10 100644 --- a/apps/docs-website/package.json +++ b/apps/docs-website/package.json @@ -42,7 +42,7 @@ "@hookform/devtools": "^4.3.1", "@sherifforg/types": "workspace:*", "@types/lodash-es": "^4.17.12", - "@types/node": "^20.14.10", + "@types/node": "^22.5.1", "@types/react": "^18.3.3", "@types/react-dom": "^18.2.15", "eslint": "^9.9.0", diff --git a/apps/sheriff-webservices/package.json b/apps/sheriff-webservices/package.json index 40fc021a..e11796d7 100644 --- a/apps/sheriff-webservices/package.json +++ b/apps/sheriff-webservices/package.json @@ -19,7 +19,7 @@ "@types/eslint-plugin-jsx-a11y": "^6.9.0", "@types/eslint__js": "^8.42.3", "@types/lodash": "^4.17.6", - "@types/node": "^20.14.10", + "@types/node": "^22.5.1", "eslint-define-config": "^2.1.0", "tsx": "^4.16.2", "typescript": "^5.5.3" @@ -53,7 +53,7 @@ "eslint-plugin-unicorn": "^55.0.0", "hono": "^3.12.0", "lodash": "^4.17.21", - "typescript-eslint": "^8.1.0" + "typescript-eslint": "^8.3.0" }, "packageManager": "pnpm@9.7.1", "engines": { diff --git a/packages/eslint-config-sheriff/package.json b/packages/eslint-config-sheriff/package.json index 918aa58e..8578fffa 100644 --- a/packages/eslint-config-sheriff/package.json +++ b/packages/eslint-config-sheriff/package.json @@ -60,8 +60,8 @@ "@stylistic/eslint-plugin": "^2.6.4", "@vitest/eslint-plugin": "^1.0.3", "confusing-browser-globals": "^1.0.11", - "eslint-config-flat-gitignore": "^0.1.8", - "eslint-import-resolver-typescript": "^3.5.5", + "eslint-config-flat-gitignore": "^0.3.0", + "eslint-import-resolver-typescript": "^3.6.3", "eslint-plugin-arrow-return-style": "^1.3.0", "eslint-plugin-astro": "^1.2.3", "eslint-plugin-fsecond": "^1.1.1", @@ -81,7 +81,7 @@ "eslint-plugin-tsdoc": "^0.2.17", "eslint-plugin-unicorn": "^55.0.0", "globals": "^15.9.0", - "typescript-eslint": "^8.1.0" + "typescript-eslint": "^8.3.0" }, "peerDependencies": { "eslint": ">=9.0.0", @@ -99,8 +99,8 @@ "@types/eslint-plugin-jsx-a11y": "^6.9.0", "@types/eslint__js": "^8.42.3", "@types/lodash": "^4.17.6", - "@types/node": "^20.14.10", - "@typescript-eslint/utils": "^8.1.0", + "@types/node": "^22.5.1", + "@typescript-eslint/utils": "^8.3.0", "eslint": "^9.9.0", "eslint-define-config": "^2.1.0", "lodash": "^4.17.21", diff --git a/packages/sheriff-cli/package.json b/packages/sheriff-cli/package.json index 9f291bb6..cf2d24d7 100644 --- a/packages/sheriff-cli/package.json +++ b/packages/sheriff-cli/package.json @@ -31,7 +31,7 @@ "@sherifforg/constants": "workspace:*", "@sherifforg/types": "workspace:*", "@types/lodash-es": "^4.17.12", - "@types/node": "^20.14.10", + "@types/node": "^22.5.1", "@types/yargs": "^17.0.32", "eslint": "^9.9.0", "eslint-config-sheriff": "workspace:*", diff --git a/packages/sheriff-create-config/package.json b/packages/sheriff-create-config/package.json index 1bcc8822..e69222d5 100644 --- a/packages/sheriff-create-config/package.json +++ b/packages/sheriff-create-config/package.json @@ -31,7 +31,7 @@ "@sherifforg/constants": "workspace:*", "@sherifforg/types": "workspace:*", "@types/lodash-es": "^4.17.12", - "@types/node": "^20.14.10", + "@types/node": "^22.5.1", "@types/yargs": "^17.0.32", "eslint": "^9.9.0", "eslint-config-sheriff": "workspace:*", diff --git a/packages/sheriff-types/package.json b/packages/sheriff-types/package.json index d8640c35..f6259699 100644 --- a/packages/sheriff-types/package.json +++ b/packages/sheriff-types/package.json @@ -19,7 +19,7 @@ "build": "tsup" }, "devDependencies": { - "@types/node": "^20.14.10", + "@types/node": "^22.5.1", "publint": "^0.2.10", "tsconfig": "workspace:*", "tsup": "^8.2.4", diff --git a/packages/sheriff-utils/package.json b/packages/sheriff-utils/package.json index cec205cc..0fc57cf8 100644 --- a/packages/sheriff-utils/package.json +++ b/packages/sheriff-utils/package.json @@ -21,7 +21,7 @@ "devDependencies": { "@sherifforg/types": "workspace:*", "@types/lodash-es": "^4.17.12", - "@types/node": "^20.14.10", + "@types/node": "^22.5.1", "eslint": "^9.9.0", "eslint-config-sheriff": "workspace:*", "eslint-define-config": "^2.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8b2b3f4f..26eb52c1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,10 +19,10 @@ importers: version: link:packages/sheriff-create-config '@turbo/gen': specifier: ^2.0.9 - version: 2.0.9(@types/node@22.3.0)(typescript@5.5.4) + version: 2.0.9(@types/node@22.5.1)(typescript@5.5.4) knip: specifier: ^5.25.1 - version: 5.26.0(@types/node@22.3.0)(typescript@5.5.4) + version: 5.26.0(@types/node@22.5.1)(typescript@5.5.4) prettier: specifier: ^3.3.2 version: 3.3.3 @@ -39,7 +39,7 @@ importers: dependencies: astro: specifier: ^4.12.2 - version: 4.12.2(@types/node@20.14.10)(terser@5.31.0)(typescript@5.5.4) + version: 4.12.2(@types/node@22.5.1)(terser@5.31.0)(typescript@5.5.4) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -57,14 +57,14 @@ importers: version: 18.3.1(react@18.3.1) vitest: specifier: ^2.0.3 - version: 2.0.3(@types/node@20.14.10)(terser@5.31.0) + version: 2.0.3(@types/node@22.5.1)(terser@5.31.0) devDependencies: '@storybook/react': specifier: ^7.6.20 version: 7.6.20(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@types/node': - specifier: ^20.14.10 - version: 20.14.10 + specifier: ^22.5.1 + version: 22.5.1 '@types/react': specifier: ^18.3.3 version: 18.3.3 @@ -157,8 +157,8 @@ importers: specifier: ^4.17.12 version: 4.17.12 '@types/node': - specifier: ^20.14.10 - version: 20.14.10 + specifier: ^22.5.1 + version: 22.5.1 '@types/react': specifier: ^18.3.3 version: 18.3.3 @@ -203,7 +203,7 @@ importers: version: 2.6.4(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) '@vitest/eslint-plugin': specifier: ^1.0.3 - version: 1.0.3(@typescript-eslint/utils@8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.3(@types/node@20.14.10)(terser@5.31.0)) + version: 1.0.3(@typescript-eslint/utils@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.3(@types/node@22.5.1)(terser@5.31.0)) eslint: specifier: ^9.9.0 version: 9.9.0(jiti@1.21.6) @@ -221,10 +221,10 @@ importers: version: 1.1.1(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) eslint-plugin-import: specifier: ^2.27.5 - version: 2.29.1(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.9.0(jiti@1.21.6)) + version: 2.29.1(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-jest: specifier: ^28.8.0 - version: 28.8.0(@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + version: 28.8.0(@typescript-eslint/eslint-plugin@8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) eslint-plugin-jsdoc: specifier: ^48.11.0 version: 48.11.0(eslint@9.9.0(jiti@1.21.6)) @@ -236,7 +236,7 @@ importers: version: 7.5.3(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-playwright: specifier: ^1.6.2 - version: 1.6.2(eslint-plugin-jest@28.8.0(@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6)) + version: 1.6.2(eslint-plugin-jest@28.8.0(@typescript-eslint/eslint-plugin@8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-react: specifier: ^7.35.0 version: 7.35.0(eslint@9.9.0(jiti@1.21.6)) @@ -268,8 +268,8 @@ importers: specifier: ^4.17.21 version: 4.17.21 typescript-eslint: - specifier: ^8.1.0 - version: 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + specifier: ^8.3.0 + version: 8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) devDependencies: '@sherifforg/types': specifier: workspace:* @@ -287,8 +287,8 @@ importers: specifier: ^4.17.6 version: 4.17.6 '@types/node': - specifier: ^20.14.10 - version: 20.14.10 + specifier: ^22.5.1 + version: 22.5.1 eslint-define-config: specifier: ^2.1.0 version: 2.1.0 @@ -321,16 +321,16 @@ importers: version: 2.6.4(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) '@vitest/eslint-plugin': specifier: ^1.0.3 - version: 1.0.3(@typescript-eslint/utils@8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.3(@types/node@20.14.10)(terser@5.31.0)) + version: 1.0.3(@typescript-eslint/utils@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.3(@types/node@22.5.1)(terser@5.31.0)) confusing-browser-globals: specifier: ^1.0.11 version: 1.0.11 eslint-config-flat-gitignore: - specifier: ^0.1.8 - version: 0.1.8 + specifier: ^0.3.0 + version: 0.3.0(eslint@9.9.0(jiti@1.21.6)) eslint-import-resolver-typescript: - specifier: ^3.5.5 - version: 3.6.1(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.0(jiti@1.21.6)) + specifier: ^3.6.3 + version: 3.6.3(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-arrow-return-style: specifier: ^1.3.0 version: 1.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) @@ -342,10 +342,10 @@ importers: version: 1.1.1(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) eslint-plugin-import: specifier: ^2.27.5 - version: 2.29.1(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.9.0(jiti@1.21.6)) + version: 2.29.1(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-jest: specifier: ^28.8.0 - version: 28.8.0(@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + version: 28.8.0(@typescript-eslint/eslint-plugin@8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) eslint-plugin-jsdoc: specifier: ^48.11.0 version: 48.11.0(eslint@9.9.0(jiti@1.21.6)) @@ -357,7 +357,7 @@ importers: version: 7.5.3(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-playwright: specifier: ^1.6.2 - version: 1.6.2(eslint-plugin-jest@28.8.0(@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6)) + version: 1.6.2(eslint-plugin-jest@28.8.0(@typescript-eslint/eslint-plugin@8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6)) eslint-plugin-react: specifier: ^7.35.0 version: 7.35.0(eslint@9.9.0(jiti@1.21.6)) @@ -389,8 +389,8 @@ importers: specifier: ^15.9.0 version: 15.9.0 typescript-eslint: - specifier: ^8.1.0 - version: 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + specifier: ^8.3.0 + version: 8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) devDependencies: '@arethetypeswrong/cli': specifier: ^0.15.4 @@ -414,11 +414,11 @@ importers: specifier: ^4.17.6 version: 4.17.6 '@types/node': - specifier: ^20.14.10 - version: 20.14.10 + specifier: ^22.5.1 + version: 22.5.1 '@typescript-eslint/utils': - specifier: ^8.1.0 - version: 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + specifier: ^8.3.0 + version: 8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) eslint: specifier: ^9.9.0 version: 9.9.0(jiti@1.21.6) @@ -481,8 +481,8 @@ importers: specifier: ^4.17.12 version: 4.17.12 '@types/node': - specifier: ^20.14.10 - version: 20.14.10 + specifier: ^22.5.1 + version: 22.5.1 '@types/yargs': specifier: ^17.0.32 version: 17.0.32 @@ -560,8 +560,8 @@ importers: specifier: ^4.17.12 version: 4.17.12 '@types/node': - specifier: ^20.14.10 - version: 20.14.10 + specifier: ^22.5.1 + version: 22.5.1 '@types/yargs': specifier: ^17.0.32 version: 17.0.32 @@ -590,8 +590,8 @@ importers: packages/sheriff-types: devDependencies: '@types/node': - specifier: ^20.14.10 - version: 20.14.10 + specifier: ^22.5.1 + version: 22.5.1 publint: specifier: ^0.2.10 version: 0.2.10 @@ -614,8 +614,8 @@ importers: specifier: ^4.17.12 version: 4.17.12 '@types/node': - specifier: ^20.14.10 - version: 20.14.10 + specifier: ^22.5.1 + version: 22.5.1 eslint: specifier: ^9.9.0 version: 9.9.0(jiti@1.21.6) @@ -2492,6 +2492,10 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@nolyfill/is-core-module@1.0.39': + resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} + engines: {node: '>=12.4.0'} + '@npmcli/agent@2.2.2': resolution: {integrity: sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==} engines: {node: ^16.14.0 || >=18.0.0} @@ -3035,14 +3039,14 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@18.19.39': - resolution: {integrity: sha512-nPwTRDKUctxw3di5b4TfT3I0sWDiWoPQCZjXhvdkINntwr8lcoVCKsTgnXeRubKIlfnV+eN/HYk6Jb40tbcEAQ==} + '@types/node@18.19.47': + resolution: {integrity: sha512-1f7dB3BL/bpd9tnDJrrHb66Y+cVrhxSOTGorRNdHwYTUlTay3HuTDPKo9a/4vX9pMQkhYBcAbL4jQdNlhCFP9A==} - '@types/node@20.14.10': - resolution: {integrity: sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==} + '@types/node@20.16.2': + resolution: {integrity: sha512-91s/n4qUPV/wg8eE9KHYW1kouTfDk2FPGjXbBMfRWP/2vg1rCXNQL1OCabwGs0XSdukuK+MwCDXE30QpSeMUhQ==} - '@types/node@22.3.0': - resolution: {integrity: sha512-nrWpWVaDZuaVc5X84xJ0vNrLvomM205oQyLsRt7OHNZbSHslcWsvgFR7O7hire2ZonjLrWBbedmotmIlJDVd6g==} + '@types/node@22.5.1': + resolution: {integrity: sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -3131,8 +3135,8 @@ packages: '@types/yargs@17.0.32': resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} - '@typescript-eslint/eslint-plugin@8.1.0': - resolution: {integrity: sha512-LlNBaHFCEBPHyD4pZXb35mzjGkuGKXU5eeCA1SxvHfiRES0E82dOounfVpL4DCqYvJEKab0bZIA0gCRpdLKkCw==} + '@typescript-eslint/eslint-plugin@8.3.0': + resolution: {integrity: sha512-FLAIn63G5KH+adZosDYiutqkOkYEx0nvcwNNfJAf+c7Ae/H35qWwTYvPZUKFj5AS+WfHG/WJJfWnDnyNUlp8UA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -3152,8 +3156,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.1.0': - resolution: {integrity: sha512-U7iTAtGgJk6DPX9wIWPPOlt1gO57097G06gIcl0N0EEnNw8RGD62c+2/DiP/zL7KrkqnnqF7gtFGR7YgzPllTA==} + '@typescript-eslint/parser@8.3.0': + resolution: {integrity: sha512-h53RhVyLu6AtpUzVCYLPhZGL5jzTD9fZL+SYf/+hYOx2bDkyQXztXSc4tbvKYHzfMXExMLiL9CWqJmVz6+78IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3182,6 +3186,10 @@ packages: resolution: {integrity: sha512-OFn80B38yD6WwpoHU2Tz/fTz7CgFqInllBoC3WP+/jLbTb4gGPTy9HBSTsbDWkMdN55XlVU0mMDYAtgvlUspGw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.3.0': + resolution: {integrity: sha512-mz2X8WcN2nVu5Hodku+IR8GgCOl4C0G/Z1ruaWN4dgec64kDBabuXyPAr+/RgJtumv8EEkqIzf3X2U5DUKB2eg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/type-utils@8.1.0': resolution: {integrity: sha512-oLYvTxljVvsMnldfl6jIKxTaU7ok7km0KDrwOt1RHYu6nxlhN3TIx8k5Q52L6wR33nOwDgM7VwW1fT1qMNfFIA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3191,6 +3199,15 @@ packages: typescript: optional: true + '@typescript-eslint/type-utils@8.3.0': + resolution: {integrity: sha512-wrV6qh//nLbfXZQoj32EXKmwHf4b7L+xXLrP3FZ0GOUU72gSvLjeWUl5J5Ue5IwRxIV1TfF73j/eaBapxx99Lg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/types@5.62.0': resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3211,6 +3228,10 @@ packages: resolution: {integrity: sha512-6a9QSK396YqmiBKPkJtxsgZZZVjYQ6wQ/TlI0C65z7vInaETuC6HAHD98AGLC8DyIPqHytvNuS8bBVvNLKyqvQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.3.0': + resolution: {integrity: sha512-y6sSEeK+facMaAyixM36dQ5NVXTnKWunfD1Ft4xraYqxP0lC0POJmIaL/mw72CUMqjY9qfyVfXafMeaUj0noWw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@5.62.0': resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3256,6 +3277,15 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@8.3.0': + resolution: {integrity: sha512-Mq7FTHl0R36EmWlCJWojIC1qn/ZWo2YiWYc1XVtasJ7FIgjo0MVv9rZWXEE7IK2CGrtwe1dVOxWwqXUdNgfRCA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/utils@5.62.0': resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3280,6 +3310,12 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/utils@8.3.0': + resolution: {integrity: sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/visitor-keys@5.62.0': resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3300,6 +3336,10 @@ packages: resolution: {integrity: sha512-sbgsPMW9yLvS7IhCi8IpuK1oBmtbWUNP+hBdwl/I9nzqVsszGnNGti5r9dUtF5RLivHUFFIdRvLiTsPhzSyJ3Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.3.0': + resolution: {integrity: sha512-RmZwrTbQ9QveF15m/Cl28n0LXD6ea2CjkhH5rQ55ewz3H24w+AMCJHPVYaZ8/0HoG8Z3cLLFFycRXxeO2tz9FA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -4552,6 +4592,10 @@ packages: resolution: {integrity: sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==} engines: {node: '>=10.13.0'} + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} + engines: {node: '>=10.13.0'} + enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -4665,8 +4709,10 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-config-flat-gitignore@0.1.8: - resolution: {integrity: sha512-OEUbS2wzzYtUfshjOqzFo4Bl4lHykXUdM08TCnYNl7ki+niW4Q1R0j0FDFDr0vjVsI5ZFOz5LvluxOP+Ew+dYw==} + eslint-config-flat-gitignore@0.3.0: + resolution: {integrity: sha512-0Ndxo4qGhcewjTzw52TK06Mc00aDtHNTdeeW2JfONgDcLkRO/n/BteMRzNVpLQYxdCC/dFEilfM9fjjpGIJ9Og==} + peerDependencies: + eslint: ^9.5.0 eslint-define-config@2.1.0: resolution: {integrity: sha512-QUp6pM9pjKEVannNAbSJNeRuYwW3LshejfyBBpjeMGaJjaDUpVps4C6KVR8R7dWZnD3i0synmrE36znjTkJvdQ==} @@ -4675,12 +4721,18 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-import-resolver-typescript@3.6.1: - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + eslint-import-resolver-typescript@3.6.3: + resolution: {integrity: sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' + eslint-plugin-import-x: '*' + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true eslint-mdx@3.1.5: resolution: {integrity: sha512-ynztX0k7CQ3iDL7fDEIeg3g0O/d6QPv7IBI9fdYLhXp5fAp0fi8X22xF/D3+Pk0f90R27uwqa1clHpay6t0l8Q==} @@ -4709,6 +4761,27 @@ packages: eslint-import-resolver-webpack: optional: true + eslint-module-utils@2.8.2: + resolution: {integrity: sha512-3XnC5fDyc8M4J2E8pt8pmSVRX2M+5yWMCfI/kDZwauQeFgzQOuhcRBFKjTeJagqgk4sFKxe1mvNVnaWwImx/Tg==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + eslint-plugin-arrow-return-style@1.3.0: resolution: {integrity: sha512-lz1+SihL5FYBWcil+zspymSnjcArZyI0B9BSH5hZLhuu8UAaEEkJfMRmqIpF09n1braP7nLhN9mvcmnqRw/xxA==} peerDependencies: @@ -5276,6 +5349,9 @@ packages: get-tsconfig@4.7.5: resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + get-tsconfig@4.8.0: + resolution: {integrity: sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==} + get-uri@6.0.3: resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==} engines: {node: '>= 14'} @@ -5754,6 +5830,9 @@ packages: resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} engines: {node: '>=6'} + is-bun-module@1.1.0: + resolution: {integrity: sha512-4mTAVPlrXpaN3jtF0lsnPCMGnq4+qZjVIKq0HCpfcqf8OC1SM5oATCIAPM5V5FN05qp2NNnFndphmdZS9CV3hA==} + is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -7068,10 +7147,6 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - parse-gitignore@2.0.0: - resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} - engines: {node: '>=14'} - parse-imports@2.1.1: resolution: {integrity: sha512-TDT4HqzUiTMO1wJRwg/t/hYk8Wdp3iF/ToMIlAoVQfL1Xs/sTxq1dKWSMjMbQmIarfWKymOyly40+zmPHXMqCA==} engines: {node: '>= 18'} @@ -8807,8 +8882,8 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typescript-eslint@8.1.0: - resolution: {integrity: sha512-prB2U3jXPJLpo1iVLN338Lvolh6OrcCZO+9Yv6AR+tvegPPptYCDBIHiEEUdqRi8gAv2bXNKfMUrgAd2ejn/ow==} + typescript-eslint@8.3.0: + resolution: {integrity: sha512-EvWjwWLwwKDIJuBjk2I6UkV8KEQcwZ0VM10nR1rIunRDIP67QJTZAHBXTX0HW/oI1H10YESF8yWie8fRQxjvFA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -8845,8 +8920,8 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - undici-types@6.18.2: - resolution: {integrity: sha512-5ruQbENj95yDYJNS3TvcaxPMshV7aizdv/hWYjGIKoANWKjhWNBsr2YEuYZKodQulB1b8l7ILOuDQep3afowQQ==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} @@ -11556,7 +11631,7 @@ snapshots: '@eslint-react/tools': 1.10.1 '@eslint-react/types': 1.10.1(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) '@typescript-eslint/types': 8.2.0 - '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4) '@typescript-eslint/utils': 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) birecord: 0.1.1 string-ts: 2.2.0 @@ -11816,7 +11891,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.14.10 + '@types/node': 22.5.1 '@types/yargs': 17.0.32 chalk: 4.1.2 @@ -11987,6 +12062,8 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + '@nolyfill/is-core-module@1.0.39': {} + '@npmcli/agent@2.2.2': dependencies: agent-base: 7.1.1 @@ -12178,7 +12255,7 @@ snapshots: '@storybook/node-logger': 7.6.20 '@storybook/types': 7.6.20 '@types/find-cache-dir': 3.2.1 - '@types/node': 18.19.39 + '@types/node': 18.19.47 '@types/node-fetch': 2.6.11 '@types/pretty-hrtime': 1.0.3 chalk: 4.1.2 @@ -12263,7 +12340,7 @@ snapshots: '@storybook/types': 7.6.20 '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 - '@types/node': 18.19.39 + '@types/node': 18.19.47 acorn: 7.4.1 acorn-jsx: 5.3.2(acorn@7.4.1) acorn-walk: 7.2.0 @@ -12317,7 +12394,7 @@ snapshots: dependencies: '@stylistic/eslint-plugin-js': 2.6.4(eslint@9.9.0(jiti@1.21.6)) '@types/eslint': 9.6.0 - '@typescript-eslint/utils': 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/utils': 8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) eslint: 9.9.0(jiti@1.21.6) transitivePeerDependencies: - supports-color @@ -12461,7 +12538,7 @@ snapshots: '@tsconfig/node16@1.0.4': {} - '@turbo/gen@2.0.9(@types/node@22.3.0)(typescript@5.5.4)': + '@turbo/gen@2.0.9(@types/node@22.5.1)(typescript@5.5.4)': dependencies: '@turbo/workspaces': 2.0.9 commander: 10.0.1 @@ -12471,7 +12548,7 @@ snapshots: node-plop: 0.26.3 picocolors: 1.0.1 proxy-agent: 6.4.0 - ts-node: 10.9.2(@types/node@22.3.0)(typescript@5.5.4) + ts-node: 10.9.2(@types/node@22.5.1)(typescript@5.5.4) update-check: 1.5.4 validate-npm-package-name: 5.0.1 transitivePeerDependencies: @@ -12524,26 +12601,26 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.14.10 + '@types/node': 22.5.1 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.14.10 + '@types/node': 22.5.1 '@types/concat-stream@2.0.3': dependencies: - '@types/node': 20.14.10 + '@types/node': 22.5.1 '@types/confusing-browser-globals@1.0.3': {} '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.5 - '@types/node': 20.14.10 + '@types/node': 22.5.1 '@types/connect@3.4.38': dependencies: - '@types/node': 20.14.10 + '@types/node': 22.5.1 '@types/cookie@0.6.0': {} @@ -12583,7 +12660,7 @@ snapshots: '@types/express-serve-static-core@4.19.5': dependencies: - '@types/node': 20.14.10 + '@types/node': 22.5.1 '@types/qs': 6.9.15 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -12600,7 +12677,7 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.14.10 + '@types/node': 22.5.1 '@types/gtag.js@0.0.12': {} @@ -12618,7 +12695,7 @@ snapshots: '@types/http-proxy@1.17.14': dependencies: - '@types/node': 20.14.10 + '@types/node': 22.5.1 '@types/inquirer@6.5.0': dependencies: @@ -12669,28 +12746,28 @@ snapshots: '@types/node-fetch@2.6.11': dependencies: - '@types/node': 20.14.10 + '@types/node': 22.5.1 form-data: 4.0.0 '@types/node-forge@1.3.11': dependencies: - '@types/node': 20.14.10 + '@types/node': 22.5.1 '@types/node@12.20.55': {} '@types/node@17.0.45': {} - '@types/node@18.19.39': + '@types/node@18.19.47': dependencies: undici-types: 5.26.5 - '@types/node@20.14.10': + '@types/node@20.16.2': dependencies: - undici-types: 5.26.5 + undici-types: 6.19.8 - '@types/node@22.3.0': + '@types/node@22.5.1': dependencies: - undici-types: 6.18.2 + undici-types: 6.19.8 '@types/normalize-package-data@2.4.4': {} @@ -12740,7 +12817,7 @@ snapshots: '@types/sax@1.2.7': dependencies: - '@types/node': 20.14.10 + '@types/node': 22.5.1 '@types/semver@6.2.7': {} @@ -12749,7 +12826,7 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.14.10 + '@types/node': 22.5.1 '@types/serve-index@1.9.4': dependencies: @@ -12758,18 +12835,18 @@ snapshots: '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.14.10 + '@types/node': 22.5.1 '@types/send': 0.17.4 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.14.10 + '@types/node': 22.5.1 '@types/supports-color@8.1.3': {} '@types/through@0.0.33': dependencies: - '@types/node': 20.14.10 + '@types/node': 22.5.1 '@types/tinycolor2@1.4.6': {} @@ -12779,7 +12856,7 @@ snapshots: '@types/ws@8.5.10': dependencies: - '@types/node': 20.14.10 + '@types/node': 22.5.1 '@types/yargs-parser@21.0.3': {} @@ -12787,14 +12864,14 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - '@typescript-eslint/scope-manager': 8.1.0 - '@typescript-eslint/type-utils': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - '@typescript-eslint/utils': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.1.0 + '@typescript-eslint/parser': 8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.3.0 + '@typescript-eslint/type-utils': 8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/utils': 8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.3.0 eslint: 9.9.0(jiti@1.21.6) graphemer: 1.4.0 ignore: 5.3.2 @@ -12818,12 +12895,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + '@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: - '@typescript-eslint/scope-manager': 8.1.0 - '@typescript-eslint/types': 8.1.0 - '@typescript-eslint/typescript-estree': 8.1.0(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 8.1.0 + '@typescript-eslint/scope-manager': 8.3.0 + '@typescript-eslint/types': 8.3.0 + '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.3.0 debug: 4.3.6 eslint: 9.9.0(jiti@1.21.6) optionalDependencies: @@ -12856,6 +12933,11 @@ snapshots: '@typescript-eslint/types': 8.2.0 '@typescript-eslint/visitor-keys': 8.2.0 + '@typescript-eslint/scope-manager@8.3.0': + dependencies: + '@typescript-eslint/types': 8.3.0 + '@typescript-eslint/visitor-keys': 8.3.0 + '@typescript-eslint/type-utils@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: '@typescript-eslint/typescript-estree': 8.1.0(typescript@5.5.4) @@ -12868,6 +12950,18 @@ snapshots: - eslint - supports-color + '@typescript-eslint/type-utils@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + dependencies: + '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4) + '@typescript-eslint/utils': 8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + debug: 4.3.6 + ts-api-utils: 1.3.0(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - eslint + - supports-color + '@typescript-eslint/types@5.62.0': {} '@typescript-eslint/types@6.21.0': {} @@ -12878,6 +12972,8 @@ snapshots: '@typescript-eslint/types@8.2.0': {} + '@typescript-eslint/types@8.3.0': {} + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.5.4)': dependencies: '@typescript-eslint/types': 5.62.0 @@ -12952,6 +13048,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.3.0(typescript@5.5.4)': + dependencies: + '@typescript-eslint/types': 8.3.0 + '@typescript-eslint/visitor-keys': 8.3.0 + debug: 4.3.6 + fast-glob: 3.3.2 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@5.62.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) @@ -13003,6 +13114,17 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.0(jiti@1.21.6)) + '@typescript-eslint/scope-manager': 8.3.0 + '@typescript-eslint/types': 8.3.0 + '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4) + eslint: 9.9.0(jiti@1.21.6) + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/visitor-keys@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 @@ -13028,15 +13150,20 @@ snapshots: '@typescript-eslint/types': 8.2.0 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.3.0': + dependencies: + '@typescript-eslint/types': 8.3.0 + eslint-visitor-keys: 3.4.3 + '@ungap/structured-clone@1.2.0': {} - '@vitest/eslint-plugin@1.0.3(@typescript-eslint/utils@8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.3(@types/node@20.14.10)(terser@5.31.0))': + '@vitest/eslint-plugin@1.0.3(@typescript-eslint/utils@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4)(vitest@2.0.3(@types/node@22.5.1)(terser@5.31.0))': dependencies: eslint: 9.9.0(jiti@1.21.6) optionalDependencies: - '@typescript-eslint/utils': 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/utils': 8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) typescript: 5.5.4 - vitest: 2.0.3(@types/node@20.14.10)(terser@5.31.0) + vitest: 2.0.3(@types/node@22.5.1)(terser@5.31.0) '@vitest/expect@2.0.3': dependencies: @@ -13404,7 +13531,7 @@ snapshots: - supports-color - typescript - astro@4.12.2(@types/node@20.14.10)(terser@5.31.0)(typescript@5.5.4): + astro@4.12.2(@types/node@22.5.1)(terser@5.31.0)(typescript@5.5.4): dependencies: '@astrojs/compiler': 2.9.2 '@astrojs/internal-helpers': 0.4.1 @@ -13462,8 +13589,8 @@ snapshots: tsconfck: 3.1.1(typescript@5.5.4) unist-util-visit: 5.0.0 vfile: 6.0.2 - vite: 5.3.4(@types/node@20.14.10)(terser@5.31.0) - vitefu: 0.2.5(vite@5.3.4(@types/node@20.14.10)(terser@5.31.0)) + vite: 5.3.4(@types/node@22.5.1)(terser@5.31.0) + vitefu: 0.2.5(vite@5.3.4(@types/node@22.5.1)(terser@5.31.0)) which-pm: 3.0.0 yargs-parser: 21.1.1 zod: 3.23.8 @@ -14503,6 +14630,11 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 + enhanced-resolve@5.17.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 @@ -14726,10 +14858,11 @@ snapshots: eslint: 9.9.0(jiti@1.21.6) semver: 7.6.3 - eslint-config-flat-gitignore@0.1.8: + eslint-config-flat-gitignore@0.3.0(eslint@9.9.0(jiti@1.21.6)): dependencies: + '@eslint/compat': 1.1.1 + eslint: 9.9.0(jiti@1.21.6) find-up-simple: 1.0.0 - parse-gitignore: 2.0.0 eslint-define-config@2.1.0: {} @@ -14741,17 +14874,19 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.0(jiti@1.21.6)): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.0(jiti@1.21.6)): dependencies: + '@nolyfill/is-core-module': 1.0.39 debug: 4.3.6 - enhanced-resolve: 5.16.1 + enhanced-resolve: 5.17.1 eslint: 9.9.0(jiti@1.21.6) - eslint-module-utils: 2.8.1(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.0(jiti@1.21.6)))(eslint@9.9.0(jiti@1.21.6)) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.9.0(jiti@1.21.6)) + eslint-module-utils: 2.8.2(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.0(jiti@1.21.6)))(eslint@9.9.0(jiti@1.21.6)) fast-glob: 3.3.2 - get-tsconfig: 4.7.5 - is-core-module: 2.15.0 + get-tsconfig: 4.8.0 + is-bun-module: 1.1.0 is-glob: 4.0.3 + optionalDependencies: + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.9.0(jiti@1.21.6)) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node @@ -14779,14 +14914,24 @@ snapshots: - bluebird - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.0(jiti@1.21.6)))(eslint@9.9.0(jiti@1.21.6)): + eslint-module-utils@2.8.1(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.0(jiti@1.21.6)))(eslint@9.9.0(jiti@1.21.6)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/parser': 8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) eslint: 9.9.0(jiti@1.21.6) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.0(jiti@1.21.6)) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.0(jiti@1.21.6)) + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.8.2(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.0(jiti@1.21.6)))(eslint@9.9.0(jiti@1.21.6)): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + eslint: 9.9.0(jiti@1.21.6) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.0(jiti@1.21.6)) transitivePeerDependencies: - supports-color @@ -14823,7 +14968,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import@2.29.1(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.9.0(jiti@1.21.6)): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.9.0(jiti@1.21.6)): dependencies: array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 @@ -14833,7 +14978,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.9.0(jiti@1.21.6) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.0(jiti@1.21.6)))(eslint@9.9.0(jiti@1.21.6)) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.0(jiti@1.21.6)))(eslint@9.9.0(jiti@1.21.6)) hasown: 2.0.2 is-core-module: 2.15.0 is-glob: 4.0.3 @@ -14844,18 +14989,18 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/parser': 8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest@28.8.0(@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4): + eslint-plugin-jest@28.8.0(@typescript-eslint/eslint-plugin@8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4): dependencies: '@typescript-eslint/utils': 8.2.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) eslint: 9.9.0(jiti@1.21.6) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) transitivePeerDependencies: - supports-color - typescript @@ -14924,12 +15069,12 @@ snapshots: - bluebird - supports-color - eslint-plugin-playwright@1.6.2(eslint-plugin-jest@28.8.0(@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6)): + eslint-plugin-playwright@1.6.2(eslint-plugin-jest@28.8.0(@typescript-eslint/eslint-plugin@8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6)): dependencies: eslint: 9.9.0(jiti@1.21.6) globals: 13.24.0 optionalDependencies: - eslint-plugin-jest: 28.8.0(@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + eslint-plugin-jest: 28.8.0(@typescript-eslint/eslint-plugin@8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) eslint-plugin-react-debug@1.10.1(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4): dependencies: @@ -15238,7 +15383,7 @@ snapshots: eval@0.1.8: dependencies: - '@types/node': 20.14.10 + '@types/node': 22.5.1 require-like: 0.1.2 eventemitter3@4.0.7: {} @@ -15589,6 +15734,10 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + get-tsconfig@4.8.0: + dependencies: + resolve-pkg-maps: 1.0.0 + get-uri@6.0.3: dependencies: basic-ftp: 5.0.5 @@ -16235,6 +16384,10 @@ snapshots: dependencies: builtin-modules: 3.3.0 + is-bun-module@1.1.0: + dependencies: + semver: 7.6.3 + is-callable@1.2.7: {} is-ci@3.0.1: @@ -16454,7 +16607,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.14.10 + '@types/node': 22.5.1 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -16462,13 +16615,13 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.14.10 + '@types/node': 22.5.1 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.14.10 + '@types/node': 22.5.1 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -16555,11 +16708,11 @@ snapshots: kleur@4.1.5: {} - knip@5.26.0(@types/node@22.3.0)(typescript@5.5.4): + knip@5.26.0(@types/node@22.5.1)(typescript@5.5.4): dependencies: '@nodelib/fs.walk': 1.2.8 '@snyk/github-codeowners': 1.1.0 - '@types/node': 22.3.0 + '@types/node': 22.5.1 easy-table: 1.2.0 fast-glob: 3.3.2 jiti: 1.21.6 @@ -17859,8 +18012,6 @@ snapshots: parse-github-url@1.0.2: {} - parse-gitignore@2.0.0: {} - parse-imports@2.1.1: dependencies: es-module-lexer: 1.5.4 @@ -19621,14 +19772,14 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@22.3.0)(typescript@5.5.4): + ts-node@10.9.2(@types/node@22.5.1)(typescript@5.5.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.3.0 + '@types/node': 22.5.1 acorn: 8.12.1 acorn-walk: 8.3.2 arg: 4.1.3 @@ -19783,11 +19934,11 @@ snapshots: typedarray@0.0.6: {} - typescript-eslint@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4): + typescript-eslint@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4): dependencies: - '@typescript-eslint/eslint-plugin': 8.1.0(@typescript-eslint/parser@8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - '@typescript-eslint/parser': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) - '@typescript-eslint/utils': 8.1.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/parser': 8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) + '@typescript-eslint/utils': 8.3.0(eslint@9.9.0(jiti@1.21.6))(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -19827,7 +19978,7 @@ snapshots: undici-types@5.26.5: {} - undici-types@6.18.2: {} + undici-types@6.19.8: {} unicode-canonical-property-names-ecmascript@2.0.0: {} @@ -19847,7 +19998,7 @@ snapshots: '@types/concat-stream': 2.0.3 '@types/debug': 4.1.12 '@types/is-empty': 1.2.3 - '@types/node': 20.14.10 + '@types/node': 20.16.2 '@types/unist': 3.0.2 concat-stream: 2.0.0 debug: 4.3.6 @@ -20089,13 +20240,13 @@ snapshots: unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - vite-node@2.0.3(@types/node@20.14.10)(terser@5.31.0): + vite-node@2.0.3(@types/node@22.5.1)(terser@5.31.0): dependencies: cac: 6.7.14 debug: 4.3.6 pathe: 1.1.2 tinyrainbow: 1.2.0 - vite: 5.3.4(@types/node@20.14.10)(terser@5.31.0) + vite: 5.3.4(@types/node@22.5.1)(terser@5.31.0) transitivePeerDependencies: - '@types/node' - less @@ -20106,21 +20257,21 @@ snapshots: - supports-color - terser - vite@5.3.4(@types/node@20.14.10)(terser@5.31.0): + vite@5.3.4(@types/node@22.5.1)(terser@5.31.0): dependencies: esbuild: 0.21.5 postcss: 8.4.39 rollup: 4.21.0 optionalDependencies: - '@types/node': 20.14.10 + '@types/node': 22.5.1 fsevents: 2.3.3 terser: 5.31.0 - vitefu@0.2.5(vite@5.3.4(@types/node@20.14.10)(terser@5.31.0)): + vitefu@0.2.5(vite@5.3.4(@types/node@22.5.1)(terser@5.31.0)): optionalDependencies: - vite: 5.3.4(@types/node@20.14.10)(terser@5.31.0) + vite: 5.3.4(@types/node@22.5.1)(terser@5.31.0) - vitest@2.0.3(@types/node@20.14.10)(terser@5.31.0): + vitest@2.0.3(@types/node@22.5.1)(terser@5.31.0): dependencies: '@ampproject/remapping': 2.3.0 '@vitest/expect': 2.0.3 @@ -20138,11 +20289,11 @@ snapshots: tinybench: 2.8.0 tinypool: 1.0.0 tinyrainbow: 1.2.0 - vite: 5.3.4(@types/node@20.14.10)(terser@5.31.0) - vite-node: 2.0.3(@types/node@20.14.10)(terser@5.31.0) + vite: 5.3.4(@types/node@22.5.1)(terser@5.31.0) + vite-node: 2.0.3(@types/node@22.5.1)(terser@5.31.0) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.14.10 + '@types/node': 22.5.1 transitivePeerDependencies: - less - lightningcss From e140d5c2cce0a08520872c013a31ccc606f9fb85 Mon Sep 17 00:00:00 2001 From: AndreaPontrandolfo Date: Sat, 31 Aug 2024 13:19:55 +0200 Subject: [PATCH 08/11] added changeset --- .changeset/sour-windows-serve.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .changeset/sour-windows-serve.md diff --git a/.changeset/sour-windows-serve.md b/.changeset/sour-windows-serve.md new file mode 100644 index 00000000..e60b61e4 --- /dev/null +++ b/.changeset/sour-windows-serve.md @@ -0,0 +1,18 @@ +--- +'eslint-config-sheriff': minor +'config-validation-playground': patch +'@sherifforg/create-config': patch +'sheriff-webservices': patch +'@sherifforg/types': patch +'@sheriff/utils': patch +'@sherifforg/cli': patch +'docs-website': patch +--- + +feat(rules): removed react/jsx-props-no-spreading +feat(rules): added no-useless-computed-key +feat(rules): added unicorn/no-unused-properties +feat(rules): restricted the confusingBrowserGlobals +feat(rule): added react/no-this-in-sfc +chore(deps): updated some deps +Closes #247 From f202cfa4296d87ff5a8df0a9023a987ea392407a Mon Sep 17 00:00:00 2001 From: AndreaPontrandolfo Date: Sat, 31 Aug 2024 13:25:12 +0200 Subject: [PATCH 09/11] chore: fixed config validator --- apps/config-validation-playground/src/mocks/InfoButton.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/config-validation-playground/src/mocks/InfoButton.tsx b/apps/config-validation-playground/src/mocks/InfoButton.tsx index 8a9ae432..859cb666 100644 --- a/apps/config-validation-playground/src/mocks/InfoButton.tsx +++ b/apps/config-validation-playground/src/mocks/InfoButton.tsx @@ -1,3 +1,5 @@ +import type { JSX } from 'react'; + interface InfoButtonProps { text: string; } From 3c77c19859125003c01852dccb39f561e7669f6b Mon Sep 17 00:00:00 2001 From: AndreaPontrandolfo Date: Sat, 31 Aug 2024 13:29:35 +0200 Subject: [PATCH 10/11] chore: fixed config validator --- apps/config-validation-playground/src/samples/react.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/config-validation-playground/src/samples/react.tsx b/apps/config-validation-playground/src/samples/react.tsx index 823c2ac1..c9b598f2 100644 --- a/apps/config-validation-playground/src/samples/react.tsx +++ b/apps/config-validation-playground/src/samples/react.tsx @@ -1,3 +1,5 @@ +import type { JSX } from 'react'; + export const MyComponent = (): JSX.Element => { return (
From 19f741887f44b449775e19486d7cbea885abc28c Mon Sep 17 00:00:00 2001 From: AndreaPontrandolfo Date: Sat, 31 Aug 2024 13:51:04 +0200 Subject: [PATCH 11/11] chore: fixed type import --- .../src/components/ComparisonTable.tsx | 2 + .../src/components/ConfigCombinationForm.tsx | 29 +- .../src/components/DynamicSnippetsList.tsx | 24 +- .../components/QueriedRulesMetricsGroup.tsx | 3 +- .../src/components/RulesTable.tsx | 285 ++++++++++-------- .../src/components/TableSkeleton.tsx | 3 +- apps/docs-website/src/pages/index.tsx | 1 + 7 files changed, 193 insertions(+), 154 deletions(-) diff --git a/apps/docs-website/src/components/ComparisonTable.tsx b/apps/docs-website/src/components/ComparisonTable.tsx index ed5021db..7a3800f4 100644 --- a/apps/docs-website/src/components/ComparisonTable.tsx +++ b/apps/docs-website/src/components/ComparisonTable.tsx @@ -1,3 +1,5 @@ +import type { JSX } from 'react'; + interface TableEntry { FlatConfig: '✅' | '❌'; Maintained: '✅' | '❌'; diff --git a/apps/docs-website/src/components/ConfigCombinationForm.tsx b/apps/docs-website/src/components/ConfigCombinationForm.tsx index 6fe10e41..75ff00f7 100644 --- a/apps/docs-website/src/components/ConfigCombinationForm.tsx +++ b/apps/docs-website/src/components/ConfigCombinationForm.tsx @@ -1,7 +1,8 @@ -import { useForm } from "react-hook-form"; -import { DevTool } from "@hookform/devtools"; -import { configCombinationDefaultValues } from "@sherifforg/constants"; -import styles from "./ConfigCombinationForm.module.css"; +import type { JSX } from 'react'; +import { useForm } from 'react-hook-form'; +import { DevTool } from '@hookform/devtools'; +import { configCombinationDefaultValues } from '@sherifforg/constants'; +import styles from './ConfigCombinationForm.module.css'; interface ConfigCombinationFormProps { setTableData: (data: FormInputs) => void; @@ -24,18 +25,18 @@ export const ConfigCombinationForm = ({ }); const handleVitestChange = (isChecked: boolean) => { - setValue("vitest", isChecked, { shouldDirty: true, shouldTouch: true }); + setValue('vitest', isChecked, { shouldDirty: true, shouldTouch: true }); if (isChecked) { - setValue("jest", false, { shouldDirty: true, shouldTouch: true }); + setValue('jest', false, { shouldDirty: true, shouldTouch: true }); } }; const handleJestChange = (isChecked: boolean) => { - setValue("jest", isChecked, { shouldDirty: true, shouldTouch: true }); + setValue('jest', isChecked, { shouldDirty: true, shouldTouch: true }); if (isChecked) { - setValue("vitest", false, { shouldDirty: true, shouldTouch: true }); + setValue('vitest', false, { shouldDirty: true, shouldTouch: true }); } }; @@ -48,7 +49,7 @@ export const ConfigCombinationForm = ({ >
Lodash
- +
{ diff --git a/apps/docs-website/src/components/DynamicSnippetsList.tsx b/apps/docs-website/src/components/DynamicSnippetsList.tsx index 34651667..841884d6 100644 --- a/apps/docs-website/src/components/DynamicSnippetsList.tsx +++ b/apps/docs-website/src/components/DynamicSnippetsList.tsx @@ -1,4 +1,4 @@ -import type React from "react"; +import type { JSX } from 'react'; interface DynamicSnippetsListProps { paths: string[]; @@ -6,12 +6,16 @@ interface DynamicSnippetsListProps { export const DynamicSnippetsList = ({ paths, -}: DynamicSnippetsListProps): React.JSX.Element => - { return
    - {paths.map((path) => - { return
  • - {path} -
  • } - )} -
} -; +}: DynamicSnippetsListProps): JSX.Element => { + return ( +
    + {paths.map((path) => { + return ( +
  • + {path} +
  • + ); + })} +
+ ); +}; diff --git a/apps/docs-website/src/components/QueriedRulesMetricsGroup.tsx b/apps/docs-website/src/components/QueriedRulesMetricsGroup.tsx index 5764df06..3eb26f57 100644 --- a/apps/docs-website/src/components/QueriedRulesMetricsGroup.tsx +++ b/apps/docs-website/src/components/QueriedRulesMetricsGroup.tsx @@ -1,4 +1,5 @@ -import styles from "./QueriedRulesMetricsGroup.module.css"; +import type { JSX } from 'react'; +import styles from './QueriedRulesMetricsGroup.module.css'; interface QueriedRulesMetricsGroupProps { totalAvailableRulesAmount: number; diff --git a/apps/docs-website/src/components/RulesTable.tsx b/apps/docs-website/src/components/RulesTable.tsx index 3922e0e7..cda24e03 100644 --- a/apps/docs-website/src/components/RulesTable.tsx +++ b/apps/docs-website/src/components/RulesTable.tsx @@ -1,22 +1,22 @@ /* eslint-disable @typescript-eslint/no-unnecessary-condition */ -import { isEmpty } from "lodash-es"; -import { useEffect, useRef, useState } from "react"; -import { DebounceInput } from "react-debounce-input"; -import Select from "react-select"; -import { configCombinationDefaultValues } from "@sherifforg/constants"; -import type { Entry, ServerResponse, SheriffSettings } from "@sherifforg/types"; +import { isEmpty } from 'lodash-es'; +import { type JSX, useEffect, useRef, useState } from 'react'; +import { DebounceInput } from 'react-debounce-input'; +import Select from 'react-select'; +import { configCombinationDefaultValues } from '@sherifforg/constants'; +import type { Entry, ServerResponse, SheriffSettings } from '@sherifforg/types'; import { createColumnHelper, flexRender, getCoreRowModel, getFilteredRowModel, useReactTable, -} from "@tanstack/react-table"; -import { filterDuplicateRules } from "../utils/filterDuplicatedRules"; -import { ConfigCombinationForm } from "./ConfigCombinationForm"; -import { QueriedRulesMetricsGroup } from "./QueriedRulesMetricsGroup"; -import styles from "./RulesTable.module.css"; -import { TableSkeleton } from "./TableSkeleton"; +} from '@tanstack/react-table'; +import { filterDuplicateRules } from '../utils/filterDuplicatedRules'; +import { ConfigCombinationForm } from './ConfigCombinationForm'; +import { QueriedRulesMetricsGroup } from './QueriedRulesMetricsGroup'; +import styles from './RulesTable.module.css'; +import { TableSkeleton } from './TableSkeleton'; interface FilterOption { value: string; @@ -26,33 +26,35 @@ interface FilterOption { const columnHelper = createColumnHelper(); const columns = [ - columnHelper.accessor("ruleName", { - header: "Rule", + columnHelper.accessor('ruleName', { + header: 'Rule', cell: (info) => {info.getValue()}, }), - columnHelper.accessor("parentPluginName", { - header: "Plugin", + columnHelper.accessor('parentPluginName', { + header: 'Plugin', cell: (info) => info.getValue(), }), - columnHelper.accessor("severity", { - header: "Severity", + columnHelper.accessor('severity', { + header: 'Severity', cell: (info) => info.getValue(), }), - columnHelper.accessor("ruleOptions", { - header: "Options", + columnHelper.accessor('ruleOptions', { + header: 'Options', cell: (info) => - isEmpty(info.getValue()) ? "No options" : JSON.stringify(info.getValue()), + isEmpty(info.getValue()) ? 'No options' : JSON.stringify(info.getValue()), }), - columnHelper.accessor("docs", { - header: "Docs", - cell: (info) => - { return - {info.getValue().description || info.getValue().url} - } - , + columnHelper.accessor('docs', { + header: 'Docs', + cell: (info) => { + return ( + + {info.getValue().description || info.getValue().url} + + ); + }, }), - columnHelper.accessor("affectedFiles", { - header: "Files", + columnHelper.accessor('affectedFiles', { + header: 'Files', cell: (info) => info.getValue(), }), ]; @@ -65,8 +67,8 @@ export const RulesTable = (): JSX.Element => { const [configCombination, setConfigCombination] = useState( configCombinationDefaultValues, ); - const [globalFilter, setGlobalFilter] = useState(""); - const [inputValue, setInputValue] = useState(""); + const [globalFilter, setGlobalFilter] = useState(''); + const [inputValue, setInputValue] = useState(''); const [selectValue, setSelectValue] = useState(null); const [tableMaximumAllowedWidth, setTableMaximumAllowedWidth] = useState(0); @@ -87,14 +89,14 @@ export const RulesTable = (): JSX.Element => { setIsLoading(true); try { const response = await fetch( - process?.env?.NODE_ENV === "development" - ? "http://localhost:5001/api/get-new-sheriff-config" - : "https://sheriff-webservices.onrender.com/api/get-new-sheriff-config", + process?.env?.NODE_ENV === 'development' + ? 'http://localhost:5001/api/get-new-sheriff-config' + : 'https://sheriff-webservices.onrender.com/api/get-new-sheriff-config', { - method: "POST", + method: 'POST', headers: { - "Content-Type": "application/json", - "Access-Control-Allow-Origin": "*", + 'Content-Type': 'application/json', + 'Access-Control-Allow-Origin': '*', }, body: JSON.stringify(configCombination), }, @@ -122,7 +124,7 @@ export const RulesTable = (): JSX.Element => { }; const resetInputValue = () => { - setInputValue(""); + setInputValue(''); }; const table = useReactTable({ @@ -161,64 +163,80 @@ export const RulesTable = (): JSX.Element => { placeholder="Filter by plugins..." value={selectValue} styles={{ - control: (baseStyles) => { return { - ...baseStyles, - minWidth: "300px", - backgroundColor: - "var(--ifm-color-secondary-contrast-background)", - } }, - input: (baseStyles) => { return { - ...baseStyles, - color: "var(--ifm-font-color-primary)", - } }, - menu: (baseStyles) => { return { - ...baseStyles, - backgroundColor: - "var(--ifm-color-secondary-contrast-background)", - } }, - option: (baseStyles, state) => { return { - ...baseStyles, - transition: - "color var(--ifm-transition-fast) var(--ifm-transition-timing-default)", - backgroundColor: state.isFocused - ? "var(--ifm-menu-color-background-hover)" - : "var(--ifm-color-secondary-contrast-background)", - color: state.isFocused - ? "var(--ifm-menu-color)" - : "var(--ifm-font-color-secondary)", - ":active": { - backgroundColor: "var(--ifm-menu-color-background-hover)", - }, - } }, - singleValue: (baseStyles) => { return { - ...baseStyles, - color: "var(--ifm-font-color-primary)", - } }, - clearIndicator: (baseStyles) => { return { - ...baseStyles, - color: "var(--ifm-font-color-secondary)", - ":hover": { - color: "var(--ifm-font-color-primary)", - }, - cursor: "pointer", - } }, - dropdownIndicator: (baseStyles) => { return { - ...baseStyles, - color: "var(--ifm-font-color-secondary)", - ":hover": { - color: "var(--ifm-font-color-primary)", - }, - cursor: "pointer", - } }, + control: (baseStyles) => { + return { + ...baseStyles, + minWidth: '300px', + backgroundColor: + 'var(--ifm-color-secondary-contrast-background)', + }; + }, + input: (baseStyles) => { + return { + ...baseStyles, + color: 'var(--ifm-font-color-primary)', + }; + }, + menu: (baseStyles) => { + return { + ...baseStyles, + backgroundColor: + 'var(--ifm-color-secondary-contrast-background)', + }; + }, + option: (baseStyles, state) => { + return { + ...baseStyles, + transition: + 'color var(--ifm-transition-fast) var(--ifm-transition-timing-default)', + backgroundColor: state.isFocused + ? 'var(--ifm-menu-color-background-hover)' + : 'var(--ifm-color-secondary-contrast-background)', + color: state.isFocused + ? 'var(--ifm-menu-color)' + : 'var(--ifm-font-color-secondary)', + ':active': { + backgroundColor: 'var(--ifm-menu-color-background-hover)', + }, + }; + }, + singleValue: (baseStyles) => { + return { + ...baseStyles, + color: 'var(--ifm-font-color-primary)', + }; + }, + clearIndicator: (baseStyles) => { + return { + ...baseStyles, + color: 'var(--ifm-font-color-secondary)', + ':hover': { + color: 'var(--ifm-font-color-primary)', + }, + cursor: 'pointer', + }; + }, + dropdownIndicator: (baseStyles) => { + return { + ...baseStyles, + color: 'var(--ifm-font-color-secondary)', + ':hover': { + color: 'var(--ifm-font-color-primary)', + }, + cursor: 'pointer', + }; + }, }} - options={pluginsNames.map((pluginName) => { return { - value: pluginName, - label: pluginName, - } })} + options={pluginsNames.map((pluginName) => { + return { + value: pluginName, + label: pluginName, + }; + })} onChange={(selectedOption) => { setSelectValue(selectedOption); resetInputValue(); - setGlobalFilter(selectedOption?.value ?? ""); + setGlobalFilter(selectedOption?.value ?? ''); }} />
@@ -233,43 +251,54 @@ export const RulesTable = (): JSX.Element => { ) : ( - {table.getHeaderGroups().map((headerGroup) => - { return - {headerGroup.headers.map((header) => - { return } - )} - } - )} + {table.getHeaderGroups().map((headerGroup) => { + return ( + + {headerGroup.headers.map((header) => { + return ( + + ); + })} + + ); + })} - {table.getRowModel().rows.map((row) => - { return - {row.getVisibleCells().map((cell) => - { return } - )} - } - )} + {table.getRowModel().rows.map((row) => { + return ( + + {row.getVisibleCells().map((cell) => { + return ( + + ); + })} + + ); + })}
- {header.isPlaceholder - ? null - : flexRender( - header.column.columnDef.header, - header.getContext(), - )} -
+ {header.isPlaceholder + ? null + : flexRender( + header.column.columnDef.header, + header.getContext(), + )} +
- {flexRender(cell.column.columnDef.cell, cell.getContext())} -
+ {flexRender( + cell.column.columnDef.cell, + cell.getContext(), + )} +
)} diff --git a/apps/docs-website/src/components/TableSkeleton.tsx b/apps/docs-website/src/components/TableSkeleton.tsx index 6d9098c1..8a2711ef 100644 --- a/apps/docs-website/src/components/TableSkeleton.tsx +++ b/apps/docs-website/src/components/TableSkeleton.tsx @@ -1,4 +1,5 @@ -import ContentLoader, { type IContentLoaderProps } from "react-content-loader"; +import type { JSX } from 'react'; +import ContentLoader, { type IContentLoaderProps } from 'react-content-loader'; export const TableSkeleton = (props: IContentLoaderProps): JSX.Element => { return ( diff --git a/apps/docs-website/src/pages/index.tsx b/apps/docs-website/src/pages/index.tsx index afaf444c..f86b2af0 100644 --- a/apps/docs-website/src/pages/index.tsx +++ b/apps/docs-website/src/pages/index.tsx @@ -1,4 +1,5 @@ import { clsx } from 'clsx'; +import type { JSX } from 'react'; import Link from '@docusaurus/Link'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import CodeBlock from '@theme/CodeBlock';