diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 79ed56c..0000000 --- a/.eslintignore +++ /dev/null @@ -1,7 +0,0 @@ -# Dependencies -.yarn/ -node_modules/ - -# Auto-generated -build/ -dist/ diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 9451318..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,229 +0,0 @@ -{ - "root": true, - "env": { - "es6": true, - "node": true - }, - "settings": { - "import/resolver": { - "typescript": { - "alwaysTryTypes": true, - "project": "./tsconfig.json" - } - } - }, - "parserOptions": { - "ecmaVersion": "latest", - "project": "./tsconfig.json", - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint", - "eslint-plugin-import", - "eslint-plugin-jsdoc", - "etc", - "sonarjs" - ], - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "plugin:etc/recommended", - "plugin:import/typescript", - "plugin:sonarjs/recommended" - ], - "overrides": [{ - "files": "*.ts?(x)", - "parser": "@typescript-eslint/parser" - }, { - "files": "*.test.ts?(x)", - "rules": { - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/restrict-template-expressions": "off", - "etc/throw-error": "off", - "import/no-namespace": "off" - } - }, { - "files": "*.typetest.ts?(x)", - "rules": { - "@typescript-eslint/ban-ts-comment": ["error", { "ts-expect-error": false }], - "etc/throw-error": "off", - "import/no-namespace": "off" - } - }, { - "files": "*.js?(x)", - "rules": { - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-member-accessibility": "off", - "@typescript-eslint/explicit-module-boundary-types": "off", - "@typescript-eslint/no-unsafe-argument": "off", - "@typescript-eslint/no-unsafe-assignment": "off", - "@typescript-eslint/no-unsafe-member-access": "off", - "@typescript-eslint/no-unsafe-call": "off", - "@typescript-eslint/no-unsafe-return": "off", - "@typescript-eslint/no-var-requires": "off", - "@typescript-eslint/restrict-plus-operands": "off", - "@typescript-eslint/restrict-template-expressions": "off" - } - }], - "rules": { - "@typescript-eslint/ban-types": "error", - "@typescript-eslint/comma-dangle": ["error", "always-multiline"], - "@typescript-eslint/consistent-type-assertions": "error", - "@typescript-eslint/dot-notation": "error", - "@typescript-eslint/explicit-function-return-type": ["error", { "allowExpressions": true }], - "@typescript-eslint/explicit-member-accessibility": "error", - "@typescript-eslint/explicit-module-boundary-types": "error", - "@typescript-eslint/member-ordering": ["error", { - "classes": [ - "static-field", - "field", - "constructor", - "static-method", - "abstract-method", - "protected-method", - "public-method", - "private-method" - ], - "interfaces": { "order": "alphabetically" }, - "typeLiterals": { "order": "alphabetically" } - }], - "@typescript-eslint/member-delimiter-style": ["error", { - "multiline": { - "delimiter": "semi", - "requireLast": true - }, - "singleline": { - "delimiter": "semi", - "requireLast": true - } - }], - "@typescript-eslint/no-empty-function": "error", - "@typescript-eslint/no-empty-interface": "error", - "@typescript-eslint/no-explicit-any": ["error", { "ignoreRestArgs": true }], - "@typescript-eslint/no-floating-promises": "off", - "@typescript-eslint/no-inferrable-types": ["error", { - "ignoreParameters": true, - "ignoreProperties": true - }], - "@typescript-eslint/no-misused-new": "error", - "@typescript-eslint/no-namespace": "off", - "@typescript-eslint/no-non-null-assertion": "error", - "@typescript-eslint/no-redundant-type-constituents": "error", - "@typescript-eslint/no-shadow": ["error", { "hoist": "all" }], - "@typescript-eslint/no-unused-expressions": ["error", { "allowTernary": true }], - "@typescript-eslint/no-unused-vars": ["error", { - "destructuredArrayIgnorePattern": "^_", - "ignoreRestSiblings": true - }], - "@typescript-eslint/no-use-before-define": ["error", { - "functions": false, - "classes": false - }], - "@typescript-eslint/no-var-requires": "error", - "@typescript-eslint/parameter-properties": "error", - "@typescript-eslint/prefer-for-of": "error", - "@typescript-eslint/prefer-function-type": "error", - "@typescript-eslint/prefer-namespace-keyword": "error", - "@typescript-eslint/quotes": ["error", "double", { - "avoidEscape": true, - "allowTemplateLiterals": false - }], - "@typescript-eslint/restrict-template-expressions": ["error", { - "allowNumber": true, - "allowBoolean": true, - "allowNullish": true - }], - "@typescript-eslint/semi": "error", - "@typescript-eslint/space-infix-ops": "error", - "@typescript-eslint/triple-slash-reference": "error", - "@typescript-eslint/type-annotation-spacing": "error", - "@typescript-eslint/unbound-method": ["error", { "ignoreStatic": true }], - "@typescript-eslint/unified-signatures": "error", - "array-bracket-spacing": "error", - "arrow-parens": ["error", "as-needed"], - "arrow-spacing": "error", - "brace-style": "error", - "camelcase": "error", - "comma-spacing": "error", - "computed-property-spacing": "error", - "constructor-super": "error", - "curly": "error", - "etc/no-commented-out-code": "error", - "etc/throw-error": "error", - "eol-last": "error", - "eqeqeq": "error", - "func-style": ["error", "declaration", { "allowArrowFunctions": true }], - "import/newline-after-import": "error", - "import/no-absolute-path": "error", - "import/no-cycle": ["error", { - "allowUnsafeDynamicCyclicDependency": true, - "ignoreExternal": true - }], - "import/no-duplicates": "error", - "import/no-import-module-exports": "error", - "import/no-namespace": "error", - "import/no-relative-packages": "error", - "import/no-unresolved": "error", - "import/no-useless-path-segments": "error", - "import/order": ["error", { - "alphabetize": { - "caseInsensitive": false, - "order": "asc" - }, - "newlines-between": "always", - "groups": ["external", "parent", "sibling"] - }], - "jsdoc/check-alignment": "error", - "jsdoc/check-indentation": ["error", { "excludeTags": ["example", "param", "returns"] }], - "jsdoc/tag-lines": ["error", "any", { "startLines": 1 }], - "keyword-spacing": "error", - "linebreak-style": "error", - "max-classes-per-file": ["error", 1], - "max-len": ["error", { - "code": 120, - "comments": 80, - "ignoreRegExpLiterals": true, - "ignorePattern": "^import (\\{ )?\\w+( \\})? from \".+\";$", - "ignoreUrls": true, - "tabWidth": 2 - }], - "new-parens": "error", - "no-caller": "error", - "no-cond-assign": "error", - "no-console": "error", - "no-duplicate-imports": "error", - "no-empty-function": "error", - "no-eval": "error", - "no-extra-boolean-cast": ["error", { "enforceForLogicalOperands": true }], - "no-invalid-this": "error", - "no-labels": "error", - "no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 0, "maxBOF": 0 }], - "no-multi-spaces": "error", - "no-new-wrappers": "error", - "no-param-reassign": "error", - "no-tabs": "error", - "no-throw-literal": "error", - "no-trailing-spaces": "error", - "no-underscore-dangle": "error", - "no-use-before-define": "off", - "no-useless-computed-key": ["error", { "enforceForClassMembers": true }], - "no-var": "error", - "object-curly-spacing": ["error", "always"], - "object-shorthand": "error", - "one-var": ["error", "never"], - "prefer-const": "error", - "quote-props": ["error", "as-needed"], - "radix": "error", - "rest-spread-spacing": "error", - "semi-spacing": "error", - "sonarjs/cognitive-complexity": "off", - "sonarjs/no-duplicate-string": "off", - "sonarjs/no-inverted-boolean-check": "error", - "sort-keys": "error", - "space-before-blocks": "error", - "space-in-parens": "error", - "spaced-comment": "error", - "switch-colon-spacing": "error" - } -} diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..2794542 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,290 @@ +// @ts-check +import { fixupPluginRules } from "@eslint/compat"; +import { FlatCompat } from "@eslint/eslintrc"; +import eslintJs from "@eslint/js"; +import stylistic from "@stylistic/eslint-plugin"; +import etc from "eslint-plugin-etc"; +import jsdoc from "eslint-plugin-jsdoc"; +import reactJsxRuntime from "eslint-plugin-react/configs/jsx-runtime.js"; +import reactRecommended from "eslint-plugin-react/configs/recommended.js"; +import sonarjs from "eslint-plugin-sonarjs"; +import globals from "globals"; +import eslintTs from "typescript-eslint"; + +import path from "path"; +import { fileURLToPath } from "url"; + +const project = "./tsconfig.json"; +const filename = fileURLToPath(import.meta.url); +const dirname = path.dirname(filename); +const compat = new FlatCompat({ + baseDirectory: dirname, + recommendedConfig: eslintJs.configs.recommended, +}); + +/** + * @param {string} name the pugin name + * @param {string} alias the plugin alias + * @returns {import("eslint").ESLint.Plugin} + */ +function legacyPlugin(name, alias = name) { + const plugin = compat.plugins(name)[0]?.plugins?.[alias]; + + if (!plugin) { + throw new Error(`Unable to resolve plugin ${name} and/or alias ${alias}`); + } + + return fixupPluginRules(plugin); +} + +export default eslintTs.config( + eslintJs.configs.recommended, + ...eslintTs.configs.recommendedTypeChecked, + ...compat.extends("plugin:import/typescript"), + reactRecommended, + reactJsxRuntime, + sonarjs.configs.recommended, + stylistic.configs.customize({ + braceStyle: "1tbs", + flat: true, + quotes: "double", + semi: true, + }), + { + ignores: [ + ".yarn/**", + "build/**", + "dist/**", + "node_modules/**", + ], + }, + { + languageOptions: { + globals: { ...globals.browser, ...globals.node }, + parserOptions: { + ecmaFeatures: { jsx: true }, + ecmaVersion: 2024, + jsxPragma: null, + project, + tsconfigRootDir: import.meta.dirname, + }, + sourceType: "module", + }, + linterOptions: { + reportUnusedDisableDirectives: "error", + }, + plugins: { + deprecation: legacyPlugin("eslint-plugin-deprecation", "deprecation"), + etc: fixupPluginRules(etc), + "extra-rules": legacyPlugin("eslint-plugin-extra-rules", "extra-rules"), + import: legacyPlugin("eslint-plugin-import", "import"), + jsdoc, + }, + settings: { + "import/resolver": { + typescript: { + alwaysTryTypes: true, + project, + }, + }, + react: { + version: "detect", + }, + }, + }, + { + rules: { + "@stylistic/arrow-parens": ["error", "as-needed"], + "@stylistic/indent": "off", + "@stylistic/indent-binary-ops": "off", + "@stylistic/jsx-curly-brace-presence": ["error", { children: "always" }], + "@stylistic/jsx-curly-newline": "off", + "@stylistic/jsx-pascal-case": ["error", { allowNamespace: true }], + "@stylistic/jsx-props-no-multi-spaces": "error", + "@stylistic/jsx-self-closing-comp": "error", + "@stylistic/jsx-wrap-multilines": ["error", { prop: "ignore" }], + "@stylistic/linebreak-style": "error", + "@stylistic/max-len": ["error", { + code: 120, + comments: 80, + ignorePattern: "^import (\\{ )?\\w+( \\})? from \".+\";$", + ignoreRegExpLiterals: true, + ignoreUrls: true, + tabWidth: 2, + }], + "@stylistic/member-delimiter-style": ["error", { singleline: { requireLast: true } }], + "@stylistic/no-extra-semi": "error", + "@stylistic/no-mixed-spaces-and-tabs": "error", + "@stylistic/no-multiple-empty-lines": ["error", { max: 1, maxBOF: 0, maxEOF: 0 }], + "@stylistic/object-curly-spacing": ["error", "always"], + "@stylistic/padded-blocks": ["error", "never", { allowSingleLineBlocks: false }], + "@stylistic/quote-props": ["error", "as-needed"], + "@stylistic/quotes": ["error", "double", { + allowTemplateLiterals: false, + avoidEscape: true, + }], + "@stylistic/space-before-function-paren": ["error", { anonymous: "never", named: "never" }], + "@stylistic/switch-colon-spacing": "error", + "@typescript-eslint/ban-types": "error", + "@typescript-eslint/consistent-type-assertions": "error", + "@typescript-eslint/consistent-type-exports": "error", + "@typescript-eslint/consistent-type-imports": ["error", { fixStyle: "inline-type-imports" }], + "@typescript-eslint/dot-notation": "error", + "@typescript-eslint/explicit-function-return-type": ["error", { allowExpressions: true }], + "@typescript-eslint/explicit-member-accessibility": "error", + "@typescript-eslint/explicit-module-boundary-types": "error", + "@typescript-eslint/member-ordering": ["error", { + classes: [ + "static-field", + "field", + "constructor", + "static-method", + "abstract-method", + "protected-method", + "public-method", + "private-method", + ], + interfaces: { order: "alphabetically" }, + typeLiterals: { order: "alphabetically" }, + }], + "@typescript-eslint/no-empty-function": "error", + "@typescript-eslint/no-empty-interface": "error", + "@typescript-eslint/no-explicit-any": ["error", { ignoreRestArgs: true }], + "@typescript-eslint/no-floating-promises": "off", + "@typescript-eslint/no-import-type-side-effects": "error", + "@typescript-eslint/no-inferrable-types": ["error", { + ignoreParameters: true, + ignoreProperties: true, + }], + "@typescript-eslint/no-misused-new": "error", + "@typescript-eslint/no-namespace": "off", + "@typescript-eslint/no-non-null-assertion": "error", + "@typescript-eslint/no-redundant-type-constituents": "error", + "@typescript-eslint/no-shadow": ["error", { hoist: "all" }], + "@typescript-eslint/no-unused-expressions": ["error", { allowTernary: true }], + "@typescript-eslint/no-unused-vars": ["error", { + destructuredArrayIgnorePattern: "^_", + ignoreRestSiblings: true, + }], + "@typescript-eslint/no-use-before-define": ["error", { + classes: false, + functions: false, + }], + "@typescript-eslint/no-var-requires": "error", + "@typescript-eslint/only-throw-error": "error", + "@typescript-eslint/parameter-properties": "error", + "@typescript-eslint/prefer-for-of": "error", + "@typescript-eslint/prefer-function-type": "error", + "@typescript-eslint/prefer-namespace-keyword": "error", + "@typescript-eslint/restrict-template-expressions": ["error", { + allowBoolean: true, + allowNullish: true, + allowNumber: true, + }], + "@typescript-eslint/triple-slash-reference": "error", + "@typescript-eslint/unbound-method": ["error", { ignoreStatic: true }], + "@typescript-eslint/unified-signatures": "error", + camelcase: "error", + "constructor-super": "error", + curly: "error", + "deprecation/deprecation": "error", + eqeqeq: "error", + "etc/no-assign-mutated-array": "error", + "etc/no-implicit-any-catch": "error", + "etc/no-internal": "error", + "etc/throw-error": "error", + "extra-rules/no-commented-out-code": "error", + "func-style": ["error", "declaration", { allowArrowFunctions: true }], + "import/newline-after-import": "error", + "import/no-absolute-path": "error", + "import/no-cycle": ["error", { + allowUnsafeDynamicCyclicDependency: true, + ignoreExternal: true, + maxDepth: 1, + }], + "import/no-duplicates": ["error", { "prefer-inline": true }], + "import/no-import-module-exports": "error", + "import/no-namespace": "error", + "import/no-relative-packages": "error", + "import/no-unresolved": "error", + "import/no-useless-path-segments": "error", + "import/order": ["error", { + alphabetize: { + caseInsensitive: false, + order: "asc", + orderImportKind: "asc", + }, + groups: ["external", "parent", "sibling", "type"], + "newlines-between": "always", + }], + "jsdoc/check-alignment": "error", + "jsdoc/check-indentation": ["error", { excludeTags: ["example", "param", "returns"] }], + "jsdoc/tag-lines": ["error", "any", { startLines: 1 }], + "max-classes-per-file": ["error", 1], + "no-caller": "error", + "no-cond-assign": "error", + "no-console": "error", + "no-duplicate-imports": "error", + "no-empty-function": "error", + "no-eval": "error", + "no-extra-boolean-cast": ["error", { enforceForLogicalOperands: true }], + "no-inner-declarations": ["error", "both"], + "no-invalid-this": "error", + "no-labels": "error", + "no-new-wrappers": "error", + "no-param-reassign": "error", + "no-throw-literal": "off", + "no-underscore-dangle": "error", + "no-use-before-define": "off", + "no-useless-computed-key": ["error", { enforceForClassMembers: true }], + "no-var": "error", + "object-shorthand": "error", + "one-var": ["error", "never"], + "prefer-const": "error", + radix: "error", + "react/display-name": "off", + "react/hook-use-state": "error", + "react/jsx-boolean-value": ["error", "always"], + "react/jsx-no-bind": "error", + "react/jsx-no-literals": "error", + "react/prop-types": "off", + "sonarjs/cognitive-complexity": "off", + "sonarjs/no-duplicate-string": "off", + "sonarjs/no-inverted-boolean-check": "error", + "sort-imports": ["error", { ignoreDeclarationSort: true }], + "sort-keys": "error", + }, + }, + { + files: ["**/*.?(c|m)js"], + languageOptions: { + parserOptions: { + programs: null, + project: false, + }, + }, + rules: { + ...eslintTs.configs.disableTypeChecked.rules, + "@typescript-eslint/explicit-function-return-type": "off", + "deprecation/deprecation": "off", + "etc/no-assign-mutated-array": "off", + "etc/no-implicit-any-catch": "off", + "etc/no-internal": "off", + "etc/throw-error": "off", + }, + }, + { + files: ["**/*.cjs"], + rules: { + "@typescript-eslint/no-var-requires": "off", + }, + }, + { + files: ["**/*.test.ts?(x)"], + rules: { + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/restrict-template-expressions": "off", + "etc/throw-error": "off", + }, + }, +); diff --git a/package.json b/package.json index f1b8210..8668b7b 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "build": "tsc -p tsconfig.prod.json", "check": "yarn compile && yarn lint && yarn test", "compile": "tsc", - "lint": "eslint . --report-unused-disable-directives", + "lint": "eslint .", "release": "semantic-release", "test": "NODE_ENV=test mocha" }, @@ -41,24 +41,31 @@ }, "devDependencies": { "@assertive-ts/core": "^2.1.0", + "@eslint/compat": "^1.1.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "^9.5.0", "@react-native/babel-preset": "^0.74.81", + "@stylistic/eslint-plugin": "^2.2.2", "@testing-library/react-native": "^12.4.5", "@types/babel__core": "^7.20.5", "@types/babel__register": "^7.17.3", - "@types/eslint": "^8.56.10", + "@types/eslint__eslintrc": "^2.1.1", + "@types/eslint__js": "^8.42.3", "@types/mocha": "^10.0.6", "@types/node": "^20.12.7", "@types/react": "^18.3.1", "@types/react-test-renderer": "^18.3.0", "@types/sinon": "^17.0.3", - "@typescript-eslint/eslint-plugin": "^7.7.1", - "@typescript-eslint/parser": "^7.7.1", - "eslint": "^8.57.0", + "eslint": "^9.5.0", "eslint-import-resolver-typescript": "^3.6.1", + "eslint-plugin-deprecation": "^3.0.0", "eslint-plugin-etc": "^2.0.3", + "eslint-plugin-extra-rules": "^0.0.0-development", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jsdoc": "^48.2.3", - "eslint-plugin-sonarjs": "^0.25.1", + "eslint-plugin-jsdoc": "^48.4.0", + "eslint-plugin-react": "^7.34.3", + "eslint-plugin-sonarjs": "^1.0.3", + "globals": "^15.6.0", "mocha": "^10.4.0", "react": "18.3.1", "react-native": "^0.74.0", @@ -69,7 +76,8 @@ "sinon": "^17.0.1", "ts-node": "^10.9.2", "tslib": "^2.6.2", - "typescript": "^5.4.5" + "typescript": "^5.4.5", + "typescript-eslint": "^7.14.1" }, "peerDependencies": { "@react-native/babel-preset": ">=0.73.18", diff --git a/src/helpers/mockComponent.ts b/src/helpers/mockComponent.ts index 23706eb..cf2a15f 100644 --- a/src/helpers/mockComponent.ts +++ b/src/helpers/mockComponent.ts @@ -1,15 +1,15 @@ import { get } from "dot-prop-immutable"; import { Component, - ComponentClass, - PropsWithChildren, - ReactNode, + type ComponentClass, + type PropsWithChildren, + type ReactNode, createElement, } from "react"; -import type { NativeMethods } from "react-native"; import type { ScrollViewMethods } from "../lib/Components/ScrollView"; import type { TextInputMethods } from "../lib/Components/TextInput"; +import type { NativeMethods } from "react-native"; export type AllNativeMethods = NativeMethods | ScrollViewMethods | TextInputMethods; @@ -28,7 +28,6 @@ export function mockComponent>> const nameWithoutPrefix = name.replace(/^(RCT|RK)/, ""); class Mock extends SuperClass { - public static displayName = "Component"; public render(): ReactNode { diff --git a/src/helpers/mockModal.tsx b/src/helpers/mockModal.tsx index d161400..00247fc 100644 --- a/src/helpers/mockModal.tsx +++ b/src/helpers/mockModal.tsx @@ -1,11 +1,11 @@ import { get } from "dot-prop-immutable"; -import { Component, ComponentClass, PropsWithChildren, ReactNode } from "react"; + +import type { Component, ComponentClass, PropsWithChildren, ReactNode } from "react"; export function mockModal>(Base: C): C { const BaseComponent = Base as ComponentClass>; class Mock extends BaseComponent { - public render(): ReactNode { if (get(this.props, "visible") === false) { return null; diff --git a/src/helpers/mockNativeComponent.ts b/src/helpers/mockNativeComponent.ts index b0be6ff..26b2ca5 100644 --- a/src/helpers/mockNativeComponent.ts +++ b/src/helpers/mockNativeComponent.ts @@ -1,10 +1,9 @@ -import { Component, ComponentClass, PropsWithChildren, ReactNode, createElement } from "react"; +import { Component, type ComponentClass, type PropsWithChildren, type ReactNode, createElement } from "react"; const native = { tag: 1 }; export function mockNativeComponent(viewName: string): ComponentClass { return class extends Component> { - public static displayName = viewName === "RCTView" ? "View" : viewName; protected _nativeTag = native.tag++; diff --git a/src/helpers/nativeMethodsMock.ts b/src/helpers/nativeMethodsMock.ts index 6986381..815903c 100644 --- a/src/helpers/nativeMethodsMock.ts +++ b/src/helpers/nativeMethodsMock.ts @@ -1,7 +1,7 @@ -import { NativeMethods } from "react-native"; - import { noop } from "./commons"; +import type { NativeMethods } from "react-native"; + export const nativeMethodsMock: NativeMethods = { blur: noop, focus: noop, diff --git a/src/lib/Animated/AnimatedValueMock.ts b/src/lib/Animated/AnimatedValueMock.ts index 89e0a5e..0e87909 100644 --- a/src/lib/Animated/AnimatedValueMock.ts +++ b/src/lib/Animated/AnimatedValueMock.ts @@ -1,7 +1,6 @@ import { Animated } from "react-native"; export class AnimatedValueMock extends Animated.Value { - public constructor( value: number, config: Animated.AnimatedConfig = { useNativeDriver: false }, diff --git a/src/lib/Animated/AnimatedValueXY.ts b/src/lib/Animated/AnimatedValueXY.ts index 248a239..023fda1 100644 --- a/src/lib/Animated/AnimatedValueXY.ts +++ b/src/lib/Animated/AnimatedValueXY.ts @@ -6,8 +6,7 @@ interface ValueXY { } export class AnimatedValueXYMock extends Animated.ValueXY { - - public constructor ( + public constructor( value: ValueXY, config: Animated.AnimatedConfig = { useNativeDriver: false }, ) { diff --git a/src/lib/Components/AppState.ts b/src/lib/Components/AppState.ts index c0adc4d..51f0d44 100644 --- a/src/lib/Components/AppState.ts +++ b/src/lib/Components/AppState.ts @@ -1,7 +1,7 @@ -import { NativeEventSubscription } from "react-native"; - import { noop } from "../../helpers/commons"; +import type { NativeEventSubscription } from "react-native"; + export const AppStateMock = { addEventListener: (): NativeEventSubscription => ({ remove: noop }), currentState: noop, diff --git a/src/lib/Components/Image.ts b/src/lib/Components/Image.ts index 1236ca6..b9fd3a5 100644 --- a/src/lib/Components/Image.ts +++ b/src/lib/Components/Image.ts @@ -1,9 +1,10 @@ -import { ComponentClass } from "react"; import { Image } from "react-native"; import { noop } from "../../helpers/commons"; import { mockComponent } from "../../helpers/mockComponent"; +import type { ComponentClass } from "react"; + export type ImageMethods = Partial; export const imageMethodsMock: ImageMethods = { diff --git a/src/lib/Components/RefreshControl.ts b/src/lib/Components/RefreshControl.ts index 30c74e7..1a4e267 100644 --- a/src/lib/Components/RefreshControl.ts +++ b/src/lib/Components/RefreshControl.ts @@ -1,10 +1,9 @@ -import { Component, ReactNode, createElement } from "react"; +import { Component, type ReactNode, createElement } from "react"; import { requireNativeComponent } from "react-native"; const RCTRefreshControl = requireNativeComponent("RCTRefreshControl"); export class RefreshControlMock extends Component { - public static latestRef?: RefreshControlMock; public componentDidMount(): void { diff --git a/src/lib/Components/ScrollView.ts b/src/lib/Components/ScrollView.ts index 26d3407..ed67871 100644 --- a/src/lib/Components/ScrollView.ts +++ b/src/lib/Components/ScrollView.ts @@ -1,6 +1,6 @@ /* eslint-disable sort-keys */ -import { ElementRef, PropsWithChildren, ReactNode, createElement } from "react"; -import { HostComponent, NativeMethods, ScrollView, View, requireNativeComponent } from "react-native"; +import { type ElementRef, type PropsWithChildren, type ReactNode, createElement } from "react"; +import { type HostComponent, type NativeMethods, ScrollView, View, requireNativeComponent } from "react-native"; import { noop } from "../../helpers/commons"; import { mockComponent } from "../../helpers/mockComponent"; @@ -59,7 +59,6 @@ const RCTScrollView = requireNativeComponent("RCTScrollView"); const BaseMock = mockComponent(ScrollView, scrollViewMethodsMock); export class ScrollViewMock

extends BaseMock { - public constructor(props: PropsWithChildren

) { super(props); } diff --git a/src/lib/Components/TextInput.ts b/src/lib/Components/TextInput.ts index 1ce29f4..57c5591 100644 --- a/src/lib/Components/TextInput.ts +++ b/src/lib/Components/TextInput.ts @@ -1,10 +1,11 @@ -import { ElementRef } from "react"; -import { HostComponent, NativeMethods, TextInput } from "react-native"; +import { type HostComponent, type NativeMethods, TextInput } from "react-native"; import { noop } from "../../helpers/commons"; import { mockComponent } from "../../helpers/mockComponent"; import { nativeMethodsMock } from "../../helpers/nativeMethodsMock"; +import type { ElementRef } from "react"; + export type TextInputMethods = NativeMethods | TextInput & { getNativeRef: () => ElementRef> | undefined; }; diff --git a/src/lib/Components/ViewNativeComponent.ts b/src/lib/Components/ViewNativeComponent.ts index b443fa5..cf0a348 100644 --- a/src/lib/Components/ViewNativeComponent.ts +++ b/src/lib/Components/ViewNativeComponent.ts @@ -1,7 +1,6 @@ -import { Component, PropsWithChildren, ReactNode, createElement } from "react"; +import { Component, type PropsWithChildren, type ReactNode, createElement } from "react"; class Mock extends Component { - public static displayName = "View"; public constructor(props: PropsWithChildren) { diff --git a/src/lib/Core/NativeComponentRegistry.ts b/src/lib/Core/NativeComponentRegistry.ts index 351167a..57f7834 100644 --- a/src/lib/Core/NativeComponentRegistry.ts +++ b/src/lib/Core/NativeComponentRegistry.ts @@ -1,9 +1,10 @@ /* eslint-disable camelcase */ -import { ComponentClass } from "react"; import { noop } from "../../helpers/commons"; import { mockNativeComponent } from "../../helpers/mockNativeComponent"; +import type { ComponentClass } from "react"; + export const NativeComponentRegistryMock = { get: (name: string): ComponentClass => mockNativeComponent(name), getWithFallback_DEPRECATED: (name: string): ComponentClass => mockNativeComponent(name), diff --git a/src/lib/mockNative.ts b/src/lib/mockNative.ts index e72f49d..127e23c 100644 --- a/src/lib/mockNative.ts +++ b/src/lib/mockNative.ts @@ -1,15 +1,16 @@ /* eslint-disable @typescript-eslint/no-var-requires */ -import type { ComponentClass, PropsWithChildren } from "react"; -import type { NativeMethods } from "react-native"; import { match } from "ts-pattern"; import { replace } from "../helpers/commons"; -import { AllNativeMethods, mockComponent } from "../helpers/mockComponent"; +import { type AllNativeMethods, mockComponent } from "../helpers/mockComponent"; import { nativeMethodsMock } from "../helpers/nativeMethodsMock"; -import { imageMethodsMock, ImageMethods } from "./Components/Image"; -import { ScrollViewMethods, scrollViewMethodsMock } from "./Components/ScrollView"; -import { TextInputMethods, textInputMethodsMock } from "./Components/TextInput"; +import { type ImageMethods, imageMethodsMock } from "./Components/Image"; +import { type ScrollViewMethods, scrollViewMethodsMock } from "./Components/ScrollView"; +import { type TextInputMethods, textInputMethodsMock } from "./Components/TextInput"; + +import type { ComponentClass, PropsWithChildren } from "react"; +import type { NativeMethods } from "react-native"; export type NativeBase = | "ActivityIndicator" diff --git a/src/main.ts b/src/main.ts index ee04199..d1110ee 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,2 @@ -export { - NativeBase, - NativeKey, - mockNative, - restoreNativeMocks, -} from "./lib/mockNative"; +export { mockNative, restoreNativeMocks } from "./lib/mockNative"; +export type { NativeBase, NativeKey } from "./lib/mockNative"; diff --git a/test/unit/lib/mockNative.test.tsx b/test/unit/lib/mockNative.test.tsx index fea6205..3456083 100644 --- a/test/unit/lib/mockNative.test.tsx +++ b/test/unit/lib/mockNative.test.tsx @@ -1,12 +1,11 @@ import { expect } from "@assertive-ts/core"; import { render } from "@testing-library/react-native"; -import { ReactElement, useEffect, useRef, useState } from "react"; +import { type ReactElement, useEffect, useRef, useState } from "react"; import { Text, View } from "react-native"; import { mockNative, restoreNativeMocks } from "../../../src/lib/mockNative"; function TestScreen(): ReactElement { - const [widthValue, setWidthValue] = useState(0); const viewRef = useRef(null); diff --git a/test/unit/register.test.tsx b/test/unit/register.test.tsx index 275688d..13dc55f 100644 --- a/test/unit/register.test.tsx +++ b/test/unit/register.test.tsx @@ -1,11 +1,10 @@ import { expect } from "@assertive-ts/core"; -import { render, waitFor, userEvent } from "@testing-library/react-native"; -import { ReactElement, useCallback, useRef, useState } from "react"; +import { render, userEvent, waitFor } from "@testing-library/react-native"; +import { type ReactElement, useCallback, useRef, useState } from "react"; import { ActivityIndicator, Animated, Button, Image, Modal, ScrollView, Text, TextInput, View } from "react-native"; import { Rect, Svg } from "react-native-svg"; function TestScreen(): ReactElement { - const [animated, setAnimated] = useState(false); const [greet, setGreet] = useState("Hello!"); diff --git a/yarn.lock b/yarn.lock index cbc25d7..bf7ed44 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1008,14 +1008,17 @@ __metadata: languageName: node linkType: hard -"@es-joy/jsdoccomment@npm:~0.42.0": - version: 0.42.0 - resolution: "@es-joy/jsdoccomment@npm:0.42.0" +"@es-joy/jsdoccomment@npm:~0.43.1": + version: 0.43.1 + resolution: "@es-joy/jsdoccomment@npm:0.43.1" dependencies: + "@types/eslint": "npm:^8.56.5" + "@types/estree": "npm:^1.0.5" + "@typescript-eslint/types": "npm:^7.2.0" comment-parser: "npm:1.4.1" esquery: "npm:^1.5.0" jsdoc-type-pratt-parser: "npm:~4.0.0" - checksum: 10/413c058f224f91cf6370a514e7024944d20977819724878121178e598714cc4734ee9898b3eca6396f67542ad81acd9d46d5a0209e62306b0ef17a28626ec566 + checksum: 10/c7b30648f3959a6779df9f1939467916f46d40a87b4067a3e53f0492019d5f644cc5e2bb7ded5202a43a01b0627d7b751e9f1f1b10625f5a99a988894e55d2ac languageName: node linkType: hard @@ -1031,33 +1034,58 @@ __metadata: linkType: hard "@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": - version: 4.10.0 - resolution: "@eslint-community/regexpp@npm:4.10.0" - checksum: 10/8c36169c815fc5d726078e8c71a5b592957ee60d08c6470f9ce0187c8046af1a00afbda0a065cc40ff18d5d83f82aed9793c6818f7304a74a7488dc9f3ecbd42 + version: 4.10.1 + resolution: "@eslint-community/regexpp@npm:4.10.1" + checksum: 10/54f13817caf90545502d7a19e1b61df79087aee9584342ffc558b6d067530764a47f1c484f493f43e2c70cfdff59ccfd5f26df2af298c4ad528469e599bd1d53 languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" +"@eslint/compat@npm:^1.1.0": + version: 1.1.0 + resolution: "@eslint/compat@npm:1.1.0" + checksum: 10/b3a081df313e20cb803af15eb66164fb36ba5e1663b8ec1bf65375425fe6bd4baef4b34383abafcc289936a3dedb04de2f74cabae817f23f37636ee40c0f8a7e + languageName: node + linkType: hard + +"@eslint/config-array@npm:^0.16.0": + version: 0.16.0 + resolution: "@eslint/config-array@npm:0.16.0" + dependencies: + "@eslint/object-schema": "npm:^2.1.4" + debug: "npm:^4.3.1" + minimatch: "npm:^3.0.5" + checksum: 10/6c1716f896a5bd290a2987ac28ec4fe18f052d2338ccf7822107eb0a6b974c44e6297cb7c9d6e0c5718c510e6c8e53043bea04cf4836dcb26a57e0255bfe99bc + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.1.0": + version: 3.1.0 + resolution: "@eslint/eslintrc@npm:3.1.0" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10/7a3b14f4b40fc1a22624c3f84d9f467a3d9ea1ca6e9a372116cb92507e485260359465b58e25bcb6c9981b155416b98c9973ad9b796053fd7b3f776a6946bce8 + checksum: 10/02bf892d1397e1029209dea685e9f4f87baf643315df2a632b5f121ec7e8548a3b34f428a007234fa82772218fa8a3ac2d10328637b9ce63b7f8344035b74db3 languageName: node linkType: hard -"@eslint/js@npm:8.57.0": - version: 8.57.0 - resolution: "@eslint/js@npm:8.57.0" - checksum: 10/3c501ce8a997cf6cbbaf4ed358af5492875e3550c19b9621413b82caa9ae5382c584b0efa79835639e6e0ddaa568caf3499318e5bdab68643ef4199dce5eb0a0 +"@eslint/js@npm:9.5.0, @eslint/js@npm:^9.5.0": + version: 9.5.0 + resolution: "@eslint/js@npm:9.5.0" + checksum: 10/206364e3a074eaaeccc2b9e1e3f129539106a81ec634f32c51bc1699e0c4a47ab3e6480a6484a198bca6406888ba8f2917c35a87296680905d146075b5ed2738 + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/object-schema@npm:2.1.4" + checksum: 10/221e8d9f281c605948cd6e030874aacce83fe097f8f9c1964787037bccf08e82b7aa9eff1850a30fffac43f1d76555727ec22a2af479d91e268e89d1e035131e languageName: node linkType: hard @@ -1077,17 +1105,6 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.14": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" - dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10/3ffb24ecdfab64014a230e127118d50a1a04d11080cbb748bc21629393d100850496456bbcb4e8c438957fe0934430d731042f1264d6a167b62d32fc2863580a - languageName: node - linkType: hard - "@humanwhocodes/module-importer@npm:^1.0.1": version: 1.0.1 resolution: "@humanwhocodes/module-importer@npm:1.0.1" @@ -1095,10 +1112,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.2": - version: 2.0.3 - resolution: "@humanwhocodes/object-schema@npm:2.0.3" - checksum: 10/05bb99ed06c16408a45a833f03a732f59bf6184795d4efadd33238ff8699190a8c871ad1121241bb6501589a9598dc83bf25b99dcbcf41e155cdf36e35e937a3 +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.0 + resolution: "@humanwhocodes/retry@npm:0.3.0" + checksum: 10/e574bab58680867414e225c9002e9a97eb396f85871c180fbb1a9bcdf9ded4b4de0b327f7d0c43b775873362b7c92956d4b322e8bc4b90be56077524341f04b2 languageName: node linkType: hard @@ -1640,6 +1657,13 @@ __metadata: languageName: node linkType: hard +"@pkgr/core@npm:^0.1.0": + version: 0.1.1 + resolution: "@pkgr/core@npm:0.1.1" + checksum: 10/6f25fd2e3008f259c77207ac9915b02f1628420403b2630c92a07ff963129238c9262afc9e84344c7a23b5cc1f3965e2cd17e3798219f5fd78a63d144d3cceba + languageName: node + linkType: hard + "@pnpm/config.env-replace@npm:^1.1.0": version: 1.1.0 resolution: "@pnpm/config.env-replace@npm:1.1.0" @@ -2295,6 +2319,74 @@ __metadata: languageName: node linkType: hard +"@stylistic/eslint-plugin-js@npm:2.2.2, @stylistic/eslint-plugin-js@npm:^2.2.2": + version: 2.2.2 + resolution: "@stylistic/eslint-plugin-js@npm:2.2.2" + dependencies: + "@types/eslint": "npm:^8.56.10" + acorn: "npm:^8.11.3" + eslint-visitor-keys: "npm:^4.0.0" + espree: "npm:^10.0.1" + peerDependencies: + eslint: ">=8.40.0" + checksum: 10/9d07d22c48a9f2b0e3e8b12704a1542801a4bed0fb4e4d91a7db4126924d145297ed4054d82d95116556154e377fac5016d2e4d4096d1d7bafccd1ee2d920f16 + languageName: node + linkType: hard + +"@stylistic/eslint-plugin-jsx@npm:2.2.2": + version: 2.2.2 + resolution: "@stylistic/eslint-plugin-jsx@npm:2.2.2" + dependencies: + "@stylistic/eslint-plugin-js": "npm:^2.2.2" + "@types/eslint": "npm:^8.56.10" + estraverse: "npm:^5.3.0" + picomatch: "npm:^4.0.2" + peerDependencies: + eslint: ">=8.40.0" + checksum: 10/07a9829af2f97db5747b28ac856d13e73ac823122161c4cc71ba6c539f606a7bf052099e699a0d58ee4a6b5495dd9855b6e784fa993ad74fb264b3bb944a45be + languageName: node + linkType: hard + +"@stylistic/eslint-plugin-plus@npm:2.2.2": + version: 2.2.2 + resolution: "@stylistic/eslint-plugin-plus@npm:2.2.2" + dependencies: + "@types/eslint": "npm:^8.56.10" + "@typescript-eslint/utils": "npm:^7.12.0" + peerDependencies: + eslint: "*" + checksum: 10/8fe39f5f1cabf74f309380e2b37226865066648055ce71c5cacfb10d8ac4fb01f2e15c608059c6833e8cb427ab552e945d5b7ccd500659a849b8eb9d04598aa4 + languageName: node + linkType: hard + +"@stylistic/eslint-plugin-ts@npm:2.2.2": + version: 2.2.2 + resolution: "@stylistic/eslint-plugin-ts@npm:2.2.2" + dependencies: + "@stylistic/eslint-plugin-js": "npm:2.2.2" + "@types/eslint": "npm:^8.56.10" + "@typescript-eslint/utils": "npm:^7.12.0" + peerDependencies: + eslint: ">=8.40.0" + checksum: 10/57b27420e4311c0942dc840bbd2ef63e93e22cad63952cc3ceaf48f4698f30a3c41c2553e5f407d7be27eadf7c2193c64310f8c1afe27c5f266bdc7bad13cff9 + languageName: node + linkType: hard + +"@stylistic/eslint-plugin@npm:^2.2.2": + version: 2.2.2 + resolution: "@stylistic/eslint-plugin@npm:2.2.2" + dependencies: + "@stylistic/eslint-plugin-js": "npm:2.2.2" + "@stylistic/eslint-plugin-jsx": "npm:2.2.2" + "@stylistic/eslint-plugin-plus": "npm:2.2.2" + "@stylistic/eslint-plugin-ts": "npm:2.2.2" + "@types/eslint": "npm:^8.56.10" + peerDependencies: + eslint: ">=8.40.0" + checksum: 10/50c1baf88e1675401facd4ede1d56c183ee32213096e2334845fcaa9bd7a223ad96747936b0c82ce6920ef18cc055a5ae16409802b1f05481312ec4ee8adf99f + languageName: node + linkType: hard + "@testing-library/react-native@npm:^12.4.5": version: 12.4.5 resolution: "@testing-library/react-native@npm:12.4.5" @@ -2409,7 +2501,7 @@ __metadata: languageName: node linkType: hard -"@types/eslint@npm:^8.56.10": +"@types/eslint@npm:*, @types/eslint@npm:^8.56.10, @types/eslint@npm:^8.56.5": version: 8.56.10 resolution: "@types/eslint@npm:8.56.10" dependencies: @@ -2419,7 +2511,25 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*": +"@types/eslint__eslintrc@npm:^2.1.1": + version: 2.1.1 + resolution: "@types/eslint__eslintrc@npm:2.1.1" + dependencies: + "@types/eslint": "npm:*" + checksum: 10/75b3cd589c152a2079fd8a84bf44066159fa8d9237a14f2b782bc37cd09e26b1647f5b0f0dc1145aaee53e26dc335c0d7ef3e8fdad5d7432329af371fd88479d + languageName: node + linkType: hard + +"@types/eslint__js@npm:^8.42.3": + version: 8.42.3 + resolution: "@types/eslint__js@npm:8.42.3" + dependencies: + "@types/eslint": "npm:*" + checksum: 10/e31f19de642d35a664695d0cab873ce6de19b8a3506755835b91f8a49a8c41099dcace449df49f1a486de6fa6565d21ceb1fa33be6004fc7adef9226e5d256a1 + languageName: node + linkType: hard + +"@types/estree@npm:*, @types/estree@npm:^1.0.5": version: 1.0.5 resolution: "@types/estree@npm:1.0.5" checksum: 10/7de6d928dd4010b0e20c6919e1a6c27b61f8d4567befa89252055fad503d587ecb9a1e3eab1b1901f923964d7019796db810b7fd6430acb26c32866d126fd408 @@ -2451,7 +2561,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7 @@ -2532,7 +2642,7 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7.3.12, @types/semver@npm:^7.5.8": +"@types/semver@npm:^7.3.12": version: 7.5.8 resolution: "@types/semver@npm:7.5.8" checksum: 10/3496808818ddb36deabfe4974fd343a78101fa242c4690044ccdc3b95dcf8785b494f5d628f2f47f38a702f8db9c53c67f47d7818f2be1b79f2efb09692e1178 @@ -2587,20 +2697,18 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/eslint-plugin@npm:7.7.1" +"@typescript-eslint/eslint-plugin@npm:7.14.1": + version: 7.14.1 + resolution: "@typescript-eslint/eslint-plugin@npm:7.14.1" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:7.7.1" - "@typescript-eslint/type-utils": "npm:7.7.1" - "@typescript-eslint/utils": "npm:7.7.1" - "@typescript-eslint/visitor-keys": "npm:7.7.1" - debug: "npm:^4.3.4" + "@typescript-eslint/scope-manager": "npm:7.14.1" + "@typescript-eslint/type-utils": "npm:7.14.1" + "@typescript-eslint/utils": "npm:7.14.1" + "@typescript-eslint/visitor-keys": "npm:7.14.1" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" - semver: "npm:^7.6.0" ts-api-utils: "npm:^1.3.0" peerDependencies: "@typescript-eslint/parser": ^7.0.0 @@ -2608,7 +2716,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/54064fe466edcebece50cf4cfc4cb18753bcba7da0e3f0db29bf628586716b14945cadf01529ebc3d823e35bc62debf21aa636ae1f5e4fa92670dce65b3dec8c + checksum: 10/48c815dbb92399965483c93b27816fad576c3b3227b59eebfe5525e24d07b39ec8b0c7459de83865c8d61c818696519f50b229714dd3ed705d5b35973bfcc781 languageName: node linkType: hard @@ -2623,21 +2731,21 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/parser@npm:^7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/parser@npm:7.7.1" +"@typescript-eslint/parser@npm:7.14.1": + version: 7.14.1 + resolution: "@typescript-eslint/parser@npm:7.14.1" dependencies: - "@typescript-eslint/scope-manager": "npm:7.7.1" - "@typescript-eslint/types": "npm:7.7.1" - "@typescript-eslint/typescript-estree": "npm:7.7.1" - "@typescript-eslint/visitor-keys": "npm:7.7.1" + "@typescript-eslint/scope-manager": "npm:7.14.1" + "@typescript-eslint/types": "npm:7.14.1" + "@typescript-eslint/typescript-estree": "npm:7.14.1" + "@typescript-eslint/visitor-keys": "npm:7.14.1" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.56.0 peerDependenciesMeta: typescript: optional: true - checksum: 10/39cd5c686e9f7e86da669fc3622b203e1025f162d42c4f45373e827c659b8823535fe4ea62ccb5e672ef999f8491d74c8c5c4c497367c884672fc835497ea180 + checksum: 10/f521462a7005cab5e4923937dcf36713d9438ded175b53332ae469d91cc9eb18cb3a23768b3c52063464280baae83f6b66db28cebb2e262d6d869d1a898b23f3 languageName: node linkType: hard @@ -2651,22 +2759,22 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/scope-manager@npm:7.7.1" +"@typescript-eslint/scope-manager@npm:7.14.1": + version: 7.14.1 + resolution: "@typescript-eslint/scope-manager@npm:7.14.1" dependencies: - "@typescript-eslint/types": "npm:7.7.1" - "@typescript-eslint/visitor-keys": "npm:7.7.1" - checksum: 10/7823cd15e7205d2c0d9e69432717c385b2ecd7559d5edba79113c2e97c6c5e8ca3dae9343a734bc740be97e096bfcb9dfb81a3da697f9fbf5600a56a42cf70e9 + "@typescript-eslint/types": "npm:7.14.1" + "@typescript-eslint/visitor-keys": "npm:7.14.1" + checksum: 10/600a7beb96f5b96f675125285137339c2438b5b26db203a66eef52dd409e8c0db0dafb22c94547dfb963f8efdf63b0fb59e05655e2dcf84d54624863365a59e7 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/type-utils@npm:7.7.1" +"@typescript-eslint/type-utils@npm:7.14.1": + version: 7.14.1 + resolution: "@typescript-eslint/type-utils@npm:7.14.1" dependencies: - "@typescript-eslint/typescript-estree": "npm:7.7.1" - "@typescript-eslint/utils": "npm:7.7.1" + "@typescript-eslint/typescript-estree": "npm:7.14.1" + "@typescript-eslint/utils": "npm:7.14.1" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependencies: @@ -2674,7 +2782,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/c64dfd3e535741270012d289d1327e487df877adfa8a9920b1f8d6616f3b7159ef8ee1d6b62e866b6a5c64d675c5008e87f4ea20b5fc032e95f197a749d38ae6 + checksum: 10/75c279948a7e7e546d692e85a0b48fc3b648ffee1773feb7ff199aba1b0847a9a16c432b133aa72d26e645627403852b7dd24829f9b3badd6d4711c4cc38e9e4 languageName: node linkType: hard @@ -2685,10 +2793,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/types@npm:7.7.1" - checksum: 10/a1ecbaf3b8a5243394d421644f2b3eb164feea645e36dd07f1afb5008598201f19c7988141fc162c647f380dda7cf571017c0eabbbc4c5432b0143383853e134 +"@typescript-eslint/types@npm:7.14.1, @typescript-eslint/types@npm:^7.2.0": + version: 7.14.1 + resolution: "@typescript-eslint/types@npm:7.14.1" + checksum: 10/608057582bb195bd746a7bfb7c04dac4be1d4602b8fa681b2d1d50b564362b681dc2ca293b13cc4c7acc454f3a09f1ea2580415347efb7853e5df8ba34b7acdb languageName: node linkType: hard @@ -2710,12 +2818,12 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/typescript-estree@npm:7.7.1" +"@typescript-eslint/typescript-estree@npm:7.14.1": + version: 7.14.1 + resolution: "@typescript-eslint/typescript-estree@npm:7.14.1" dependencies: - "@typescript-eslint/types": "npm:7.7.1" - "@typescript-eslint/visitor-keys": "npm:7.7.1" + "@typescript-eslint/types": "npm:7.14.1" + "@typescript-eslint/visitor-keys": "npm:7.14.1" debug: "npm:^4.3.4" globby: "npm:^11.1.0" is-glob: "npm:^4.0.3" @@ -2725,7 +2833,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/df5fe6c573b15e8058b88d1535eeca11115118adc54225f511d2762d74e2d453205ba27e63f6666cb5f3dc73d639208a183fb05db1f75063b115d52b1fae3e20 + checksum: 10/f75b956f7981712d3f85498f9d9fcc2243d79d6fe71b24bc688a7c43d2a4248f73ecfb78f9d58501fde87fc44b02e26c46f9ea2ae51eb8450db79ca169f91ef9 languageName: node linkType: hard @@ -2747,20 +2855,17 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/utils@npm:7.7.1" +"@typescript-eslint/utils@npm:7.14.1, @typescript-eslint/utils@npm:^7.0.0, @typescript-eslint/utils@npm:^7.12.0": + version: 7.14.1 + resolution: "@typescript-eslint/utils@npm:7.14.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@types/json-schema": "npm:^7.0.15" - "@types/semver": "npm:^7.5.8" - "@typescript-eslint/scope-manager": "npm:7.7.1" - "@typescript-eslint/types": "npm:7.7.1" - "@typescript-eslint/typescript-estree": "npm:7.7.1" - semver: "npm:^7.6.0" + "@typescript-eslint/scope-manager": "npm:7.14.1" + "@typescript-eslint/types": "npm:7.14.1" + "@typescript-eslint/typescript-estree": "npm:7.14.1" peerDependencies: eslint: ^8.56.0 - checksum: 10/5a352c3a849300b5d676bf5f451418a2fb0cd3ab515f3733521ad03cf047849c52c76f6e5d2406e08f6d0dbad3a4708b490f909c91a1a9e3d73060a750b3bca2 + checksum: 10/1ef74214ca84e32f151364512a51e82b7da5590dee03d0de0e1abcf18009e569f9a0638506cf03bd4a844af634b4935458e334b7b2459e9a50a67aba7d6228c7 languageName: node linkType: hard @@ -2774,20 +2879,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/visitor-keys@npm:7.7.1" +"@typescript-eslint/visitor-keys@npm:7.14.1": + version: 7.14.1 + resolution: "@typescript-eslint/visitor-keys@npm:7.14.1" dependencies: - "@typescript-eslint/types": "npm:7.7.1" + "@typescript-eslint/types": "npm:7.14.1" eslint-visitor-keys: "npm:^3.4.3" - checksum: 10/dcc5748b10bb1b169516b33e87b6d86b562e25725a95e5ac515cb197589d9667aaa7cfffa93234095a73c80addb6dd88e2a9ab01d2be0c274254b5be1ca4057a - languageName: node - linkType: hard - -"@ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 10/c6fe89a505e513a7592e1438280db1c075764793a2397877ff1351721fe8792a966a5359769e30242b3cd023f2efb9e63ca2ca88019d73b564488cc20e3eab12 + checksum: 10/42246f33cb3f9185c0b467c9a534e34a674e4fc08ba982a03aaa77dc1e569e916f1fca9ce9cd14c4df91f416e6e917bff51f98b8d8ca26ec5f67c253e8646bde languageName: node linkType: hard @@ -2829,6 +2927,15 @@ __metadata: languageName: node linkType: hard +"acorn-jsx@npm:^2.0.1": + version: 2.0.1 + resolution: "acorn-jsx@npm:2.0.1" + dependencies: + acorn: "npm:^2.0.1" + checksum: 10/9f85a712658e57c8b77af1cd6c145548d703bf0c3038246823a0d1d7c376644e358ed0dd8b872da9dbcb459ff46ee9f765b8b660c572611281ff795be1d101cb + languageName: node + linkType: hard + "acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -2845,7 +2952,25 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.4.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": +"acorn@npm:^2.0.1, acorn@npm:^2.6.4": + version: 2.7.0 + resolution: "acorn@npm:2.7.0" + bin: + acorn: ./bin/acorn + checksum: 10/d8d94762d71c7191dd954924c2337e28a8f63d2024af70f7c99dc9c82cbad8836236697e400c608be2b57e899125e34b640946f61e6a921177bf063e74e0499f + languageName: node + linkType: hard + +"acorn@npm:^8.11.3, acorn@npm:^8.12.0": + version: 8.12.0 + resolution: "acorn@npm:8.12.0" + bin: + acorn: bin/acorn + checksum: 10/550cc5033184eb98f7fbe2e9ddadd0f47f065734cc682f25db7a244f52314eb816801b64dec7174effd978045bd1754892731a90b1102b0ede9d17a15cfde138 + languageName: node + linkType: hard + +"acorn@npm:^8.4.1, acorn@npm:^8.8.2": version: 8.11.3 resolution: "acorn@npm:8.11.3" bin: @@ -3079,7 +3204,7 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.7": +"array-includes@npm:^3.1.6, array-includes@npm:^3.1.7, array-includes@npm:^3.1.8": version: 3.1.8 resolution: "array-includes@npm:3.1.8" dependencies: @@ -3100,6 +3225,20 @@ __metadata: languageName: node linkType: hard +"array.prototype.findlast@npm:^1.2.5": + version: 1.2.5 + resolution: "array.prototype.findlast@npm:1.2.5" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10/7dffcc665aa965718ad6de7e17ac50df0c5e38798c0a5bf9340cf24feb8594df6ec6f3fcbe714c1577728a1b18b5704b15669474b27bceeca91ef06ce2a23c31 + languageName: node + linkType: hard + "array.prototype.findlastindex@npm:^1.2.3": version: 1.2.5 resolution: "array.prototype.findlastindex@npm:1.2.5" @@ -3114,7 +3253,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.3.2": +"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2": version: 1.3.2 resolution: "array.prototype.flat@npm:1.3.2" dependencies: @@ -3138,6 +3277,31 @@ __metadata: languageName: node linkType: hard +"array.prototype.toreversed@npm:^1.1.2": + version: 1.1.2 + resolution: "array.prototype.toreversed@npm:1.1.2" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + es-shim-unscopables: "npm:^1.0.0" + checksum: 10/b4076d687ddc22c191863ce105d320cc4b0e1435bfda9ffeeff681682fe88fa6fe30e0d2ae94fa4b2d7fad901e1954ea4f75c1cab217db4848da84a2b5889192 + languageName: node + linkType: hard + +"array.prototype.tosorted@npm:^1.1.4": + version: 1.1.4 + resolution: "array.prototype.tosorted@npm:1.1.4" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.3" + es-errors: "npm:^1.3.0" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10/874694e5d50e138894ff5b853e639c29b0aa42bbd355acda8e8e9cd337f1c80565f21edc15e8c727fa4c0877fd9d8783c575809e440cc4d2d19acaa048bf967d + languageName: node + linkType: hard + "arraybuffer.prototype.slice@npm:^1.0.3": version: 1.0.3 resolution: "arraybuffer.prototype.slice@npm:1.0.3" @@ -3400,13 +3564,6 @@ __metadata: languageName: node linkType: hard -"builtin-modules@npm:^3.3.0": - version: 3.3.0 - resolution: "builtin-modules@npm:3.3.0" - checksum: 10/62e063ab40c0c1efccbfa9ffa31873e4f9d57408cb396a2649981a0ecbce56aabc93c28feaccbc5658c95aab2703ad1d11980e62ec2e5e72637404e1eb60f39e - languageName: node - linkType: hard - "builtins@npm:^5.0.0": version: 5.1.0 resolution: "builtins@npm:5.1.0" @@ -3896,6 +4053,13 @@ __metadata: languageName: node linkType: hard +"console-assert@npm:1.0.0": + version: 1.0.0 + resolution: "console-assert@npm:1.0.0" + checksum: 10/02c8e9c72b6cdfb474506598008870d1efc5f72c1dcb36bc0469893d30531e1f145d5f5e3d71dfd72b2848ff6df8659cb19e67fd6205d7ab75e5f15c6b404880 + languageName: node + linkType: hard + "console-control-strings@npm:^1.1.0": version: 1.1.0 resolution: "console-control-strings@npm:1.1.0" @@ -4147,7 +4311,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:4.3.4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:4.3.4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -4168,6 +4332,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:^4.3.2": + version: 4.3.5 + resolution: "debug@npm:4.3.5" + dependencies: + ms: "npm:2.1.2" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10/cb6eab424c410e07813ca1392888589972ce9a32b8829c6508f5e1f25f3c3e70a76731610ae55b4bbe58d1a2fffa1424b30e97fa8d394e49cd2656a9643aedd2 + languageName: node + linkType: hard + "decamelize@npm:^1.2.0": version: 1.2.0 resolution: "decamelize@npm:1.2.0" @@ -4313,15 +4489,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10/b4b28f1df5c563f7d876e7461254a4597b8cabe915abe94d7c5d1633fed263fcf9a85e8d3836591fc2d040108e822b0d32758e5ec1fe31c590dc7e08086e3e48 - languageName: node - linkType: hard - "dom-serializer@npm:^2.0.0": version: 2.0.0 resolution: "dom-serializer@npm:2.0.0" @@ -4444,12 +4611,12 @@ __metadata: linkType: hard "enhanced-resolve@npm:^5.12.0": - version: 5.16.0 - resolution: "enhanced-resolve@npm:5.16.0" + version: 5.17.0 + resolution: "enhanced-resolve@npm:5.17.0" dependencies: graceful-fs: "npm:^4.2.4" tapable: "npm:^2.2.0" - checksum: 10/47f123676b9b179b35195769b9d9523f314f6fc3a13d4461a4d95d5beaec9adc26aaa3b60b61f93e21ed1290dff0e9d9e67df343ec47f4480669a8e26ffe52a3 + checksum: 10/8f7bf71537d78e7d20a27363793f2c9e13ec44800c7c7830364a448f80a44994aa19d64beecefa1ab49e4de6f7fbe18cc0931dc449c115f02918ff5fcbe7705f languageName: node linkType: hard @@ -4521,7 +4688,7 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2": +"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": version: 1.23.3 resolution: "es-abstract@npm:1.23.3" dependencies: @@ -4591,6 +4758,35 @@ __metadata: languageName: node linkType: hard +"es-iterator-helpers@npm:^1.0.19": + version: 1.0.19 + resolution: "es-iterator-helpers@npm:1.0.19" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.3" + es-errors: "npm:^1.3.0" + es-set-tostringtag: "npm:^2.0.3" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + globalthis: "npm:^1.0.3" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.0.3" + has-symbols: "npm:^1.0.3" + internal-slot: "npm:^1.0.7" + iterator.prototype: "npm:^1.1.2" + safe-array-concat: "npm:^1.1.2" + checksum: 10/980a8081cf6798fe17fcea193b0448d784d72d76aca7240b10813207c67e3dc0d8a23992263870c4fc291da5a946935b0c56dec4fa1a9de8fee0165e4fa1fc58 + languageName: node + linkType: hard + +"es-module-lexer@npm:^1.5.3": + version: 1.5.4 + resolution: "es-module-lexer@npm:1.5.4" + checksum: 10/f29c7c97a58eb17640dcbd71bd6ef754ad4f58f95c3073894573d29dae2cad43ecd2060d97ed5b866dfb7804d5590fb7de1d2c5339a5fceae8bd60b580387fc5 + languageName: node + linkType: hard + "es-object-atoms@npm:^1.0.0": version: 1.0.0 resolution: "es-object-atoms@npm:1.0.0" @@ -4728,6 +4924,20 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-deprecation@npm:^3.0.0": + version: 3.0.0 + resolution: "eslint-plugin-deprecation@npm:3.0.0" + dependencies: + "@typescript-eslint/utils": "npm:^7.0.0" + ts-api-utils: "npm:^1.3.0" + tslib: "npm:^2.3.1" + peerDependencies: + eslint: ^8.0.0 + typescript: ^4.2.4 || ^5.0.0 + checksum: 10/6b13f68be641b750b1e777d4818b554efe77df9900deb3f90580455991f32bad173245f11d628690096c99a01fb71e323c694bb2093329dc16da3417d3d90627 + languageName: node + linkType: hard + "eslint-plugin-etc@npm:^2.0.3": version: 2.0.3 resolution: "eslint-plugin-etc@npm:2.0.3" @@ -4745,6 +4955,17 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-extra-rules@npm:^0.0.0-development": + version: 0.0.0-development + resolution: "eslint-plugin-extra-rules@npm:0.0.0-development" + dependencies: + console-assert: "npm:1.0.0" + espree: "npm:3.0.0-alpha-1" + quote: "npm:0.4.0" + checksum: 10/4214fbf442a1419cf76ff457c4db85a23b72d68e44020fa9ebd1b9710297676da8101bced34273262b0ea5eb613781c514497a36eefd0a71c3d24f5f3d40479b + languageName: node + linkType: hard + "eslint-plugin-import@npm:^2.29.1": version: 2.29.1 resolution: "eslint-plugin-import@npm:2.29.1" @@ -4772,31 +4993,60 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:^48.2.3": - version: 48.2.3 - resolution: "eslint-plugin-jsdoc@npm:48.2.3" +"eslint-plugin-jsdoc@npm:^48.4.0": + version: 48.4.0 + resolution: "eslint-plugin-jsdoc@npm:48.4.0" dependencies: - "@es-joy/jsdoccomment": "npm:~0.42.0" + "@es-joy/jsdoccomment": "npm:~0.43.1" are-docs-informative: "npm:^0.0.2" comment-parser: "npm:1.4.1" debug: "npm:^4.3.4" escape-string-regexp: "npm:^4.0.0" esquery: "npm:^1.5.0" - is-builtin-module: "npm:^3.2.1" - semver: "npm:^7.6.0" + parse-imports: "npm:^2.1.0" + semver: "npm:^7.6.2" spdx-expression-parse: "npm:^4.0.0" + synckit: "npm:^0.9.0" peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - checksum: 10/f7ab4dc3fcac320fa11777c84bc5c30aa6e68b1121c5a11e7c00a37d1e24c6599a8addb2ae5f0c2f90cb92713e9010640ace7f21962e1e946a14fd70fe4a0b59 + checksum: 10/0f46f9f56ea20ff2f3d16ea81913fbfd43c2572b1f1e4fac1c22f76f79a6da9f00f2dd93df988922d512850507632f334a7069a1ca6711a51b840da386928118 + languageName: node + linkType: hard + +"eslint-plugin-react@npm:^7.34.3": + version: 7.34.3 + resolution: "eslint-plugin-react@npm:7.34.3" + dependencies: + array-includes: "npm:^3.1.8" + array.prototype.findlast: "npm:^1.2.5" + array.prototype.flatmap: "npm:^1.3.2" + array.prototype.toreversed: "npm:^1.1.2" + array.prototype.tosorted: "npm:^1.1.4" + doctrine: "npm:^2.1.0" + es-iterator-helpers: "npm:^1.0.19" + estraverse: "npm:^5.3.0" + jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" + minimatch: "npm:^3.1.2" + object.entries: "npm:^1.1.8" + object.fromentries: "npm:^2.0.8" + object.hasown: "npm:^1.1.4" + object.values: "npm:^1.2.0" + prop-types: "npm:^15.8.1" + resolve: "npm:^2.0.0-next.5" + semver: "npm:^6.3.1" + string.prototype.matchall: "npm:^4.0.11" + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + checksum: 10/f160a5b0a376e520b0cd5e2b6111e91966533708842270e460e2f93a45c80f42dc79232a38a6ccb1a397b1d9deba06f6dc819333d9e1af55d392bf52b20d6c9b languageName: node linkType: hard -"eslint-plugin-sonarjs@npm:^0.25.1": - version: 0.25.1 - resolution: "eslint-plugin-sonarjs@npm:0.25.1" +"eslint-plugin-sonarjs@npm:^1.0.3": + version: 1.0.3 + resolution: "eslint-plugin-sonarjs@npm:1.0.3" peerDependencies: - eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10/ea94da85493dd005b39c8d55fb4e198d433874e75653136ae7d6042f31f4396ab25665fb264972ac17b891efa84ec0c6cf9fdde315a312b2a87d7e06bcb2148e + eslint: ^8.0.0 || ^9.0.0 + checksum: 10/39667bb0eea863c4f49971dad85bdc1e38afb14682f68e94a66a7ed64e8479c8e85ae6d83c30bebd77e3588d88ba8f901613cf262aa0c7049df14d7e46caa4c4 languageName: node linkType: hard @@ -4810,57 +5060,60 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" +"eslint-scope@npm:^8.0.1": + version: 8.0.1 + resolution: "eslint-scope@npm:8.0.1" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10/5c660fb905d5883ad018a6fea2b49f3cb5b1cbf2cd4bd08e98646e9864f9bc2c74c0839bed2d292e90a4a328833accc197c8f0baed89cbe8d605d6f918465491 + checksum: 10/458513863d3c79005b599f40250437bddba923f18549058ea45820a8d3d4bbc67fe292751d522a0cab69dd01fe211ffde5c1a5fc867e86f2d28727b1d61610da languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 10/3f357c554a9ea794b094a09bd4187e5eacd1bc0d0653c3adeb87962c548e6a1ab8f982b86963ae1337f5d976004146536dcee5d0e2806665b193fbfbf1a9231b languageName: node linkType: hard -"eslint@npm:^8.57.0": - version: 8.57.0 - resolution: "eslint@npm:8.57.0" +"eslint-visitor-keys@npm:^4.0.0": + version: 4.0.0 + resolution: "eslint-visitor-keys@npm:4.0.0" + checksum: 10/c7617166e6291a15ce2982b5c4b9cdfb6409f5c14562712d12e2584480cdf18609694b21d7dad35b02df0fa2cd037505048ded54d2f405c64f600949564eb334 + languageName: node + linkType: hard + +"eslint@npm:^9.5.0": + version: 9.5.0 + resolution: "eslint@npm:9.5.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.0" - "@humanwhocodes/config-array": "npm:^0.11.14" + "@eslint/config-array": "npm:^0.16.0" + "@eslint/eslintrc": "npm:^3.1.0" + "@eslint/js": "npm:9.5.0" "@humanwhocodes/module-importer": "npm:^1.0.1" + "@humanwhocodes/retry": "npm:^0.3.0" "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" cross-spawn: "npm:^7.0.2" debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" + eslint-scope: "npm:^8.0.1" + eslint-visitor-keys: "npm:^4.0.0" + espree: "npm:^10.0.1" + esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" + file-entry-cache: "npm:^8.0.0" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" ignore: "npm:^5.2.0" imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" @@ -4871,18 +5124,31 @@ __metadata: text-table: "npm:^0.2.0" bin: eslint: bin/eslint.js - checksum: 10/00496e218b23747a7a9817bf58b522276d0dc1f2e546dceb4eea49f9871574088f72f1f069a6b560ef537efa3a75261b8ef70e51ef19033da1cc4c86a755ef15 + checksum: 10/47578c242659a398638918c6f61a12c3e1e0ca71733769a54fdfd7be6d7c4ca0824694861846959829784b23cbfca5aad9599714dc0f4ae48ffdcdafbfe67bea languageName: node linkType: hard -"espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" +"espree@npm:3.0.0-alpha-1": + version: 3.0.0-alpha-1 + resolution: "espree@npm:3.0.0-alpha-1" dependencies: - acorn: "npm:^8.9.0" + acorn: "npm:^2.6.4" + acorn-jsx: "npm:^2.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10/e56859f23e6b82bec7410f0e08e457d2063e93f317332956febb8bd79ae261e3e8a34db2194df00f4c58f083d18b5c4867d922fb33bb6238bfa3476ff874e551 + languageName: node + linkType: hard + +"espree@npm:^10.0.1": + version: 10.1.0 + resolution: "espree@npm:10.1.0" + dependencies: + acorn: "npm:^8.12.0" acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10/255ab260f0d711a54096bdeda93adff0eadf02a6f9b92f02b323e83a2b7fc258797919437ad331efec3930475feb0142c5ecaaf3cdab4befebd336d47d3f3134 + eslint-visitor-keys: "npm:^4.0.0" + checksum: 10/a673aa39a19a51763d92272f8f3772ae3d4b10624740bb72d5f273b631b43f1a5a32b385c1da6ae6bc10be05a5913bc4679ebd22a09c7b336a745204834806ea languageName: node linkType: hard @@ -4896,7 +5162,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.0, esquery@npm:^1.4.2, esquery@npm:^1.5.0": +"esquery@npm:^1.4.0, esquery@npm:^1.5.0": version: 1.5.0 resolution: "esquery@npm:1.5.0" dependencies: @@ -4921,7 +5187,7 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0": version: 5.3.0 resolution: "estraverse@npm:5.3.0" checksum: 10/37cbe6e9a68014d34dbdc039f90d0baf72436809d02edffcc06ba3c2a12eb298048f877511353b130153e532aac8d68ba78430c0dd2f44806ebc7c014b01585e @@ -5078,12 +5344,12 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10/099bb9d4ab332cb93c48b14807a6918a1da87c45dce91d4b61fd40e6505d56d0697da060cb901c729c90487067d93c9243f5da3dc9c41f0358483bfdebca736b + flat-cache: "npm:^4.0.0" + checksum: 10/afe55c4de4e0d226a23c1eae62a7219aafb390859122608a89fa4df6addf55c7fd3f1a2da6f5b41e7cdff496e4cf28bbd215d53eab5c817afa96d2b40c81bfb0 languageName: node linkType: hard @@ -5187,14 +5453,13 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" dependencies: flatted: "npm:^3.2.9" - keyv: "npm:^4.5.3" - rimraf: "npm:^3.0.2" - checksum: 10/02381c6ece5e9fa5b826c9bbea481d7fd77645d96e4b0b1395238124d581d10e56f17f723d897b6d133970f7a57f0fab9148cbbb67237a0a0ffe794ba60c0c70 + keyv: "npm:^4.5.4" + checksum: 10/58ce851d9045fffc7871ce2bd718bc485ad7e777bf748c054904b87c351ff1080c2c11da00788d78738bfb51b71e4d5ea12d13b98eb36e3358851ffe495b62dc languageName: node linkType: hard @@ -5344,7 +5609,7 @@ __metadata: languageName: node linkType: hard -"function.prototype.name@npm:^1.1.6": +"function.prototype.name@npm:^1.1.5, function.prototype.name@npm:^1.1.6": version: 1.1.6 resolution: "function.prototype.name@npm:1.1.6" dependencies: @@ -5439,11 +5704,11 @@ __metadata: linkType: hard "get-tsconfig@npm:^4.5.0": - version: 4.7.3 - resolution: "get-tsconfig@npm:4.7.3" + version: 4.7.5 + resolution: "get-tsconfig@npm:4.7.5" dependencies: resolve-pkg-maps: "npm:^1.0.0" - checksum: 10/7397bb4f8aef936df4d9016555b662dcf5279f3c46428b7c7c1ff5e94ab2b87d018b3dda0f4bc1a28b154d5affd0eac5d014511172c085fd8a9cdff9ea7fe043 + checksum: 10/de7de5e4978354e8e6d9985baf40ea32f908a13560f793bc989930c229cc8d5c3f7b6b2896d8e43eb1a9b4e9e30018ef4b506752fd2a4b4d0dfee4af6841b119 languageName: node linkType: hard @@ -5540,12 +5805,17 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.19.0": - version: 13.24.0 - resolution: "globals@npm:13.24.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10/62c5b1997d06674fc7191d3e01e324d3eda4d65ac9cc4e78329fa3b5c4fd42a0e1c8722822497a6964eee075255ce21ccf1eec2d83f92ef3f06653af4d0ee28e +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10/03939c8af95c6df5014b137cac83aa909090c3a3985caef06ee9a5a669790877af8698ab38007e4c0186873adc14c0b13764acc754b16a754c216cc56aa5f021 + languageName: node + linkType: hard + +"globals@npm:^15.6.0": + version: 15.6.0 + resolution: "globals@npm:15.6.0" + checksum: 10/9b522b1eff444acaf331b0da7f072d5ef75b1cde02d89b3656039252f01b6bcda7a9ea42128e8644117c0ede9116249b1bcf830458b7dbe19fafd4de916a3dc0 languageName: node linkType: hard @@ -6048,6 +6318,15 @@ __metadata: languageName: node linkType: hard +"is-async-function@npm:^2.0.0": + version: 2.0.0 + resolution: "is-async-function@npm:2.0.0" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: 10/2cf336fbf8cba3badcf526aa3d10384c30bab32615ac4831b74492eb4e843ccb7d8439a119c27f84bcf217d72024e611b1373f870f433b48f3fa57d3d1b863f1 + languageName: node + linkType: hard + "is-bigint@npm:^1.0.1": version: 1.0.4 resolution: "is-bigint@npm:1.0.4" @@ -6076,15 +6355,6 @@ __metadata: languageName: node linkType: hard -"is-builtin-module@npm:^3.2.1": - version: 3.2.1 - resolution: "is-builtin-module@npm:3.2.1" - dependencies: - builtin-modules: "npm:^3.3.0" - checksum: 10/e8f0ffc19a98240bda9c7ada84d846486365af88d14616e737d280d378695c8c448a621dcafc8332dbf0fcd0a17b0763b845400709963fa9151ddffece90ae88 - languageName: node - linkType: hard - "is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" @@ -6101,7 +6371,16 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.11.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1, is-core-module@npm:^2.8.1": +"is-core-module@npm:^2.11.0, is-core-module@npm:^2.13.1": + version: 2.14.0 + resolution: "is-core-module@npm:2.14.0" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10/1e0d1a16cb3a94746f6a28db09ccab4562860c94c74bacedb3a6729736d61cfb97001d2052f9622637aa7ea8e0643a3f0f4f16965c70ba6ce30a8ccfe8074af8 + languageName: node + linkType: hard + +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.8.1": version: 2.13.1 resolution: "is-core-module@npm:2.13.1" dependencies: @@ -6119,7 +6398,7 @@ __metadata: languageName: node linkType: hard -"is-date-object@npm:^1.0.1": +"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": version: 1.0.5 resolution: "is-date-object@npm:1.0.5" dependencies: @@ -6151,6 +6430,15 @@ __metadata: languageName: node linkType: hard +"is-finalizationregistry@npm:^1.0.2": + version: 1.0.2 + resolution: "is-finalizationregistry@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.2" + checksum: 10/1b8e9e1bf2075e862315ef9d38ce6d39c43ca9d81d46f73b34473506992f4b0fbaadb47ec9b420a5e76afe3f564d9f1f0d9b552ef272cc2395e0f21d743c9c29 + languageName: node + linkType: hard + "is-fullwidth-code-point@npm:^2.0.0": version: 2.0.0 resolution: "is-fullwidth-code-point@npm:2.0.0" @@ -6165,6 +6453,15 @@ __metadata: languageName: node linkType: hard +"is-generator-function@npm:^1.0.10": + version: 1.0.10 + resolution: "is-generator-function@npm:1.0.10" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: 10/499a3ce6361064c3bd27fbff5c8000212d48506ebe1977842bbd7b3e708832d0deb1f4cc69186ece3640770e8c4f1287b24d99588a0b8058b2dbdd344bc1f47f + languageName: node + linkType: hard + "is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" @@ -6188,6 +6485,13 @@ __metadata: languageName: node linkType: hard +"is-map@npm:^2.0.3": + version: 2.0.3 + resolution: "is-map@npm:2.0.3" + checksum: 10/8de7b41715b08bcb0e5edb0fb9384b80d2d5bcd10e142188f33247d19ff078abaf8e9b6f858e2302d8d05376a26a55cd23a3c9f8ab93292b02fcd2cc9e4e92bb + languageName: node + linkType: hard + "is-negative-zero@npm:^2.0.3": version: 2.0.3 resolution: "is-negative-zero@npm:2.0.3" @@ -6251,6 +6555,13 @@ __metadata: languageName: node linkType: hard +"is-set@npm:^2.0.3": + version: 2.0.3 + resolution: "is-set@npm:2.0.3" + checksum: 10/5685df33f0a4a6098a98c72d94d67cad81b2bc72f1fb2091f3d9283c4a1c582123cd709145b02a9745f0ce6b41e3e43f1c944496d1d74d4ea43358be61308669 + languageName: node + linkType: hard + "is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.3": version: 1.0.3 resolution: "is-shared-array-buffer@npm:1.0.3" @@ -6324,6 +6635,13 @@ __metadata: languageName: node linkType: hard +"is-weakmap@npm:^2.0.2": + version: 2.0.2 + resolution: "is-weakmap@npm:2.0.2" + checksum: 10/a7b7e23206c542dcf2fa0abc483142731788771527e90e7e24f658c0833a0d91948a4f7b30d78f7a65255a48512e41a0288b778ba7fc396137515c12e201fd11 + languageName: node + linkType: hard + "is-weakref@npm:^1.0.2": version: 1.0.2 resolution: "is-weakref@npm:1.0.2" @@ -6333,6 +6651,16 @@ __metadata: languageName: node linkType: hard +"is-weakset@npm:^2.0.3": + version: 2.0.3 + resolution: "is-weakset@npm:2.0.3" + dependencies: + call-bind: "npm:^1.0.7" + get-intrinsic: "npm:^1.2.4" + checksum: 10/40159582ff1b44fc40085f631baf19f56479b05af2faede65b4e6a0b6acab745c13fd070e35b475aafd8a1ee50879ba5a3f1265125b46bebdb446b6be1f62165 + languageName: node + linkType: hard + "is-wsl@npm:^1.1.0": version: 1.1.0 resolution: "is-wsl@npm:1.1.0" @@ -6397,6 +6725,19 @@ __metadata: languageName: node linkType: hard +"iterator.prototype@npm:^1.1.2": + version: 1.1.2 + resolution: "iterator.prototype@npm:1.1.2" + dependencies: + define-properties: "npm:^1.2.1" + get-intrinsic: "npm:^1.2.1" + has-symbols: "npm:^1.0.3" + reflect.getprototypeof: "npm:^1.0.4" + set-function-name: "npm:^2.0.1" + checksum: 10/b5013967ad8f28c9ca1be8e159eb10f591b8e46deae87476fe39d668c04374fe9158c815e8b6d2f45885b0a3fd842a8ba13f497ec762b3a0eff49bec278670b1 + languageName: node + linkType: hard + "jackspeak@npm:^2.3.6": version: 2.3.6 resolution: "jackspeak@npm:2.3.6" @@ -6758,6 +7099,18 @@ __metadata: languageName: node linkType: hard +"jsx-ast-utils@npm:^2.4.1 || ^3.0.0": + version: 3.3.5 + resolution: "jsx-ast-utils@npm:3.3.5" + dependencies: + array-includes: "npm:^3.1.6" + array.prototype.flat: "npm:^1.3.1" + object.assign: "npm:^4.1.4" + object.values: "npm:^1.1.6" + checksum: 10/b61d44613687dfe4cc8ad4b4fbf3711bf26c60b8d5ed1f494d723e0808415c59b24a7c0ed8ab10736a40ff84eef38cbbfb68b395e05d31117b44ffc59d31edfc + languageName: node + linkType: hard + "just-diff-apply@npm:^5.2.0": version: 5.5.0 resolution: "just-diff-apply@npm:5.5.0" @@ -6779,7 +7132,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.3": +"keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -7127,7 +7480,7 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0": +"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" dependencies: @@ -8237,7 +8590,7 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.5": +"object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": version: 4.1.5 resolution: "object.assign@npm:4.1.5" dependencies: @@ -8249,7 +8602,18 @@ __metadata: languageName: node linkType: hard -"object.fromentries@npm:^2.0.7": +"object.entries@npm:^1.1.8": + version: 1.1.8 + resolution: "object.entries@npm:1.1.8" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10/2301918fbd1ee697cf6ff7cd94f060c738c0a7d92b22fd24c7c250e9b593642c9707ad2c44d339303c1439c5967d8964251cdfc855f7f6ec55db2dd79e8dc2a7 + languageName: node + linkType: hard + +"object.fromentries@npm:^2.0.7, object.fromentries@npm:^2.0.8": version: 2.0.8 resolution: "object.fromentries@npm:2.0.8" dependencies: @@ -8272,7 +8636,18 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.7": +"object.hasown@npm:^1.1.4": + version: 1.1.4 + resolution: "object.hasown@npm:1.1.4" + dependencies: + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-object-atoms: "npm:^1.0.0" + checksum: 10/797385577b3ef3c0d19333e03ed34bc7987978ae1ee1245069c9922e17d1128265187f729dc610260d03f8d418af26fcd7919b423793bf0af9099d9f08367d69 + languageName: node + linkType: hard + +"object.values@npm:^1.1.6, object.values@npm:^1.1.7, object.values@npm:^1.2.0": version: 1.2.0 resolution: "object.values@npm:1.2.0" dependencies: @@ -8583,6 +8958,16 @@ __metadata: languageName: node linkType: hard +"parse-imports@npm:^2.1.0": + version: 2.1.0 + resolution: "parse-imports@npm:2.1.0" + dependencies: + es-module-lexer: "npm:^1.5.3" + slashes: "npm:^3.0.12" + checksum: 10/2b4210c6af5309cc8e4f5d7f8eb8c628b2df690e456d4a686d3b618d7ca165e6b13ac9f64dfabc714e0d3bcefff70a0e771cdadc7fd6873e62d70c13d246e7d1 + languageName: node + linkType: hard + "parse-json@npm:^4.0.0": version: 4.0.0 resolution: "parse-json@npm:4.0.0" @@ -8746,6 +9131,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10/ce617b8da36797d09c0baacb96ca8a44460452c89362d7cb8f70ca46b4158ba8bc3606912de7c818eb4a939f7f9015cef3c766ec8a0c6bfc725fdc078e39c717 + languageName: node + linkType: hard + "pify@npm:^3.0.0": version: 3.0.0 resolution: "pify@npm:3.0.0" @@ -8929,6 +9321,17 @@ __metadata: languageName: node linkType: hard +"prop-types@npm:^15.8.1": + version: 15.8.1 + resolution: "prop-types@npm:15.8.1" + dependencies: + loose-envify: "npm:^1.4.0" + object-assign: "npm:^4.1.1" + react-is: "npm:^16.13.1" + checksum: 10/7d959caec002bc964c86cdc461ec93108b27337dabe6192fb97d69e16a0c799a03462713868b40749bfc1caf5f57ef80ac3e4ffad3effa636ee667582a75e2c0 + languageName: node + linkType: hard + "proto-list@npm:~1.2.1": version: 1.2.4 resolution: "proto-list@npm:1.2.4" @@ -8975,6 +9378,13 @@ __metadata: languageName: node linkType: hard +"quote@npm:0.4.0": + version: 0.4.0 + resolution: "quote@npm:0.4.0" + checksum: 10/862ced698117042603ca51e9fb7783108fbd043b6b8e5db497d207a2f18cd7980dd7554643fe5a2b7ed82c80b272155856e73f482531abb7bd2731a803985f6f + languageName: node + linkType: hard + "randombytes@npm:^2.1.0": version: 2.1.0 resolution: "randombytes@npm:2.1.0" @@ -9022,6 +9432,13 @@ __metadata: languageName: node linkType: hard +"react-is@npm:^16.13.1": + version: 16.13.1 + resolution: "react-is@npm:16.13.1" + checksum: 10/5aa564a1cde7d391ac980bedee21202fc90bdea3b399952117f54fb71a932af1e5902020144fb354b4690b2414a0c7aafe798eb617b76a3d441d956db7726fdf + languageName: node + linkType: hard + "react-is@npm:^17.0.1": version: 17.0.2 resolution: "react-is@npm:17.0.2" @@ -9049,26 +9466,33 @@ __metadata: "@assertive-ts/core": "npm:^2.1.0" "@babel/core": "npm:^7.24.4" "@babel/register": "npm:^7.23.7" + "@eslint/compat": "npm:^1.1.0" + "@eslint/eslintrc": "npm:^3.1.0" + "@eslint/js": "npm:^9.5.0" "@react-native/babel-preset": "npm:^0.74.81" + "@stylistic/eslint-plugin": "npm:^2.2.2" "@testing-library/react-native": "npm:^12.4.5" "@types/babel__core": "npm:^7.20.5" "@types/babel__register": "npm:^7.17.3" - "@types/eslint": "npm:^8.56.10" + "@types/eslint__eslintrc": "npm:^2.1.1" + "@types/eslint__js": "npm:^8.42.3" "@types/mocha": "npm:^10.0.6" "@types/node": "npm:^20.12.7" "@types/react": "npm:^18.3.1" "@types/react-test-renderer": "npm:^18.3.0" "@types/sinon": "npm:^17.0.3" - "@typescript-eslint/eslint-plugin": "npm:^7.7.1" - "@typescript-eslint/parser": "npm:^7.7.1" babel-plugin-module-resolver: "npm:^5.0.2" dot-prop-immutable: "npm:^2.1.1" - eslint: "npm:^8.57.0" + eslint: "npm:^9.5.0" eslint-import-resolver-typescript: "npm:^3.6.1" + eslint-plugin-deprecation: "npm:^3.0.0" eslint-plugin-etc: "npm:^2.0.3" + eslint-plugin-extra-rules: "npm:^0.0.0-development" eslint-plugin-import: "npm:^2.29.1" - eslint-plugin-jsdoc: "npm:^48.2.3" - eslint-plugin-sonarjs: "npm:^0.25.1" + eslint-plugin-jsdoc: "npm:^48.4.0" + eslint-plugin-react: "npm:^7.34.3" + eslint-plugin-sonarjs: "npm:^1.0.3" + globals: "npm:^15.6.0" mocha: "npm:^10.4.0" react: "npm:18.3.1" react-native: "npm:^0.74.0" @@ -9081,6 +9505,7 @@ __metadata: ts-pattern: "npm:^5.1.1" tslib: "npm:^2.6.2" typescript: "npm:^5.4.5" + typescript-eslint: "npm:^7.14.1" peerDependencies: "@react-native/babel-preset": ">=0.73.18" react: ">=18.2.0" @@ -9338,6 +9763,21 @@ __metadata: languageName: node linkType: hard +"reflect.getprototypeof@npm:^1.0.4": + version: 1.0.6 + resolution: "reflect.getprototypeof@npm:1.0.6" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.1" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.4" + globalthis: "npm:^1.0.3" + which-builtin-type: "npm:^1.1.3" + checksum: 10/518f6457e4bb470c9b317d239c62d4b4a05678b7eae4f1c3f4332fad379b3ea6d2d8999bfad448547fdba8fb77e4725cfe8c6440d0168ff387f16b4f19f759ad + languageName: node + linkType: hard + "regenerate-unicode-properties@npm:^10.1.0": version: 10.1.1 resolution: "regenerate-unicode-properties@npm:10.1.1" @@ -9483,6 +9923,19 @@ __metadata: languageName: node linkType: hard +"resolve@npm:^2.0.0-next.5": + version: 2.0.0-next.5 + resolution: "resolve@npm:2.0.0-next.5" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10/2d6fd28699f901744368e6f2032b4268b4c7b9185fd8beb64f68c93ac6b22e52ae13560ceefc96241a665b985edf9ffd393ae26d2946a7d3a07b7007b7d51e79 + languageName: node + linkType: hard + "resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" @@ -9496,6 +9949,19 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@npm%3A^2.0.0-next.5#optional!builtin": + version: 2.0.0-next.5 + resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin::version=2.0.0-next.5&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10/05fa778de9d0347c8b889eb7a18f1f06bf0f801b0eb4610b4871a4b2f22e220900cf0ad525e94f990bb8d8921c07754ab2122c0c225ab4cdcea98f36e64fa4c2 + languageName: node + linkType: hard + "restore-cursor@npm:^3.1.0": version: 3.1.0 resolution: "restore-cursor@npm:3.1.0" @@ -9727,6 +10193,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.6.2": + version: 7.6.2 + resolution: "semver@npm:7.6.2" + bin: + semver: bin/semver.js + checksum: 10/296b17d027f57a87ef645e9c725bff4865a38dfc9caf29b26aa084b85820972fbe7372caea1ba6857162fa990702c6d9c1d82297cecb72d56c78ab29070d2ca2 + languageName: node + linkType: hard + "send@npm:0.18.0": version: 0.18.0 resolution: "send@npm:0.18.0" @@ -9797,7 +10272,7 @@ __metadata: languageName: node linkType: hard -"set-function-name@npm:^2.0.1": +"set-function-name@npm:^2.0.1, set-function-name@npm:^2.0.2": version: 2.0.2 resolution: "set-function-name@npm:2.0.2" dependencies: @@ -9848,7 +10323,7 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.4": +"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": version: 1.0.6 resolution: "side-channel@npm:1.0.6" dependencies: @@ -9943,6 +10418,13 @@ __metadata: languageName: node linkType: hard +"slashes@npm:^3.0.12": + version: 3.0.12 + resolution: "slashes@npm:3.0.12" + checksum: 10/c221d73765013db64f3eaf49dacc6b99a5d5477e63720c1bb71d1af647965dda23ab100ca1eb622e080f11ffe68e1e0a233b7b908073260bed4ec819ff1d3e42 + languageName: node + linkType: hard + "slice-ansi@npm:^2.0.0": version: 2.1.0 resolution: "slice-ansi@npm:2.1.0" @@ -10174,6 +10656,26 @@ __metadata: languageName: node linkType: hard +"string.prototype.matchall@npm:^4.0.11": + version: 4.0.11 + resolution: "string.prototype.matchall@npm:4.0.11" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.2" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.4" + gopd: "npm:^1.0.1" + has-symbols: "npm:^1.0.3" + internal-slot: "npm:^1.0.7" + regexp.prototype.flags: "npm:^1.5.2" + set-function-name: "npm:^2.0.2" + side-channel: "npm:^1.0.6" + checksum: 10/a902ff4500f909f2a08e55cc5ab1ffbbc905f603b36837674370ee3921058edd0392147e15891910db62a2f31ace2adaf065eaa3bc6e9810bdbc8ca48e05a7b5 + languageName: node + linkType: hard + "string.prototype.trim@npm:^1.2.9": version: 1.2.9 resolution: "string.prototype.trim@npm:1.2.9" @@ -10372,6 +10874,16 @@ __metadata: languageName: node linkType: hard +"synckit@npm:^0.9.0": + version: 0.9.0 + resolution: "synckit@npm:0.9.0" + dependencies: + "@pkgr/core": "npm:^0.1.0" + tslib: "npm:^2.6.2" + checksum: 10/e93f3f5ee43fa71d3bb2a345049642d9034f34fa9528706b5ef26e825335ca5446143c56c2b041810afe26aa6e343583ff08525f5530618a4707375270f87be1 + languageName: node + linkType: hard + "tapable@npm:^2.2.0": version: 2.2.1 resolution: "tapable@npm:2.2.1" @@ -10642,7 +11154,14 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.6.2": +"tslib@npm:^2.0.0, tslib@npm:^2.3.1": + version: 2.6.3 + resolution: "tslib@npm:2.6.3" + checksum: 10/52109bb681f8133a2e58142f11a50e05476de4f075ca906d13b596ae5f7f12d30c482feb0bff167ae01cfc84c5803e575a307d47938999246f5a49d174fc558c + languageName: node + linkType: hard + +"tslib@npm:^2.0.1, tslib@npm:^2.6.2": version: 2.6.2 resolution: "tslib@npm:2.6.2" checksum: 10/bd26c22d36736513980091a1e356378e8b662ded04204453d353a7f34a4c21ed0afc59b5f90719d4ba756e581a162ecbf93118dc9c6be5acf70aa309188166ca @@ -10703,13 +11222,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10/8907e16284b2d6cfa4f4817e93520121941baba36b39219ea36acfe64c86b9dbc10c9941af450bd60832c8f43464974d51c0957f9858bc66b952b66b6914cbb9 - languageName: node - linkType: hard - "type-fest@npm:^0.7.1": version: 0.7.1 resolution: "type-fest@npm:0.7.1" @@ -10811,6 +11323,22 @@ __metadata: languageName: node linkType: hard +"typescript-eslint@npm:^7.14.1": + version: 7.14.1 + resolution: "typescript-eslint@npm:7.14.1" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:7.14.1" + "@typescript-eslint/parser": "npm:7.14.1" + "@typescript-eslint/utils": "npm:7.14.1" + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10/f017459ca6877e301f74d0bb6efadee354d10e3a1520f902a5ff1959566d0e400ab7ea2008f78f7694d4ce69f4c502138ae78c24442423361725d4373d675720 + languageName: node + linkType: hard + "typescript@npm:^5.4.5": version: 5.4.5 resolution: "typescript@npm:5.4.5" @@ -11105,6 +11633,38 @@ __metadata: languageName: node linkType: hard +"which-builtin-type@npm:^1.1.3": + version: 1.1.3 + resolution: "which-builtin-type@npm:1.1.3" + dependencies: + function.prototype.name: "npm:^1.1.5" + has-tostringtag: "npm:^1.0.0" + is-async-function: "npm:^2.0.0" + is-date-object: "npm:^1.0.5" + is-finalizationregistry: "npm:^1.0.2" + is-generator-function: "npm:^1.0.10" + is-regex: "npm:^1.1.4" + is-weakref: "npm:^1.0.2" + isarray: "npm:^2.0.5" + which-boxed-primitive: "npm:^1.0.2" + which-collection: "npm:^1.0.1" + which-typed-array: "npm:^1.1.9" + checksum: 10/d7823c4a6aa4fc8183eb572edd9f9ee2751e5f3ba2ccd5b298cc163f720df0f02ee1a5291d18ca8a41d48144ef40007ff6a64e6f5e7c506527086c7513a5f673 + languageName: node + linkType: hard + +"which-collection@npm:^1.0.1": + version: 1.0.2 + resolution: "which-collection@npm:1.0.2" + dependencies: + is-map: "npm:^2.0.3" + is-set: "npm:^2.0.3" + is-weakmap: "npm:^2.0.2" + is-weakset: "npm:^2.0.3" + checksum: 10/674bf659b9bcfe4055f08634b48a8588e879161b9fefed57e9ec4ff5601e4d50a05ccd76cf10f698ef5873784e5df3223336d56c7ce88e13bcf52ebe582fc8d7 + languageName: node + linkType: hard + "which-module@npm:^2.0.0": version: 2.0.1 resolution: "which-module@npm:2.0.1" @@ -11112,7 +11672,7 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15": +"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.9": version: 1.1.15 resolution: "which-typed-array@npm:1.1.15" dependencies: