diff --git a/.commitlintrc.cjs b/.commitlintrc.cjs index c0c6784..6b8a6cd 100644 --- a/.commitlintrc.cjs +++ b/.commitlintrc.cjs @@ -1,10 +1,7 @@ const lernaScopes = require('@commitlint/config-pnpm-scopes') module.exports = { - extends: [ - '@commitlint/config-conventional', - '@commitlint/config-pnpm-scopes' - ], + extends: ['@commitlint/config-conventional', '@commitlint/config-pnpm-scopes'], rules: { 'body-max-line-length': [0], 'scope-enum': async (ctx) => { diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 27b409a..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "root": true, - "extends": [ - "@trigen/eslint-config", - "@trigen/eslint-config/jest" - ], - "env": { - "node": true - }, - "rules": { - "no-console": "off" - }, - "ignorePatterns": [ - "packages/*/dist/**/*" - ] -} diff --git a/.nano-staged.json b/.nano-staged.json index 7ee4eb6..772e7f5 100644 --- a/.nano-staged.json +++ b/.nano-staged.json @@ -1,3 +1,3 @@ { - "*.{js,ts,tsx}": "eslint --fix" + "*.{c,m,}{js,ts}{x,}": "eslint --flag v10_config_lookup_from_file --fix" } diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..bea459d --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,16 @@ +import { globalIgnores } from 'eslint/config' +import baseConfig from '@trigen/eslint-config' +import testConfig from '@trigen/eslint-config/test' +import env from '@trigen/eslint-config/env' + +export default [ + globalIgnores(['**/package/']), + ...baseConfig, + ...testConfig, + env.node, + { + rules: { + 'no-console': 'off' + } + } +] diff --git a/package.json b/package.json index 3611ce9..7c0f620 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "scripts": { "clear": "del './packages/*/dist' ./coverage ./node_modules/.cache", "lint:package-json": "lint-package-json --monorepo", - "lint": "eslint '*.{js,cjs}' 'packages/**/*.{js,jsx,ts,tsx}'", + "lint": "eslint --flag v10_config_lookup_from_file", "test:unit": "vitest run", "test:unit:watch": "vitest watch", "test": "run -p lint test:unit", @@ -43,7 +43,7 @@ "clean-publish": "^4.0.0", "commitizen": "^4.2.4", "del-cli": "^5.0.0", - "eslint": "^8.0.0", + "eslint": "^9.0.0", "inquirer": "^8.0.0", "lerna": "^4.0.0", "nano-staged": "^0.8.0", diff --git a/packages/babel-preset/.eslintrc.json b/packages/babel-preset/.eslintrc.json deleted file mode 100644 index 59dcf80..0000000 --- a/packages/babel-preset/.eslintrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": [ - "@trigen/eslint-config/commonjs" - ] -} diff --git a/packages/babel-preset/eslint.config.mjs b/packages/babel-preset/eslint.config.mjs new file mode 100644 index 0000000..f31eed0 --- /dev/null +++ b/packages/babel-preset/eslint.config.mjs @@ -0,0 +1,4 @@ +import commonjsConfig from '@trigen/eslint-config/commonjs' +import rootConfig from '../../eslint.config.js' + +export default [...rootConfig, ...commonjsConfig] diff --git a/packages/babel-preset/src/preset.js b/packages/babel-preset/src/preset.js index f7c587c..d567c7f 100644 --- a/packages/babel-preset/src/preset.js +++ b/packages/babel-preset/src/preset.js @@ -100,7 +100,7 @@ module.exports = (api, envOptions, options) => { try { require.resolve('react-hot-loader/babel') plugins.push('react-hot-loader/babel') - } catch (err) { + } catch { /* Ignore */ } diff --git a/packages/browserslist-config/.eslintrc.json b/packages/browserslist-config/.eslintrc.json deleted file mode 100644 index 59dcf80..0000000 --- a/packages/browserslist-config/.eslintrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": [ - "@trigen/eslint-config/commonjs" - ] -} diff --git a/packages/browserslist-config/eslint.config.mjs b/packages/browserslist-config/eslint.config.mjs new file mode 100644 index 0000000..f31eed0 --- /dev/null +++ b/packages/browserslist-config/eslint.config.mjs @@ -0,0 +1,4 @@ +import commonjsConfig from '@trigen/eslint-config/commonjs' +import rootConfig from '../../eslint.config.js' + +export default [...rootConfig, ...commonjsConfig] diff --git a/packages/eslint-config/.eslintrc.json b/packages/eslint-config/.eslintrc.json deleted file mode 100644 index bbc91bc..0000000 --- a/packages/eslint-config/.eslintrc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": [ - "@trigen/eslint-config/commonjs" - ], - "rules": { - "no-magic-numbers": "off" - } -} diff --git a/packages/eslint-config/README.md b/packages/eslint-config/README.md index 354750e..a465de7 100644 --- a/packages/eslint-config/README.md +++ b/packages/eslint-config/README.md @@ -35,12 +35,12 @@ npm i -D @trigen/eslint-config ## Configure -Create `.eslintrc.json` with next content: +Create `eslint.config.js` with next content: -```json -{ - "extends": "@trigen/eslint-config" -} +```js +import baseConfig from '@trigen/eslint-config' + +export default baseConfig ``` ### Additional configs @@ -49,25 +49,46 @@ There are additional configs for specific language features: | Config | Description | |--------|-------------| +| @trigen/eslint-config/env | Globals for different environments. | | @trigen/eslint-config/commonjs | Rules for CommonJS modules. | -| @trigen/eslint-config/esm | Rules for ES modules. | -| @trigen/eslint-config/tsm | Rules for TS modules. | -| @trigen/eslint-config/react | Rules for ReactJS code. | -| @trigen/eslint-config/jest | Rules for Jest tests. | -| @trigen/eslint-config/jest-dom | Rules for Jest DOM tests. | -| @trigen/eslint-config/storybook | Rules for Storybook's stories. | +| @trigen/eslint-config/module | Rules for ES modules. | +| @trigen/eslint-config/bundler | Rules for ES modules with bundler's module resolution. | +| @trigen/eslint-config/test | Rules for test files. | +| @trigen/eslint-config/dom-test | Rules for DOM tests. | +| @trigen/eslint-config/react | Rules for React code. | +| @trigen/eslint-config/react-test | Rules for React tests. | +| @trigen/eslint-config/storybook | Rules for Storybook stories. | | @trigen/eslint-config/typescript | Rules for TypeScript code. | -| @trigen/eslint-config/typescript-requiring-type-checking | Rules for TypeScript code with type checking. | +| @trigen/eslint-config/typescript-type-checked | Rules for TypeScript code with type checking. | Example: -```json -{ - "extends": [ - "@trigen/eslint-config", - "@trigen/eslint-config/react", - "@trigen/eslint-config/typescript", - "@trigen/eslint-config/typescript-requiring-type-checking" - ] -} +```js +import baseConfig from '@trigen/eslint-config' +import env from '@trigen/eslint-config/env' +import bundlerConfig from '@trigen/eslint-config/bundler' +import reactConfig from '@trigen/eslint-config/react' +import typescriptConfig from '@trigen/eslint-config/typescript-type-checked' +import testConfig from '@trigen/eslint-config/test' +import reactTestConfig from '@trigen/eslint-config/react-test' +import storybookConfig from '@trigen/eslint-config/storybook' + +export default [ + env.browser, + ...baseConfig, + ...bundlerConfig, + ...reactConfig, + ...typescriptConfig, + ...testConfig, + ...reactTestConfig, + ...storybookConfig, + { + languageOptions: { + parserOptions: { + tsconfigRootDir: import.meta.dirname, + projectService: true + } + } + } +] ``` diff --git a/packages/eslint-config/eslint.config.js b/packages/eslint-config/eslint.config.js new file mode 100644 index 0000000..a5cdeae --- /dev/null +++ b/packages/eslint-config/eslint.config.js @@ -0,0 +1,16 @@ +import { globalIgnores } from 'eslint/config' +import commonjsConfig from '@trigen/eslint-config/commonjs' +import rootConfig from '../../eslint.config.js' + +export default [ + globalIgnores(['**/*.d.ts']), + ...rootConfig, + ...commonjsConfig, + { + rules: { + 'no-magic-numbers': 'off', + 'import/no-default-export': 'off', + 'import/no-anonymous-default-export': 'off' + } + } +] diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 5846c0a..36407ac 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -1,5 +1,6 @@ { "name": "@trigen/eslint-config", + "type": "module", "version": "8.0.0-alpha.33", "description": "Trigen's ESLint config.", "author": "dangreen", @@ -19,10 +20,19 @@ "engines": { "node": ">=20" }, - "main": "./src/index.js", "exports": { - ".": "./src/index.js", - "./*": "./src/*.js" + ".": { + "types": "./src/index.d.ts", + "default": "./src/index.js" + }, + "./env": { + "types": "./src/env.d.ts", + "default": "./src/env.js" + }, + "./*": { + "types": "./src/index.d.ts", + "default": "./src/*.js" + } }, "publishConfig": { "access": "public", @@ -35,7 +45,7 @@ }, "peerDependencies": { "@testing-library/dom": ">=8.0.0", - "eslint": ">=7.0.0" + "eslint": ">=9.0.0" }, "peerDependenciesMeta": { "@testing-library/dom": { @@ -43,14 +53,17 @@ } }, "dependencies": { - "@typescript-eslint/eslint-plugin": "^6.0.0", - "@typescript-eslint/parser": "^6.0.0", - "eslint-plugin-import": "^2.25.3", - "eslint-plugin-jest": "^27.0.0", - "eslint-plugin-jest-dom": "^5.0.0", - "eslint-plugin-jsdoc": "^46.0.0", - "eslint-plugin-react": "^7.27.1", - "eslint-plugin-react-hooks": "^4.3.0", - "eslint-plugin-testing-library": "^6.0.0" + "@eslint/js": "^9.12.0", + "@typescript-eslint/eslint-plugin": "^8.0.0", + "@typescript-eslint/parser": "^8.0.0", + "eslint-plugin-import": "^2.30.0", + "eslint-plugin-jest": "^28.0.0", + "eslint-plugin-jest-dom": "^5.4.0", + "eslint-plugin-jsdoc": "^50.0.0", + "eslint-plugin-react": "^7.35.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-testing-library": "^6.3.0", + "globals": "^16.3.0", + "typescript-eslint": "^8.35.1" } } diff --git a/packages/eslint-config/src/bundler.js b/packages/eslint-config/src/bundler.js new file mode 100644 index 0000000..ba56c23 --- /dev/null +++ b/packages/eslint-config/src/bundler.js @@ -0,0 +1,21 @@ +/** + * Bundler override + */ + +import { commonjsFiles } from './subconfigs/files.js' + +export default [ + { + ignores: commonjsFiles, + rules: { + 'import/unambiguous': 'error', + 'import/no-commonjs': [ + 'error', + { + allowRequire: false, + allowPrimitiveModules: false + } + ] + } + } +] diff --git a/packages/eslint-config/src/commonjs.js b/packages/eslint-config/src/commonjs.js index e5f13a7..042c08b 100644 --- a/packages/eslint-config/src/commonjs.js +++ b/packages/eslint-config/src/commonjs.js @@ -2,14 +2,10 @@ * CommonJS override */ -module.exports = { - overrides: [ - { - files: ['*.js'], - rules: { - 'import/no-commonjs': 'off', - 'import/unambiguous': 'off' - } - } - ] -} +import { moduleFiles } from './subconfigs/files.js' +import moduleConfig from './module.js' + +export default moduleConfig.map(({ ignores, ...config }) => ({ + files: moduleFiles, + ...config +})) diff --git a/packages/eslint-config/src/dom-test.js b/packages/eslint-config/src/dom-test.js new file mode 100644 index 0000000..dbe99e1 --- /dev/null +++ b/packages/eslint-config/src/dom-test.js @@ -0,0 +1,13 @@ +/** + * Test DOM override + */ + +import jestDomPlugin from 'eslint-plugin-jest-dom' +import { testFiles } from './subconfigs/files.js' + +export default [ + { + files: testFiles, + ...jestDomPlugin.configs['flat/recommended'] + } +] diff --git a/packages/eslint-config/src/env.d.ts b/packages/eslint-config/src/env.d.ts new file mode 100644 index 0000000..3c6dc2f --- /dev/null +++ b/packages/eslint-config/src/env.d.ts @@ -0,0 +1,8 @@ +import type { ESLint } from 'eslint' +import type globals from 'globals' + +type FlatConfig = ESLint.ConfigData + +declare const config: Record + +export default config; diff --git a/packages/eslint-config/src/env.js b/packages/eslint-config/src/env.js new file mode 100644 index 0000000..171b6a4 --- /dev/null +++ b/packages/eslint-config/src/env.js @@ -0,0 +1,15 @@ +/** + * Env override + */ + +import globals from 'globals' + +export default Object.keys(globals).reduce((envs, type) => { + envs[type] = { + languageOptions: { + globals: globals[type] + } + } + + return envs +}, {}) diff --git a/packages/eslint-config/src/esm.js b/packages/eslint-config/src/esm.js deleted file mode 100644 index 8f01e2f..0000000 --- a/packages/eslint-config/src/esm.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * ESM override - */ - -module.exports = { - overrides: [ - { - files: ['*.js', '*.jsx'], - rules: { - 'import/no-useless-path-segments': [ - 'error', - { - noUselessIndex: false - } - ], - 'import/extensions': ['error', 'ignorePackages'] - } - } - ] -} diff --git a/packages/eslint-config/src/index.d.ts b/packages/eslint-config/src/index.d.ts new file mode 100644 index 0000000..e342b84 --- /dev/null +++ b/packages/eslint-config/src/index.d.ts @@ -0,0 +1,7 @@ +import type { ESLint } from 'eslint' + +type FlatConfig = ESLint.ConfigData + +declare const config: FlatConfig[] + +export default config diff --git a/packages/eslint-config/src/index.js b/packages/eslint-config/src/index.js index 1d856b4..bb8f680 100644 --- a/packages/eslint-config/src/index.js +++ b/packages/eslint-config/src/index.js @@ -1,30 +1,28 @@ /** - * Combine all configs without ReactJS config + * Combine all basic configs */ -module.exports = { - extends: ['eslint:recommended', 'plugin:jsdoc/recommended'].concat([ - './rules/common', - './rules/es6', - './rules/jsdoc' - ].map(require.resolve)), - env: { - es6: true - }, - parserOptions: { - ecmaVersion: 'latest', - sourceType: 'module', - ecmaFeatures: { - impliedStrict: true - } - }, - overrides: [ - { - files: ['*.config.js', '*.config.ts'], - rules: { - 'import/no-default-export': 'off', - 'import/no-anonymous-default-export': 'off' +import eslint from '@eslint/js' +import basicConfig from './subconfigs/basic.js' +import es6Config from './subconfigs/es6.js' +import jsdocConfig from './subconfigs/jsdoc.js' +import configsConfig from './subconfigs/configs.js' + +export default [ + eslint.configs.recommended, + { + languageOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + parserOptions: { + ecmaFeatures: { + impliedStrict: true + } } } - ] -} + }, + ...basicConfig, + ...es6Config, + ...jsdocConfig, + ...configsConfig +] diff --git a/packages/eslint-config/src/jest-dom.js b/packages/eslint-config/src/jest-dom.js deleted file mode 100644 index 9db1fd6..0000000 --- a/packages/eslint-config/src/jest-dom.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Jest DOM override - */ -const { makePatterns } = require('./utils') - -const postfixes = ['spec', 'mock'] -const extensions = [ - 'js', - 'jsx', - 'ts', - 'tsx' -] - -module.exports = { - overrides: [ - { - files: makePatterns(postfixes, extensions), - plugins: ['jest-dom'], - extends: ['plugin:jest-dom/recommended'] - } - ] -} diff --git a/packages/eslint-config/src/jest.js b/packages/eslint-config/src/jest.js deleted file mode 100644 index dcb295f..0000000 --- a/packages/eslint-config/src/jest.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Jest override - */ -const { makePatterns } = require('./utils') - -const postfixes = ['spec', 'mock'] -const extensions = [ - 'js', - 'jsx', - 'ts', - 'tsx' -] - -module.exports = { - overrides: [ - { - files: makePatterns(postfixes, extensions), - plugins: ['jest', 'testing-library'], - extends: ['plugin:testing-library/react'], - env: { - 'jest/globals': true - }, - rules: { - 'max-classes-per-file': 'off', - 'no-magic-numbers': 'off', - '@typescript-eslint/no-magic-numbers': 'off', - 'import/order': 'off', - 'max-nested-callbacks': 'off', - '@typescript-eslint/no-unsafe-return': 'off', - '@typescript-eslint/no-unsafe-assignment': 'off', - '@typescript-eslint/no-unsafe-member-access': 'off', - '@typescript-eslint/no-unsafe-call': 'off', - '@typescript-eslint/no-unsafe-argument': 'off', - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/no-floating-promises': 'off', - 'prefer-destructuring': 'off', - 'no-loop-func': 'off', - '@typescript-eslint/no-misused-promises': 'off', - '@typescript-eslint/no-empty-function': 'off', - '@typescript-eslint/naming-convention': 'off', - '@typescript-eslint/no-use-before-define': 'off' - } - } - ] -} diff --git a/packages/eslint-config/src/module.js b/packages/eslint-config/src/module.js new file mode 100644 index 0000000..97ea8a6 --- /dev/null +++ b/packages/eslint-config/src/module.js @@ -0,0 +1,21 @@ +/** + * ESM override + */ + +import bundlerConfig from './bundler.js' + +export default [ + ...bundlerConfig, + { + ignores: bundlerConfig[0].ignores, + rules: { + 'import/no-useless-path-segments': [ + 'error', + { + noUselessIndex: false + } + ], + 'import/extensions': ['error', 'ignorePackages'] + } + } +] diff --git a/packages/eslint-config/src/react-test.js b/packages/eslint-config/src/react-test.js new file mode 100644 index 0000000..edc7abe --- /dev/null +++ b/packages/eslint-config/src/react-test.js @@ -0,0 +1,13 @@ +/** + * Test React override + */ + +import testingLibraryPlugin from 'eslint-plugin-testing-library' +import { testFiles } from './subconfigs/files.js' + +export default [ + { + files: testFiles, + ...testingLibraryPlugin.configs['flat/react'] + } +] diff --git a/packages/eslint-config/src/react.js b/packages/eslint-config/src/react.js index 5af3b5d..5dae278 100644 --- a/packages/eslint-config/src/react.js +++ b/packages/eslint-config/src/react.js @@ -1,29 +1,5 @@ /** - * Combine all configs + * React override */ -module.exports = { - overrides: [ - { - files: [ - '*.js', - '*.jsx', - '*.tsx' - ], - extends: ['./rules/react'].map(require.resolve), - parserOptions: { - ecmaFeatures: { - jsx: true - } - }, - rules: { - 'jsdoc/require-param': 'off', - 'jsdoc/require-returns': 'off' - } - }, - { - files: ['**/hooks/*.ts'], - extends: ['./rules/react'].map(require.resolve) - } - ] -} +export { default } from './subconfigs/react.js' diff --git a/packages/eslint-config/src/rules/common.js b/packages/eslint-config/src/rules/common.js deleted file mode 100644 index 4662d29..0000000 --- a/packages/eslint-config/src/rules/common.js +++ /dev/null @@ -1,336 +0,0 @@ -/** - * Common config - */ - -module.exports = { - rules: { - // Possible Errors - 'no-console': [ - 'warn', - { - allow: [ - 'warn', - 'error', - 'info' - ] - } - ], - 'no-debugger': 'warn', - 'no-extra-parens': [ - 'error', - 'all', - { - nestedBinaryExpressions: false, - ignoreJSX: 'multi-line', - enforceForArrowConditionals: false, - enforceForSequenceExpressions: false - } - ], - 'no-loss-of-precision': 'error', - 'no-template-curly-in-string': 'error', - 'no-useless-backreference': 'error', - 'require-atomic-updates': 'error', - 'valid-typeof': [ - 'error', - { - requireStringLiterals: true - } - ], - - // Best Practices - 'array-callback-return': 'error', - 'block-scoped-var': 'error', - 'consistent-return': 'error', - 'curly': 'error', - 'default-case-last': 'error', - 'dot-location': ['error', 'property'], - 'dot-notation': 'error', - 'eqeqeq': 'error', - 'grouped-accessor-pairs': ['error', 'getBeforeSet'], - 'max-classes-per-file': 'error', - 'no-alert': 'warn', - 'no-caller': 'error', - 'no-constructor-return': 'error', - 'no-else-return': 'error', - 'no-empty-function': 'warn', - 'no-eq-null': 'error', - 'no-eval': 'error', - 'no-extend-native': 'error', - 'no-extra-bind': 'error', - 'no-extra-label': 'error', - 'no-implicit-coercion': 'error', - 'no-implicit-globals': 'error', - 'no-implied-eval': 'error', - 'no-iterator': 'error', - 'no-labels': 'error', - 'no-lone-blocks': 'error', - 'no-loop-func': 'error', - 'no-magic-numbers': [ - 'error', - { - ignore: [ - -1, - 0, - .5, - 1, - 2, - 100 - ], - ignoreArrayIndexes: true, - detectObjects: false - } - ], - 'no-multi-spaces': 'error', - 'no-multi-str': 'error', - 'no-new': 'error', - 'no-new-func': 'error', - 'no-new-wrappers': 'error', - 'no-octal-escape': 'error', - 'no-param-reassign': [ - 'error', - { - props: false - } - ], - 'no-proto': 'error', - 'no-return-assign': 'error', - 'no-script-url': 'error', - 'no-self-compare': 'error', - 'no-sequences': 'error', - 'no-throw-literal': 'error', - 'no-unmodified-loop-condition': 'error', - 'no-unused-expressions': 'error', - 'no-useless-call': 'error', - 'no-useless-concat': 'error', - 'no-useless-return': 'error', - 'no-void': 'error', - 'prefer-promise-reject-errors': 'error', - 'radix': 'error', - 'require-await': 'error', - 'yoda': [ - 'error', - 'never', - { - exceptRange: true - } - ], - - // Variables - 'no-label-var': 'error', - 'no-restricted-globals': ['error', 'event'], - 'no-undef-init': 'error', - 'no-unused-vars': [ - 'error', - { - ignoreRestSiblings: true, - argsIgnorePattern: '^_' - } - ], - 'no-use-before-define': [ - 'error', - { - functions: false - } - ], - - // Stylistic Issues - 'array-bracket-newline': [ - 'error', - { - multiline: true - } - ], - 'array-bracket-spacing': ['error', 'never'], - 'array-element-newline': [ - 'error', - { - multiline: true, - minItems: 3 - } - ], - 'block-spacing': 'error', - 'brace-style': ['error', '1tbs'], - 'camelcase': 'error', - 'comma-dangle': ['error', 'never'], - 'comma-spacing': 'error', - 'comma-style': 'error', - 'computed-property-spacing': 'error', - 'consistent-this': ['error', 'self'], - 'eol-last': 'error', - 'func-call-spacing': 'error', - 'func-names': 'error', - 'func-style': [ - 'error', - 'declaration', - { - allowArrowFunctions: true - } - ], - 'function-call-argument-newline': ['error', 'consistent'], - 'function-paren-newline': ['error', 'consistent'], - 'implicit-arrow-linebreak': ['error', 'beside'], - 'indent': [ - 'error', - 2, - { - SwitchCase: 1 - } - ], - 'jsx-quotes': ['error', 'prefer-single'], - 'key-spacing': [ - 'error', - { - mode: 'strict' - } - ], - 'keyword-spacing': 'error', - 'linebreak-style': 'error', - 'lines-between-class-members': [ - 'error', - 'always', - { - exceptAfterSingleLine: true - } - ], - 'max-nested-callbacks': ['error', 4], - 'max-params': ['error', 6], - 'max-statements-per-line': 'error', - 'new-cap': [ - 'error', - { - capIsNew: false - } - ], - 'new-parens': 'error', - 'no-array-constructor': 'error', - 'no-lonely-if': 'error', - 'no-multi-assign': 'error', - 'no-multiple-empty-lines': [ - 'error', - { - max: 1 - } - ], - 'no-new-object': 'error', - 'no-trailing-spaces': 'error', - 'no-unneeded-ternary': 'error', - 'no-whitespace-before-property': 'error', - 'object-curly-newline': [ - 'error', - { - ObjectExpression: { - minProperties: 1 - }, - ObjectPattern: { - multiline: true - }, - ImportDeclaration: { - multiline: true - }, - ExportDeclaration: { - multiline: true - } - } - ], - 'object-curly-spacing': ['error', 'always'], - 'object-property-newline': [ - 'error', - { - allowAllPropertiesOnSameLine: false - } - ], - 'one-var': ['error', 'never'], - 'one-var-declaration-per-line': ['error', 'initializations'], - 'operator-assignment': ['error', 'always'], - 'operator-linebreak': [ - 'error', - 'before', - { - overrides: { - '=': 'after' - } - } - ], - 'padded-blocks': ['error', 'never'], - 'padding-line-between-statements': [ - 'error', - { - blankLine: 'always', - prev: 'import', - next: '*' - }, - { - blankLine: 'never', - prev: 'import', - next: 'import' - }, - { - blankLine: 'always', - prev: '*', - next: 'block-like' - }, - { - blankLine: 'always', - prev: 'block-like', - next: '*' - }, - { - blankLine: 'always', - prev: '*', - next: ['const', 'let'] - }, - { - blankLine: 'always', - prev: ['const', 'let'], - next: '*' - }, - { - blankLine: 'never', - prev: ['const', 'let'], - next: ['const', 'let'] - }, - { - blankLine: 'always', - prev: ['cjs-import'], - next: '*' - }, - { - blankLine: 'never', - prev: ['cjs-import'], - next: ['cjs-import'] - } - ], - 'prefer-object-spread': 'error', - 'quote-props': ['error', 'consistent-as-needed'], - 'quotes': [ - 'error', - 'single', - { - avoidEscape: true, - allowTemplateLiterals: true - } - ], - 'semi': ['error', 'never'], - 'space-before-blocks': 'error', - 'space-before-function-paren': [ - 'error', - { - anonymous: 'always', - named: 'never', - asyncArrow: 'always' - } - ], - 'space-in-parens': 'error', - 'space-infix-ops': [ - 'error', - { - int32Hint: true - } - ], - 'space-unary-ops': 'error', - 'spaced-comment': 'error', - 'switch-colon-spacing': 'error', - 'template-tag-spacing': 'error', - 'unicode-bom': 'error' - } -} diff --git a/packages/eslint-config/src/rules/es6.js b/packages/eslint-config/src/rules/es6.js deleted file mode 100644 index ab91982..0000000 --- a/packages/eslint-config/src/rules/es6.js +++ /dev/null @@ -1,133 +0,0 @@ -/** - * ECMAScript 6 config - */ - -module.exports = { - plugins: ['import'], - rules: { - // Import - // Static analysis - 'import/no-absolute-path': 'error', - 'import/no-dynamic-require': 'error', - 'import/no-webpack-loader-syntax': 'error', - 'import/no-self-import': 'error', - 'import/no-cycle': [ - 'error', - { - ignoreExternal: true - } - ], - 'import/no-useless-path-segments': [ - 'error', - { - noUselessIndex: true - } - ], - // Helpful warnings - 'import/export': 'error', - 'import/no-mutable-exports': 'error', - // Module systems - 'import/unambiguous': 'error', - 'import/no-commonjs': [ - 'error', - { - allowRequire: false, - allowPrimitiveModules: false - } - ], - 'import/no-amd': 'error', - // Style guide - 'import/first': 'error', - 'import/no-duplicates': 'error', - 'import/order': [ - 'error', - { - 'groups': [ - 'builtin', - 'external', - 'internal', - 'parent', - 'sibling', - 'index' - ], - 'newlines-between': 'never' - } - ], - 'import/newline-after-import': 'error', - 'import/no-default-export': 'error', - 'import/no-named-default': 'error', - 'import/no-anonymous-default-export': [ - 'error', - { - allowArray: true, - allowArrowFunction: false, - allowAnonymousClass: false, - allowAnonymousFunction: false, - allowCallExpression: false, - allowLiteral: false, - allowObject: true - } - ], - - // Other - 'arrow-body-style': ['error', 'as-needed'], - 'arrow-parens': [ - 'error', - 'as-needed', - { - requireForBlockBody: true - } - ], - 'arrow-spacing': 'error', - 'generator-star-spacing': ['error', 'after'], - 'no-confusing-arrow': [ - 'error', - { - allowParens: true - } - ], - 'no-duplicate-imports': 'off', // in favor of import/no-duplicates - 'no-useless-computed-key': 'error', - 'no-useless-constructor': 'error', - 'no-useless-rename': 'error', - 'no-var': 'error', - 'object-shorthand': ['error', 'always'], - 'prefer-arrow-callback': [ - 'error', - { - allowNamedFunctions: true - } - ], - 'prefer-const': [ - 'error', - { - destructuring: 'all', - ignoreReadBeforeAssign: false - } - ], - 'prefer-destructuring': [ - 'error', - { - VariableDeclarator: { - array: true, - object: true - }, - AssignmentExpression: { - array: true, - object: false - } - }, - { - enforceForRenamedProperties: false - } - ], - 'prefer-numeric-literals': 'error', - 'prefer-rest-params': 'error', - 'prefer-spread': 'error', - 'prefer-template': 'error', - 'rest-spread-spacing': ['error', 'never'], - 'symbol-description': 'error', - 'template-curly-spacing': 'error', - 'yield-star-spacing': ['error', 'after'] - } -} diff --git a/packages/eslint-config/src/rules/getExtensionRules.js b/packages/eslint-config/src/rules/getExtensionRules.js deleted file mode 100644 index bdec2e4..0000000 --- a/packages/eslint-config/src/rules/getExtensionRules.js +++ /dev/null @@ -1,16 +0,0 @@ -const commonRules = require('./common').rules -const es6Rules = require('./es6').rules - -const rules = { - ...commonRules, - ...es6Rules -} - -module.exports = (prefix, extensionNames) => extensionNames.reduce( - (extensionRules, name) => ({ - ...extensionRules, - [name]: 'off', - [`${prefix}/${name}`]: rules[name] - }), - {} -) diff --git a/packages/eslint-config/src/rules/jsdoc.js b/packages/eslint-config/src/rules/jsdoc.js deleted file mode 100644 index e863c3f..0000000 --- a/packages/eslint-config/src/rules/jsdoc.js +++ /dev/null @@ -1,35 +0,0 @@ -/** - * JSDoc config - */ - -module.exports = { - plugins: ['jsdoc'], - settings: { - jsdoc: { - mode: 'typescript' - } - }, - rules: { - 'jsdoc/check-property-names': [ - 'warn', - { - enableFixer: true - } - ], - 'jsdoc/tag-lines': ['error', 'never'], - 'jsdoc/no-undefined-types': 'off', - 'jsdoc/require-hyphen-before-param-description': ['warn', 'always'], - 'jsdoc/require-jsdoc': 'off', - 'jsdoc/require-param-type': 'off', - 'jsdoc/require-param-description': 'off', - 'jsdoc/require-returns-type': 'off' - }, - overrides: [ - { - files: ['*.ts', '*.tsx'], - rules: { - 'jsdoc/no-types': 'warn' - } - } - ] -} diff --git a/packages/eslint-config/src/rules/react.js b/packages/eslint-config/src/rules/react.js deleted file mode 100644 index 27570ec..0000000 --- a/packages/eslint-config/src/rules/react.js +++ /dev/null @@ -1,130 +0,0 @@ -/** - * ReactJS config - */ - -module.exports = { - plugins: ['react', 'react-hooks'], - settings: { - react: { - version: 'detect' - } - }, - rules: { - // React - 'react/destructuring-assignment': [ - 'error', - 'always', - { - ignoreClassFields: true - } - ], - 'react/function-component-definition': [ - 'error', - { - namedComponents: 'function-declaration', - unnamedComponents: 'arrow-function' - } - ], - 'react/no-access-state-in-setstate': 'error', - 'react/no-array-index-key': 'warn', - 'react/no-children-prop': 'error', - 'react/no-danger': 'warn', - 'react/no-danger-with-children': 'error', - 'react/no-deprecated': 'error', - 'react/no-did-mount-set-state': 'error', - 'react/no-did-update-set-state': 'error', - 'react/no-direct-mutation-state': 'error', - 'react/no-find-dom-node': 'error', - 'react/no-is-mounted': 'error', - 'react/no-multi-comp': [ - 'error', - { - ignoreStateless: true - } - ], - 'react/no-redundant-should-component-update': 'error', - 'react/no-render-return-value': 'error', - 'react/no-string-refs': 'error', - 'react/no-this-in-sfc': 'error', - 'react/no-typos': 'error', - 'react/no-unescaped-entities': 'error', - 'react/no-unknown-property': 'error', - 'react/no-unsafe': 'error', - 'react/no-unused-prop-types': 'error', - 'react/no-unused-state': 'error', - 'react/no-will-update-set-state': 'error', - 'react/prefer-es6-class': 'error', - 'react/prefer-stateless-function': 'error', - 'react/react-in-jsx-scope': 'error', - 'react/require-render-return': 'error', - 'react/self-closing-comp': 'error', - 'react/static-property-placement': ['error', 'static public field'], - 'react/style-prop-object': 'error', - 'react/void-dom-elements-no-children': 'error', - - // Hooks - 'react-hooks/rules-of-hooks': 'error', - 'react-hooks/exhaustive-deps': 'warn', - - // JSX - 'react/jsx-boolean-value': 'error', - 'react/jsx-closing-bracket-location': 'error', - 'react/jsx-closing-tag-location': 'error', - 'react/jsx-curly-brace-presence': ['error', 'never'], - 'react/jsx-curly-newline': 'error', - 'react/jsx-curly-spacing': 'error', - 'react/jsx-equals-spacing': 'error', - 'react/jsx-first-prop-new-line': ['error', 'multiline'], - 'react/jsx-fragments': 'error', - 'react/jsx-indent': ['error', 2], - 'react/jsx-indent-props': ['error', 2], - 'react/jsx-key': 'error', - 'react/jsx-max-props-per-line': [ - 'error', - { - maximum: 1 - } - ], - 'react/jsx-no-bind': 'error', - 'react/jsx-no-comment-textnodes': 'error', - 'react/jsx-no-duplicate-props': 'error', - 'react/jsx-no-script-url': 'error', - 'react/jsx-no-target-blank': [ - 'error', - { - enforceDynamicLinks: 'always' - } - ], - 'react/jsx-no-undef': 'error', - 'react/jsx-no-useless-fragment': 'error', - 'react/jsx-one-expression-per-line': [ - 'error', - { - allow: 'literal' - } - ], - 'react/jsx-pascal-case': 'error', - 'react/jsx-tag-spacing': [ - 'error', - { - closingSlash: 'never', - beforeSelfClosing: 'never', - afterOpening: 'never' - } - ], - 'react/jsx-uses-react': 'error', - 'react/jsx-uses-vars': 'error', - 'react/jsx-wrap-multilines': [ - 'error', - { - declaration: 'parens-new-line', - assignment: 'parens-new-line', - return: 'parens-new-line', - arrow: 'parens-new-line', - condition: 'parens-new-line', - logical: 'parens-new-line', - prop: 'parens-new-line' - } - ] - } -} diff --git a/packages/eslint-config/src/rules/typescript-requiring-type-checking.js b/packages/eslint-config/src/rules/typescript-requiring-type-checking.js deleted file mode 100644 index a961243..0000000 --- a/packages/eslint-config/src/rules/typescript-requiring-type-checking.js +++ /dev/null @@ -1,42 +0,0 @@ -/** - * TypeScript requiring type checking config - */ - -const getExtensionRules = require('./getExtensionRules') - -module.exports = { - plugins: ['@typescript-eslint'], - rules: { - // Rules - '@typescript-eslint/no-base-to-string': 'error', - '@typescript-eslint/no-throw-literal': 'error', - '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'error', - '@typescript-eslint/no-unnecessary-qualifier': 'error', - '@typescript-eslint/no-unnecessary-type-arguments': 'error', - '@typescript-eslint/prefer-includes': 'error', - '@typescript-eslint/prefer-nullish-coalescing': 'off', - '@typescript-eslint/prefer-optional-chain': 'error', - '@typescript-eslint/prefer-readonly': 'error', - '@typescript-eslint/prefer-readonly-parameter-types': 'off', - '@typescript-eslint/prefer-reduce-type-parameter': 'error', - '@typescript-eslint/prefer-string-starts-ends-with': 'error', - '@typescript-eslint/switch-exhaustiveness-check': 'error', - '@typescript-eslint/consistent-type-imports': 'error', - '@typescript-eslint/unbound-method': [ - 'off', - { - ignoreStatic: true - } - ], - - // Extension - ...getExtensionRules('@typescript-eslint', ['dot-notation', 'require-await']), - 'no-void': [ - // due to @typescript-eslint/no-floating-promises - 'error', - { - allowAsStatement: true - } - ] - } -} diff --git a/packages/eslint-config/src/rules/typescript.js b/packages/eslint-config/src/rules/typescript.js deleted file mode 100644 index 35ff9cd..0000000 --- a/packages/eslint-config/src/rules/typescript.js +++ /dev/null @@ -1,196 +0,0 @@ -/** - * TypeScript config - */ - -const getExtensionRules = require('./getExtensionRules') -const commonRules = require('./common').rules - -module.exports = { - plugins: ['@typescript-eslint'], - rules: { - // Rules - '@typescript-eslint/array-type': 'error', - '@typescript-eslint/await-thenable': 'off', - '@typescript-eslint/ban-ts-comment': [ - 'error', - { - 'ts-expect-error': 'allow-with-description', - 'ts-ignore': 'allow-with-description', - 'ts-nocheck': 'allow-with-description', - 'ts-check': false - } - ], - '@typescript-eslint/consistent-type-definitions': 'error', - '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/member-delimiter-style': [ - 'error', - { - multiline: { - delimiter: 'none', - requireLast: true - }, - singleline: { - delimiter: 'comma', - requireLast: false - } - } - ], - '@typescript-eslint/member-ordering': [ - 'error', - { - default: { - order: 'as-written', - memberTypes: [ - // Static methods - 'public-static-method', - 'protected-static-method', - 'private-static-method', - - // Static fields - 'public-static-field', - 'protected-static-field', - 'private-static-field', - - // Fields - 'public-decorated-field', - 'protected-decorated-field', - 'private-decorated-field', - 'public-instance-field', - 'protected-instance-field', - 'private-instance-field', - 'public-abstract-field', - 'protected-abstract-field', - - // Index signature - 'signature', - - // Constructors - 'public-constructor', - 'protected-constructor', - 'private-constructor', - - // Methods - 'instance-method' - ] - } - } - ], - '@typescript-eslint/method-signature-style': ['error', 'method'], - 'camelcase': 'off', - '@typescript-eslint/naming-convention': [ - 'error', - { - selector: 'default', - format: [ - 'camelCase', - 'PascalCase', - 'UPPER_CASE' - ] - }, - { - selector: 'variable', - format: [ - 'camelCase', - 'UPPER_CASE', - 'PascalCase' - ] - }, - { - selector: 'function', - format: ['camelCase', 'PascalCase'] - }, - { - selector: 'parameter', - format: ['camelCase', 'PascalCase'], - leadingUnderscore: 'allow' - }, - { - selector: 'typeLike', - format: ['PascalCase'] - }, - { - selector: 'interface', - format: ['PascalCase'] - }, - { - selector: 'enumMember', - format: ['PascalCase'] - }, - { - selector: 'classProperty', - format: [ - 'camelCase', - 'UPPER_CASE', - 'PascalCase' - ], - modifiers: ['static'] - }, - { - selector: ['objectLiteralProperty', 'objectLiteralMethod'], - format: null, - modifiers: ['requiresQuotes'] - } - ], - '@typescript-eslint/no-dynamic-delete': 'error', - '@typescript-eslint/no-explicit-any': 'error', - '@typescript-eslint/no-extraneous-class': 'error', - '@typescript-eslint/no-invalid-void-type': 'error', - '@typescript-eslint/no-namespace': [ - 'error', - { - allowDeclarations: true, - allowDefinitionFiles: true - } - ], - '@typescript-eslint/no-require-imports': 'error', - '@typescript-eslint/no-this-alias': [ - 'error', - { - allowDestructuring: true, - allowedNames: ['self'] - } - ], - '@typescript-eslint/prefer-for-of': 'error', - '@typescript-eslint/prefer-function-type': 'error', - '@typescript-eslint/prefer-namespace-keyword': 'off', - '@typescript-eslint/prefer-ts-expect-error': 'error', - '@typescript-eslint/type-annotation-spacing': 'error', - '@typescript-eslint/unified-signatures': 'error', - - // Extension - ...getExtensionRules('@typescript-eslint', [ - 'brace-style', - 'comma-spacing', - 'func-call-spacing', - 'indent', - 'keyword-spacing', - 'lines-between-class-members', - 'no-array-constructor', - 'no-empty-function', - 'no-extra-parens', - 'no-magic-numbers', - 'no-unused-expressions', - 'no-unused-vars', - 'no-use-before-define', - 'no-useless-constructor', - 'quotes', - 'semi', - 'space-before-function-paren' - ]), - // Override eslint:recommended - 'no-dupe-class-members': 'off', - '@typescript-eslint/no-dupe-class-members': 'error', - 'no-extra-semi': 'off', - '@typescript-eslint/no-extra-semi': 'error', - // Extend rules - 'indent': 'off', - '@typescript-eslint/indent': [ - commonRules.indent[0], - commonRules.indent[1], - { - ...commonRules.indent[2], - ignoredNodes: ['TSTypeParameterInstantiation', 'TSIntersectionType'] - } - ] - } -} diff --git a/packages/eslint-config/src/storybook.js b/packages/eslint-config/src/storybook.js index 2f8c2f9..46eafe8 100644 --- a/packages/eslint-config/src/storybook.js +++ b/packages/eslint-config/src/storybook.js @@ -1,35 +1,26 @@ /** * Storybook override */ -const { makePatterns } = require('./utils') -const postfixes = ['stories'] -const extensions = [ - 'js', - 'jsx', - 'ts', - 'tsx' -] +import { storiesFiles } from './subconfigs/files.js' -module.exports = { - overrides: [ - { - files: makePatterns(postfixes, extensions).concat('.storybook/**/*'), - rules: { - 'max-classes-per-file': 'off', - 'no-magic-numbers': 'off', - '@typescript-eslint/no-magic-numbers': 'off', - 'max-nested-callbacks': 'off', - 'react/no-array-index-key': 'off', - 'react/jsx-no-bind': 'off', - 'import/no-default-export': 'off', - '@typescript-eslint/no-unsafe-return': 'off', - '@typescript-eslint/no-unsafe-assignment': 'off', - '@typescript-eslint/no-unsafe-member-access': 'off', - '@typescript-eslint/no-unsafe-call': 'off', - '@typescript-eslint/no-unsafe-argument': 'off', - '@typescript-eslint/no-explicit-any': 'off' - } +export default [ + { + files: storiesFiles, + rules: { + 'max-classes-per-file': 'off', + 'no-magic-numbers': 'off', + '@typescript-eslint/no-magic-numbers': 'off', + 'max-nested-callbacks': 'off', + 'react/no-array-index-key': 'off', + 'react/jsx-no-bind': 'off', + 'import/no-default-export': 'off', + '@typescript-eslint/no-unsafe-return': 'off', + '@typescript-eslint/no-unsafe-assignment': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/no-unsafe-argument': 'off', + '@typescript-eslint/no-explicit-any': 'off' } - ] -} + } +] diff --git a/packages/eslint-config/src/subconfigs/basic.js b/packages/eslint-config/src/subconfigs/basic.js new file mode 100644 index 0000000..9560087 --- /dev/null +++ b/packages/eslint-config/src/subconfigs/basic.js @@ -0,0 +1,338 @@ +/** + * Basic config + */ + +export default [ + { + rules: { + // Possible Errors + 'no-console': [ + 'warn', + { + allow: [ + 'warn', + 'error', + 'info' + ] + } + ], + 'no-debugger': 'warn', + 'no-extra-parens': [ + 'error', + 'all', + { + nestedBinaryExpressions: false, + ignoreJSX: 'multi-line', + enforceForArrowConditionals: false, + enforceForSequenceExpressions: false + } + ], + 'no-loss-of-precision': 'error', + 'no-template-curly-in-string': 'error', + 'no-useless-backreference': 'error', + 'require-atomic-updates': 'error', + 'valid-typeof': [ + 'error', + { + requireStringLiterals: true + } + ], + + // Best Practices + 'array-callback-return': 'error', + 'block-scoped-var': 'error', + 'consistent-return': 'error', + 'curly': 'error', + 'default-case-last': 'error', + 'dot-location': ['error', 'property'], + 'dot-notation': 'error', + 'eqeqeq': 'error', + 'grouped-accessor-pairs': ['error', 'getBeforeSet'], + 'max-classes-per-file': 'error', + 'no-alert': 'warn', + 'no-caller': 'error', + 'no-constructor-return': 'error', + 'no-else-return': 'error', + 'no-empty-function': 'warn', + 'no-eq-null': 'error', + 'no-eval': 'error', + 'no-extend-native': 'error', + 'no-extra-bind': 'error', + 'no-extra-label': 'error', + 'no-implicit-coercion': 'error', + 'no-implicit-globals': 'error', + 'no-implied-eval': 'error', + 'no-iterator': 'error', + 'no-labels': 'error', + 'no-lone-blocks': 'error', + 'no-loop-func': 'error', + 'no-magic-numbers': [ + 'error', + { + ignore: [ + -1, + 0, + .5, + 1, + 2, + 100 + ], + ignoreArrayIndexes: true, + detectObjects: false + } + ], + 'no-multi-spaces': 'error', + 'no-multi-str': 'error', + 'no-new': 'error', + 'no-new-func': 'error', + 'no-new-wrappers': 'error', + 'no-octal-escape': 'error', + 'no-param-reassign': [ + 'error', + { + props: false + } + ], + 'no-proto': 'error', + 'no-return-assign': 'error', + 'no-script-url': 'error', + 'no-self-compare': 'error', + 'no-sequences': 'error', + 'no-throw-literal': 'error', + 'no-unmodified-loop-condition': 'error', + 'no-unused-expressions': 'error', + 'no-useless-call': 'error', + 'no-useless-concat': 'error', + 'no-useless-return': 'error', + 'no-void': 'error', + 'prefer-promise-reject-errors': 'error', + 'radix': 'error', + 'require-await': 'error', + 'yoda': [ + 'error', + 'never', + { + exceptRange: true + } + ], + + // Variables + 'no-label-var': 'error', + 'no-restricted-globals': ['error', 'event'], + 'no-undef-init': 'error', + 'no-unused-vars': [ + 'error', + { + ignoreRestSiblings: true, + argsIgnorePattern: '^_' + } + ], + 'no-use-before-define': [ + 'error', + { + functions: false + } + ], + + // Stylistic Issues + 'array-bracket-newline': [ + 'error', + { + multiline: true + } + ], + 'array-bracket-spacing': ['error', 'never'], + 'array-element-newline': [ + 'error', + { + multiline: true, + minItems: 3 + } + ], + 'block-spacing': 'error', + 'brace-style': ['error', '1tbs'], + 'camelcase': 'error', + 'comma-dangle': ['error', 'never'], + 'comma-spacing': 'error', + 'comma-style': 'error', + 'computed-property-spacing': 'error', + 'consistent-this': ['error', 'self'], + 'eol-last': 'error', + 'func-call-spacing': 'error', + 'func-names': 'error', + 'func-style': [ + 'error', + 'declaration', + { + allowArrowFunctions: true + } + ], + 'function-call-argument-newline': ['error', 'consistent'], + 'function-paren-newline': ['error', 'consistent'], + 'implicit-arrow-linebreak': ['error', 'beside'], + 'indent': [ + 'error', + 2, + { + SwitchCase: 1 + } + ], + 'jsx-quotes': ['error', 'prefer-single'], + 'key-spacing': [ + 'error', + { + mode: 'strict' + } + ], + 'keyword-spacing': 'error', + 'linebreak-style': 'error', + 'lines-between-class-members': [ + 'error', + 'always', + { + exceptAfterSingleLine: true + } + ], + 'max-nested-callbacks': ['error', 4], + 'max-params': ['error', 6], + 'max-statements-per-line': 'error', + 'new-cap': [ + 'error', + { + capIsNew: false + } + ], + 'new-parens': 'error', + 'no-array-constructor': 'error', + 'no-lonely-if': 'error', + 'no-multi-assign': 'error', + 'no-multiple-empty-lines': [ + 'error', + { + max: 1 + } + ], + 'no-new-object': 'error', + 'no-trailing-spaces': 'error', + 'no-unneeded-ternary': 'error', + 'no-whitespace-before-property': 'error', + 'object-curly-newline': [ + 'error', + { + ObjectExpression: { + minProperties: 1 + }, + ObjectPattern: { + multiline: true + }, + ImportDeclaration: { + multiline: true + }, + ExportDeclaration: { + multiline: true + } + } + ], + 'object-curly-spacing': ['error', 'always'], + 'object-property-newline': [ + 'error', + { + allowAllPropertiesOnSameLine: false + } + ], + 'one-var': ['error', 'never'], + 'one-var-declaration-per-line': ['error', 'initializations'], + 'operator-assignment': ['error', 'always'], + 'operator-linebreak': [ + 'error', + 'before', + { + overrides: { + '=': 'after' + } + } + ], + 'padded-blocks': ['error', 'never'], + 'padding-line-between-statements': [ + 'error', + { + blankLine: 'always', + prev: 'import', + next: '*' + }, + { + blankLine: 'never', + prev: 'import', + next: 'import' + }, + { + blankLine: 'always', + prev: '*', + next: 'block-like' + }, + { + blankLine: 'always', + prev: 'block-like', + next: '*' + }, + { + blankLine: 'always', + prev: '*', + next: ['const', 'let'] + }, + { + blankLine: 'always', + prev: ['const', 'let'], + next: '*' + }, + { + blankLine: 'never', + prev: ['const', 'let'], + next: ['const', 'let'] + }, + { + blankLine: 'always', + prev: ['cjs-import'], + next: '*' + }, + { + blankLine: 'never', + prev: ['cjs-import'], + next: ['cjs-import'] + } + ], + 'prefer-object-spread': 'error', + 'quote-props': ['error', 'consistent-as-needed'], + 'quotes': [ + 'error', + 'single', + { + avoidEscape: true, + allowTemplateLiterals: true + } + ], + 'semi': ['error', 'never'], + 'space-before-blocks': 'error', + 'space-before-function-paren': [ + 'error', + { + anonymous: 'always', + named: 'never', + asyncArrow: 'always' + } + ], + 'space-in-parens': 'error', + 'space-infix-ops': [ + 'error', + { + int32Hint: true + } + ], + 'space-unary-ops': 'error', + 'spaced-comment': 'error', + 'switch-colon-spacing': 'error', + 'template-tag-spacing': 'error', + 'unicode-bom': 'error' + } + } +] diff --git a/packages/eslint-config/src/subconfigs/configs.js b/packages/eslint-config/src/subconfigs/configs.js new file mode 100644 index 0000000..33bee97 --- /dev/null +++ b/packages/eslint-config/src/subconfigs/configs.js @@ -0,0 +1,15 @@ +/** + * Configs config + */ + +import { configFiles } from './files.js' + +export default [ + { + files: configFiles, + rules: { + 'import/no-default-export': 'off', + 'import/no-anonymous-default-export': 'off' + } + } +] diff --git a/packages/eslint-config/src/subconfigs/es6.js b/packages/eslint-config/src/subconfigs/es6.js new file mode 100644 index 0000000..37368b9 --- /dev/null +++ b/packages/eslint-config/src/subconfigs/es6.js @@ -0,0 +1,116 @@ +/** + * ECMAScript 6 config + */ + +import importPlugin from 'eslint-plugin-import' + +export default [ + { + plugins: { + import: importPlugin + }, + rules: { + // Import + // Static analysis + 'import/no-absolute-path': 'error', + 'import/no-dynamic-require': 'error', + 'import/no-webpack-loader-syntax': 'error', + 'import/no-self-import': 'error', + 'import/no-cycle': [ + 'error', + { + ignoreExternal: true + } + ], + 'import/no-useless-path-segments': [ + 'error', + { + noUselessIndex: true + } + ], + // Helpful warnings + 'import/export': 'error', + 'import/no-mutable-exports': 'error', + // Module systems + 'import/no-amd': 'error', + // Style guide + 'import/first': 'error', + 'import/no-duplicates': 'error', + 'import/order': [ + 'error', + { + 'groups': [ + 'builtin', + 'external', + 'internal', + 'parent', + 'sibling', + 'index' + ], + 'newlines-between': 'never' + } + ], + 'import/newline-after-import': 'error', + 'import/no-default-export': 'error', + 'import/no-named-default': 'error', + 'import/no-anonymous-default-export': [ + 'error', + { + allowArray: true, + allowArrowFunction: false, + allowAnonymousClass: false, + allowAnonymousFunction: false, + allowCallExpression: false, + allowLiteral: false, + allowObject: true + } + ], + + // Other + 'arrow-body-style': ['error', 'as-needed'], + 'arrow-parens': [ + 'error', + 'as-needed', + { + requireForBlockBody: true + } + ], + 'arrow-spacing': 'error', + 'generator-star-spacing': ['error', 'after'], + 'no-confusing-arrow': [ + 'error', + { + allowParens: true + } + ], + 'no-duplicate-imports': 'off', // in favor of import/no-duplicates + 'no-useless-computed-key': 'error', + 'no-useless-constructor': 'error', + 'no-useless-rename': 'error', + 'no-var': 'error', + 'object-shorthand': ['error', 'always'], + 'prefer-arrow-callback': [ + 'error', + { + allowNamedFunctions: true + } + ], + 'prefer-const': [ + 'error', + { + destructuring: 'all', + ignoreReadBeforeAssign: false + } + ], + 'prefer-destructuring': 'off', + 'prefer-numeric-literals': 'error', + 'prefer-rest-params': 'error', + 'prefer-spread': 'error', + 'prefer-template': 'error', + 'rest-spread-spacing': ['error', 'never'], + 'symbol-description': 'error', + 'template-curly-spacing': 'error', + 'yield-star-spacing': ['error', 'after'] + } + } +] diff --git a/packages/eslint-config/src/subconfigs/files.js b/packages/eslint-config/src/subconfigs/files.js new file mode 100644 index 0000000..3fdd15a --- /dev/null +++ b/packages/eslint-config/src/subconfigs/files.js @@ -0,0 +1,19 @@ +export const configFiles = ['**/*.config.{c,m,}{js,ts}'] + +export const commonjsFiles = ['**/*.c{js,ts}'] + +export const tsFiles = ['**/*.{c,m,}ts{x,}'] + +export const dtsFiles = ['**/*.d.{c,m,}ts'] + +export const moduleFiles = ['**/*.m{js,ts}'] + +export const testFiles = ['**/*.{spec,mock}.{js,ts}{x,}'] + +export const storiesFiles = ['**/*.stories.{js,ts}{x,}', '.storybook/**/*'] + +export const jsxFiles = ['**/*.{js,ts}x'] + +export const hooksFiles = ['**/hooks/*.{js,ts}{x,}'] + +export const reactFiles = [...jsxFiles, ...hooksFiles] diff --git a/packages/eslint-config/src/subconfigs/jsdoc.js b/packages/eslint-config/src/subconfigs/jsdoc.js new file mode 100644 index 0000000..203b84b --- /dev/null +++ b/packages/eslint-config/src/subconfigs/jsdoc.js @@ -0,0 +1,41 @@ +/** + * JSDoc config + */ + +import jsdocPlugin from 'eslint-plugin-jsdoc' +import { tsFiles } from './files.js' + +export default [ + jsdocPlugin.configs['flat/recommended'], + { + plugins: { + jsdoc: jsdocPlugin + }, + settings: { + jsdoc: { + mode: 'typescript' + } + }, + rules: { + 'jsdoc/check-property-names': [ + 'warn', + { + enableFixer: true + } + ], + 'jsdoc/tag-lines': ['error', 'never'], + 'jsdoc/no-undefined-types': 'off', + 'jsdoc/require-hyphen-before-param-description': ['warn', 'always'], + 'jsdoc/require-jsdoc': 'off', + 'jsdoc/require-param-type': 'off', + 'jsdoc/require-param-description': 'off', + 'jsdoc/require-returns-type': 'off' + } + }, + { + files: tsFiles, + rules: { + 'jsdoc/no-types': 'warn' + } + } +] diff --git a/packages/eslint-config/src/subconfigs/react.js b/packages/eslint-config/src/subconfigs/react.js new file mode 100644 index 0000000..f280002 --- /dev/null +++ b/packages/eslint-config/src/subconfigs/react.js @@ -0,0 +1,157 @@ +/** + * ReactJS config + */ + +import reactPlugin from 'eslint-plugin-react' +import reactHooksPlugin from 'eslint-plugin-react-hooks' +import { + jsxFiles, + reactFiles +} from './files.js' + +export default [ + { + files: jsxFiles, + rules: { + 'jsdoc/require-param': 'off', + 'jsdoc/require-returns': 'off' + } + }, + { + files: reactFiles, + plugins: { + 'react': reactPlugin, + 'react-hooks': reactHooksPlugin + }, + languageOptions: { + parserOptions: { + ecmaFeatures: { + jsx: true + } + } + }, + settings: { + react: { + version: 'detect' + } + }, + rules: { + // React + 'react/destructuring-assignment': [ + 'error', + 'always', + { + ignoreClassFields: true + } + ], + 'react/function-component-definition': [ + 'error', + { + namedComponents: 'function-declaration', + unnamedComponents: 'arrow-function' + } + ], + 'react/no-access-state-in-setstate': 'error', + 'react/no-array-index-key': 'warn', + 'react/no-children-prop': 'error', + 'react/no-danger': 'warn', + 'react/no-danger-with-children': 'error', + 'react/no-deprecated': 'error', + 'react/no-did-mount-set-state': 'error', + 'react/no-did-update-set-state': 'error', + 'react/no-direct-mutation-state': 'error', + 'react/no-find-dom-node': 'error', + 'react/no-is-mounted': 'error', + 'react/no-multi-comp': [ + 'error', + { + ignoreStateless: true + } + ], + 'react/no-redundant-should-component-update': 'error', + 'react/no-render-return-value': 'error', + 'react/no-string-refs': 'error', + 'react/no-this-in-sfc': 'error', + 'react/no-typos': 'error', + 'react/no-unescaped-entities': 'error', + 'react/no-unknown-property': 'error', + 'react/no-unsafe': 'error', + 'react/no-unused-prop-types': 'error', + 'react/no-unused-state': 'error', + 'react/no-will-update-set-state': 'error', + 'react/prefer-es6-class': 'error', + 'react/prefer-stateless-function': 'error', + 'react/react-in-jsx-scope': 'off', + 'react/require-render-return': 'error', + 'react/self-closing-comp': 'error', + 'react/static-property-placement': ['error', 'static public field'], + 'react/style-prop-object': 'error', + 'react/void-dom-elements-no-children': 'error', + + // Hooks + 'react-hooks/rules-of-hooks': 'error', + 'react-hooks/exhaustive-deps': 'warn', + + // JSX + 'react/jsx-boolean-value': 'error', + 'react/jsx-closing-bracket-location': 'error', + 'react/jsx-closing-tag-location': 'error', + 'react/jsx-curly-brace-presence': ['error', 'never'], + 'react/jsx-curly-newline': 'error', + 'react/jsx-curly-spacing': 'error', + 'react/jsx-equals-spacing': 'error', + 'react/jsx-first-prop-new-line': ['error', 'multiline'], + 'react/jsx-fragments': 'error', + 'react/jsx-indent': ['error', 2], + 'react/jsx-indent-props': ['error', 2], + 'react/jsx-key': 'error', + 'react/jsx-max-props-per-line': [ + 'error', + { + maximum: 1 + } + ], + 'react/jsx-no-bind': 'error', + 'react/jsx-no-comment-textnodes': 'error', + 'react/jsx-no-duplicate-props': 'error', + 'react/jsx-no-script-url': 'error', + 'react/jsx-no-target-blank': [ + 'error', + { + enforceDynamicLinks: 'always' + } + ], + 'react/jsx-no-undef': 'error', + 'react/jsx-no-useless-fragment': 'error', + 'react/jsx-one-expression-per-line': [ + 'error', + { + allow: 'literal' + } + ], + 'react/jsx-pascal-case': 'error', + 'react/jsx-tag-spacing': [ + 'error', + { + closingSlash: 'never', + beforeSelfClosing: 'never', + afterOpening: 'never' + } + ], + 'react/jsx-uses-react': 'off', + 'react/jsx-uses-vars': 'error', + 'react/jsx-wrap-multilines': [ + 'error', + { + declaration: 'parens-new-line', + assignment: 'parens-new-line', + return: 'parens-new-line', + arrow: 'parens-new-line', + condition: 'parens-new-line', + logical: 'parens-new-line', + prop: 'parens-new-line' + } + ] + } + } +] diff --git a/packages/eslint-config/src/subconfigs/typescript-type-checked.js b/packages/eslint-config/src/subconfigs/typescript-type-checked.js new file mode 100644 index 0000000..ae793f3 --- /dev/null +++ b/packages/eslint-config/src/subconfigs/typescript-type-checked.js @@ -0,0 +1,49 @@ +/** + * TypeScript type checked config + */ + +import typescriptPlugin from '@typescript-eslint/eslint-plugin' +import { getExtensionRules } from './utils.js' +import typescriptConfig from './typescript.js' + +export default [ + ...typescriptConfig, + { + plugins: { + '@typescript-eslint': typescriptPlugin + }, + rules: { + // Rules + '@typescript-eslint/no-base-to-string': 'error', + '@typescript-eslint/no-throw-literal': 'error', + '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'error', + '@typescript-eslint/no-unnecessary-qualifier': 'error', + '@typescript-eslint/no-unnecessary-type-arguments': 'error', + '@typescript-eslint/prefer-includes': 'error', + '@typescript-eslint/prefer-nullish-coalescing': 'off', + '@typescript-eslint/prefer-optional-chain': 'error', + '@typescript-eslint/prefer-readonly': 'error', + '@typescript-eslint/prefer-readonly-parameter-types': 'off', + '@typescript-eslint/prefer-reduce-type-parameter': 'error', + '@typescript-eslint/prefer-string-starts-ends-with': 'error', + '@typescript-eslint/switch-exhaustiveness-check': 'error', + '@typescript-eslint/consistent-type-imports': 'error', + '@typescript-eslint/unbound-method': [ + 'off', + { + ignoreStatic: true + } + ], + + // Extension + ...getExtensionRules('@typescript-eslint', ['dot-notation', 'require-await']), + 'no-void': [ + // due to @typescript-eslint/no-floating-promises + 'error', + { + allowAsStatement: true + } + ] + } + } +] diff --git a/packages/eslint-config/src/subconfigs/typescript.js b/packages/eslint-config/src/subconfigs/typescript.js new file mode 100644 index 0000000..48a22bc --- /dev/null +++ b/packages/eslint-config/src/subconfigs/typescript.js @@ -0,0 +1,213 @@ +/** + * TypeScript config + */ + +import typescriptPlugin from '@typescript-eslint/eslint-plugin' +import { + getRules, + getExtensionRules +} from './utils.js' +import { dtsFiles } from './files.js' +import basicConfig from './basic.js' + +const commonRules = getRules(basicConfig) + +export default [ + { + plugins: { + '@typescript-eslint': typescriptPlugin + }, + rules: { + // Rules + '@typescript-eslint/array-type': 'error', + '@typescript-eslint/await-thenable': 'off', + '@typescript-eslint/ban-ts-comment': [ + 'error', + { + 'ts-expect-error': 'allow-with-description', + 'ts-ignore': 'allow-with-description', + 'ts-nocheck': 'allow-with-description', + 'ts-check': false + } + ], + '@typescript-eslint/consistent-type-definitions': 'error', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/member-delimiter-style': [ + 'error', + { + multiline: { + delimiter: 'none', + requireLast: true + }, + singleline: { + delimiter: 'comma', + requireLast: false + } + } + ], + '@typescript-eslint/member-ordering': [ + 'error', + { + default: { + order: 'as-written', + memberTypes: [ + // Static methods + 'public-static-method', + 'protected-static-method', + 'private-static-method', + + // Static fields + 'public-static-field', + 'protected-static-field', + 'private-static-field', + + // Fields + 'public-decorated-field', + 'protected-decorated-field', + 'private-decorated-field', + 'public-instance-field', + 'protected-instance-field', + 'private-instance-field', + 'public-abstract-field', + 'protected-abstract-field', + + // Index signature + 'signature', + + // Constructors + 'public-constructor', + 'protected-constructor', + 'private-constructor', + + // Methods + 'instance-method' + ] + } + } + ], + '@typescript-eslint/method-signature-style': ['error', 'method'], + 'camelcase': 'off', + '@typescript-eslint/naming-convention': [ + 'error', + { + selector: 'default', + format: [ + 'camelCase', + 'PascalCase', + 'UPPER_CASE' + ] + }, + { + selector: 'variable', + format: [ + 'camelCase', + 'UPPER_CASE', + 'PascalCase' + ] + }, + { + selector: 'function', + format: ['camelCase', 'PascalCase'] + }, + { + selector: 'parameter', + format: ['camelCase', 'PascalCase'], + leadingUnderscore: 'allow' + }, + { + selector: 'typeLike', + format: ['PascalCase'] + }, + { + selector: 'interface', + format: ['PascalCase'] + }, + { + selector: 'enumMember', + format: ['PascalCase'] + }, + { + selector: 'classProperty', + format: [ + 'camelCase', + 'UPPER_CASE', + 'PascalCase' + ], + modifiers: ['static'] + }, + { + selector: ['objectLiteralProperty', 'objectLiteralMethod'], + format: null, + modifiers: ['requiresQuotes'] + } + ], + '@typescript-eslint/no-dynamic-delete': 'error', + '@typescript-eslint/no-explicit-any': 'error', + '@typescript-eslint/no-extraneous-class': 'error', + '@typescript-eslint/no-invalid-void-type': 'error', + '@typescript-eslint/no-namespace': [ + 'error', + { + allowDeclarations: true, + allowDefinitionFiles: true + } + ], + '@typescript-eslint/no-require-imports': 'error', + '@typescript-eslint/no-this-alias': [ + 'error', + { + allowDestructuring: true, + allowedNames: ['self'] + } + ], + '@typescript-eslint/prefer-for-of': 'error', + '@typescript-eslint/prefer-function-type': 'error', + '@typescript-eslint/prefer-namespace-keyword': 'off', + '@typescript-eslint/prefer-ts-expect-error': 'error', + '@typescript-eslint/type-annotation-spacing': 'error', + '@typescript-eslint/unified-signatures': 'error', + + // Extension + ...getExtensionRules('@typescript-eslint', [ + 'brace-style', + 'comma-spacing', + 'func-call-spacing', + 'indent', + 'keyword-spacing', + 'lines-between-class-members', + 'no-array-constructor', + 'no-empty-function', + 'no-extra-parens', + 'no-magic-numbers', + 'no-unused-expressions', + 'no-unused-vars', + 'no-use-before-define', + 'no-useless-constructor', + 'quotes', + 'semi', + 'space-before-function-paren' + ]), + // Override eslint:recommended + 'no-dupe-class-members': 'off', + '@typescript-eslint/no-dupe-class-members': 'error', + 'no-extra-semi': 'off', + '@typescript-eslint/no-extra-semi': 'error', + // Extend rules + 'indent': 'off', + '@typescript-eslint/indent': [ + commonRules.indent[0], + commonRules.indent[1], + { + ...commonRules.indent[2], + ignoredNodes: ['TSTypeParameterInstantiation', 'TSIntersectionType'] + } + ] + } + }, + { + files: dtsFiles, + rules: { + 'import/unambiguous': 'off' + } + } +] diff --git a/packages/eslint-config/src/subconfigs/utils.js b/packages/eslint-config/src/subconfigs/utils.js new file mode 100644 index 0000000..6fcaa51 --- /dev/null +++ b/packages/eslint-config/src/subconfigs/utils.js @@ -0,0 +1,28 @@ +import basicConfig from './basic.js' +import es6Config from './es6.js' + +export function getRules(configs) { + return configs.reduce((rules, config) => { + if (config.rules) { + return { + ...rules, + ...config.rules + } + } + + return rules + }, {}) +} + +const rules = getRules([...basicConfig, ...es6Config]) + +export function getExtensionRules(prefix, extensionNames) { + return extensionNames.reduce( + (extensionRules, name) => ({ + ...extensionRules, + [name]: 'off', + [`${prefix}/${name}`]: rules[name] + }), + {} + ) +} diff --git a/packages/eslint-config/src/test.js b/packages/eslint-config/src/test.js new file mode 100644 index 0000000..dc66a8f --- /dev/null +++ b/packages/eslint-config/src/test.js @@ -0,0 +1,39 @@ +/** + * Test override + */ + +import jestPlugin from 'eslint-plugin-jest' +import { testFiles } from './subconfigs/files.js' + +export default [ + { + files: testFiles, + plugins: { + jest: jestPlugin + }, + languageOptions: { + globals: jestPlugin.environments.globals.globals + }, + rules: { + 'max-classes-per-file': 'off', + 'no-magic-numbers': 'off', + '@typescript-eslint/no-magic-numbers': 'off', + 'import/order': 'off', + 'max-nested-callbacks': 'off', + '@typescript-eslint/no-unsafe-return': 'off', + '@typescript-eslint/no-unsafe-assignment': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/no-unsafe-argument': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-floating-promises': 'off', + 'prefer-destructuring': 'off', + 'no-loop-func': 'off', + '@typescript-eslint/no-misused-promises': 'off', + '@typescript-eslint/no-empty-function': 'off', + '@typescript-eslint/naming-convention': 'off', + '@typescript-eslint/no-use-before-define': 'off', + 'camelcase': 'off' + } + } +] diff --git a/packages/eslint-config/src/tsm.js b/packages/eslint-config/src/tsm.js deleted file mode 100644 index 1b55d44..0000000 --- a/packages/eslint-config/src/tsm.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * ESM override - */ - -module.exports = { - overrides: [ - { - files: ['*.ts', '*.tsx'], - rules: { - 'import/no-useless-path-segments': [ - 'error', - { - noUselessIndex: false - } - ], - 'import/extensions': ['error', 'ignorePackages'] - } - } - ] -} diff --git a/packages/eslint-config/src/typescript-requiring-type-checking.js b/packages/eslint-config/src/typescript-requiring-type-checking.js deleted file mode 100644 index d9306c3..0000000 --- a/packages/eslint-config/src/typescript-requiring-type-checking.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Combine configs for TypeScript - */ - -module.exports = { - overrides: [ - { - files: ['*.ts', '*.tsx'], - extends: ['plugin:@typescript-eslint/recommended-requiring-type-checking'].concat(['./rules/typescript-requiring-type-checking'].map(require.resolve)), - parser: '@typescript-eslint/parser' - } - ] -} diff --git a/packages/eslint-config/src/typescript-type-checked.js b/packages/eslint-config/src/typescript-type-checked.js new file mode 100644 index 0000000..ce49a2f --- /dev/null +++ b/packages/eslint-config/src/typescript-type-checked.js @@ -0,0 +1,8 @@ +/** + * TypeScript type checked override + */ + +import typescriptEslint from 'typescript-eslint' +import typescriptTypeCheckedConfig from './subconfigs/typescript-type-checked.js' + +export default [...typescriptEslint.configs.recommendedTypeChecked, ...typescriptTypeCheckedConfig] diff --git a/packages/eslint-config/src/typescript.js b/packages/eslint-config/src/typescript.js index 9ed6e47..ec085e1 100644 --- a/packages/eslint-config/src/typescript.js +++ b/packages/eslint-config/src/typescript.js @@ -1,19 +1,8 @@ /** - * Combine configs for TypeScript + * TypeScript override */ -module.exports = { - overrides: [ - { - files: ['*.ts', '*.tsx'], - extends: ['plugin:@typescript-eslint/recommended'].concat(['./rules/typescript'].map(require.resolve)), - parser: '@typescript-eslint/parser' - }, - { - files: ['*.d.ts'], - rules: { - 'import/unambiguous': 'off' - } - } - ] -} +import typescriptEslint from 'typescript-eslint' +import typescriptConfig from './subconfigs/typescript.js' + +export default [...typescriptEslint.configs.recommended, ...typescriptConfig] diff --git a/packages/eslint-config/src/utils.js b/packages/eslint-config/src/utils.js deleted file mode 100644 index 215ca25..0000000 --- a/packages/eslint-config/src/utils.js +++ /dev/null @@ -1,4 +0,0 @@ -exports.makePatterns = (postfixes, extensions) => postfixes.reduce( - (patterns, postfix) => [...patterns, ...extensions.map(extension => `*.${postfix}.${extension}`)], - [] -) diff --git a/packages/lint-package-json/.eslintrc.json b/packages/lint-package-json/.eslintrc.json deleted file mode 100644 index 581560f..0000000 --- a/packages/lint-package-json/.eslintrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": [ - "@trigen/eslint-config/esm" - ] -} diff --git a/packages/lint-package-json/eslint.config.js b/packages/lint-package-json/eslint.config.js new file mode 100644 index 0000000..8b05ab5 --- /dev/null +++ b/packages/lint-package-json/eslint.config.js @@ -0,0 +1,4 @@ +import moduleConfig from '@trigen/eslint-config/module' +import rootConfig from '../../eslint.config.js' + +export default [...rootConfig, ...moduleConfig] diff --git a/packages/lint-package-json/src/configs.cjs b/packages/lint-package-json/src/configs.cjs index 75cddce..79d8dd0 100644 --- a/packages/lint-package-json/src/configs.cjs +++ b/packages/lint-package-json/src/configs.cjs @@ -1,3 +1,2 @@ -/* eslint-disable */ exports.base = require.resolve('@trigen/npm-package-json-lint-config') exports.monorepo = require.resolve('@trigen/npm-package-json-lint-config/monorepo') diff --git a/packages/npm-package-json-lint-config/.eslintrc.json b/packages/npm-package-json-lint-config/.eslintrc.json deleted file mode 100644 index 59dcf80..0000000 --- a/packages/npm-package-json-lint-config/.eslintrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": [ - "@trigen/eslint-config/commonjs" - ] -} diff --git a/packages/npm-package-json-lint-config/eslint.config.mjs b/packages/npm-package-json-lint-config/eslint.config.mjs new file mode 100644 index 0000000..f31eed0 --- /dev/null +++ b/packages/npm-package-json-lint-config/eslint.config.mjs @@ -0,0 +1,4 @@ +import commonjsConfig from '@trigen/eslint-config/commonjs' +import rootConfig from '../../eslint.config.js' + +export default [...rootConfig, ...commonjsConfig] diff --git a/packages/project-files/.eslintrc.json b/packages/project-files/.eslintrc.json deleted file mode 100644 index a30f562..0000000 --- a/packages/project-files/.eslintrc.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": [ - "@trigen/eslint-config/esm", - "@trigen/eslint-config/jest" - ] -} diff --git a/packages/project-files/eslint.config.js b/packages/project-files/eslint.config.js new file mode 100644 index 0000000..49bc9c1 --- /dev/null +++ b/packages/project-files/eslint.config.js @@ -0,0 +1,9 @@ +import moduleConfig from '@trigen/eslint-config/module' +import testConfig from '@trigen/eslint-config/test' +import rootConfig from '../../eslint.config.js' + +export default [ + ...rootConfig, + ...moduleConfig, + ...testConfig +] diff --git a/packages/project-files/src/api.js b/packages/project-files/src/api.js index 2ff5ba2..91a9fbe 100644 --- a/packages/project-files/src/api.js +++ b/packages/project-files/src/api.js @@ -40,7 +40,7 @@ export async function getDirectory(repo, path) { repo: repo.repo, path: path === '.' ? '' : path })) - } catch (err) { + } catch { return [] } diff --git a/packages/project-files/src/fs.js b/packages/project-files/src/fs.js index edab613..1953b3d 100644 --- a/packages/project-files/src/fs.js +++ b/packages/project-files/src/fs.js @@ -18,7 +18,7 @@ export async function writeFile(path, contents) { await mkdir(dir, { recursive: true }) - } catch (err) { + } catch { /* Ignore error */ } diff --git a/packages/scripts/.eslintrc.json b/packages/scripts/.eslintrc.json deleted file mode 100644 index a30f562..0000000 --- a/packages/scripts/.eslintrc.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": [ - "@trigen/eslint-config/esm", - "@trigen/eslint-config/jest" - ] -} diff --git a/packages/scripts/eslint.config.js b/packages/scripts/eslint.config.js new file mode 100644 index 0000000..74a26df --- /dev/null +++ b/packages/scripts/eslint.config.js @@ -0,0 +1,9 @@ +import moduleConfig from '@trigen/eslint-config/module' +import testConfig from '@trigen/eslint-config/test' +import rootConfig from '../../eslint.config.js' + +export default [ + ...rootConfig, + ...testConfig, + ...moduleConfig +] diff --git a/packages/scripts/src/utils/args.spec.js b/packages/scripts/src/utils/args.spec.js index 6c55459..238516e 100644 --- a/packages/scripts/src/utils/args.spec.js +++ b/packages/scripts/src/utils/args.spec.js @@ -1,4 +1,3 @@ -/* eslint-disable camelcase */ import { describe, it, expect } from 'vitest' import { setArgs } from 'argue-cli' import { detectPackageManager, getRunArgs, readScripts } from './args.js' diff --git a/packages/scripts/src/utils/files.js b/packages/scripts/src/utils/files.js index 16ef7a1..94e04a2 100644 --- a/packages/scripts/src/utils/files.js +++ b/packages/scripts/src/utils/files.js @@ -35,7 +35,7 @@ export async function readPackageJsonUpward() { const pkg = JSON.parse(await readFile(path, 'utf8')) return pkg - } catch (err) { + } catch { throw new Error(`Can't find package.json`) } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 483d56b..1f0879b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -51,8 +51,8 @@ importers: specifier: ^5.0.0 version: 5.1.0 eslint: - specifier: ^8.0.0 - version: 8.49.0 + specifier: ^9.0.0 + version: 9.30.1 inquirer: specifier: ^8.0.0 version: 8.2.5 @@ -156,33 +156,42 @@ importers: packages/eslint-config: dependencies: + '@eslint/js': + specifier: ^9.12.0 + version: 9.30.1 '@typescript-eslint/eslint-plugin': - specifier: ^6.0.0 - version: 6.7.0(@typescript-eslint/parser@6.7.0(eslint@8.49.0)(typescript@5.2.2))(eslint@8.49.0)(typescript@5.2.2) + specifier: ^8.0.0 + version: 8.35.1(@typescript-eslint/parser@8.35.1(eslint@9.30.1)(typescript@5.2.2))(eslint@9.30.1)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^6.0.0 - version: 6.7.0(eslint@8.49.0)(typescript@5.2.2) + specifier: ^8.0.0 + version: 8.35.1(eslint@9.30.1)(typescript@5.2.2) eslint-plugin-import: - specifier: ^2.25.3 - version: 2.28.1(@typescript-eslint/parser@6.7.0(eslint@8.49.0)(typescript@5.2.2))(eslint@8.49.0) + specifier: ^2.30.0 + version: 2.32.0(@typescript-eslint/parser@8.35.1(eslint@9.30.1)(typescript@5.2.2))(eslint@9.30.1) eslint-plugin-jest: - specifier: ^27.0.0 - version: 27.2.3(@typescript-eslint/eslint-plugin@6.7.0(@typescript-eslint/parser@6.7.0(eslint@8.49.0)(typescript@5.2.2))(eslint@8.49.0)(typescript@5.2.2))(eslint@8.49.0)(typescript@5.2.2) + specifier: ^28.0.0 + version: 28.14.0(@typescript-eslint/eslint-plugin@8.35.1(@typescript-eslint/parser@8.35.1(eslint@9.30.1)(typescript@5.2.2))(eslint@9.30.1)(typescript@5.2.2))(eslint@9.30.1)(typescript@5.2.2) eslint-plugin-jest-dom: - specifier: ^5.0.0 - version: 5.1.0(eslint@8.49.0) + specifier: ^5.4.0 + version: 5.5.0(eslint@9.30.1) eslint-plugin-jsdoc: - specifier: ^46.0.0 - version: 46.6.0(eslint@8.49.0) + specifier: ^50.0.0 + version: 50.8.0(eslint@9.30.1) eslint-plugin-react: - specifier: ^7.27.1 - version: 7.33.2(eslint@8.49.0) + specifier: ^7.35.0 + version: 7.37.5(eslint@9.30.1) eslint-plugin-react-hooks: - specifier: ^4.3.0 - version: 4.6.0(eslint@8.49.0) + specifier: ^4.6.0 + version: 4.6.2(eslint@9.30.1) eslint-plugin-testing-library: - specifier: ^6.0.0 - version: 6.0.1(eslint@8.49.0)(typescript@5.2.2) + specifier: ^6.3.0 + version: 6.5.0(eslint@9.30.1)(typescript@5.2.2) + globals: + specifier: ^16.3.0 + version: 16.3.0 + typescript-eslint: + specifier: ^8.35.1 + version: 8.35.1(eslint@9.30.1)(typescript@5.2.2) publishDirectory: package packages/lint-package-json: @@ -1015,9 +1024,9 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@es-joy/jsdoccomment@0.40.1': - resolution: {integrity: sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==} - engines: {node: '>=16'} + '@es-joy/jsdoccomment@0.50.2': + resolution: {integrity: sha512-YAdE/IJSpwbOTiaURNCKECdAwqrJuFiZhylmesBcIRawtYKnBR2wxPhoIewMg+Yu+QuYvHfJNReWpoxGBKOChA==} + engines: {node: '>=18'} '@esbuild/android-arm64@0.19.5': resolution: {integrity: sha512-5d1OkoJxnYQfmC+Zd8NBFjkhyCNYwM4n9ODrycTFY6Jk1IGiZ+tjVJDDSwDt77nK+tfpGP4T50iMtVi4dEGzhQ==} @@ -1157,17 +1166,47 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.8.1': - resolution: {integrity: sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==} + '@eslint-community/eslint-utils@4.7.0': + resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.2': - resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.21.0': + resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.49.0': - resolution: {integrity: sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-helpers@0.3.0': + resolution: {integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.14.0': + resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.15.1': + resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.30.1': + resolution: {integrity: sha512-zXhuECFlyep42KZUhWjfvsmXGX39W8K8LFb8AWXM9gSV9dQB+MrJGLKvW6Zw0Ggnbpw0VHTtrhFXYe3Gym18jg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.6': + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.3.3': + resolution: {integrity: sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@gar/promisify@1.1.3': resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} @@ -1176,18 +1215,25 @@ packages: resolution: {integrity: sha512-7bQW+gkKa2kKZPeJf6+c6gFK9ARxQfn+FKy9ScTBppyKRWH2KzsmweXUoklqeEiHiNVWaeP5csIdsNq6w7QhzA==} engines: {node: '>=12.20'} - '@humanwhocodes/config-array@0.11.11': - resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@1.2.1': - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - deprecated: Use @eslint/object-schema instead + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} '@hutson/parse-repository-url@3.0.2': resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} @@ -1210,18 +1256,22 @@ packages: '@lerna/add@4.0.0': resolution: {integrity: sha512-cpmAH1iS3k8JBxNvnMqrGTTjbY/ZAiKa1ChJzFevMYY3eeqbvhsBKnBcxjRXtdrJ6bd3dCQM+ZtK+0i682Fhng==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/bootstrap@4.0.0': resolution: {integrity: sha512-RkS7UbeM2vu+kJnHzxNRCLvoOP9yGNgkzRdy4UV2hNalD7EP41bLvRVOwRYQ7fhc2QcbhnKNdOBihYRL0LcKtw==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/changed@4.0.0': resolution: {integrity: sha512-cD+KuPRp6qiPOD+BO6S6SN5cARspIaWSOqGBpGnYzLb4uWT8Vk4JzKyYtc8ym1DIwyoFXHosXt8+GDAgR8QrgQ==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/check-working-tree@4.0.0': resolution: {integrity: sha512-/++bxM43jYJCshBiKP5cRlCTwSJdRSxVmcDAXM+1oUewlZJVSVlnks5eO0uLxokVFvLhHlC5kHMc7gbVFPHv6Q==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/child-process@4.0.0': resolution: {integrity: sha512-XtCnmCT9eyVsUUHx6y/CTBYdV9g2Cr/VxyseTWBgfIur92/YKClfEtJTbOh94jRT62hlKLqSvux/UhxXVh613Q==} @@ -1230,30 +1280,37 @@ packages: '@lerna/clean@4.0.0': resolution: {integrity: sha512-uugG2iN9k45ITx2jtd8nEOoAtca8hNlDCUM0N3lFgU/b1mEQYAPRkqr1qs4FLRl/Y50ZJ41wUz1eazS+d/0osA==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/cli@4.0.0': resolution: {integrity: sha512-Neaw3GzFrwZiRZv2g7g6NwFjs3er1vhraIniEs0jjVLPMNC4eata0na3GfE5yibkM/9d3gZdmihhZdZ3EBdvYA==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/collect-uncommitted@4.0.0': resolution: {integrity: sha512-ufSTfHZzbx69YNj7KXQ3o66V4RC76ffOjwLX0q/ab//61bObJ41n03SiQEhSlmpP+gmFbTJ3/7pTe04AHX9m/g==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/collect-updates@4.0.0': resolution: {integrity: sha512-bnNGpaj4zuxsEkyaCZLka9s7nMs58uZoxrRIPJ+nrmrZYp1V5rrd+7/NYTuunOhY2ug1sTBvTAxj3NZQ+JKnOw==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/command@4.0.0': resolution: {integrity: sha512-LM9g3rt5FsPNFqIHUeRwWXLNHJ5NKzOwmVKZ8anSp4e1SPrv2HNc1V02/9QyDDZK/w+5POXH5lxZUI1CHaOK/A==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/conventional-commits@4.0.0': resolution: {integrity: sha512-CSUQRjJHFrH8eBn7+wegZLV3OrNc0Y1FehYfYGhjLE2SIfpCL4bmfu/ViYuHh9YjwHaA+4SX6d3hR+xkeseKmw==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/create-symlink@4.0.0': resolution: {integrity: sha512-I0phtKJJdafUiDwm7BBlEUOtogmu8+taxq6PtIrxZbllV9hWg59qkpuIsiFp+no7nfRVuaasNYHwNUhDAVQBig==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/create@4.0.0': resolution: {integrity: sha512-mVOB1niKByEUfxlbKTM1UNECWAjwUdiioIbRQZEeEabtjCL69r9rscIsjlGyhGWCfsdAG5wfq4t47nlDXdLLag==} @@ -1262,186 +1319,232 @@ packages: '@lerna/describe-ref@4.0.0': resolution: {integrity: sha512-eTU5+xC4C5Gcgz+Ey4Qiw9nV2B4JJbMulsYJMW8QjGcGh8zudib7Sduj6urgZXUYNyhYpRs+teci9M2J8u+UvQ==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/diff@4.0.0': resolution: {integrity: sha512-jYPKprQVg41+MUMxx6cwtqsNm0Yxx9GDEwdiPLwcUTFx+/qKCEwifKNJ1oGIPBxyEHX2PFCOjkK39lHoj2qiag==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/exec@4.0.0': resolution: {integrity: sha512-VGXtL/b/JfY84NB98VWZpIExfhLOzy0ozm/0XaS4a2SmkAJc5CeUfrhvHxxkxiTBLkU+iVQUyYEoAT0ulQ8PCw==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/filter-options@4.0.0': resolution: {integrity: sha512-vV2ANOeZhOqM0rzXnYcFFCJ/kBWy/3OA58irXih9AMTAlQLymWAK0akWybl++sUJ4HB9Hx12TOqaXbYS2NM5uw==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/filter-packages@4.0.0': resolution: {integrity: sha512-+4AJIkK7iIiOaqCiVTYJxh/I9qikk4XjNQLhE3kixaqgMuHl1NQ99qXRR0OZqAWB9mh8Z1HA9bM5K1HZLBTOqA==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/get-npm-exec-opts@4.0.0': resolution: {integrity: sha512-yvmkerU31CTWS2c7DvmAWmZVeclPBqI7gPVr5VATUKNWJ/zmVcU4PqbYoLu92I9Qc4gY1TuUplMNdNuZTSL7IQ==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/get-packed@4.0.0': resolution: {integrity: sha512-rfWONRsEIGyPJTxFzC8ECb3ZbsDXJbfqWYyeeQQDrJRPnEJErlltRLPLgC2QWbxFgFPsoDLeQmFHJnf0iDfd8w==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/github-client@4.0.0': resolution: {integrity: sha512-2jhsldZtTKXYUBnOm23Lb0Fx8G4qfSXF9y7UpyUgWUj+YZYd+cFxSuorwQIgk5P4XXrtVhsUesIsli+BYSThiw==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/gitlab-client@4.0.0': resolution: {integrity: sha512-OMUpGSkeDWFf7BxGHlkbb35T7YHqVFCwBPSIR6wRsszY8PAzCYahtH3IaJzEJyUg6vmZsNl0FSr3pdA2skhxqA==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/global-options@4.0.0': resolution: {integrity: sha512-TRMR8afAHxuYBHK7F++Ogop2a82xQjoGna1dvPOY6ltj/pEx59pdgcJfYcynYqMkFIk8bhLJJN9/ndIfX29FTQ==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/has-npm-version@4.0.0': resolution: {integrity: sha512-LQ3U6XFH8ZmLCsvsgq1zNDqka0Xzjq5ibVN+igAI5ccRWNaUsE/OcmsyMr50xAtNQMYMzmpw5GVLAivT2/YzCg==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/import@4.0.0': resolution: {integrity: sha512-FaIhd+4aiBousKNqC7TX1Uhe97eNKf5/SC7c5WZANVWtC7aBWdmswwDt3usrzCNpj6/Wwr9EtEbYROzxKH8ffg==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/info@4.0.0': resolution: {integrity: sha512-8Uboa12kaCSZEn4XRfPz5KU9XXoexSPS4oeYGj76s2UQb1O1GdnEyfjyNWoUl1KlJ2i/8nxUskpXIftoFYH0/Q==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/init@4.0.0': resolution: {integrity: sha512-wY6kygop0BCXupzWj5eLvTUqdR7vIAm0OgyV9WHpMYQGfs1V22jhztt8mtjCloD/O0nEe4tJhdG62XU5aYmPNQ==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/link@4.0.0': resolution: {integrity: sha512-KlvPi7XTAcVOByfaLlOeYOfkkDcd+bejpHMCd1KcArcFTwijOwXOVi24DYomIeHvy6HsX/IUquJ4PPUJIeB4+w==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/list@4.0.0': resolution: {integrity: sha512-L2B5m3P+U4Bif5PultR4TI+KtW+SArwq1i75QZ78mRYxPc0U/piau1DbLOmwrdqr99wzM49t0Dlvl6twd7GHFg==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/listable@4.0.0': resolution: {integrity: sha512-/rPOSDKsOHs5/PBLINZOkRIX1joOXUXEtyUs5DHLM8q6/RP668x/1lFhw6Dx7/U+L0+tbkpGtZ1Yt0LewCLgeQ==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/log-packed@4.0.0': resolution: {integrity: sha512-+dpCiWbdzgMAtpajLToy9PO713IHoE6GV/aizXycAyA07QlqnkpaBNZ8DW84gHdM1j79TWockGJo9PybVhrrZQ==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/npm-conf@4.0.0': resolution: {integrity: sha512-uS7H02yQNq3oejgjxAxqq/jhwGEE0W0ntr8vM3EfpCW1F/wZruwQw+7bleJQ9vUBjmdXST//tk8mXzr5+JXCfw==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/npm-dist-tag@4.0.0': resolution: {integrity: sha512-F20sg28FMYTgXqEQihgoqSfwmq+Id3zT23CnOwD+XQMPSy9IzyLf1fFVH319vXIw6NF6Pgs4JZN2Qty6/CQXGw==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/npm-install@4.0.0': resolution: {integrity: sha512-aKNxq2j3bCH3eXl3Fmu4D54s/YLL9WSwV8W7X2O25r98wzrO38AUN6AB9EtmAx+LV/SP15et7Yueg9vSaanRWg==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/npm-publish@4.0.0': resolution: {integrity: sha512-vQb7yAPRo5G5r77DRjHITc9piR9gvEKWrmfCH7wkfBnGWEqu7n8/4bFQ7lhnkujvc8RXOsYpvbMQkNfkYibD/w==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/npm-run-script@4.0.0': resolution: {integrity: sha512-Jmyh9/IwXJjOXqKfIgtxi0bxi1pUeKe5bD3S81tkcy+kyng/GNj9WSqD5ZggoNP2NP//s4CLDAtUYLdP7CU9rA==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/otplease@4.0.0': resolution: {integrity: sha512-Sgzbqdk1GH4psNiT6hk+BhjOfIr/5KhGBk86CEfHNJTk9BK4aZYyJD4lpDbDdMjIV4g03G7pYoqHzH765T4fxw==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/output@4.0.0': resolution: {integrity: sha512-Un1sHtO1AD7buDQrpnaYTi2EG6sLF+KOPEAMxeUYG5qG3khTs2Zgzq5WE3dt2N/bKh7naESt20JjIW6tBELP0w==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/pack-directory@4.0.0': resolution: {integrity: sha512-NJrmZNmBHS+5aM+T8N6FVbaKFScVqKlQFJNY2k7nsJ/uklNKsLLl6VhTQBPwMTbf6Tf7l6bcKzpy7aePuq9UiQ==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/package-graph@4.0.0': resolution: {integrity: sha512-QED2ZCTkfXMKFoTGoccwUzjHtZMSf3UKX14A4/kYyBms9xfFsesCZ6SLI5YeySEgcul8iuIWfQFZqRw+Qrjraw==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/package@4.0.0': resolution: {integrity: sha512-l0M/izok6FlyyitxiQKr+gZLVFnvxRQdNhzmQ6nRnN9dvBJWn+IxxpM+cLqGACatTnyo9LDzNTOj2Db3+s0s8Q==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/prerelease-id-from-version@4.0.0': resolution: {integrity: sha512-GQqguzETdsYRxOSmdFZ6zDBXDErIETWOqomLERRY54f4p+tk4aJjoVdd9xKwehC9TBfIFvlRbL1V9uQGHh1opg==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/profiler@4.0.0': resolution: {integrity: sha512-/BaEbqnVh1LgW/+qz8wCuI+obzi5/vRE8nlhjPzdEzdmWmZXuCKyWSEzAyHOJWw1ntwMiww5dZHhFQABuoFz9Q==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/project@4.0.0': resolution: {integrity: sha512-o0MlVbDkD5qRPkFKlBZsXZjoNTWPyuL58564nSfZJ6JYNmgAptnWPB2dQlAc7HWRZkmnC2fCkEdoU+jioPavbg==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/prompt@4.0.0': resolution: {integrity: sha512-4Ig46oCH1TH5M7YyTt53fT6TuaKMgqUUaqdgxvp6HP6jtdak6+amcsqB8YGz2eQnw/sdxunx84DfI9XpoLj4bQ==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/publish@4.0.0': resolution: {integrity: sha512-K8jpqjHrChH22qtkytA5GRKIVFEtqBF6JWj1I8dWZtHs4Jywn8yB1jQ3BAMLhqmDJjWJtRck0KXhQQKzDK2UPg==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/pulse-till-done@4.0.0': resolution: {integrity: sha512-Frb4F7QGckaybRhbF7aosLsJ5e9WuH7h0KUkjlzSByVycxY91UZgaEIVjS2oN9wQLrheLMHl6SiFY0/Pvo0Cxg==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/query-graph@4.0.0': resolution: {integrity: sha512-YlP6yI3tM4WbBmL9GCmNDoeQyzcyg1e4W96y/PKMZa5GbyUvkS2+Jc2kwPD+5KcXou3wQZxSPzR3Te5OenaDdg==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/resolve-symlink@4.0.0': resolution: {integrity: sha512-RtX8VEUzqT+uLSCohx8zgmjc6zjyRlh6i/helxtZTMmc4+6O4FS9q5LJas2uGO2wKvBlhcD6siibGt7dIC3xZA==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/rimraf-dir@4.0.0': resolution: {integrity: sha512-QNH9ABWk9mcMJh2/muD9iYWBk1oQd40y6oH+f3wwmVGKYU5YJD//+zMiBI13jxZRtwBx0vmBZzkBkK1dR11cBg==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/run-lifecycle@4.0.0': resolution: {integrity: sha512-IwxxsajjCQQEJAeAaxF8QdEixfI7eLKNm4GHhXHrgBu185JcwScFZrj9Bs+PFKxwb+gNLR4iI5rpUdY8Y0UdGQ==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/run-topologically@4.0.0': resolution: {integrity: sha512-EVZw9hGwo+5yp+VL94+NXRYisqgAlj0jWKWtAIynDCpghRxCE5GMO3xrQLmQgqkpUl9ZxQFpICgYv5DW4DksQA==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/run@4.0.0': resolution: {integrity: sha512-9giulCOzlMPzcZS/6Eov6pxE9gNTyaXk0Man+iCIdGJNMrCnW7Dme0Z229WWP/UoxDKg71F2tMsVVGDiRd8fFQ==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/symlink-binary@4.0.0': resolution: {integrity: sha512-zualodWC4q1QQc1pkz969hcFeWXOsVYZC5AWVtAPTDfLl+TwM7eG/O6oP+Rr3fFowspxo6b1TQ6sYfDV6HXNWA==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/symlink-dependencies@4.0.0': resolution: {integrity: sha512-BABo0MjeUHNAe2FNGty1eantWp8u83BHSeIMPDxNq0MuW2K3CiQRaeWT3EGPAzXpGt0+hVzBrA6+OT0GPn7Yuw==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/timer@4.0.0': resolution: {integrity: sha512-WFsnlaE7SdOvjuyd05oKt8Leg3ENHICnvX3uYKKdByA+S3g+TCz38JsNs7OUZVt+ba63nC2nbXDlUnuT2Xbsfg==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/validation-error@4.0.0': resolution: {integrity: sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/version@4.0.0': resolution: {integrity: sha512-otUgiqs5W9zGWJZSCCMRV/2Zm2A9q9JwSDS7s/tlKq4mWCYriWo7+wsHEA/nPTMDyYyBO5oyZDj+3X50KDUzeA==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@lerna/write-log-file@4.0.0': resolution: {integrity: sha512-XRG5BloiArpXRakcnPHmEHJp+4AtnhRtpDIHSghmXD5EichI1uD73J7FgPp30mm2pDRq3FdqB0NbwSEsJ9xFQg==} engines: {node: '>= 10.18.0'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. '@ljharb/through@2.3.9': resolution: {integrity: sha512-yN599ZBuMPPK4tdoToLlvgJB4CLK8fGl7ntfy0Wn7U6ttNvHYurd81bfUiK/6sMkiIwm65R6ck4L6+Y3DfVbNQ==} @@ -1673,6 +1776,9 @@ packages: cpu: [x64] os: [win32] + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -1770,12 +1876,18 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/git-url-parse@9.0.1': resolution: {integrity: sha512-Zf9mY4Mz7N3Nyi341nUkOtgVUQn4j6NS4ndqEha/lOgEbTkHzpD7wZuRagYKzrXNtvawWfsrojoC1nhsQexvNA==} '@types/json-schema@7.0.12': resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} @@ -1800,26 +1912,26 @@ packages: '@types/semver@7.5.1': resolution: {integrity: sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==} - '@typescript-eslint/eslint-plugin@6.7.0': - resolution: {integrity: sha512-gUqtknHm0TDs1LhY12K2NA3Rmlmp88jK9Tx8vGZMfHeNMLE3GH2e9TRub+y+SOjuYgtOmok+wt1AyDPZqxbNag==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/eslint-plugin@8.35.1': + resolution: {integrity: sha512-9XNTlo7P7RJxbVeICaIIIEipqxLKguyh+3UbXuT2XQuFp6d8VOeDEGuz5IiX0dgZo8CiI6aOFLg4e8cF71SFVg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/parser': ^8.35.1 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@6.7.0': - resolution: {integrity: sha512-jZKYwqNpNm5kzPVP5z1JXAuxjtl2uG+5NpaMocFPTNC2EdYIgbXIPImObOkhbONxtFTTdoZstLZefbaK+wXZng==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/parser@8.35.1': + resolution: {integrity: sha512-3MyiDfrfLeK06bi/g9DqJxP5pV74LNv4rFTyvGDmT3x2p1yp1lOd+qYZfiRPIOf/oON+WRZR5wxxuF85qOar+w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/project-service@8.35.1': + resolution: {integrity: sha512-VYxn/5LOpVxADAuP3NrnxxHYfzVtQzLKeldIhDhzC8UHaiQvYlXvKuVho1qLduFbJjjy5U5bkGwa3rUGUb1Q6Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/scope-manager@5.62.0': resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} @@ -1829,15 +1941,22 @@ packages: resolution: {integrity: sha512-lAT1Uau20lQyjoLUQ5FUMSX/dS07qux9rYd5FGzKz/Kf8W8ccuvMyldb8hadHdK/qOI7aikvQWqulnEq2nCEYA==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/type-utils@6.7.0': - resolution: {integrity: sha512-f/QabJgDAlpSz3qduCyQT0Fw7hHpmhOzY/Rv6zO3yO+HVIdPfIWhrQoAyG+uZVtWAIS85zAyzgAFfyEr+MgBpg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@8.35.1': + resolution: {integrity: sha512-s/Bpd4i7ht2934nG+UoSPlYXd08KYz3bmjLEb7Ye1UVob0d1ENiT3lY8bsCmik4RqfSbPw9xJJHbugpPpP5JUg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.35.1': + resolution: {integrity: sha512-K5/U9VmT9dTHoNowWZpz+/TObS3xqC5h0xAIjXPw+MNcKV9qg6eSatEnmeAwkjHijhACH0/N7bkhKvbt1+DXWQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/type-utils@8.35.1': + resolution: {integrity: sha512-HOrUBlfVRz5W2LIKpXzZoy6VTZzMu2n8q9C2V/cFngIC5U1nStJgv0tMV4sZPzdf4wQm9/ToWUFPMN9Vq9VJQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/types@5.62.0': resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} @@ -1847,6 +1966,10 @@ packages: resolution: {integrity: sha512-ihPfvOp7pOcN/ysoj0RpBPOx3HQTJTrIN8UZK+WFd3/iDeFHHqeyYxa4hQk4rMhsz9H9mXpR61IzwlBVGXtl9Q==} engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/types@8.35.1': + resolution: {integrity: sha512-q/O04vVnKHfrrhNAscndAn1tuQhIkwqnaW+eu5waD5IPts2eX1dgJxgqcPx5BX109/qAz7IG6VrEPTOYKCNfRQ==} + 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} @@ -1865,6 +1988,12 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@8.35.1': + resolution: {integrity: sha512-Vvpuvj4tBxIka7cPs6Y1uvM7gJgdF5Uu9F+mBJBPY4MhvjrjWGK4H0lVgLJd/8PWZ23FTqsaJaLEkBCFUk8Y9g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/utils@5.62.0': resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1877,6 +2006,13 @@ packages: peerDependencies: eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/utils@8.35.1': + resolution: {integrity: sha512-lhnwatFmOFcazAsUm3ZnZFpXSxiwoa1Lj50HphnDe1Et01NF4+hrdXONSUHIcbVu2eFb1bAf+5yjXkGVkXBKAQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.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} @@ -1885,6 +2021,10 @@ packages: resolution: {integrity: sha512-/C1RVgKFDmGMcVGeD8HjKv2bd72oI1KxQDeY8uc66gw9R0OK0eMq48cA+jv9/2Ag6cdrsUGySm1yzYmfz0hxwQ==} engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@8.35.1': + resolution: {integrity: sha512-VRwixir4zBWCSTP/ljEo091lbpypz57PoeAQ9imjG+vbeof9LplljsL1mos4ccG6H9IjfrVGM359RozUnuFhpw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@vitest/expect@1.0.0': resolution: {integrity: sha512-EbqHCSzQhAY8Su/uLsMCDXkC26LyqQO54kAqJy/DubBqwpRre1iMzvDMPWx+YPfNIN3w7/ydKaJWjH6qRoz0fA==} @@ -1925,6 +2065,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + add-stream@1.0.0: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} @@ -1991,6 +2136,7 @@ packages: are-we-there-yet@1.1.7: resolution: {integrity: sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==} + deprecated: This package is no longer supported. arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -2005,6 +2151,10 @@ packages: array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + array-differ@3.0.0: resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} engines: {node: '>=8'} @@ -2012,37 +2162,46 @@ packages: array-ify@1.0.0: resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} - array-includes@3.1.7: - resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + array-includes@3.1.9: + resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} engines: {node: '>= 0.4'} array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - array.prototype.findlastindex@1.2.3: - resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + + array.prototype.findlastindex@1.2.6: + resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} engines: {node: '>= 0.4'} - array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + array.prototype.flat@1.3.3: + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} engines: {node: '>= 0.4'} - array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + array.prototype.flatmap@1.3.3: + resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} engines: {node: '>= 0.4'} array.prototype.reduce@1.0.6: resolution: {integrity: sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==} engines: {node: '>= 0.4'} - array.prototype.tosorted@1.1.2: - resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} + array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} arraybuffer.prototype.slice@1.0.2: resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} engines: {node: '>= 0.4'} + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} @@ -2064,9 +2223,6 @@ packages: assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - asynciterator.prototype@1.0.0: - resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} - asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -2078,6 +2234,10 @@ packages: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + aws-sign2@0.7.0: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} @@ -2134,10 +2294,17 @@ packages: brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + browserslist@4.21.10: resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -2149,10 +2316,6 @@ packages: buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - builtins@1.0.3: resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} @@ -2179,9 +2342,21 @@ packages: resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} engines: {node: '>=6'} + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -2313,8 +2488,8 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - comment-parser@1.4.0: - resolution: {integrity: sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==} + comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} engines: {node: '>= 12.0.0'} commitizen@4.3.0: @@ -2423,6 +2598,10 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + cz-conventional-changelog@3.3.0: resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} engines: {node: '>= 10'} @@ -2435,6 +2614,18 @@ packages: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + dateformat@3.0.3: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} @@ -2455,6 +2646,15 @@ packages: supports-color: optional: true + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debuglog@1.0.1: resolution: {integrity: sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. @@ -2488,6 +2688,10 @@ packages: defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} @@ -2496,6 +2700,10 @@ packages: resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} engines: {node: '>= 0.4'} + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + del-cli@5.1.0: resolution: {integrity: sha512-xwMeh2acluWeccsfzE7VLsG3yTr7nWikbfw+xhMnpRrF15pGSkw+3/vJZWlGoE4I86UiLRNHicmKt4tkIX9Jtg==} engines: {node: '>=14.16'} @@ -2546,10 +2754,6 @@ packages: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} @@ -2562,6 +2766,10 @@ packages: resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} engines: {node: '>=12'} + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} @@ -2596,23 +2804,49 @@ packages: resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} engines: {node: '>= 0.4'} + es-abstract@1.24.0: + resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} + engines: {node: '>= 0.4'} + es-array-method-boxes-properly@1.0.0: resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} - es-iterator-helpers@1.0.14: - resolution: {integrity: sha512-JgtVnwiuoRuzLvqelrvN3Xu7H9bu2ap/kQ2CrM62iidP8SKuD99rWU3CJy++s7IVL2qb/AjXPGR/E7i9ngd/Cw==} + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-iterator-helpers@1.2.1: + resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} es-set-tostringtag@2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} engines: {node: '>= 0.4'} - es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.1.0: + resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} + engines: {node: '>= 0.4'} es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + engines: {node: '>= 0.4'} + esbuild@0.19.5: resolution: {integrity: sha512-bUxalY7b1g8vNhQKdB24QDmHeY4V4tw/s6Ak5z+jJX9laP5MoQseTOMemAr0gxssjNcH0MCViG8ONI2kksvfFQ==} engines: {node: '>=12'} @@ -2637,8 +2871,8 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-module-utils@2.8.0: - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + eslint-module-utils@2.12.1: + resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -2658,32 +2892,32 @@ packages: eslint-import-resolver-webpack: optional: true - eslint-plugin-import@2.28.1: - resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} + eslint-plugin-import@2.32.0: + resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 peerDependenciesMeta: '@typescript-eslint/parser': optional: true - eslint-plugin-jest-dom@5.1.0: - resolution: {integrity: sha512-JIXZp+E/h/aGlP/rQc4tuOejiHlZXg65qw8JAJMIJA5VsdjOkss/SYcRSqBrQuEOytEM8JvngUjcz31d1RrCrA==} + eslint-plugin-jest-dom@5.5.0: + resolution: {integrity: sha512-CRlXfchTr7EgC3tDI7MGHY6QjdJU5Vv2RPaeeGtkXUHnKZf04kgzMPIJUXt4qKCvYWVVIEo9ut9Oq1vgXAykEA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6', yarn: '>=1'} peerDependencies: - '@testing-library/dom': ^8.0.0 || ^9.0.0 - eslint: ^6.8.0 || ^7.0.0 || ^8.0.0 + '@testing-library/dom': ^8.0.0 || ^9.0.0 || ^10.0.0 + eslint: ^6.8.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 peerDependenciesMeta: '@testing-library/dom': optional: true - eslint-plugin-jest@27.2.3: - resolution: {integrity: sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + eslint-plugin-jest@28.14.0: + resolution: {integrity: sha512-P9s/qXSMTpRTerE2FQ0qJet2gKbcGyFTPAJipoKxmWqR6uuFqIqk8FuEfg5yBieOezVrEfAMZrEwJ6yEp+1MFQ==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 - eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/eslint-plugin': ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 jest: '*' peerDependenciesMeta: '@typescript-eslint/eslint-plugin': @@ -2691,54 +2925,62 @@ packages: jest: optional: true - eslint-plugin-jsdoc@46.6.0: - resolution: {integrity: sha512-T/1gzsvnX45qABzyPEonEhFDttkTn7Igm/X89TXIkTLBOsNl2GYtyBqQPZGXZZ8J5VBzEhiCMvI2P2kXX4dnFw==} - engines: {node: '>=16'} + eslint-plugin-jsdoc@50.8.0: + resolution: {integrity: sha512-UyGb5755LMFWPrZTEqqvTJ3urLz1iqj+bYOHFNag+sw3NvaMWP9K2z+uIn37XfNALmQLQyrBlJ5mkiVPL7ADEg==} + engines: {node: '>=18'} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - eslint-plugin-react-hooks@4.6.0: - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + eslint-plugin-react-hooks@4.6.2: + resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - eslint-plugin-react@7.33.2: - resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} + eslint-plugin-react@7.37.5: + resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==} engines: {node: '>=4'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - eslint-plugin-testing-library@6.0.1: - resolution: {integrity: sha512-CEYtjpcF3hAaQtYsTZqciR7s5z+T0LCMTwJeW+pz6kBnGtc866wAKmhaiK2Gsjc2jWNP7Gt6zhNr2DE1ZW4e+g==} + eslint-plugin-testing-library@6.5.0: + resolution: {integrity: sha512-Ls5TUfLm5/snocMAOlofSOJxNN0aKqwTlco7CrNtMjkTdQlkpSMaeTCDHCuXfzrI97xcx2rSCNeKeJjtpkNC1w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} peerDependencies: - eslint: ^7.5.0 || ^8.0.0 + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.49.0: - resolution: {integrity: sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.30.1: + resolution: {integrity: sha512-zmxXPNMOXmwm9E0yQLi5uqXHs7uq2UIiqEKo3Gq+3fwo1XrJ+hijAZImyF7hclW3E6oHz43Yk3RP8at6OTKflQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} esrecurse@4.3.0: @@ -2790,6 +3032,10 @@ packages: resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} engines: {node: '>=8.6.0'} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -2807,14 +3053,18 @@ packages: resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} engines: {node: '>=14'} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + filter-obj@1.1.0: resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} engines: {node: '>=0.10.0'} @@ -2841,16 +3091,20 @@ packages: resolution: {integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==} engines: {node: '>= 8'} - flat-cache@3.1.0: - resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} - engines: {node: '>=12.0.0'} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} - flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + forever-agent@0.6.1: resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} @@ -2884,15 +3138,23 @@ packages: function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function.prototype.name@1.1.6: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} + function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + engines: {node: '>= 0.4'} + functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} gauge@2.7.4: resolution: {integrity: sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==} + deprecated: This package is no longer supported. get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} @@ -2904,6 +3166,10 @@ packages: get-intrinsic@1.2.1: resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + get-pkg-repo@4.2.1: resolution: {integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==} engines: {node: '>=6.9.0'} @@ -2913,6 +3179,10 @@ packages: resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} engines: {node: '>=8'} + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} @@ -2925,6 +3195,10 @@ packages: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + getpass@0.1.7: resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} @@ -2961,6 +3235,7 @@ packages: glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported global-dirs@0.1.1: resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} @@ -2978,14 +3253,22 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.21.0: - resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==} - engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@16.3.0: + resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==} + engines: {node: '>=18'} globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -2997,6 +3280,10 @@ packages: gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -3035,18 +3322,33 @@ packages: has-property-descriptors@1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + has-tostringtag@1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} @@ -3054,6 +3356,10 @@ packages: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + homedir-polyfill@1.0.3: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} @@ -3109,6 +3415,10 @@ packages: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -3135,6 +3445,7 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -3162,6 +3473,10 @@ packages: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + ip@2.0.0: resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} @@ -3172,6 +3487,10 @@ packages: is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} @@ -3182,13 +3501,17 @@ packages: is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} + is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} - is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} + is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} @@ -3201,10 +3524,22 @@ packages: is-core-module@2.13.0: resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} @@ -3214,8 +3549,9 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - is-finalizationregistry@1.0.2: - resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} is-fullwidth-code-point@1.0.0: resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} @@ -3240,17 +3576,26 @@ packages: is-lambda@1.0.1: resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - is-map@2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -3263,10 +3608,6 @@ packages: resolution: {integrity: sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - is-path-inside@4.0.0: resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} engines: {node: '>=12'} @@ -3295,12 +3636,21 @@ packages: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} - is-set@2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + is-ssh@1.4.0: resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} @@ -3316,10 +3666,18 @@ packages: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + is-symbol@1.0.4: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + is-text-path@1.0.1: resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} engines: {node: '>=0.10.0'} @@ -3332,6 +3690,10 @@ packages: resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} engines: {node: '>= 0.4'} + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} @@ -3346,14 +3708,20 @@ packages: is-utf8@0.2.1: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} - is-weakmap@2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - is-weakset@2.0.2: - resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} @@ -3379,8 +3747,9 @@ packages: isstream@0.1.2: resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - iterator.prototype@1.1.1: - resolution: {integrity: sha512-9E+nePc8C9cnQldmNl6bgpTY6zI4OPRZd97fhJ/iVZ1GifIUDVV5F6x1nEDqpe8KaMEZGT4xgrwKQDxXnjOIZQ==} + iterator.prototype@1.1.5: + resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} + engines: {node: '>= 0.4'} js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -3392,8 +3761,8 @@ packages: jsbn@0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - jsdoc-type-pratt-parser@4.0.0: - resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} + jsdoc-type-pratt-parser@4.1.0: + resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} engines: {node: '>=12.0.0'} jsesc@0.5.0: @@ -3451,8 +3820,8 @@ packages: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} - keyv@4.5.3: - resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} @@ -3544,6 +3913,7 @@ packages: lodash.template@4.5.0: resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} + deprecated: This package is deprecated. Use https://socket.dev/npm/package/eta instead. lodash.templatesettings@4.2.0: resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} @@ -3614,6 +3984,10 @@ packages: resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} engines: {node: '>=8'} + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + meow@10.1.5: resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3644,6 +4018,10 @@ packages: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -3667,6 +4045,10 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -3830,6 +4212,7 @@ packages: npm-lifecycle@3.1.5: resolution: {integrity: sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g==} + deprecated: The lifecycle script runner used in npm is now @npmcli/run-script. Please use that module moving forward npm-normalize-package-bin@1.0.1: resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} @@ -3875,6 +4258,7 @@ packages: npmlog@4.1.2: resolution: {integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==} + deprecated: This package is no longer supported. number-is-nan@1.0.1: resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} @@ -3890,6 +4274,10 @@ packages: object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} @@ -3898,26 +4286,28 @@ packages: resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} engines: {node: '>= 0.4'} - object.entries@1.1.7: - resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} - object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + object.entries@1.1.9: + resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} engines: {node: '>= 0.4'} object.getownpropertydescriptors@2.1.7: resolution: {integrity: sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==} engines: {node: '>= 0.8'} - object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} - - object.hasown@1.1.3: - resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} - object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + object.values@1.2.1: + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} engines: {node: '>= 0.4'} once@1.4.0: @@ -3953,6 +4343,11 @@ packages: osenv@0.1.5: resolution: {integrity: sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==} + deprecated: This package is no longer supported. + + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} p-finally@1.0.0: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} @@ -4035,6 +4430,9 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} + parse-imports-exports@0.2.4: + resolution: {integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==} + parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} @@ -4050,6 +4448,9 @@ packages: parse-path@4.0.4: resolution: {integrity: sha512-Z2lWUis7jlmXC1jeOG9giRO2+FsuyNipeQ43HAjqAZjwSe3SEf+q/84FGPHoso3kyntbxa4c4i77t3m6fGf8cw==} + parse-statements@1.0.11: + resolution: {integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==} + parse-url@6.0.5: resolution: {integrity: sha512-e35AeLTSIlkw/5GFq70IN7po8fmDUjpDPY1rIK+VubRfsUvBonjQ+PBZG+vWMACnQSmNlvl524IucoDmcioMxA==} @@ -4127,6 +4528,10 @@ packages: resolution: {integrity: sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==} engines: {node: '>=10'} + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} @@ -4179,6 +4584,10 @@ packages: q@1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} engines: {node: '>=0.6.0', teleport: '>=0.2.0'} + deprecated: |- + You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. + + (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) qs@6.11.2: resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} @@ -4218,14 +4627,17 @@ packages: read-package-json@2.1.2: resolution: {integrity: sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==} + deprecated: This package is no longer supported. Please use @npmcli/package-json instead. read-package-json@3.0.1: resolution: {integrity: sha512-aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng==} engines: {node: '>=10'} + deprecated: This package is no longer supported. Please use @npmcli/package-json instead. read-package-json@4.1.2: resolution: {integrity: sha512-Dqer4pqzamDE2O4M55xp1qZMuLPqi4ldk2ya648FOMHRjwMzFhuxVrG04wd0c38IsvkVdr3vgHI6z+QTPdAjrQ==} engines: {node: '>=10'} + deprecated: This package is no longer supported. Please use @npmcli/package-json instead. read-package-tree@5.3.1: resolution: {integrity: sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==} @@ -4282,8 +4694,8 @@ packages: resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==} engines: {node: '>=12'} - reflect.getprototypeof@1.0.4: - resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} regenerate-unicode-properties@10.1.0: @@ -4303,6 +4715,10 @@ packages: resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} engines: {node: '>= 0.4'} + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + regexpu-core@5.3.2: resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} engines: {node: '>=4'} @@ -4352,8 +4768,8 @@ packages: resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} hasBin: true - resolve@2.0.0-next.4: - resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true restore-cursor@3.1.0: @@ -4370,10 +4786,12 @@ packages: rimraf@2.7.1: resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rollup@4.4.1: @@ -4403,15 +4821,27 @@ packages: resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} engines: {node: '>=0.4'} + safe-array-concat@1.1.3: + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + engines: {node: '>=0.4'} + safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -4428,9 +4858,26 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true + set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + shallow-clone@3.0.1: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} engines: {node: '>=8'} @@ -4443,9 +4890,25 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -4517,6 +4980,9 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + spdx-license-ids@3.0.13: resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} @@ -4549,6 +5015,10 @@ packages: std-env@3.6.0: resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + strict-uri-encode@2.0.0: resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} engines: {node: '>=4'} @@ -4561,8 +5031,16 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - string.prototype.matchall@4.0.9: - resolution: {integrity: sha512-6i5hL3MqG/K2G43mWXWgP+qizFW/QH/7kCNN13JrJS5q48FN5IKksLDscexKP3dnmB6cdm9jlNgAsWNLpSykmA==} + string.prototype.matchall@4.0.12: + resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} + engines: {node: '>= 0.4'} + + string.prototype.repeat@1.0.0: + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} + + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} string.prototype.trim@1.2.8: resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} @@ -4571,9 +5049,17 @@ packages: string.prototype.trimend@1.0.7: resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} + string.prototype.trimstart@1.0.7: resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -4663,9 +5149,6 @@ packages: resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} engines: {node: '>=8'} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} @@ -4723,6 +5206,12 @@ packages: peerDependencies: typescript: '>=4.2.0' + ts-api-utils@2.1.0: + resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + ts-node@10.9.1: resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true @@ -4737,8 +5226,8 @@ packages: '@swc/wasm': optional: true - tsconfig-paths@3.14.2: - resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} @@ -4770,10 +5259,6 @@ packages: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} engines: {node: '>=10'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -4806,23 +5291,46 @@ packages: resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} engines: {node: '>= 0.4'} + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + typed-array-byte-length@1.0.0: resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} engines: {node: '>= 0.4'} + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + typed-array-byte-offset@1.0.0: resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} engines: {node: '>= 0.4'} + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} + typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + typescript-eslint@8.35.1: + resolution: {integrity: sha512-xslJjFzhOmHYQzSB/QTeASAHbjmxOGEP6Coh93TXmUBFQoJ1VU35UHIDmG06Jd6taf3wqqC1ntBnCMeymy5Ovw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + typescript@5.2.2: resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} engines: {node: '>=14.17'} @@ -4838,6 +5346,7 @@ packages: uid-number@0.0.6: resolution: {integrity: sha512-c461FXIljswCuscZn67xq9PpszkPT6RjheWFQTgCyabJrTUozElanb0YEqv2UGgk247YpcJkFBuSGNvBlpXM9w==} + deprecated: This package is no longer supported. umask@1.1.0: resolution: {integrity: sha512-lE/rxOhmiScJu9L6RTNVgB/zZbF+vGC0/p6D3xnkAePI2o0sMyFG966iR5Ki50OI/0mNi2yaRnxfLsPmEZF/JA==} @@ -4845,6 +5354,10 @@ packages: unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -4996,17 +5509,26 @@ packages: which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - which-builtin-type@1.1.3: - resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} engines: {node: '>= 0.4'} - which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} which-typed-array@1.1.11: resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} engines: {node: '>= 0.4'} + which-typed-array@1.1.19: + resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} + engines: {node: '>= 0.4'} + which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -5965,11 +6487,13 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@es-joy/jsdoccomment@0.40.1': + '@es-joy/jsdoccomment@0.50.2': dependencies: - comment-parser: 1.4.0 - esquery: 1.5.0 - jsdoc-type-pratt-parser: 4.0.0 + '@types/estree': 1.0.8 + '@typescript-eslint/types': 8.35.1 + comment-parser: 1.4.1 + esquery: 1.6.0 + jsdoc-type-pratt-parser: 4.1.0 '@esbuild/android-arm64@0.19.5': optional: true @@ -6037,19 +6561,42 @@ snapshots: '@esbuild/win32-x64@0.19.5': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.49.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.30.1)': + dependencies: + eslint: 9.30.1 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/eslint-utils@4.7.0(eslint@9.30.1)': dependencies: - eslint: 8.49.0 + eslint: 9.30.1 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.8.1': {} + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.21.0': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.4.1 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.3.0': {} + + '@eslint/core@0.14.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/core@0.15.1': + dependencies: + '@types/json-schema': 7.0.15 - '@eslint/eslintrc@2.1.2': + '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.21.0 + debug: 4.4.1 + espree: 10.4.0 + globals: 14.0.0 ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -6058,23 +6605,31 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.49.0': {} + '@eslint/js@9.30.1': {} + + '@eslint/object-schema@2.1.6': {} + + '@eslint/plugin-kit@0.3.3': + dependencies: + '@eslint/core': 0.15.1 + levn: 0.4.1 '@gar/promisify@1.1.3': {} '@gwhitney/detect-indent@7.0.1': {} - '@humanwhocodes/config-array@0.11.11': + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@1.2.1': {} + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.3': {} '@hutson/parse-repository-url@3.0.2': {} @@ -6626,7 +7181,7 @@ snapshots: '@npmcli/fs@1.1.1': dependencies: '@gar/promisify': 1.1.3 - semver: 7.5.4 + semver: 7.7.2 '@npmcli/git@2.1.0': dependencies: @@ -6884,6 +7439,8 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.4.1': optional: true + '@rtsao/scc@1.1.0': {} + '@sinclair/typebox@0.27.8': {} '@swc/core-darwin-arm64@1.3.84': @@ -6948,10 +7505,14 @@ snapshots: '@tsconfig/node16@1.0.4': {} + '@types/estree@1.0.8': {} + '@types/git-url-parse@9.0.1': {} '@types/json-schema@7.0.12': {} + '@types/json-schema@7.0.15': {} + '@types/json5@0.0.29': {} '@types/minimatch@3.0.5': {} @@ -6970,35 +7531,40 @@ snapshots: '@types/semver@7.5.1': {} - '@typescript-eslint/eslint-plugin@6.7.0(@typescript-eslint/parser@6.7.0(eslint@8.49.0)(typescript@5.2.2))(eslint@8.49.0)(typescript@5.2.2)': + '@typescript-eslint/eslint-plugin@8.35.1(@typescript-eslint/parser@8.35.1(eslint@9.30.1)(typescript@5.2.2))(eslint@9.30.1)(typescript@5.2.2)': dependencies: - '@eslint-community/regexpp': 4.8.1 - '@typescript-eslint/parser': 6.7.0(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.7.0 - '@typescript-eslint/type-utils': 6.7.0(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.7.0(eslint@8.49.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.7.0 - debug: 4.3.4 - eslint: 8.49.0 + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.35.1(eslint@9.30.1)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 8.35.1 + '@typescript-eslint/type-utils': 8.35.1(eslint@9.30.1)(typescript@5.2.2) + '@typescript-eslint/utils': 8.35.1(eslint@9.30.1)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 8.35.1 + eslint: 9.30.1 graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 7.0.5 natural-compare: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - optionalDependencies: + ts-api-utils: 2.1.0(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@6.7.0(eslint@8.49.0)(typescript@5.2.2)': + '@typescript-eslint/parser@8.35.1(eslint@9.30.1)(typescript@5.2.2)': dependencies: - '@typescript-eslint/scope-manager': 6.7.0 - '@typescript-eslint/types': 6.7.0 - '@typescript-eslint/typescript-estree': 6.7.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.7.0 + '@typescript-eslint/scope-manager': 8.35.1 + '@typescript-eslint/types': 8.35.1 + '@typescript-eslint/typescript-estree': 8.35.1(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 8.35.1 + debug: 4.3.4 + eslint: 9.30.1 + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.35.1(typescript@5.2.2)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.35.1(typescript@5.2.2) + '@typescript-eslint/types': 8.35.1 debug: 4.3.4 - eslint: 8.49.0 - optionalDependencies: typescript: 5.2.2 transitivePeerDependencies: - supports-color @@ -7013,14 +7579,22 @@ snapshots: '@typescript-eslint/types': 6.7.0 '@typescript-eslint/visitor-keys': 6.7.0 - '@typescript-eslint/type-utils@6.7.0(eslint@8.49.0)(typescript@5.2.2)': + '@typescript-eslint/scope-manager@8.35.1': dependencies: - '@typescript-eslint/typescript-estree': 6.7.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.7.0(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/types': 8.35.1 + '@typescript-eslint/visitor-keys': 8.35.1 + + '@typescript-eslint/tsconfig-utils@8.35.1(typescript@5.2.2)': + dependencies: + typescript: 5.2.2 + + '@typescript-eslint/type-utils@8.35.1(eslint@9.30.1)(typescript@5.2.2)': + dependencies: + '@typescript-eslint/typescript-estree': 8.35.1(typescript@5.2.2) + '@typescript-eslint/utils': 8.35.1(eslint@9.30.1)(typescript@5.2.2) debug: 4.3.4 - eslint: 8.49.0 - ts-api-utils: 1.0.3(typescript@5.2.2) - optionalDependencies: + eslint: 9.30.1 + ts-api-utils: 2.1.0(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - supports-color @@ -7029,14 +7603,16 @@ snapshots: '@typescript-eslint/types@6.7.0': {} + '@typescript-eslint/types@8.35.1': {} + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.2.2)': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.4 + debug: 4.4.1 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.4 + semver: 7.7.2 tsutils: 3.21.0(typescript@5.2.2) optionalDependencies: typescript: 5.2.2 @@ -7057,35 +7633,62 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@8.49.0)(typescript@5.2.2)': + '@typescript-eslint/typescript-estree@8.35.1(typescript@5.2.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) + '@typescript-eslint/project-service': 8.35.1(typescript@5.2.2) + '@typescript-eslint/tsconfig-utils': 8.35.1(typescript@5.2.2) + '@typescript-eslint/types': 8.35.1 + '@typescript-eslint/visitor-keys': 8.35.1 + debug: 4.3.4 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.2 + ts-api-utils: 2.1.0(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@5.62.0(eslint@9.30.1)(typescript@5.2.2)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1) '@types/json-schema': 7.0.12 '@types/semver': 7.5.1 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) - eslint: 8.49.0 + eslint: 9.30.1 eslint-scope: 5.1.1 - semver: 7.5.4 + semver: 7.7.2 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@6.7.0(eslint@8.49.0)(typescript@5.2.2)': + '@typescript-eslint/utils@6.7.0(eslint@9.30.1)(typescript@5.2.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.30.1) '@types/json-schema': 7.0.12 '@types/semver': 7.5.1 '@typescript-eslint/scope-manager': 6.7.0 '@typescript-eslint/types': 6.7.0 '@typescript-eslint/typescript-estree': 6.7.0(typescript@5.2.2) - eslint: 8.49.0 + eslint: 9.30.1 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript + '@typescript-eslint/utils@8.35.1(eslint@9.30.1)(typescript@5.2.2)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1) + '@typescript-eslint/scope-manager': 8.35.1 + '@typescript-eslint/types': 8.35.1 + '@typescript-eslint/typescript-estree': 8.35.1(typescript@5.2.2) + eslint: 9.30.1 + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 @@ -7096,6 +7699,11 @@ snapshots: '@typescript-eslint/types': 6.7.0 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.35.1': + dependencies: + '@typescript-eslint/types': 8.35.1 + eslint-visitor-keys: 4.2.1 + '@vitest/expect@1.0.0': dependencies: '@vitest/spy': 1.0.0 @@ -7131,9 +7739,9 @@ snapshots: abbrev@1.1.1: {} - acorn-jsx@5.3.2(acorn@8.10.0): + acorn-jsx@5.3.2(acorn@8.15.0): dependencies: - acorn: 8.10.0 + acorn: 8.15.0 acorn-walk@8.2.0: {} @@ -7141,6 +7749,8 @@ snapshots: acorn@8.10.0: {} + acorn@8.15.0: {} + add-stream@1.0.0: {} agent-base@6.0.2: @@ -7221,41 +7831,60 @@ snapshots: call-bind: 1.0.2 is-array-buffer: 3.0.2 + array-buffer-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + is-array-buffer: 3.0.5 + array-differ@3.0.0: {} array-ify@1.0.0: {} - array-includes@3.1.7: + array-includes@3.1.9: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - get-intrinsic: 1.2.1 - is-string: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + is-string: 1.1.1 + math-intrinsics: 1.1.0 array-union@2.1.0: {} - array.prototype.findlastindex@1.2.3: + array.prototype.findlast@1.2.5: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.1 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-shim-unscopables: 1.1.0 - array.prototype.flat@1.3.2: + array.prototype.findlastindex@1.2.6: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - es-shim-unscopables: 1.0.0 + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-shim-unscopables: 1.1.0 - array.prototype.flatmap@1.3.2: + array.prototype.flat@1.3.3: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - es-shim-unscopables: 1.0.0 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-shim-unscopables: 1.1.0 + + array.prototype.flatmap@1.3.3: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-shim-unscopables: 1.1.0 array.prototype.reduce@1.0.6: dependencies: @@ -7265,13 +7894,13 @@ snapshots: es-array-method-boxes-properly: 1.0.0 is-string: 1.0.7 - array.prototype.tosorted@1.1.2: + array.prototype.tosorted@1.1.4: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.1 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-shim-unscopables: 1.1.0 arraybuffer.prototype.slice@1.0.2: dependencies: @@ -7283,6 +7912,16 @@ snapshots: is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 + arraybuffer.prototype.slice@1.0.4: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 + arrify@1.0.1: {} arrify@2.0.1: {} @@ -7297,16 +7936,16 @@ snapshots: assertion-error@1.1.0: {} - asynciterator.prototype@1.0.0: - dependencies: - has-symbols: 1.0.3 - asynckit@0.4.0: {} at-least-node@1.0.0: {} available-typed-arrays@1.0.5: {} + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + aws-sign2@0.7.0: {} aws4@1.12.0: {} @@ -7367,10 +8006,18 @@ snapshots: balanced-match: 1.0.2 concat-map: 0.0.1 + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + braces@3.0.2: dependencies: fill-range: 7.0.1 + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + browserslist@4.21.10: dependencies: caniuse-lite: 1.0.30001533 @@ -7385,8 +8032,6 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - builtin-modules@3.3.0: {} - builtins@1.0.3: {} builtins@5.0.1: @@ -7424,11 +8069,28 @@ snapshots: cachedir@2.3.0: {} + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + call-bind@1.0.2: dependencies: function-bind: 1.1.1 get-intrinsic: 1.2.1 + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + callsites@3.1.0: {} camelcase-keys@6.2.2: @@ -7557,7 +8219,7 @@ snapshots: dependencies: delayed-stream: 1.0.0 - comment-parser@1.4.0: {} + comment-parser@1.4.1: {} commitizen@4.3.0(@swc/core@1.3.84): dependencies: @@ -7718,6 +8380,12 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + cz-conventional-changelog@3.3.0(@swc/core@1.3.84): dependencies: chalk: 2.4.2 @@ -7738,6 +8406,24 @@ snapshots: dependencies: assert-plus: 1.0.0 + data-view-buffer@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-offset@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + dateformat@3.0.3: {} debug@3.2.7: @@ -7748,6 +8434,10 @@ snapshots: dependencies: ms: 2.1.2 + debug@4.4.1: + dependencies: + ms: 2.1.3 + debuglog@1.0.1: {} decamelize-keys@1.1.1: @@ -7773,6 +8463,12 @@ snapshots: dependencies: clone: 1.0.4 + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.0.1 + define-lazy-prop@2.0.0: {} define-properties@1.2.0: @@ -7780,6 +8476,12 @@ snapshots: has-property-descriptors: 1.0.0 object-keys: 1.1.1 + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + del-cli@5.1.0: dependencies: del: 7.1.0 @@ -7825,10 +8527,6 @@ snapshots: dependencies: esutils: 2.0.3 - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dot-prop@5.3.0: dependencies: is-obj: 2.0.0 @@ -7839,6 +8537,12 @@ snapshots: dotenv@16.3.1: {} + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + duplexer@0.1.2: {} ecc-jsbn@0.1.2: @@ -7907,24 +8611,91 @@ snapshots: unbox-primitive: 1.0.2 which-typed-array: 1.1.11 + es-abstract@1.24.0: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-negative-zero: 2.0.3 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.3 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.19 + es-array-method-boxes-properly@1.0.0: {} - es-iterator-helpers@1.0.14: + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-iterator-helpers@1.2.1: dependencies: - asynciterator.prototype: 1.0.0 - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - es-set-tostringtag: 2.0.1 - function-bind: 1.1.1 - get-intrinsic: 1.2.1 - globalthis: 1.0.3 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 - has-symbols: 1.0.3 - internal-slot: 1.0.5 - iterator.prototype: 1.1.1 - safe-array-concat: 1.0.1 + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-set-tostringtag: 2.1.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + internal-slot: 1.1.0 + iterator.prototype: 1.1.5 + safe-array-concat: 1.1.3 + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 es-set-tostringtag@2.0.1: dependencies: @@ -7932,9 +8703,16 @@ snapshots: has: 1.0.3 has-tostringtag: 1.0.0 - es-shim-unscopables@1.0.0: + es-set-tostringtag@2.1.0: dependencies: - has: 1.0.3 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + es-shim-unscopables@1.1.0: + dependencies: + hasown: 2.0.2 es-to-primitive@1.2.1: dependencies: @@ -7942,6 +8720,12 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 + es-to-primitive@1.3.0: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + esbuild@0.19.5: optionalDependencies: '@esbuild/android-arm': 0.19.5 @@ -7978,107 +8762,112 @@ snapshots: eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 - is-core-module: 2.13.0 + is-core-module: 2.16.1 resolve: 1.22.4 transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.0(@typescript-eslint/parser@6.7.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@8.49.0): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.35.1(eslint@9.30.1)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@9.30.1): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 6.7.0(eslint@8.49.0)(typescript@5.2.2) - eslint: 8.49.0 + '@typescript-eslint/parser': 8.35.1(eslint@9.30.1)(typescript@5.2.2) + eslint: 9.30.1 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.7.0(eslint@8.49.0)(typescript@5.2.2))(eslint@8.49.0): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.35.1(eslint@9.30.1)(typescript@5.2.2))(eslint@9.30.1): dependencies: - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 + '@rtsao/scc': 1.1.0 + array-includes: 3.1.9 + array.prototype.findlastindex: 1.2.6 + array.prototype.flat: 1.3.3 + array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.49.0 + eslint: 9.30.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.7.0(eslint@8.49.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@8.49.0) - has: 1.0.3 - is-core-module: 2.13.0 + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.35.1(eslint@9.30.1)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@9.30.1) + hasown: 2.0.2 + is-core-module: 2.16.1 is-glob: 4.0.3 minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.1 - object.values: 1.1.7 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.1 semver: 6.3.1 - tsconfig-paths: 3.14.2 + string.prototype.trimend: 1.0.9 + tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 6.7.0(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/parser': 8.35.1(eslint@9.30.1)(typescript@5.2.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest-dom@5.1.0(eslint@8.49.0): + eslint-plugin-jest-dom@5.5.0(eslint@9.30.1): dependencies: '@babel/runtime': 7.22.15 - eslint: 8.49.0 + eslint: 9.30.1 requireindex: 1.2.0 - eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@6.7.0(@typescript-eslint/parser@6.7.0(eslint@8.49.0)(typescript@5.2.2))(eslint@8.49.0)(typescript@5.2.2))(eslint@8.49.0)(typescript@5.2.2): + eslint-plugin-jest@28.14.0(@typescript-eslint/eslint-plugin@8.35.1(@typescript-eslint/parser@8.35.1(eslint@9.30.1)(typescript@5.2.2))(eslint@9.30.1)(typescript@5.2.2))(eslint@9.30.1)(typescript@5.2.2): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.49.0)(typescript@5.2.2) - eslint: 8.49.0 + '@typescript-eslint/utils': 6.7.0(eslint@9.30.1)(typescript@5.2.2) + eslint: 9.30.1 optionalDependencies: - '@typescript-eslint/eslint-plugin': 6.7.0(@typescript-eslint/parser@6.7.0(eslint@8.49.0)(typescript@5.2.2))(eslint@8.49.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': 8.35.1(@typescript-eslint/parser@8.35.1(eslint@9.30.1)(typescript@5.2.2))(eslint@9.30.1)(typescript@5.2.2) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-jsdoc@46.6.0(eslint@8.49.0): + eslint-plugin-jsdoc@50.8.0(eslint@9.30.1): dependencies: - '@es-joy/jsdoccomment': 0.40.1 + '@es-joy/jsdoccomment': 0.50.2 are-docs-informative: 0.0.2 - comment-parser: 1.4.0 - debug: 4.3.4 + comment-parser: 1.4.1 + debug: 4.4.1 escape-string-regexp: 4.0.0 - eslint: 8.49.0 - esquery: 1.5.0 - is-builtin-module: 3.2.1 - semver: 7.5.4 - spdx-expression-parse: 3.0.1 + eslint: 9.30.1 + espree: 10.4.0 + esquery: 1.6.0 + parse-imports-exports: 0.2.4 + semver: 7.7.2 + spdx-expression-parse: 4.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-react-hooks@4.6.0(eslint@8.49.0): + eslint-plugin-react-hooks@4.6.2(eslint@9.30.1): dependencies: - eslint: 8.49.0 + eslint: 9.30.1 - eslint-plugin-react@7.33.2(eslint@8.49.0): + eslint-plugin-react@7.37.5(eslint@9.30.1): dependencies: - array-includes: 3.1.7 - array.prototype.flatmap: 1.3.2 - array.prototype.tosorted: 1.1.2 + array-includes: 3.1.9 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.3 + array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 - es-iterator-helpers: 1.0.14 - eslint: 8.49.0 + es-iterator-helpers: 1.2.1 + eslint: 9.30.1 estraverse: 5.3.0 + hasown: 2.0.2 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 - object.entries: 1.1.7 - object.fromentries: 2.0.7 - object.hasown: 1.1.3 - object.values: 1.1.7 + object.entries: 1.1.9 + object.fromentries: 2.0.8 + object.values: 1.2.1 prop-types: 15.8.1 - resolve: 2.0.0-next.4 + resolve: 2.0.0-next.5 semver: 6.3.1 - string.prototype.matchall: 4.0.9 + string.prototype.matchall: 4.0.12 + string.prototype.repeat: 1.0.0 - eslint-plugin-testing-library@6.0.1(eslint@8.49.0)(typescript@5.2.2): + eslint-plugin-testing-library@6.5.0(eslint@9.30.1)(typescript@5.2.2): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.49.0)(typescript@5.2.2) - eslint: 8.49.0 + '@typescript-eslint/utils': 5.62.0(eslint@9.30.1)(typescript@5.2.2) + eslint: 9.30.1 transitivePeerDependencies: - supports-color - typescript @@ -8088,62 +8877,62 @@ snapshots: esrecurse: 4.3.0 estraverse: 4.3.0 - eslint-scope@7.2.2: + eslint-scope@8.4.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint@8.49.0: + eslint-visitor-keys@4.2.1: {} + + eslint@9.30.1: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) - '@eslint-community/regexpp': 4.8.1 - '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.49.0 - '@humanwhocodes/config-array': 0.11.11 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.21.0 + '@eslint/config-helpers': 0.3.0 + '@eslint/core': 0.14.0 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.30.1 + '@eslint/plugin-kit': 0.3.3 + '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 + cross-spawn: 7.0.6 + debug: 4.4.1 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.21.0 - graphemer: 1.4.0 ignore: 5.2.4 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 transitivePeerDependencies: - supports-color - espree@9.6.1: + espree@10.4.0: dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.3 + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 - esquery@1.5.0: + esquery@1.6.0: dependencies: estraverse: 5.3.0 @@ -8207,6 +8996,14 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.5 + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} @@ -8224,14 +9021,18 @@ snapshots: escape-string-regexp: 5.0.0 is-unicode-supported: 1.3.0 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.1.0 + flat-cache: 4.0.1 fill-range@7.0.1: dependencies: to-regex-range: 5.0.1 + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + filter-obj@1.1.0: {} find-node-modules@2.1.3: @@ -8262,18 +9063,21 @@ snapshots: micromatch: 4.0.5 resolve-dir: 1.0.1 - flat-cache@3.1.0: + flat-cache@4.0.1: dependencies: - flatted: 3.2.7 - keyv: 4.5.3 - rimraf: 3.0.2 + flatted: 3.3.3 + keyv: 4.5.4 - flatted@3.2.7: {} + flatted@3.3.3: {} for-each@0.3.3: dependencies: is-callable: 1.2.7 + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + forever-agent@0.6.1: {} form-data@2.3.3: @@ -8310,6 +9114,8 @@ snapshots: function-bind@1.1.1: {} + function-bind@1.1.2: {} + function.prototype.name@1.1.6: dependencies: call-bind: 1.0.2 @@ -8317,6 +9123,15 @@ snapshots: es-abstract: 1.22.1 functions-have-names: 1.2.3 + function.prototype.name@1.1.8: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + functions-have-names: 1.2.3 + hasown: 2.0.2 + is-callable: 1.2.7 + functions-have-names@1.2.3: {} gauge@2.7.4: @@ -8341,6 +9156,19 @@ snapshots: has-proto: 1.0.1 has-symbols: 1.0.3 + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + get-pkg-repo@4.2.1: dependencies: '@hutson/parse-repository-url': 3.0.2 @@ -8350,6 +9178,11 @@ snapshots: get-port@5.1.1: {} + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + get-stream@6.0.1: {} get-stream@8.0.1: {} @@ -8359,6 +9192,12 @@ snapshots: call-bind: 1.0.2 get-intrinsic: 1.2.1 + get-symbol-description@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + getpass@0.1.7: dependencies: assert-plus: 1.0.0 @@ -8431,14 +9270,19 @@ snapshots: globals@11.12.0: {} - globals@13.21.0: - dependencies: - type-fest: 0.20.2 + globals@14.0.0: {} + + globals@16.3.0: {} globalthis@1.0.3: dependencies: define-properties: 1.2.0 + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + globby@11.1.0: dependencies: array-union: 2.1.0 @@ -8460,6 +9304,8 @@ snapshots: dependencies: get-intrinsic: 1.2.1 + gopd@1.2.0: {} + graceful-fs@4.2.11: {} graphemer@1.4.0: {} @@ -8492,20 +9338,38 @@ snapshots: dependencies: get-intrinsic: 1.2.1 + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + has-proto@1.0.1: {} + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 + has-symbols@1.0.3: {} + has-symbols@1.1.0: {} + has-tostringtag@1.0.0: dependencies: has-symbols: 1.0.3 + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.0.3 + has-unicode@2.0.1: {} has@1.0.3: dependencies: function-bind: 1.1.1 + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + homedir-polyfill@1.0.3: dependencies: parse-passwd: 1.0.0 @@ -8564,6 +9428,8 @@ snapshots: ignore@5.2.4: {} + ignore@7.0.5: {} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 @@ -8659,6 +9525,12 @@ snapshots: has: 1.0.3 side-channel: 1.0.4 + internal-slot@1.1.0: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.1.0 + ip@2.0.0: {} irregular-plurals@3.5.0: {} @@ -8669,24 +9541,35 @@ snapshots: get-intrinsic: 1.2.1 is-typed-array: 1.1.12 + is-array-buffer@3.0.5: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-arrayish@0.2.1: {} is-async-function@2.0.0: dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 + is-bigint@1.1.0: + dependencies: + has-bigints: 1.0.2 + is-boolean-object@1.1.2: dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 - is-builtin-module@3.2.1: + is-boolean-object@1.2.2: dependencies: - builtin-modules: 3.3.0 + call-bound: 1.0.4 + has-tostringtag: 1.0.2 is-callable@1.2.7: {} @@ -8698,17 +9581,32 @@ snapshots: dependencies: has: 1.0.3 + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-data-view@1.0.2: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 + is-date-object@1.0.5: dependencies: has-tostringtag: 1.0.0 + is-date-object@1.1.0: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + is-docker@2.2.1: {} is-extglob@2.1.1: {} - is-finalizationregistry@1.0.2: + is-finalizationregistry@1.1.1: dependencies: - call-bind: 1.0.2 + call-bound: 1.0.4 is-fullwidth-code-point@1.0.0: dependencies: @@ -8718,7 +9616,7 @@ snapshots: is-generator-function@1.0.10: dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-glob@4.0.3: dependencies: @@ -8728,22 +9626,27 @@ snapshots: is-lambda@1.0.1: {} - is-map@2.0.2: {} + is-map@2.0.3: {} is-negative-zero@2.0.2: {} + is-negative-zero@2.0.3: {} + is-number-object@1.0.7: dependencies: has-tostringtag: 1.0.0 + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + is-number@7.0.0: {} is-obj@2.0.0: {} is-path-cwd@3.0.0: {} - is-path-inside@3.0.3: {} - is-path-inside@4.0.0: {} is-plain-obj@1.1.0: {} @@ -8763,12 +9666,23 @@ snapshots: call-bind: 1.0.2 has-tostringtag: 1.0.0 - is-set@2.0.2: {} + is-regex@1.2.1: + dependencies: + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + is-set@2.0.3: {} is-shared-array-buffer@1.0.2: dependencies: call-bind: 1.0.2 + is-shared-array-buffer@1.0.4: + dependencies: + call-bound: 1.0.4 + is-ssh@1.4.0: dependencies: protocols: 2.0.1 @@ -8781,10 +9695,21 @@ snapshots: dependencies: has-tostringtag: 1.0.0 + is-string@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + is-symbol@1.0.4: dependencies: has-symbols: 1.0.3 + is-symbol@1.1.1: + dependencies: + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 + is-text-path@1.0.1: dependencies: text-extensions: 1.9.0 @@ -8797,6 +9722,10 @@ snapshots: dependencies: which-typed-array: 1.1.11 + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.19 + is-typedarray@1.0.0: {} is-unicode-supported@0.1.0: {} @@ -8805,16 +9734,20 @@ snapshots: is-utf8@0.2.1: {} - is-weakmap@2.0.1: {} + is-weakmap@2.0.2: {} is-weakref@1.0.2: dependencies: call-bind: 1.0.2 - is-weakset@2.0.2: + is-weakref@1.1.1: dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bound: 1.0.4 + + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 is-windows@1.0.2: {} @@ -8832,12 +9765,14 @@ snapshots: isstream@0.1.2: {} - iterator.prototype@1.1.1: + iterator.prototype@1.1.5: dependencies: - define-properties: 1.2.0 - get-intrinsic: 1.2.1 - has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.4 + define-data-property: 1.1.4 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + has-symbols: 1.1.0 + set-function-name: 2.0.2 js-tokens@4.0.0: {} @@ -8847,7 +9782,7 @@ snapshots: jsbn@0.1.1: {} - jsdoc-type-pratt-parser@4.0.0: {} + jsdoc-type-pratt-parser@4.1.0: {} jsesc@0.5.0: {} @@ -8892,12 +9827,12 @@ snapshots: jsx-ast-utils@3.3.5: dependencies: - array-includes: 3.1.7 - array.prototype.flat: 1.3.2 - object.assign: 4.1.4 - object.values: 1.1.7 + array-includes: 3.1.9 + array.prototype.flat: 1.3.3 + object.assign: 4.1.7 + object.values: 1.2.1 - keyv@4.5.3: + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -8948,7 +9883,7 @@ snapshots: normalize-package-data: 3.0.3 npm-package-arg: 8.1.5 npm-registry-fetch: 11.0.0 - semver: 7.5.4 + semver: 7.7.2 ssri: 8.0.1 transitivePeerDependencies: - bluebird @@ -9118,6 +10053,8 @@ snapshots: map-obj@4.3.0: {} + math-intrinsics@1.1.0: {} + meow@10.1.5: dependencies: '@types/minimist': 1.2.2 @@ -9175,6 +10112,11 @@ snapshots: braces: 3.0.2 picomatch: 2.3.1 + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + mime-db@1.52.0: {} mime-types@2.1.35: @@ -9191,6 +10133,10 @@ snapshots: dependencies: brace-expansion: 1.1.11 + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + minimist-options@4.1.0: dependencies: arrify: 1.0.1 @@ -9332,7 +10278,7 @@ snapshots: npmlog: 4.1.2 request: 2.88.2 rimraf: 3.0.2 - semver: 7.5.4 + semver: 7.7.2 tar: 6.2.0 which: 2.0.2 @@ -9369,7 +10315,7 @@ snapshots: npm-install-checks@4.0.0: dependencies: - semver: 7.5.4 + semver: 7.7.2 npm-lifecycle@3.1.5: dependencies: @@ -9480,6 +10426,8 @@ snapshots: object-inspect@1.12.3: {} + object-inspect@1.13.4: {} + object-keys@1.1.1: {} object.assign@4.1.4: @@ -9489,17 +10437,28 @@ snapshots: has-symbols: 1.0.3 object-keys: 1.1.1 - object.entries@1.1.7: + object.assign@4.1.7: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 + object-keys: 1.1.1 - object.fromentries@2.0.7: + object.entries@1.1.9: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + object.fromentries@2.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-object-atoms: 1.1.1 object.getownpropertydescriptors@2.1.7: dependencies: @@ -9509,23 +10468,18 @@ snapshots: es-abstract: 1.22.1 safe-array-concat: 1.0.1 - object.groupby@1.0.1: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - get-intrinsic: 1.2.1 - - object.hasown@1.1.3: + object.groupby@1.0.3: dependencies: - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 - object.values@1.1.7: + object.values@1.2.1: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 once@1.4.0: dependencies: @@ -9575,6 +10529,12 @@ snapshots: os-homedir: 1.0.2 os-tmpdir: 1.0.2 + own-keys@1.0.1: + dependencies: + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + p-finally@1.0.0: {} p-limit@1.3.0: @@ -9665,6 +10625,10 @@ snapshots: dependencies: callsites: 3.1.0 + parse-imports-exports@0.2.4: + dependencies: + parse-statements: 1.0.11 + parse-json@4.0.0: dependencies: error-ex: 1.3.2 @@ -9686,6 +10650,8 @@ snapshots: qs: 6.11.2 query-string: 6.14.1 + parse-statements@1.0.11: {} + parse-url@6.0.5: dependencies: is-ssh: 1.4.0 @@ -9743,6 +10709,8 @@ snapshots: dependencies: irregular-plurals: 3.5.0 + possible-typed-array-names@1.1.0: {} + postcss@8.4.31: dependencies: nanoid: 3.3.6 @@ -9924,14 +10892,16 @@ snapshots: indent-string: 5.0.0 strip-indent: 4.0.0 - reflect.getprototypeof@1.0.4: + reflect.getprototypeof@1.0.10: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - get-intrinsic: 1.2.1 - globalthis: 1.0.3 - which-builtin-type: 1.1.3 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 regenerate-unicode-properties@10.1.0: dependencies: @@ -9951,6 +10921,15 @@ snapshots: define-properties: 1.2.0 functions-have-names: 1.2.3 + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + regexpu-core@5.3.2: dependencies: '@babel/regjsgen': 0.8.0 @@ -10016,9 +10995,9 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - resolve@2.0.0-next.4: + resolve@2.0.0-next.5: dependencies: - is-core-module: 2.13.0 + is-core-module: 2.16.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -10078,16 +11057,35 @@ snapshots: has-symbols: 1.0.3 isarray: 2.0.5 + safe-array-concat@1.1.3: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + isarray: 2.0.5 + safe-buffer@5.1.2: {} safe-buffer@5.2.1: {} + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + safe-regex-test@1.0.0: dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 is-regex: 1.1.4 + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 + safer-buffer@2.1.2: {} semver@5.7.2: {} @@ -10098,8 +11096,32 @@ snapshots: dependencies: lru-cache: 6.0.0 + semver@7.7.2: {} + set-blocking@2.0.0: {} + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + shallow-clone@3.0.1: dependencies: kind-of: 6.0.3 @@ -10110,12 +11132,40 @@ snapshots: shebang-regex@3.0.0: {} + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + side-channel@1.0.4: dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 object-inspect: 1.12.3 + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + siginfo@2.0.0: {} signal-exit@3.0.7: {} @@ -10190,6 +11240,11 @@ snapshots: spdx-exceptions: 2.3.0 spdx-license-ids: 3.0.13 + spdx-expression-parse@4.0.0: + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.13 + spdx-license-ids@3.0.13: {} split-on-first@1.1.0: {} @@ -10224,6 +11279,11 @@ snapshots: std-env@3.6.0: {} + stop-iteration-iterator@1.1.0: + dependencies: + es-errors: 1.3.0 + internal-slot: 1.1.0 + strict-uri-encode@2.0.0: {} string-width@1.0.2: @@ -10238,16 +11298,36 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string.prototype.matchall@4.0.9: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.1 - get-intrinsic: 1.2.1 - has-symbols: 1.0.3 - internal-slot: 1.0.5 - regexp.prototype.flags: 1.5.0 - side-channel: 1.0.4 + string.prototype.matchall@4.0.12: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-symbols: 1.1.0 + internal-slot: 1.1.0 + regexp.prototype.flags: 1.5.4 + set-function-name: 2.0.2 + side-channel: 1.1.0 + + string.prototype.repeat@1.0.0: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.24.0 + + string.prototype.trim@1.2.10: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.24.0 + es-object-atoms: 1.1.1 + has-property-descriptors: 1.0.2 string.prototype.trim@1.2.8: dependencies: @@ -10261,12 +11341,25 @@ snapshots: define-properties: 1.2.0 es-abstract: 1.22.1 + string.prototype.trimend@1.0.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + string.prototype.trimstart@1.0.7: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.22.1 + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 @@ -10356,8 +11449,6 @@ snapshots: text-extensions@2.4.0: {} - text-table@0.2.0: {} - through2@2.0.5: dependencies: readable-stream: 2.3.8 @@ -10404,6 +11495,10 @@ snapshots: dependencies: typescript: 5.2.2 + ts-api-utils@2.1.0(typescript@5.2.2): + dependencies: + typescript: 5.2.2 + ts-node@10.9.1(@swc/core@1.3.84)(@types/node@18.17.15)(typescript@5.2.2): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -10424,7 +11519,7 @@ snapshots: optionalDependencies: '@swc/core': 1.3.84 - tsconfig-paths@3.14.2: + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -10454,8 +11549,6 @@ snapshots: type-fest@0.18.1: {} - type-fest@0.20.2: {} - type-fest@0.21.3: {} type-fest@0.4.1: {} @@ -10476,6 +11569,12 @@ snapshots: get-intrinsic: 1.2.1 is-typed-array: 1.1.12 + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + typed-array-byte-length@1.0.0: dependencies: call-bind: 1.0.2 @@ -10483,6 +11582,14 @@ snapshots: has-proto: 1.0.1 is-typed-array: 1.1.12 + typed-array-byte-length@1.0.3: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.3 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + typed-array-byte-offset@1.0.0: dependencies: available-typed-arrays: 1.0.5 @@ -10491,18 +11598,47 @@ snapshots: has-proto: 1.0.1 is-typed-array: 1.1.12 + typed-array-byte-offset@1.0.4: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + for-each: 0.3.3 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + typed-array-length@1.0.4: dependencies: call-bind: 1.0.2 for-each: 0.3.3 is-typed-array: 1.1.12 + typed-array-length@1.0.7: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.3 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 + typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 typedarray@0.0.6: {} + typescript-eslint@8.35.1(eslint@9.30.1)(typescript@5.2.2): + dependencies: + '@typescript-eslint/eslint-plugin': 8.35.1(@typescript-eslint/parser@8.35.1(eslint@9.30.1)(typescript@5.2.2))(eslint@9.30.1)(typescript@5.2.2) + '@typescript-eslint/parser': 8.35.1(eslint@9.30.1)(typescript@5.2.2) + '@typescript-eslint/utils': 8.35.1(eslint@9.30.1)(typescript@5.2.2) + eslint: 9.30.1 + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + typescript@5.2.2: {} ufo@1.3.0: {} @@ -10521,6 +11657,13 @@ snapshots: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 + unbox-primitive@1.1.0: + dependencies: + call-bound: 1.0.4 + has-bigints: 1.0.2 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + undici-types@5.26.5: {} unicode-canonical-property-names-ecmascript@2.0.0: {} @@ -10674,27 +11817,36 @@ snapshots: is-string: 1.0.7 is-symbol: 1.0.4 - which-builtin-type@1.1.3: + which-boxed-primitive@1.1.1: dependencies: - function.prototype.name: 1.1.6 - has-tostringtag: 1.0.0 + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + + which-builtin-type@1.2.1: + dependencies: + call-bound: 1.0.4 + function.prototype.name: 1.1.8 + has-tostringtag: 1.0.2 is-async-function: 2.0.0 - is-date-object: 1.0.5 - is-finalizationregistry: 1.0.2 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 is-generator-function: 1.0.10 - is-regex: 1.1.4 - is-weakref: 1.0.2 + is-regex: 1.2.1 + is-weakref: 1.1.1 isarray: 2.0.5 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.11 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.19 - which-collection@1.0.1: + which-collection@1.0.2: dependencies: - is-map: 2.0.2 - is-set: 2.0.2 - is-weakmap: 2.0.1 - is-weakset: 2.0.2 + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 which-typed-array@1.1.11: dependencies: @@ -10704,6 +11856,16 @@ snapshots: gopd: 1.0.1 has-tostringtag: 1.0.0 + which-typed-array@1.1.19: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + which@1.3.1: dependencies: isexe: 2.0.0