From 7157044d2627837df499bfa876b04e29ccfd5234 Mon Sep 17 00:00:00 2001 From: Anton Zinovyev Date: Mon, 25 Nov 2024 21:29:15 +0100 Subject: [PATCH] feat: migrate to ESLint 9 (#921) --- .commitlintrc.js | 4 +- .eslintignore | 5 - .eslintrc.cjs | 16 - .npmignore | 3 +- README.md | 7 +- base.cjs | 233 ------ .prettierrc.cjs => configs/.prettierrc.js | 4 +- configs/base.js | 258 ++++++ configs/jest.js | 4 + configs/md.js | 39 + configs/node.js | 36 + configs/react.js | 24 + configs/typescript-unsafe.js | 17 + configs/typescript.js | 106 +++ configs/vitest.js | 4 + eslint.config.js | 5 + jest.cjs | 6 - md.cjs | 6 - mdx.cjs | 6 - node.cjs | 42 - package.json | 122 +-- prettier.config.js | 1 + react.cjs | 24 - typescript-unsafe.cjs | 12 - typescript.cjs | 111 --- yarn.lock | 946 ++++++++++++---------- 26 files changed, 1101 insertions(+), 940 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.cjs delete mode 100644 base.cjs rename .prettierrc.cjs => configs/.prettierrc.js (82%) create mode 100644 configs/base.js create mode 100644 configs/jest.js create mode 100644 configs/md.js create mode 100644 configs/node.js create mode 100644 configs/react.js create mode 100644 configs/typescript-unsafe.js create mode 100644 configs/typescript.js create mode 100644 configs/vitest.js create mode 100644 eslint.config.js delete mode 100644 jest.cjs delete mode 100644 md.cjs delete mode 100644 mdx.cjs delete mode 100644 node.cjs create mode 100644 prettier.config.js delete mode 100644 react.cjs delete mode 100644 typescript-unsafe.cjs delete mode 100644 typescript.cjs diff --git a/.commitlintrc.js b/.commitlintrc.js index 1f814ca3..8ea100e3 100644 --- a/.commitlintrc.js +++ b/.commitlintrc.js @@ -1,6 +1,8 @@ -export default { +const config = { extends: ['@commitlint/config-conventional'], rules: { 'footer-max-line-length': [1, 'always', 72], }, }; + +export default config; diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 2d836380..00000000 --- a/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -.idea -node_modules -CHANGELOG.md -!.eslintrc.cjs -!.prettierrc.cjs diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 3d925736..00000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,16 +0,0 @@ -module.exports = { - overrides: [ - { - files: ['*.js', '*.cjs', '*.mjs'], - extends: ['./base.cjs'], - }, - { - files: ['*.md'], - extends: ['./md.cjs'], - }, - { - files: ['*.mdx'], - extends: ['./mdx.cjs'], - }, - ], -}; diff --git a/.npmignore b/.npmignore index 0e032802..60956fff 100644 --- a/.npmignore +++ b/.npmignore @@ -1,3 +1,2 @@ * -!*.js -!*.cjs +!/configs/**/* diff --git a/README.md b/README.md index daf024f5..cc8f4536 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,11 @@
-# @react-hookz/eslint-config + + +@react-hookz/eslint-config eslint configuration files used in @react-hookz projects -[![NPM Version](https://flat.badgen.net/npm/v/@react-hookz/eslint-config)](https://www.npmjs.com/package/@react-hookz/eslint-config) -[![NPM Downloads](https://flat.badgen.net/npm/dm/@react-hookz/eslint-config)](https://www.npmjs.com/package/@react-hookz/eslint-config) -[![NPM Dependents](https://flat.badgen.net/npm/dependents/@react-hookz/eslint-config)](https://www.npmjs.com/package/@react-hookz/eslint-config) [![Build](https://img.shields.io/github/actions/workflow/status/react-hookz/eslint-config/CI.yml?branch=master&style=flat-square)](https://github.com/react-hookz/eslint-config/actions)
diff --git a/base.cjs b/base.cjs deleted file mode 100644 index 0f0c9fbb..00000000 --- a/base.cjs +++ /dev/null @@ -1,233 +0,0 @@ -module.exports = { - extends: [ - 'plugin:import/recommended', - 'plugin:promise/recommended', - 'plugin:unicorn/recommended', - 'xo', - 'plugin:prettier/recommended', - ], - plugins: ['no-use-extend-native', 'unicorn', 'promise', 'import', 'eslint-comments'], - parserOptions: { - ecmaVersion: 'latest', - sourceType: 'module', - }, - rules: { - // Annoying rule. - 'default-case': 'off', - - 'no-use-extend-native/no-use-extend-native': 'error', - - 'unicorn/prevent-abbreviations': [ - 'error', - { - checkFilenames: false, - checkDefaultAndNamespaceImports: false, - checkShorthandImports: false, - extendDefaultReplacements: false, - replacements: { - whitelist: { - include: true, - }, - blacklist: { - exclude: true, - }, - master: { - main: true, - }, - slave: { - secondary: true, - }, - props: { - properties: false, - }, - params: { - parameters: false, - }, - el: { - elt: true, - element: true, - }, - elt: { - element: false, - }, - req: { - request: false, - }, - res: { - resp: true, - response: true, - result: true, - }, - resp: { - response: false, - }, - str: { - string: false, - }, - - // Not part of `eslint-plugin-unicorn` - application: { - app: true, - }, - applications: { - apps: true, - }, - - // Part of `eslint-plugin-unicorn` - arr: { - array: true, - }, - e: { - error: true, - event: true, - }, - elem: { - element: true, - }, - len: { - length: true, - }, - msg: { - message: true, - }, - num: { - number: true, - }, - obj: { - object: true, - }, - opts: { - options: true, - }, - param: { - parameter: true, - }, - prev: { - previous: true, - }, - - ret: { - returnValue: true, - }, - temp: { - temporary: true, - }, - tmp: { - temporary: true, - }, - val: { - value: true, - }, - err: { - error: false, - }, - }, - }, - ], - - 'unicorn/no-useless-undefined': 'off', - - 'unicorn/better-regex': [ - 'error', - { - sortCharacterClasses: false, - }, - ], - - // Disabled for now until it becomes more stable: - // https://github.com/sindresorhus/eslint-plugin-unicorn/search?q=consistent-destructuring+is:issue&state=open&type=issues - 'unicorn/consistent-destructuring': 'off', - - 'unicorn/prefer-ternary': ['error', 'only-single-line'], - - // It is up to app to decide file name casing. - 'unicorn/filename-case': 'off', - - 'function-call-argument-newline': 'off', - - 'import/default': 'error', - 'import/export': 'error', - 'import/extensions': ['error', 'ignorePackages'], - 'import/first': 'error', - - 'import/namespace': [ - 'error', - { - allowComputed: true, - }, - ], - 'import/no-absolute-path': 'error', - 'import/no-anonymous-default-export': 'error', - 'import/no-named-default': 'error', - 'import/no-webpack-loader-syntax': 'error', - 'import/no-self-import': 'error', - 'import/no-cycle': [ - 'error', - { - ignoreExternal: true, - }, - ], - 'import/no-useless-path-segments': 'error', - 'import/newline-after-import': 'error', - 'import/no-amd': 'error', - 'import/no-duplicates': [ - 'error', - { - 'prefer-inline': true, - }, - ], - 'import/no-empty-named-blocks': 'error', - 'import/no-extraneous-dependencies': [ - 'error', - { - includeTypes: true, - }, - ], - 'import/no-mutable-exports': 'error', - 'import/no-named-as-default-member': 'error', - 'import/no-named-as-default': 'error', - 'import/order': [ - 'error', - { - groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object', 'type'], - 'newlines-between': 'never', - warnOnUnassignedImports: true, - alphabetize: { - order: 'asc', - orderImportKind: 'asc', - }, - }, - ], - 'import/no-unassigned-import': [ - 'error', - { - allow: [ - '@babel/polyfill', - '**/register', - '**/register.*', - '**/register/**', - '**/register/**.*', - '**/*.css', - '**/*.scss', - '**/*.sass', - '**/*.less', - ], - }, - ], - - // Promise, if placed in the end of the chain may viably have no return statement. - 'promise/always-return': 'off', - - 'eslint-comments/disable-enable-pair': [ - 'error', - { - allowWholeFile: true, - }, - ], - 'eslint-comments/no-aggregating-enable': 'error', - 'eslint-comments/no-duplicate-disable': 'error', - - 'eslint-comments/no-unused-disable': 'error', - 'eslint-comments/no-unused-enable': 'error', - }, -}; diff --git a/.prettierrc.cjs b/configs/.prettierrc.js similarity index 82% rename from .prettierrc.cjs rename to configs/.prettierrc.js index 9ad05dcd..fe27321f 100644 --- a/.prettierrc.cjs +++ b/configs/.prettierrc.js @@ -1,4 +1,4 @@ -module.exports = { +const config = { printWidth: 100, tabs: true, tabWidth: 2, @@ -10,3 +10,5 @@ module.exports = { bracketSameLine: true, arrowParens: 'always', }; + +export default config; diff --git a/configs/base.js b/configs/base.js new file mode 100644 index 00000000..2d716938 --- /dev/null +++ b/configs/base.js @@ -0,0 +1,258 @@ +import js from '@eslint/js'; +import xo from 'eslint-config-xo'; +import importPlugin from 'eslint-plugin-import'; +import eslintPluginNoUseExtendNative from 'eslint-plugin-no-use-extend-native'; +import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; +import pluginPromise from 'eslint-plugin-promise'; +import eslintPluginUnicorn from 'eslint-plugin-unicorn'; + +const baseConfig = [ + js.configs.recommended, + + importPlugin.flatConfigs.recommended, + { + files: ['**/*.{js,mjs,cjs}'], + languageOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + }, + rules: { + 'import/default': 'error', + 'import/export': 'error', + 'import/extensions': ['error', 'ignorePackages'], + 'import/first': 'error', + + 'import/namespace': [ + 'error', + { + allowComputed: true, + }, + ], + 'import/no-absolute-path': 'error', + 'import/no-anonymous-default-export': 'error', + 'import/no-named-default': 'error', + 'import/no-webpack-loader-syntax': 'error', + 'import/no-self-import': 'error', + 'import/no-cycle': [ + 'error', + { + ignoreExternal: true, + }, + ], + 'import/no-useless-path-segments': 'error', + 'import/newline-after-import': 'error', + 'import/no-amd': 'error', + 'import/no-duplicates': [ + 'error', + { + 'prefer-inline': true, + }, + ], + 'import/no-empty-named-blocks': 'error', + 'import/no-extraneous-dependencies': [ + 'error', + { + includeTypes: true, + }, + ], + 'import/no-mutable-exports': 'error', + 'import/no-named-as-default-member': 'error', + 'import/no-named-as-default': 'error', + 'import/order': [ + 'error', + { + groups: [ + 'builtin', + 'external', + 'internal', + 'parent', + 'sibling', + 'index', + 'object', + 'type', + ], + 'newlines-between': 'never', + warnOnUnassignedImports: true, + alphabetize: { + order: 'asc', + orderImportKind: 'asc', + }, + }, + ], + 'import/no-unassigned-import': [ + 'error', + { + allow: [ + '@babel/polyfill', + '**/register', + '**/register.*', + '**/register/**', + '**/register/**.*', + '**/*.css', + '**/*.scss', + '**/*.sass', + '**/*.less', + ], + }, + ], + }, + }, + + pluginPromise.configs['flat/recommended'], + { + rules: { + // Promise, being placed in the end of the chain may viably have no return statement. + 'promise/always-return': 'off', + }, + }, + + eslintPluginNoUseExtendNative.configs.recommended, + + eslintPluginUnicorn.configs['flat/recommended'], + { + rules: { + 'unicorn/prevent-abbreviations': [ + 'error', + { + checkFilenames: false, + checkDefaultAndNamespaceImports: false, + checkShorthandImports: false, + extendDefaultReplacements: false, + replacements: { + whitelist: { + include: true, + }, + blacklist: { + exclude: true, + }, + master: { + main: true, + }, + slave: { + secondary: true, + }, + props: { + properties: false, + }, + params: { + parameters: false, + }, + el: { + elt: true, + element: true, + }, + elt: { + element: false, + }, + req: { + request: false, + }, + res: { + resp: true, + response: true, + result: true, + }, + resp: { + response: false, + }, + str: { + string: false, + }, + + // Not part of `eslint-plugin-unicorn` + application: { + app: true, + }, + applications: { + apps: true, + }, + + // Part of `eslint-plugin-unicorn` + arr: { + array: true, + }, + e: { + error: true, + event: true, + }, + elem: { + element: true, + }, + len: { + length: true, + }, + msg: { + message: true, + }, + num: { + number: true, + }, + obj: { + object: true, + }, + opts: { + options: true, + }, + param: { + parameter: true, + }, + prev: { + previous: true, + }, + + ret: { + returnValue: true, + }, + temp: { + temporary: true, + }, + tmp: { + temporary: true, + }, + val: { + value: true, + }, + err: { + error: false, + }, + }, + }, + ], + + 'unicorn/no-useless-undefined': 'off', + + 'unicorn/better-regex': [ + 'error', + { + sortCharacterClasses: false, + }, + ], + + // Disabled for now until it becomes more stable: + // https://github.com/sindresorhus/eslint-plugin-unicorn/search?q=consistent-destructuring+is:issue&state=open&type=issues + 'unicorn/consistent-destructuring': 'off', + + 'unicorn/prefer-ternary': ['error', 'only-single-line'], + + // It is up to app to decide file name casing. + 'unicorn/filename-case': 'off', + }, + }, + + ...xo, + { + rules: { + // annoying rules + 'default-case': 'off', + 'capitalized-comments': 'off', + 'function-call-argument-newline': 'off', + + // conflicts with prettier + '@stylistic/object-curly-spacing': 'off', + '@stylistic/quotes': 'off', + }, + }, + eslintPluginPrettierRecommended, +]; + +export default baseConfig; diff --git a/configs/jest.js b/configs/jest.js new file mode 100644 index 00000000..2aa8d60c --- /dev/null +++ b/configs/jest.js @@ -0,0 +1,4 @@ +import jest from 'eslint-plugin-jest'; + +const jestConfig = [jest.configs['flat/recommended']]; +export default jestConfig; diff --git a/configs/md.js b/configs/md.js new file mode 100644 index 00000000..31655dab --- /dev/null +++ b/configs/md.js @@ -0,0 +1,39 @@ +import * as mdx from 'eslint-plugin-mdx'; +import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; + +const mdConfig = [ + { + ...mdx.flat, + // Optional, if you want to lint code blocks at the same + processor: mdx.createRemarkProcessor({ + lintCodeBlocks: true, + // Optional, if you want to disable language mapper, set it to `false` + // if you want to override the default language mapper inside, you can provide your own + languageMapper: {}, + }), + }, + { + ...mdx.flatCodeBlocks, + rules: { + ...mdx.flatCodeBlocks.rules, + // If you want to override some rules for code blocks + 'no-var': 'error', + 'prefer-const': 'error', + }, + }, + eslintPluginPrettierRecommended, + { + files: ['*.md'], + rules: { + 'prettier/prettier': ['error', { parser: 'markdown' }], + }, + }, + { + files: ['*.mdx'], + rules: { + 'prettier/prettier': ['error', { parser: 'mdx' }], + }, + }, +]; + +export default mdConfig; diff --git a/configs/node.js b/configs/node.js new file mode 100644 index 00000000..f1200b32 --- /dev/null +++ b/configs/node.js @@ -0,0 +1,36 @@ +import nodePlugin from 'eslint-plugin-n'; + +const nodeConfig = [ + nodePlugin.configs['flat/recommended-module'], + { + files: ['*.{js,mjs,cjs}'], + languageOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + }, + rules: { + 'n/no-mixed-requires': [ + 'error', + { + grouping: true, + allowCall: true, + }, + ], + 'n/no-new-require': 'error', + 'n/no-path-concat': 'error', + 'n/process-exit-as-throw': 'error', + 'n/no-deprecated-api': 'error', + 'n/prefer-global/buffer': ['error', 'never'], + 'n/prefer-global/console': ['error', 'always'], + 'n/prefer-global/process': ['error', 'never'], + 'n/prefer-global/text-decoder': ['error', 'always'], + 'n/prefer-global/text-encoder': ['error', 'always'], + 'n/prefer-global/url-search-params': ['error', 'always'], + 'n/prefer-global/url': ['error', 'always'], + 'n/prefer-promises/dns': 'error', + 'n/prefer-promises/fs': 'error', + }, + }, +]; + +export default nodeConfig; diff --git a/configs/react.js b/configs/react.js new file mode 100644 index 00000000..4c627598 --- /dev/null +++ b/configs/react.js @@ -0,0 +1,24 @@ +import pluginReact from 'eslint-plugin-react'; +import pluginReactHooks from 'eslint-plugin-react-hooks'; + +const reactConfig = [ + pluginReact.configs.flat.recommended, + pluginReactHooks.configs.recommended, + { + rules: { + // While using ts with `react-jsx` preset - there + // is no need in importing react in each file + 'react/react-in-jsx-scope': 'off', + + // There is no sense in using prop-types within ts projects + 'react/require-default-props': 'off', + 'react/no-unused-prop-types': 'off', + 'react/prop-types': 'off', + + // Not so convenient in significant amount of cases to + // prefix boolean prop with `is` or `has`. + 'react/boolean-prop-naming': 'off', + }, + }, +]; +export default reactConfig; diff --git a/configs/typescript-unsafe.js b/configs/typescript-unsafe.js new file mode 100644 index 00000000..58d93a0f --- /dev/null +++ b/configs/typescript-unsafe.js @@ -0,0 +1,17 @@ +import typescriptConfig from './typescript.js'; + +const typescriptUnsafeConfig = [ + ...typescriptConfig, + { + rules: { + '@typescript-eslint/no-unsafe-argument': 'off', + '@typescript-eslint/no-unsafe-assignment': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/no-unsafe-declaration-merging': 'off', + '@typescript-eslint/no-unsafe-enum-comparison': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unsafe-return': 'off', + }, + }, +]; +export default typescriptUnsafeConfig; diff --git a/configs/typescript.js b/configs/typescript.js new file mode 100644 index 00000000..adf86674 --- /dev/null +++ b/configs/typescript.js @@ -0,0 +1,106 @@ +import xoTypescript from 'eslint-config-xo-typescript'; +import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; +import baseConfig from './base.js'; + +const typescriptConfig = [ + ...baseConfig, + + xoTypescript, + { + rules: { + 'import/consistent-type-specifier-style': ['error', 'prefer-inline'], + + '@typescript-eslint/no-empty-function': 'off', + '@typescript-eslint/promise-function-async': 'off', + '@typescript-eslint/naming-convention': [ + 'error', + { + selector: 'variable', + modifiers: ['destructured'], + // eslint-disable-next-line unicorn/no-null + format: null, + }, + { + selector: [ + 'classProperty', + 'objectLiteralProperty', + 'typeProperty', + 'classMethod', + 'objectLiteralMethod', + 'typeMethod', + 'accessor', + 'enumMember', + ], + // eslint-disable-next-line unicorn/no-null + format: null, + modifiers: ['requiresQuotes'], + }, + { + selector: 'variable', + modifiers: ['const', 'global'], + format: ['camelCase', 'PascalCase', 'UPPER_CASE'], + }, + ], + '@typescript-eslint/consistent-type-imports': [ + 'error', + { + disallowTypeAnnotations: true, + fixStyle: 'inline-type-imports', + prefer: 'type-imports', + }, + ], + '@typescript-eslint/ban-types': [ + 'error', + { + extendDefaults: false, + types: { + String: { + message: 'Use `string` instead.', + fixWith: 'string', + }, + Number: { + message: 'Use `number` instead.', + fixWith: 'number', + }, + Boolean: { + message: 'Use `boolean` instead.', + fixWith: 'boolean', + }, + Symbol: { + message: 'Use `symbol` instead.', + fixWith: 'symbol', + }, + BigInt: { + message: 'Use `bigint` instead.', + fixWith: 'bigint', + }, + Object: { + message: + 'The `Object` type is mostly the same as `unknown`. You probably want `Record` instead. See https://github.com/typescript-eslint/typescript-eslint/pull/848', + fixWith: 'Record', + }, + '{}': { + message: + 'The `{}` type is mostly the same as `unknown`. You probably want `Record` instead.', + fixWith: 'Record', + }, + object: { + message: + 'The `object` type is hard to use. Use `Record` instead. See: https://github.com/typescript-eslint/typescript-eslint/pull/848', + fixWith: 'Record', + }, + Function: 'Use a specific function type instead, like `() => void`.', + '[[]]': + "Don't use `[[]]`. It only allows an array with a single element which is an empty array. Use `SomeType[][]` instead.", + '[[[]]]': "Don't use `[[[]]]`. Use `SomeType[][][]` instead.", + '[[[[]]]]': 'ur drunk 🤡', + '[[[[[]]]]]': '🦄💥', + }, + }, + ], + }, + }, + + eslintPluginPrettierRecommended, +]; +export default typescriptConfig; diff --git a/configs/vitest.js b/configs/vitest.js new file mode 100644 index 00000000..f1158b0c --- /dev/null +++ b/configs/vitest.js @@ -0,0 +1,4 @@ +import vitest from '@vitest/eslint-plugin'; + +const vitestConfig = [vitest.configs.flat.recommended]; +export default vitestConfig; diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 00000000..843c0bb8 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,5 @@ +import baseConfig from './configs/base.js'; +import mdConfig from './configs/md.js'; + +const config = [{ ignores: ['CHANGELOG.md', '.idea', 'node_modules'] }, ...baseConfig, ...mdConfig]; +export default config; diff --git a/jest.cjs b/jest.cjs deleted file mode 100644 index 57be5bcb..00000000 --- a/jest.cjs +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - extends: ['plugin:jest/recommended', 'plugin:prettier/recommended'], - rules: { - 'max-nested-callbacks': ['warn', 10], - }, -}; diff --git a/md.cjs b/md.cjs deleted file mode 100644 index 195b27ea..00000000 --- a/md.cjs +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - extends: ['plugin:mdx/recommended', 'plugin:prettier/recommended'], - rules: { - 'prettier/prettier': ['error', { parser: 'markdown' }], - }, -}; diff --git a/mdx.cjs b/mdx.cjs deleted file mode 100644 index 3df9dd84..00000000 --- a/mdx.cjs +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - extends: ['plugin:mdx/recommended', 'plugin:prettier/recommended'], - rules: { - 'prettier/prettier': ['error', { parser: 'mdx' }], - }, -}; diff --git a/node.cjs b/node.cjs deleted file mode 100644 index c0a85093..00000000 --- a/node.cjs +++ /dev/null @@ -1,42 +0,0 @@ -module.exports = { - extends: ['plugin:prettier/recommended'], - plugins: ['n'], - parserOptions: { - ecmaVersion: 'latest', - sourceType: 'module', - }, - rules: { - // We have this enabled in addition to `import/extensions` as this one has an auto-fix. - 'n/file-extension-in-import': [ - 'error', - 'always', - { - // TypeScript doesn't yet support using extensions and fails with error TS2691. - '.ts': 'never', - '.tsx': 'never', - '.mts': 'never', - '.cts': 'never', - }, - ], - 'n/no-mixed-requires': [ - 'error', - { - grouping: true, - allowCall: true, - }, - ], - 'n/no-new-require': 'error', - 'n/no-path-concat': 'error', - 'n/process-exit-as-throw': 'error', - 'n/no-deprecated-api': 'error', - 'n/prefer-global/buffer': ['error', 'never'], - 'n/prefer-global/console': ['error', 'always'], - 'n/prefer-global/process': ['error', 'never'], - 'n/prefer-global/text-decoder': ['error', 'always'], - 'n/prefer-global/text-encoder': ['error', 'always'], - 'n/prefer-global/url-search-params': ['error', 'always'], - 'n/prefer-global/url': ['error', 'always'], - 'n/prefer-promises/dns': 'error', - 'n/prefer-promises/fs': 'error', - }, -}; diff --git a/package.json b/package.json index ee423e77..241f9e8a 100644 --- a/package.json +++ b/package.json @@ -1,60 +1,66 @@ { - "name": "@react-hookz/eslint-config", - "version": "2.1.5", - "description": "eslint configuration files used in @react-hookz projects", - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/react-hookz/eslint-config.git" - }, - "bugs": { - "url": "https://github.com/react-hookz/eslint-config/issues" - }, - "publishConfig": { - "access": "public" - }, - "type": "module", - "main": "./base.cjs", - "peerDependencies": { - "eslint": "^8.57.1", - "eslint-plugin-prettier": "^5.2.1", - "prettier": "^3.3.3" - }, - "dependencies": { - "@typescript-eslint/eslint-plugin": "^7.18.0", - "@typescript-eslint/parser": "^7.18.0", - "eslint-config-prettier": "^9.1.0", - "eslint-config-xo": "^0.45.0", - "eslint-config-xo-react": "^0.27.0", - "eslint-config-xo-typescript": "^5.0.0", - "eslint-import-resolver-typescript": "^3.6.3", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jest": "^28.9.0", - "eslint-plugin-mdx": "^3.1.5", - "eslint-plugin-n": "^17.14.0", - "eslint-plugin-no-use-extend-native": "^0.5.0", - "eslint-plugin-promise": "^7.1.0", - "eslint-plugin-react": "^7.37.2", - "eslint-plugin-react-hooks": "^5.0.0", - "eslint-plugin-unicorn": "^56.0.1" - }, - "devDependencies": { - "@commitlint/cli": "^19.6.0", - "@commitlint/config-conventional": "^19.6.0", - "@react-hookz/eslint-formatter-gha": "^2.0.1", - "eslint": "^8.57.1", - "eslint-plugin-prettier": "^5.2.1", - "husky": "^9.1.7", - "lint-staged": "^15.2.10", - "prettier": "^3.3.3", - "semantic-release": "^24.2.0" - }, - "scripts": { - "prepare": "husky", - "commit": "git-cz", - "lint": "eslint", - "lint:fix": "yarn lint --fix" - }, - "packageManager": "yarn@4.5.3" + "name": "@react-hookz/eslint-config", + "version": "2.1.5", + "description": "eslint configuration files used in @react-hookz projects", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/react-hookz/eslint-config.git" + }, + "bugs": { + "url": "https://github.com/react-hookz/eslint-config/issues" + }, + "publishConfig": { + "access": "public" + }, + "type": "module", + "exports": { + "*": "./configs/*" + }, + "files": [ + "configs" + ], + "peerDependencies": { + "eslint": "^9.15.0", + "eslint-plugin-prettier": "^5.2.1", + "prettier": "^3.3.3" + }, + "dependencies": { + "@eslint/js": "^9.15.0", + "@eslint/markdown": "^6.2.1", + "@typescript-eslint/eslint-plugin": "^8.15.0", + "@typescript-eslint/parser": "^8.15.0", + "@vitest/eslint-plugin": "^1.1.10", + "eslint-config-prettier": "^9.1.0", + "eslint-config-xo": "^0.46.0", + "eslint-config-xo-typescript": "^7.0.0", + "eslint-import-resolver-typescript": "^3.6.3", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-jest": "^28.9.0", + "eslint-plugin-mdx": "^3.1.5", + "eslint-plugin-n": "^17.14.0", + "eslint-plugin-no-use-extend-native": "^0.7.2", + "eslint-plugin-promise": "^7.1.0", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-unicorn": "^56.0.1" + }, + "devDependencies": { + "@commitlint/cli": "^19.6.0", + "@commitlint/config-conventional": "^19.6.0", + "@react-hookz/eslint-formatter-gha": "^2.0.1", + "eslint": "^9.15.0", + "eslint-plugin-prettier": "^5.2.1", + "husky": "^9.1.7", + "lint-staged": "^15.2.10", + "prettier": "^3.3.3", + "semantic-release": "^24.2.0" + }, + "scripts": { + "prepare": "husky", + "commit": "git-cz", + "lint": "eslint", + "lint:fix": "yarn lint --fix" + }, + "packageManager": "yarn@4.5.3" } diff --git a/prettier.config.js b/prettier.config.js new file mode 100644 index 00000000..9e1da3e1 --- /dev/null +++ b/prettier.config.js @@ -0,0 +1 @@ +export { default } from './configs/.prettierrc.js'; diff --git a/react.cjs b/react.cjs deleted file mode 100644 index 59559f4f..00000000 --- a/react.cjs +++ /dev/null @@ -1,24 +0,0 @@ -module.exports = { - extends: ['xo-react', 'plugin:prettier/recommended'], - parserOptions: { - ecmaVersion: 'latest', - sourceType: 'module', - ecmaFeatures: { - jsx: true, - }, - }, - rules: { - // While using ts with `react-jsx` preset - there - // is no need in importing react in each file - 'react/react-in-jsx-scope': 'off', - - // There is no sense in using prop-types within ts projects - 'react/require-default-props': 'off', - 'react/no-unused-prop-types': 'off', - 'react/prop-types': 'off', - - // Not so convenient in significant amount of cases to - // prefix boolean prop with `is` or `has`. - 'react/boolean-prop-naming': 'off', - }, -}; diff --git a/typescript-unsafe.cjs b/typescript-unsafe.cjs deleted file mode 100644 index a111083e..00000000 --- a/typescript-unsafe.cjs +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - extends: ['./typescript.cjs', 'plugin:prettier/recommended'], - rules: { - '@typescript-eslint/no-unsafe-argument': 'off', - '@typescript-eslint/no-unsafe-assignment': 'off', - '@typescript-eslint/no-unsafe-call': 'off', - '@typescript-eslint/no-unsafe-declaration-merging': 'off', - '@typescript-eslint/no-unsafe-enum-comparison': 'off', - '@typescript-eslint/no-unsafe-member-access': 'off', - '@typescript-eslint/no-unsafe-return': 'off', - }, -}; diff --git a/typescript.cjs b/typescript.cjs deleted file mode 100644 index 2a80ab5e..00000000 --- a/typescript.cjs +++ /dev/null @@ -1,111 +0,0 @@ -module.exports = { - extends: ['./base.cjs', 'xo-typescript', 'plugin:prettier/recommended'], - settings: { - 'import/parsers': { - '@typescript-eslint/parser': ['.ts', '.tsx'], - }, - 'import/resolver': { - typescript: {}, - }, - }, - rules: { - '@typescript-eslint/no-empty-function': 'off', - '@typescript-eslint/promise-function-async': 'off', - '@typescript-eslint/naming-convention': [ - 'error', - { - selector: 'variable', - modifiers: ['destructured'], - // eslint-disable-next-line unicorn/no-null - format: null, - }, - { - selector: [ - 'classProperty', - 'objectLiteralProperty', - 'typeProperty', - 'classMethod', - 'objectLiteralMethod', - 'typeMethod', - 'accessor', - 'enumMember', - ], - // eslint-disable-next-line unicorn/no-null - format: null, - modifiers: ['requiresQuotes'], - }, - { - selector: 'variable', - modifiers: ['const', 'global'], - format: ['camelCase', 'PascalCase', 'UPPER_CASE'], - }, - ], - '@typescript-eslint/consistent-type-imports': [ - 'error', - { - disallowTypeAnnotations: true, - fixStyle: 'inline-type-imports', - prefer: 'type-imports', - }, - ], - 'import/consistent-type-specifier-style': ['error', 'prefer-inline'], - 'import/extensions': [ - 'error', - 'ignorePackages', - { - ts: 'never', - tsx: 'never', - }, - ], - // Deviation from xo's config - we allow usage of null and empty array types. - '@typescript-eslint/ban-types': [ - 'error', - { - extendDefaults: false, - types: { - String: { - message: 'Use `string` instead.', - fixWith: 'string', - }, - Number: { - message: 'Use `number` instead.', - fixWith: 'number', - }, - Boolean: { - message: 'Use `boolean` instead.', - fixWith: 'boolean', - }, - Symbol: { - message: 'Use `symbol` instead.', - fixWith: 'symbol', - }, - BigInt: { - message: 'Use `bigint` instead.', - fixWith: 'bigint', - }, - Object: { - message: - 'The `Object` type is mostly the same as `unknown`. You probably want `Record` instead. See https://github.com/typescript-eslint/typescript-eslint/pull/848', - fixWith: 'Record', - }, - '{}': { - message: - 'The `{}` type is mostly the same as `unknown`. You probably want `Record` instead.', - fixWith: 'Record', - }, - object: { - message: - 'The `object` type is hard to use. Use `Record` instead. See: https://github.com/typescript-eslint/typescript-eslint/pull/848', - fixWith: 'Record', - }, - Function: 'Use a specific function type instead, like `() => void`.', - '[[]]': - "Don't use `[[]]`. It only allows an array with a single element which is an empty array. Use `SomeType[][]` instead.", - '[[[]]]': "Don't use `[[[]]]`. Use `SomeType[][][]` instead.", - '[[[[]]]]': 'ur drunk 🤡', - '[[[[[]]]]]': '🦄💥', - }, - }, - ], - }, -}; diff --git a/yarn.lock b/yarn.lock index cd172a01..1ad0bd2e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -268,34 +268,80 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.11.0, @eslint-community/regexpp@npm:^4.6.1": +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.11.0, @eslint-community/regexpp@npm:^4.12.1": version: 4.12.1 resolution: "@eslint-community/regexpp@npm:4.12.1" checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" +"@eslint/config-array@npm:^0.19.0": + version: 0.19.0 + resolution: "@eslint/config-array@npm:0.19.0" + dependencies: + "@eslint/object-schema": "npm:^2.1.4" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10c0/def23c6c67a8f98dc88f1b87e17a5668e5028f5ab9459661aabfe08e08f2acd557474bbaf9ba227be0921ae4db232c62773dbb7739815f8415678eb8f592dbf5 + languageName: node + linkType: hard + +"@eslint/core@npm:^0.9.0": + version: 0.9.0 + resolution: "@eslint/core@npm:0.9.0" + checksum: 10c0/6d8e8e0991cef12314c49425d8d2d9394f5fb1a36753ff82df7c03185a4646cb7c8736cf26638a4a714782cedf4b23cfc17667d282d3e5965b3920a0e7ce20d4 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.2.0": + version: 3.2.0 + resolution: "@eslint/eslintrc@npm:3.2.0" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 + checksum: 10c0/43867a07ff9884d895d9855edba41acf325ef7664a8df41d957135a81a477ff4df4196f5f74dc3382627e5cc8b7ad6b815c2cea1b58f04a75aced7c43414ab8b languageName: node linkType: hard -"@eslint/js@npm:8.57.1": - version: 8.57.1 - resolution: "@eslint/js@npm:8.57.1" - checksum: 10c0/b489c474a3b5b54381c62e82b3f7f65f4b8a5eaaed126546520bf2fede5532a8ed53212919fed1e9048dcf7f37167c8561d58d0ba4492a4244004e7793805223 +"@eslint/js@npm:9.15.0, @eslint/js@npm:^9.15.0": + version: 9.15.0 + resolution: "@eslint/js@npm:9.15.0" + checksum: 10c0/56552966ab1aa95332f70d0e006db5746b511c5f8b5e0c6a9b2d6764ff6d964e0b2622731877cbc4e3f0e74c5b39191290d5f48147be19175292575130d499ab + languageName: node + linkType: hard + +"@eslint/markdown@npm:^6.2.1": + version: 6.2.1 + resolution: "@eslint/markdown@npm:6.2.1" + dependencies: + "@eslint/plugin-kit": "npm:^0.2.0" + mdast-util-from-markdown: "npm:^2.0.1" + mdast-util-gfm: "npm:^3.0.0" + micromark-extension-gfm: "npm:^3.0.0" + checksum: 10c0/592f7c1b241b3bbbb6768f81c55f4395d8979750cce06179140f6a70e38c3664308dbe9291c3a3ed998b6c8c3179576a649876da08aca41120266de9ac5c52b2 + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/object-schema@npm:2.1.4" + checksum: 10c0/e9885532ea70e483fb007bf1275968b05bb15ebaa506d98560c41a41220d33d342e19023d5f2939fed6eb59676c1bda5c847c284b4b55fce521d282004da4dda + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.2.0, @eslint/plugin-kit@npm:^0.2.3": + version: 0.2.3 + resolution: "@eslint/plugin-kit@npm:0.2.3" + dependencies: + levn: "npm:^0.4.1" + checksum: 10c0/89a8035976bb1780e3fa8ffe682df013bd25f7d102d991cecd3b7c297f4ce8c1a1b6805e76dd16465b5353455b670b545eff2b4ec3133e0eab81a5f9e99bd90f languageName: node linkType: hard @@ -306,14 +352,20 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.13.0": - version: 0.13.0 - resolution: "@humanwhocodes/config-array@npm:0.13.0" +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10c0/aa4e0152171c07879b458d0e8a704b8c3a89a8c0541726c6b65b81e84fd8b7564b5d6c633feadc6598307d34564bd53294b533491424e8e313d7ab6c7bc5dc67 + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.6 + resolution: "@humanfs/node@npm:0.16.6" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.3" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10c0/205c99e756b759f92e1f44a3dc6292b37db199beacba8f26c2165d4051fe73a4ae52fdcfd08ffa93e7e5cb63da7c88648f0e84e197d154bbbbe137b2e0dd332e + "@humanfs/core": "npm:^0.19.1" + "@humanwhocodes/retry": "npm:^0.3.0" + checksum: 10c0/8356359c9f60108ec204cbd249ecd0356667359b2524886b357617c4a7c3b6aace0fd5a369f63747b926a762a88f8a25bc066fa1778508d110195ce7686243e1 languageName: node linkType: hard @@ -324,10 +376,17 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.3": - version: 2.0.3 - resolution: "@humanwhocodes/object-schema@npm:2.0.3" - checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.1 + resolution: "@humanwhocodes/retry@npm:0.3.1" + checksum: 10c0/f0da1282dfb45e8120480b9e2e275e2ac9bbe1cf016d046fdad8e27cc1285c45bb9e711681237944445157b430093412b4446c1ab3fc4bb037861b5904101d3b + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.4.1": + version: 0.4.1 + resolution: "@humanwhocodes/retry@npm:0.4.1" + checksum: 10c0/be7bb6841c4c01d0b767d9bb1ec1c9359ee61421ce8ba66c249d035c5acdfd080f32d55a5c9e859cdd7868788b8935774f65b2caf24ec0b7bd7bf333791f063b languageName: node linkType: hard @@ -378,7 +437,7 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": +"@nodelib/fs.walk@npm:^1.2.3": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: @@ -861,21 +920,22 @@ __metadata: dependencies: "@commitlint/cli": "npm:^19.6.0" "@commitlint/config-conventional": "npm:^19.6.0" + "@eslint/js": "npm:^9.15.0" + "@eslint/markdown": "npm:^6.2.1" "@react-hookz/eslint-formatter-gha": "npm:^2.0.1" - "@typescript-eslint/eslint-plugin": "npm:^7.18.0" - "@typescript-eslint/parser": "npm:^7.18.0" - eslint: "npm:^8.57.1" + "@typescript-eslint/eslint-plugin": "npm:^8.15.0" + "@typescript-eslint/parser": "npm:^8.15.0" + "@vitest/eslint-plugin": "npm:^1.1.10" + eslint: "npm:^9.15.0" eslint-config-prettier: "npm:^9.1.0" - eslint-config-xo: "npm:^0.45.0" - eslint-config-xo-react: "npm:^0.27.0" - eslint-config-xo-typescript: "npm:^5.0.0" + eslint-config-xo: "npm:^0.46.0" + eslint-config-xo-typescript: "npm:^7.0.0" eslint-import-resolver-typescript: "npm:^3.6.3" - eslint-plugin-eslint-comments: "npm:^3.2.0" eslint-plugin-import: "npm:^2.31.0" eslint-plugin-jest: "npm:^28.9.0" eslint-plugin-mdx: "npm:^3.1.5" eslint-plugin-n: "npm:^17.14.0" - eslint-plugin-no-use-extend-native: "npm:^0.5.0" + eslint-plugin-no-use-extend-native: "npm:^0.7.2" eslint-plugin-prettier: "npm:^5.2.1" eslint-plugin-promise: "npm:^7.1.0" eslint-plugin-react: "npm:^7.37.2" @@ -886,7 +946,7 @@ __metadata: prettier: "npm:^3.3.3" semantic-release: "npm:^24.2.0" peerDependencies: - eslint: ^8.57.1 + eslint: ^9.15.0 eslint-plugin-prettier: ^5.2.1 prettier: ^3.3.3 languageName: unknown @@ -1088,6 +1148,21 @@ __metadata: languageName: node linkType: hard +"@stylistic/eslint-plugin@npm:^2.6.1": + version: 2.11.0 + resolution: "@stylistic/eslint-plugin@npm:2.11.0" + dependencies: + "@typescript-eslint/utils": "npm:^8.13.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + estraverse: "npm:^5.3.0" + picomatch: "npm:^4.0.2" + peerDependencies: + eslint: ">=8.40.0" + checksum: 10c0/6ca19b6656be5ed657cf4d1920602fb27144dc5d51ba188e0bdcb2a4e0b740d4fdb27052fc268d164fa1269c972aeab15541c9e15b3ff4b7884ecae47f18ff67 + languageName: node + linkType: hard + "@tufjs/canonical-json@npm:2.0.0": version: 2.0.0 resolution: "@tufjs/canonical-json@npm:2.0.0" @@ -1150,7 +1225,7 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:^1.0.0": +"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": version: 1.0.6 resolution: "@types/estree@npm:1.0.6" checksum: 10c0/cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a @@ -1173,6 +1248,13 @@ __metadata: languageName: node linkType: hard +"@types/json-schema@npm:^7.0.15": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + "@types/json5@npm:^0.0.29": version: 0.0.29 resolution: "@types/json5@npm:0.0.29" @@ -1249,123 +1331,87 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/eslint-plugin@npm:7.18.0" +"@typescript-eslint/eslint-plugin@npm:8.16.0, @typescript-eslint/eslint-plugin@npm:^8.15.0": + version: 8.16.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.16.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:7.18.0" - "@typescript-eslint/type-utils": "npm:7.18.0" - "@typescript-eslint/utils": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" + "@typescript-eslint/scope-manager": "npm:8.16.0" + "@typescript-eslint/type-utils": "npm:8.16.0" + "@typescript-eslint/utils": "npm:8.16.0" + "@typescript-eslint/visitor-keys": "npm:8.16.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" ts-api-utils: "npm:^1.3.0" peerDependencies: - "@typescript-eslint/parser": ^7.0.0 - eslint: ^8.56.0 + "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/2b37948fa1b0dab77138909dabef242a4d49ab93e4019d4ef930626f0a7d96b03e696cd027fa0087881c20e73be7be77c942606b4a76fa599e6b37f6985304c3 + checksum: 10c0/b03612b726ee5aff631cd50e05ceeb06a522e64465e4efdc134e3a27a09406b959ef7a05ec4acef1956b3674dc4fedb6d3a62ce69382f9e30c227bd4093003e5 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/parser@npm:7.18.0" +"@typescript-eslint/parser@npm:8.16.0, @typescript-eslint/parser@npm:^8.15.0": + version: 8.16.0 + resolution: "@typescript-eslint/parser@npm:8.16.0" dependencies: - "@typescript-eslint/scope-manager": "npm:7.18.0" - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/typescript-estree": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" + "@typescript-eslint/scope-manager": "npm:8.16.0" + "@typescript-eslint/types": "npm:8.16.0" + "@typescript-eslint/typescript-estree": "npm:8.16.0" + "@typescript-eslint/visitor-keys": "npm:8.16.0" debug: "npm:^4.3.4" peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/370e73fca4278091bc1b657f85e7d74cd52b24257ea20c927a8e17546107ce04fbf313fec99aed0cc2a145ddbae1d3b12e9cc2c1320117636dc1281bcfd08059 + checksum: 10c0/e49c6640a7a863a16baecfbc5b99392a4731e9c7e9c9aaae4efbc354e305485fe0f39a28bf0acfae85bc01ce37fe0cc140fd315fdaca8b18f9b5e0addff8ceae languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/scope-manager@npm:7.18.0" +"@typescript-eslint/scope-manager@npm:8.16.0": + version: 8.16.0 + resolution: "@typescript-eslint/scope-manager@npm:8.16.0" dependencies: - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" - checksum: 10c0/038cd58c2271de146b3a594afe2c99290034033326d57ff1f902976022c8b0138ffd3cb893ae439ae41003b5e4bcc00cabf6b244ce40e8668f9412cc96d97b8e + "@typescript-eslint/types": "npm:8.16.0" + "@typescript-eslint/visitor-keys": "npm:8.16.0" + checksum: 10c0/23b7c738b83f381c6419a36e6ca951944187e3e00abb8e012bce8041880410fe498303e28bdeb0e619023a69b14cf32a5ec1f9427c5382807788cd8e52a46a6e languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.15.0": - version: 8.15.0 - resolution: "@typescript-eslint/scope-manager@npm:8.15.0" +"@typescript-eslint/type-utils@npm:8.16.0": + version: 8.16.0 + resolution: "@typescript-eslint/type-utils@npm:8.16.0" dependencies: - "@typescript-eslint/types": "npm:8.15.0" - "@typescript-eslint/visitor-keys": "npm:8.15.0" - checksum: 10c0/c27dfdcea4100cc2d6fa967f857067cbc93155b55e648f9f10887a1b9372bb76cf864f7c804f3fa48d7868d9461cdef10bcea3dab7637d5337e8aa8042dc08b9 - languageName: node - linkType: hard - -"@typescript-eslint/type-utils@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/type-utils@npm:7.18.0" - dependencies: - "@typescript-eslint/typescript-estree": "npm:7.18.0" - "@typescript-eslint/utils": "npm:7.18.0" + "@typescript-eslint/typescript-estree": "npm:8.16.0" + "@typescript-eslint/utils": "npm:8.16.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/ad92a38007be620f3f7036f10e234abdc2fdc518787b5a7227e55fd12896dacf56e8b34578723fbf9bea8128df2510ba8eb6739439a3879eda9519476d5783fd - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/types@npm:7.18.0" - checksum: 10c0/eb7371ac55ca77db8e59ba0310b41a74523f17e06f485a0ef819491bc3dd8909bb930120ff7d30aaf54e888167e0005aa1337011f3663dc90fb19203ce478054 + checksum: 10c0/24c0e815c8bdf99bf488c7528bd6a7c790e8b3b674cb7fb075663afc2ee26b48e6f4cf7c0d14bb21e2376ca62bd8525cbcb5688f36135b00b62b1d353d7235b9 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.15.0": - version: 8.15.0 - resolution: "@typescript-eslint/types@npm:8.15.0" - checksum: 10c0/84abc6fd954aff13822a76ac49efdcb90a55c0025c20eee5d8cebcfb68faff33b79bbc711ea524e0209cecd90c5ee3a5f92babc7083c081d3a383a0710264a41 +"@typescript-eslint/types@npm:8.16.0": + version: 8.16.0 + resolution: "@typescript-eslint/types@npm:8.16.0" + checksum: 10c0/141e257ab4060a9c0e2e14334ca14ab6be713659bfa38acd13be70a699fb5f36932a2584376b063063ab3d723b24bc703dbfb1ce57d61d7cfd7ec5bd8a975129 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/typescript-estree@npm:7.18.0" +"@typescript-eslint/typescript-estree@npm:8.16.0": + version: 8.16.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.16.0" dependencies: - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - minimatch: "npm:^9.0.4" - semver: "npm:^7.6.0" - ts-api-utils: "npm:^1.3.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/0c7f109a2e460ec8a1524339479cf78ff17814d23c83aa5112c77fb345e87b3642616291908dcddea1e671da63686403dfb712e4a4435104f92abdfddf9aba81 - languageName: node - linkType: hard - -"@typescript-eslint/typescript-estree@npm:8.15.0": - version: 8.15.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.15.0" - dependencies: - "@typescript-eslint/types": "npm:8.15.0" - "@typescript-eslint/visitor-keys": "npm:8.15.0" + "@typescript-eslint/types": "npm:8.16.0" + "@typescript-eslint/visitor-keys": "npm:8.16.0" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" @@ -1375,65 +1421,51 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/3af5c129532db3575349571bbf64d32aeccc4f4df924ac447f5d8f6af8b387148df51965eb2c9b99991951d3dadef4f2509d7ce69bf34a2885d013c040762412 + checksum: 10c0/f28fea5af4798a718b6735d1758b791a331af17386b83cb2856d89934a5d1693f7cb805e73c3b33f29140884ac8ead9931b1d7c3de10176fa18ca7a346fe10d0 languageName: node linkType: hard -"@typescript-eslint/utils@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/utils@npm:7.18.0" +"@typescript-eslint/utils@npm:8.16.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0, @typescript-eslint/utils@npm:^8.13.0": + version: 8.16.0 + resolution: "@typescript-eslint/utils@npm:8.16.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:7.18.0" - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/typescript-estree": "npm:7.18.0" - peerDependencies: - eslint: ^8.56.0 - checksum: 10c0/a25a6d50eb45c514469a01ff01f215115a4725fb18401055a847ddf20d1b681409c4027f349033a95c4ff7138d28c3b0a70253dfe8262eb732df4b87c547bd1e - languageName: node - linkType: hard - -"@typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": - version: 8.15.0 - resolution: "@typescript-eslint/utils@npm:8.15.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.15.0" - "@typescript-eslint/types": "npm:8.15.0" - "@typescript-eslint/typescript-estree": "npm:8.15.0" + "@typescript-eslint/scope-manager": "npm:8.16.0" + "@typescript-eslint/types": "npm:8.16.0" + "@typescript-eslint/typescript-estree": "npm:8.16.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/65743f51845a1f6fd2d21f66ca56182ba33e966716bdca73d30b7a67c294e47889c322de7d7b90ab0818296cd33c628e5eeeb03cec7ef2f76c47de7a453eeda2 + checksum: 10c0/1e61187eef3da1ab1486d2a977d8f3b1cb8ef7fa26338500a17eb875ca42a8942ef3f2241f509eef74cf7b5620c109483afc7d83d5b0ab79b1e15920f5a49818 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/visitor-keys@npm:7.18.0" +"@typescript-eslint/visitor-keys@npm:8.16.0": + version: 8.16.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.16.0" dependencies: - "@typescript-eslint/types": "npm:7.18.0" - eslint-visitor-keys: "npm:^3.4.3" - checksum: 10c0/538b645f8ff1d9debf264865c69a317074eaff0255e63d7407046176b0f6a6beba34a6c51d511f12444bae12a98c69891eb6f403c9f54c6c2e2849d1c1cb73c0 - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:8.15.0": - version: 8.15.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.15.0" - dependencies: - "@typescript-eslint/types": "npm:8.15.0" + "@typescript-eslint/types": "npm:8.16.0" eslint-visitor-keys: "npm:^4.2.0" - checksum: 10c0/02a954c3752c4328482a884eb1da06ca8fb72ae78ef28f1d854b18f3779406ed47263af22321cf3f65a637ec7584e5f483e34a263b5c8cec60ec85aebc263574 + checksum: 10c0/537df37801831aa8d91082b2adbffafd40305ed4518f0e7d3cbb17cc466d8b9ac95ac91fa232e7fe585d7c522d1564489ec80052ebb2a6ab9bbf89ef9dd9b7bc languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d +"@vitest/eslint-plugin@npm:^1.1.10": + version: 1.1.10 + resolution: "@vitest/eslint-plugin@npm:1.1.10" + peerDependencies: + "@typescript-eslint/utils": ">= 8.0" + eslint: ">= 8.57.0" + typescript: ">= 5.0.0" + vitest: "*" + peerDependenciesMeta: + typescript: + optional: true + vitest: + optional: true + checksum: 10c0/f69be2a1067976e452225ff8e2189dbfc9ebd6717be8013260372e8b724775d58849afd9e1a85449ba8f454ef0f69c8a200743b413fbe0e357b984c18e79bd5f languageName: node linkType: hard @@ -1472,7 +1504,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.11.3, acorn@npm:^8.9.0": +"acorn@npm:^8.0.0, acorn@npm:^8.11.3, acorn@npm:^8.14.0, acorn@npm:^8.9.0": version: 8.14.0 resolution: "acorn@npm:8.14.0" bin: @@ -1648,13 +1680,6 @@ __metadata: languageName: node linkType: hard -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 - languageName: node - linkType: hard - "array.prototype.findlast@npm:^1.2.5": version: 1.2.5 resolution: "array.prototype.findlast@npm:1.2.5" @@ -2375,7 +2400,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -2551,15 +2576,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 - languageName: node - linkType: hard - "dot-prop@npm:^5.1.0": version: 5.3.0 resolution: "dot-prop@npm:5.3.0" @@ -2819,7 +2835,7 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:5.0.0": +"escape-string-regexp@npm:5.0.0, escape-string-regexp@npm:^5.0.0": version: 5.0.0 resolution: "escape-string-regexp@npm:5.0.0" checksum: 10c0/6366f474c6f37a802800a435232395e04e9885919873e382b157ab7e8f0feb8fed71497f84a6f6a81a49aab41815522f5839112bd38026d203aea0c91622df95 @@ -2862,37 +2878,30 @@ __metadata: languageName: node linkType: hard -"eslint-config-xo-react@npm:^0.27.0": - version: 0.27.0 - resolution: "eslint-config-xo-react@npm:0.27.0" - peerDependencies: - eslint: ">=8.6.0" - eslint-plugin-react: ">=7.29.0" - eslint-plugin-react-hooks: ">=4.3.0" - checksum: 10c0/efb12214d7fd41de959ca95d44336a3cbf517b4e9b1499fdfd859791253ade3b3599f00a19c9e2679919df78fdf3ebc614741ba59e53376e9a399e96ffc12813 - languageName: node - linkType: hard - -"eslint-config-xo-typescript@npm:^5.0.0": - version: 5.0.0 - resolution: "eslint-config-xo-typescript@npm:5.0.0" +"eslint-config-xo-typescript@npm:^7.0.0": + version: 7.0.0 + resolution: "eslint-config-xo-typescript@npm:7.0.0" + dependencies: + "@stylistic/eslint-plugin": "npm:^2.6.1" + eslint-config-xo: "npm:^0.46.0" + typescript-eslint: "npm:^8.3.0" peerDependencies: - "@typescript-eslint/eslint-plugin": ">=7.16.0" - "@typescript-eslint/parser": ">=7.16.0" - eslint: ">=8.56.0" - typescript: ">=5.0.0" - checksum: 10c0/bdfbd8e0010e5c0f5f4e9e4c880ad6e79bb9a923515464721c083e85edf469cba11e140782ddd8728722dda0a1b1082d1ad93d2d75adebffc7204a15c16cda29 + eslint: ">=9.8.0" + typescript: ">=5.5.0" + checksum: 10c0/1137c3829580223ef42aa28cd8255c7f52a02f438fc0764fbff4598913ee3ff6b6bb85ea2048d4db18ad929947579e77fcf9703f88051849b4893f5da7c16a83 languageName: node linkType: hard -"eslint-config-xo@npm:^0.45.0": - version: 0.45.0 - resolution: "eslint-config-xo@npm:0.45.0" +"eslint-config-xo@npm:^0.46.0": + version: 0.46.0 + resolution: "eslint-config-xo@npm:0.46.0" dependencies: + "@stylistic/eslint-plugin": "npm:^2.6.1" confusing-browser-globals: "npm:1.0.11" + globals: "npm:^15.3.0" peerDependencies: - eslint: ">=8.56.0" - checksum: 10c0/7261e46cd98eabe903c9662225d13e45b28ee90c95be264261262e3e34d96a0d631167cf164d09e2a2dcf6598c79523a249585b32c4d3b7aa2497429d918b9bb + eslint: ">=9.8.0" + checksum: 10c0/abc96ae7f4d11dc021967bd09d2e3243c21a62ef6dc3896a96bb0d40c038fdc0775889dd65b6f9493c93fde46e3f4f0d7022f10cb6731bb268584fab4dd9144e languageName: node linkType: hard @@ -2981,18 +2990,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-eslint-comments@npm:^3.2.0": - version: 3.2.0 - resolution: "eslint-plugin-eslint-comments@npm:3.2.0" - dependencies: - escape-string-regexp: "npm:^1.0.5" - ignore: "npm:^5.0.5" - peerDependencies: - eslint: ">=4.19.1" - checksum: 10c0/c71db824592dc8ea498021572a0bd33d763ef26126bdb3b84a027ca75a1adbe0894ec95024f7de39ef12308560e62cbf8af0d06ffe472be5ba8bd9169c928e96 - languageName: node - linkType: hard - "eslint-plugin-import@npm:^2.31.0": version: 2.31.0 resolution: "eslint-plugin-import@npm:2.31.0" @@ -3087,15 +3084,17 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-no-use-extend-native@npm:^0.5.0": - version: 0.5.0 - resolution: "eslint-plugin-no-use-extend-native@npm:0.5.0" +"eslint-plugin-no-use-extend-native@npm:^0.7.2": + version: 0.7.2 + resolution: "eslint-plugin-no-use-extend-native@npm:0.7.2" dependencies: - is-get-set-prop: "npm:^1.0.0" - is-js-type: "npm:^2.0.0" - is-obj-prop: "npm:^1.0.0" - is-proto-prop: "npm:^2.0.0" - checksum: 10c0/80ff7d4510b1f0e080f404c0744abcb090c0bbef508b95bef5c76c599b3f8f239f29d5891694539e6e58d8e2ab7d85685176c5d37ffb557e72ae2d51f72611b0 + is-get-set-prop: "npm:^2.0.0" + is-js-type: "npm:^3.0.0" + is-obj-prop: "npm:^2.0.0" + is-proto-prop: "npm:^3.0.1" + peerDependencies: + eslint: ^9.3.0 + checksum: 10c0/907a92483426b859a1ac29972086062980f2ff60027830ab7ba51c8a3e654d3821b647ce81d46b4f2aa79df0158429dc4928dc50d7b0d83cd7c5cccc6d20e5a8 languageName: node linkType: hard @@ -3193,13 +3192,13 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" +"eslint-scope@npm:^8.2.0": + version: 8.2.0 + resolution: "eslint-scope@npm:8.2.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + checksum: 10c0/8d2d58e2136d548ac7e0099b1a90d9fab56f990d86eb518de1247a7066d38c908be2f3df477a79cf60d70b30ba18735d6c6e70e9914dca2ee515a729975d70d6 languageName: node linkType: hard @@ -3217,55 +3216,67 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.57.1": - version: 8.57.1 - resolution: "eslint@npm:8.57.1" +"eslint@npm:^9.15.0": + version: 9.15.0 + resolution: "eslint@npm:9.15.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.1" - "@humanwhocodes/config-array": "npm:^0.13.0" + "@eslint-community/regexpp": "npm:^4.12.1" + "@eslint/config-array": "npm:^0.19.0" + "@eslint/core": "npm:^0.9.0" + "@eslint/eslintrc": "npm:^3.2.0" + "@eslint/js": "npm:9.15.0" + "@eslint/plugin-kit": "npm:^0.2.3" + "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" + "@humanwhocodes/retry": "npm:^0.4.1" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" + cross-spawn: "npm:^7.0.5" debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" + eslint-scope: "npm:^8.2.0" + eslint-visitor-keys: "npm:^4.2.0" + espree: "npm:^10.3.0" + esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" + file-entry-cache: "npm:^8.0.0" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" ignore: "npm:^5.2.0" imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" minimatch: "npm:^3.1.2" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true bin: eslint: bin/eslint.js - checksum: 10c0/1fd31533086c1b72f86770a4d9d7058ee8b4643fd1cfd10c7aac1ecb8725698e88352a87805cf4b2ce890aa35947df4b4da9655fb7fdfa60dbb448a43f6ebcf1 + checksum: 10c0/d0d7606f36bfcccb1c3703d0a24df32067b207a616f17efe5fb1765a91d13f085afffc4fc97ecde4ab9c9f4edd64d9b4ce750e13ff7937a25074b24bee15b20f + languageName: node + linkType: hard + +"espree@npm:^10.0.1, espree@npm:^10.3.0": + version: 10.3.0 + resolution: "espree@npm:10.3.0" + dependencies: + acorn: "npm:^8.14.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10c0/272beeaca70d0a1a047d61baff64db04664a33d7cfb5d144f84bc8a5c6194c6c8ebe9cc594093ca53add88baa23e59b01e69e8a0160ab32eac570482e165c462 languageName: node linkType: hard -"espree@npm:^9.6.0, espree@npm:^9.6.1": +"espree@npm:^9.6.1": version: 9.6.1 resolution: "espree@npm:9.6.1" dependencies: @@ -3276,7 +3287,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.2, esquery@npm:^1.6.0": +"esquery@npm:^1.5.0, esquery@npm:^1.6.0": version: 1.6.0 resolution: "esquery@npm:1.6.0" dependencies: @@ -3397,7 +3408,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.3.2": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -3465,12 +3476,12 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd + flat-cache: "npm:^4.0.0" + checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 languageName: node linkType: hard @@ -3540,14 +3551,13 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" dependencies: flatted: "npm:^3.2.9" - keyv: "npm:^4.5.3" - rimraf: "npm:^3.0.2" - checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 + keyv: "npm:^4.5.4" + checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc languageName: node linkType: hard @@ -3616,13 +3626,6 @@ __metadata: languageName: node linkType: hard -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 - languageName: node - linkType: hard - "function-bind@npm:^1.1.2": version: 1.1.2 resolution: "function-bind@npm:1.1.2" @@ -3683,10 +3686,10 @@ __metadata: languageName: node linkType: hard -"get-set-props@npm:^0.1.0": - version: 0.1.0 - resolution: "get-set-props@npm:0.1.0" - checksum: 10c0/979da65aa5631455ed0a00a86be10834e75276020bb402d57d0059d3d18c8b66c34586db4814d649ab4f19e59670a04b67038526cd7650a0b078e65ba6b9de91 +"get-set-props@npm:^0.2.0": + version: 0.2.0 + resolution: "get-set-props@npm:0.2.0" + checksum: 10c0/6030996bad46843651e46a737269a0db55bae4325e989addd93cb52ebb5c4829bca857550046da627e8158a24d4fe72bfacb34f28ecfed50fff69ff678bc042d languageName: node linkType: hard @@ -3802,20 +3805,6 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.3": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe - languageName: node - linkType: hard - "global-directory@npm:^4.0.1": version: 4.0.1 resolution: "global-directory@npm:4.0.1" @@ -3825,16 +3814,14 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.19.0": - version: 13.24.0 - resolution: "globals@npm:13.24.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d languageName: node linkType: hard -"globals@npm:^15.11.0, globals@npm:^15.9.0": +"globals@npm:^15.11.0, globals@npm:^15.3.0, globals@npm:^15.9.0": version: 15.12.0 resolution: "globals@npm:15.12.0" checksum: 10c0/f34e0a1845b694f45188331742af9f488b07ba7440a06e9d2039fce0386fbbfc24afdbb9846ebdccd4092d03644e43081c49eb27b30f4b88e43af156e1c1dc34 @@ -3851,20 +3838,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 - languageName: node - linkType: hard - "globby@npm:^14.0.0": version: 14.0.2 resolution: "globby@npm:14.0.2" @@ -4096,7 +4069,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.0.5, ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.1, ignore@npm:^5.3.2": +"ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.1, ignore@npm:^5.3.2": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 @@ -4165,17 +4138,7 @@ __metadata: languageName: node linkType: hard -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:~2.0.3": +"inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:~2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 @@ -4472,13 +4435,13 @@ __metadata: languageName: node linkType: hard -"is-get-set-prop@npm:^1.0.0": - version: 1.0.0 - resolution: "is-get-set-prop@npm:1.0.0" +"is-get-set-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "is-get-set-prop@npm:2.0.0" dependencies: - get-set-props: "npm:^0.1.0" - lowercase-keys: "npm:^1.0.0" - checksum: 10c0/4f503889021025bd36ba330110b414eec8f79a5b458f4573f0c890109267d81c5ca07ed9f1ff026c85b5996fcc453be85f1871e73ce3cd728368dc904d131b4d + get-set-props: "npm:^0.2.0" + lowercase-keys: "npm:^3.0.0" + checksum: 10c0/ea745d123bf408999ad5110def63e6943dd03519f941e598e8a4ba4c59c6548bfd97e0f4074b4708add10660fcbcaf174c1c957532f8c2045a59b22181a2f1b9 languageName: node linkType: hard @@ -4505,12 +4468,12 @@ __metadata: languageName: node linkType: hard -"is-js-type@npm:^2.0.0": - version: 2.0.0 - resolution: "is-js-type@npm:2.0.0" +"is-js-type@npm:^3.0.0": + version: 3.0.0 + resolution: "is-js-type@npm:3.0.0" dependencies: - js-types: "npm:^1.0.0" - checksum: 10c0/39ea3177e8870e317e5d5ecc6918ba31974a3b0dc00953d41e7e72d5fb480d74168f6249079b1c83958148084c8ada4bf719c5f8e235720a903cfecc0e6898b0 + js-types: "npm:^4.0.0" + checksum: 10c0/b0c87c52dd9199483dcdb19343c3cdda00981d545af9d7d6e30bb2f03cf73b7a4f5857d22254f95e590ef8f2978877dcbe24268f60ccaead86cc72526f7c3718 languageName: node linkType: hard @@ -4551,13 +4514,13 @@ __metadata: languageName: node linkType: hard -"is-obj-prop@npm:^1.0.0": - version: 1.0.0 - resolution: "is-obj-prop@npm:1.0.0" +"is-obj-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "is-obj-prop@npm:2.0.0" dependencies: - lowercase-keys: "npm:^1.0.0" - obj-props: "npm:^1.0.0" - checksum: 10c0/7c4b92a061b5ebdca6d285ed33b54ba076c08d53a3a1ec4833f73823eb812edd7a11df1a0799f6509537fdc967363e560e67a0c6864d6a35b95aea702c922526 + lowercase-keys: "npm:^3.0.0" + obj-props: "npm:^2.0.0" + checksum: 10c0/412677fae1db39ecd6a8de406689e05d2339ec230b951c188a58b2f6fa84213a29b09d72a25f26bb3ded5f6626c9f93b73f23cc7fcdc23255d45a78f9d208906 languageName: node linkType: hard @@ -4568,13 +4531,6 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 - languageName: node - linkType: hard - "is-plain-obj@npm:^4.0.0, is-plain-obj@npm:^4.1.0": version: 4.1.0 resolution: "is-plain-obj@npm:4.1.0" @@ -4582,13 +4538,13 @@ __metadata: languageName: node linkType: hard -"is-proto-prop@npm:^2.0.0": - version: 2.0.0 - resolution: "is-proto-prop@npm:2.0.0" +"is-proto-prop@npm:^3.0.1": + version: 3.0.1 + resolution: "is-proto-prop@npm:3.0.1" dependencies: - lowercase-keys: "npm:^1.0.0" - proto-props: "npm:^2.0.0" - checksum: 10c0/31dd30bc79e7dd2461c2185b865a8f99580e3b094edbc86d01b73a8b5f5a69fed958a95ed33f601289c39a11be94bffc4883d5301be626e890b0b9f078ed980e + lowercase-keys: "npm:^3.0.0" + prototype-properties: "npm:^5.0.0" + checksum: 10c0/53fc3447918a27eff0e873f8691f12c1cba69c357177cf456b8cac9d8331765adcad6137476e02132427096706bcc5ebfe23afdcc092a2af161c537552e8a755 languageName: node linkType: hard @@ -4791,10 +4747,10 @@ __metadata: languageName: node linkType: hard -"js-types@npm:^1.0.0": - version: 1.0.0 - resolution: "js-types@npm:1.0.0" - checksum: 10c0/4661814f9cf5a44d54d1ab1a494e50a598d9cd2a85ed175f8e737c537a9a85dca252c20aeb3e6bc2c8827cb3e89cb1dd218aa0b880fbfd42a6915be07938d727 +"js-types@npm:^4.0.0": + version: 4.0.0 + resolution: "js-types@npm:4.0.0" + checksum: 10c0/3e6091a03bb9aa032e8595cb4e6955c661b3ae080ba541dda3254da58ec581d591554eac13cca9651534cb76bd7d4b0a3bd45cc1325718cd76dc29841f606830 languageName: node linkType: hard @@ -4954,7 +4910,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.3": +"keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -5356,10 +5312,10 @@ __metadata: languageName: node linkType: hard -"lowercase-keys@npm:^1.0.0": - version: 1.0.1 - resolution: "lowercase-keys@npm:1.0.1" - checksum: 10c0/56776a8e1ef1aca98ecf6c19b30352ae1cf257b65b8ac858b7d8a0e8b348774d12a9b41aa7f59bfea51bff44bc7a198ab63ba4406bfba60dba008799618bef66 +"lowercase-keys@npm:^3.0.0": + version: 3.0.0 + resolution: "lowercase-keys@npm:3.0.0" + checksum: 10c0/ef62b9fa5690ab0a6e4ef40c94efce68e3ed124f583cc3be38b26ff871da0178a28b9a84ce0c209653bb25ca135520ab87fea7cd411a54ac4899cb2f30501430 languageName: node linkType: hard @@ -5409,6 +5365,13 @@ __metadata: languageName: node linkType: hard +"markdown-table@npm:^3.0.0": + version: 3.0.4 + resolution: "markdown-table@npm:3.0.4" + checksum: 10c0/1257b31827629a54c24a5030a3dac952256c559174c95ce3ef89bebd6bff0cb1444b1fd667b1a1bb53307f83278111505b3e26f0c4e7b731e0060d435d2d930b + languageName: node + linkType: hard + "marked-terminal@npm:^7.0.0": version: 7.2.1 resolution: "marked-terminal@npm:7.2.1" @@ -5435,6 +5398,18 @@ __metadata: languageName: node linkType: hard +"mdast-util-find-and-replace@npm:^3.0.0": + version: 3.0.1 + resolution: "mdast-util-find-and-replace@npm:3.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + escape-string-regexp: "npm:^5.0.0" + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/1faca98c4ee10a919f23b8cc6d818e5bb6953216a71dfd35f51066ed5d51ef86e5063b43dcfdc6061cd946e016a9f0d44a1dccadd58452cf4ed14e39377f00cb + languageName: node + linkType: hard + "mdast-util-from-markdown@npm:^0.8.5": version: 0.8.5 resolution: "mdast-util-from-markdown@npm:0.8.5" @@ -5448,7 +5423,7 @@ __metadata: languageName: node linkType: hard -"mdast-util-from-markdown@npm:^2.0.0": +"mdast-util-from-markdown@npm:^2.0.0, mdast-util-from-markdown@npm:^2.0.1": version: 2.0.2 resolution: "mdast-util-from-markdown@npm:2.0.2" dependencies: @@ -5468,6 +5443,83 @@ __metadata: languageName: node linkType: hard +"mdast-util-gfm-autolink-literal@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-gfm-autolink-literal@npm:2.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + ccount: "npm:^2.0.0" + devlop: "npm:^1.0.0" + mdast-util-find-and-replace: "npm:^3.0.0" + micromark-util-character: "npm:^2.0.0" + checksum: 10c0/963cd22bd42aebdec7bdd0a527c9494d024d1ad0739c43dc040fee35bdfb5e29c22564330a7418a72b5eab51d47a6eff32bc0255ef3ccb5cebfe8970e91b81b6 + languageName: node + linkType: hard + +"mdast-util-gfm-footnote@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-footnote@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.1.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + checksum: 10c0/c673b22bea24740235e74cfd66765b41a2fa540334f7043fa934b94938b06b7d3c93f2d3b33671910c5492b922c0cc98be833be3b04cfed540e0679650a6d2de + languageName: node + linkType: hard + +"mdast-util-gfm-strikethrough@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-strikethrough@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/b053e93d62c7545019bd914271ea9e5667ad3b3b57d16dbf68e56fea39a7e19b4a345e781312714eb3d43fdd069ff7ee22a3ca7f6149dfa774554f19ce3ac056 + languageName: node + linkType: hard + +"mdast-util-gfm-table@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-table@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + markdown-table: "npm:^3.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/128af47c503a53bd1c79f20642561e54a510ad5e2db1e418d28fefaf1294ab839e6c838e341aef5d7e404f9170b9ca3d1d89605f234efafde93ee51174a6e31e + languageName: node + linkType: hard + +"mdast-util-gfm-task-list-item@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-task-list-item@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/258d725288482b636c0a376c296431390c14b4f29588675297cb6580a8598ed311fc73ebc312acfca12cc8546f07a3a285a53a3b082712e2cbf5c190d677d834 + languageName: node + linkType: hard + +"mdast-util-gfm@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-gfm@npm:3.0.0" + dependencies: + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-gfm-autolink-literal: "npm:^2.0.0" + mdast-util-gfm-footnote: "npm:^2.0.0" + mdast-util-gfm-strikethrough: "npm:^2.0.0" + mdast-util-gfm-table: "npm:^2.0.0" + mdast-util-gfm-task-list-item: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/91596fe9bf3e4a0c546d0c57f88106c17956d9afbe88ceb08308e4da2388aff64489d649ddad599caecfdf755fc3ae4c9b82c219b85281bc0586b67599881fca + languageName: node + linkType: hard + "mdast-util-mdx-expression@npm:^2.0.0": version: 2.0.1 resolution: "mdast-util-mdx-expression@npm:2.0.1" @@ -5593,7 +5645,7 @@ __metadata: languageName: node linkType: hard -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": +"merge2@npm:^1.3.0": version: 1.4.1 resolution: "merge2@npm:1.4.1" checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb @@ -5624,6 +5676,99 @@ __metadata: languageName: node linkType: hard +"micromark-extension-gfm-autolink-literal@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-autolink-literal@npm:2.1.0" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/84e6fbb84ea7c161dfa179665dc90d51116de4c28f3e958260c0423e5a745372b7dcbc87d3cde98213b532e6812f847eef5ae561c9397d7f7da1e59872ef3efe + languageName: node + linkType: hard + +"micromark-extension-gfm-footnote@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-footnote@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/d172e4218968b7371b9321af5cde8c77423f73b233b2b0fcf3ff6fd6f61d2e0d52c49123a9b7910612478bf1f0d5e88c75a3990dd68f70f3933fe812b9f77edc + languageName: node + linkType: hard + +"micromark-extension-gfm-strikethrough@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-strikethrough@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/ef4f248b865bdda71303b494671b7487808a340b25552b11ca6814dff3fcfaab9be8d294643060bbdb50f79313e4a686ab18b99cbe4d3ee8a4170fcd134234fb + languageName: node + linkType: hard + +"micromark-extension-gfm-table@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-table@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/c1b564ab68576406046d825b9574f5b4dbedbb5c44bede49b5babc4db92f015d9057dd79d8e0530f2fecc8970a695c40ac2e5e1d4435ccf3ef161038d0d1463b + languageName: node + linkType: hard + +"micromark-extension-gfm-tagfilter@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-gfm-tagfilter@npm:2.0.0" + dependencies: + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/995558843fff137ae4e46aecb878d8a4691cdf23527dcf1e2f0157d66786be9f7bea0109c52a8ef70e68e3f930af811828ba912239438e31a9cfb9981f44d34d + languageName: node + linkType: hard + +"micromark-extension-gfm-task-list-item@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-task-list-item@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/78aa537d929e9309f076ba41e5edc99f78d6decd754b6734519ccbbfca8abd52e1c62df68d41a6ae64d2a3fc1646cea955893c79680b0b4385ced4c52296181f + languageName: node + linkType: hard + +"micromark-extension-gfm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-gfm@npm:3.0.0" + dependencies: + micromark-extension-gfm-autolink-literal: "npm:^2.0.0" + micromark-extension-gfm-footnote: "npm:^2.0.0" + micromark-extension-gfm-strikethrough: "npm:^2.0.0" + micromark-extension-gfm-table: "npm:^2.0.0" + micromark-extension-gfm-tagfilter: "npm:^2.0.0" + micromark-extension-gfm-task-list-item: "npm:^2.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/970e28df6ebdd7c7249f52a0dda56e0566fbfa9ae56c8eeeb2445d77b6b89d44096880cd57a1c01e7821b1f4e31009109fbaca4e89731bff7b83b8519690e5d9 + languageName: node + linkType: hard + "micromark-extension-mdx-expression@npm:^3.0.0": version: 3.0.0 resolution: "micromark-extension-mdx-expression@npm:3.0.0" @@ -5996,7 +6141,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -6553,10 +6698,10 @@ __metadata: languageName: node linkType: hard -"obj-props@npm:^1.0.0": - version: 1.4.0 - resolution: "obj-props@npm:1.4.0" - checksum: 10c0/f7b28fe9c955ca9cc524cf031ee946f8650ed8e3bee50c9622e23b45fbef73c93f900b883e58a421a1d5b0b07c359dfe1909d28cfd155076a7763e3d1ed99e14 +"obj-props@npm:^2.0.0": + version: 2.0.0 + resolution: "obj-props@npm:2.0.0" + checksum: 10c0/6c6514c206760dab2f8e7003dcea97ef2930b6278842a21aac0c99050443e4918c013774375bfe7186156387bf2b897a1c67046bd5628184301fdee60e2e4dde languageName: node linkType: hard @@ -6638,15 +6783,6 @@ __metadata: languageName: node linkType: hard -"once@npm:^1.3.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: "npm:1" - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 - languageName: node - linkType: hard - "onetime@npm:^6.0.0": version: 6.0.0 resolution: "onetime@npm:6.0.0" @@ -7019,13 +7155,6 @@ __metadata: languageName: node linkType: hard -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 - languageName: node - linkType: hard - "path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -7085,6 +7214,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc + languageName: node + linkType: hard + "pidtree@npm:~0.6.0": version: 0.6.0 resolution: "pidtree@npm:0.6.0" @@ -7255,10 +7391,10 @@ __metadata: languageName: node linkType: hard -"proto-props@npm:^2.0.0": - version: 2.0.0 - resolution: "proto-props@npm:2.0.0" - checksum: 10c0/a6fdf14ee678815f9ec0675205a173f187f093d674efa4157a99a2b7110f9d5a6037588c0c86544e9824aefd40d2e4c20786ebe0e9f278261642b2f2eebfda2f +"prototype-properties@npm:^5.0.0": + version: 5.0.0 + resolution: "prototype-properties@npm:5.0.0" + checksum: 10c0/6896094f42dd439fa86f1fb3921fae6ae5147763226545da0217baed3c6a288316298faabbd4e6147210723970da1a9d3d63cac2fd546ee9a8ca55dfbeb5f926 languageName: node linkType: hard @@ -7622,17 +7758,6 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^3.0.2": - version: 3.0.2 - resolution: "rimraf@npm:3.0.2" - dependencies: - glob: "npm:^7.1.3" - bin: - rimraf: bin.js - checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 - languageName: node - linkType: hard - "rimraf@npm:^5.0.5": version: 5.0.10 resolution: "rimraf@npm:5.0.10" @@ -7883,13 +8008,6 @@ __metadata: languageName: node linkType: hard -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b - languageName: node - linkType: hard - "slash@npm:^5.1.0": version: 5.1.0 resolution: "slash@npm:5.1.0" @@ -8382,7 +8500,7 @@ __metadata: languageName: node linkType: hard -"text-table@npm:^0.2.0, text-table@npm:~0.2.0": +"text-table@npm:~0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c @@ -8532,13 +8650,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 - languageName: node - linkType: hard - "type-fest@npm:^0.6.0": version: 0.6.0 resolution: "type-fest@npm:0.6.0" @@ -8641,6 +8752,22 @@ __metadata: languageName: node linkType: hard +"typescript-eslint@npm:^8.3.0": + version: 8.16.0 + resolution: "typescript-eslint@npm:8.16.0" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.16.0" + "@typescript-eslint/parser": "npm:8.16.0" + "@typescript-eslint/utils": "npm:8.16.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/3da9401d6c2416b9d95c96a41a9423a5379d233a120cd3304e2c03f191d350ce91cf0c7e60017f7b10c93b4cc1190592702735735b771c1ce1bf68f71a9f1647 + languageName: node + linkType: hard + "uglify-js@npm:^3.1.4": version: 3.19.3 resolution: "uglify-js@npm:3.19.3" @@ -9145,13 +9272,6 @@ __metadata: languageName: node linkType: hard -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 - languageName: node - linkType: hard - "write-file-atomic@npm:^6.0.0": version: 6.0.0 resolution: "write-file-atomic@npm:6.0.0"