diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 80845b2e..00000000 --- a/.eslintrc.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "root": true, - "extends": ["prettier"], - "plugins": ["prettier"], - "ignorePatterns": ["node_modules/", "lib/"] -} diff --git a/apps/RNApp/.eslintrc.json b/apps/RNApp/.eslintrc.json deleted file mode 100644 index 8a2697f7..00000000 --- a/apps/RNApp/.eslintrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": ["@react-native", "prettier"], - "plugins": ["prettier"], - "ignorePatterns": ["node_modules/", "lib/"] -} diff --git a/apps/RNApp/eslint.config.mjs b/apps/RNApp/eslint.config.mjs new file mode 100644 index 00000000..79e239c3 --- /dev/null +++ b/apps/RNApp/eslint.config.mjs @@ -0,0 +1,4 @@ +import eslintRnConfig from '../../eslint.config.rn.mjs'; + +/** @type {import('eslint').Linter.Config[]} */ +export default eslintRnConfig; diff --git a/apps/RNApp/metro.config.js b/apps/RNApp/metro.config.js index b9e6d9b0..34c189c0 100644 --- a/apps/RNApp/metro.config.js +++ b/apps/RNApp/metro.config.js @@ -1,5 +1,5 @@ +const path = require('node:path'); const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config'); -const path = require('path'); const root = path.resolve(__dirname, '..', '..'); diff --git a/apps/RNApp/package.json b/apps/RNApp/package.json index 5b7dfa5b..df96d5cb 100644 --- a/apps/RNApp/package.json +++ b/apps/RNApp/package.json @@ -40,7 +40,9 @@ "@types/jest": "^29.5.13", "@types/react": "^19.1.1", "@types/react-test-renderer": "^19.1.0", - "eslint": "^8.19.0", + "eslint": "^9.28.0", + "globals": "^16.2.0", + "import": "^0.0.6", "jest": "^29.6.3", "prettier": "2.8.8", "react-native-safe-area-context": "^5.3.0", diff --git a/apps/RNApp/react-native.config.js b/apps/RNApp/react-native.config.js index 2bd672a2..7bb80541 100644 --- a/apps/RNApp/react-native.config.js +++ b/apps/RNApp/react-native.config.js @@ -1,4 +1,4 @@ -const path = require('path'); +const path = require('node:path'); const pkg = require('../../packages/react-native-brownfield/package.json'); module.exports = { diff --git a/apps/TesterIntegrated/App.tsx b/apps/TesterIntegrated/App.tsx index 9f42ef60..ad28e287 100644 --- a/apps/TesterIntegrated/App.tsx +++ b/apps/TesterIntegrated/App.tsx @@ -1,13 +1,14 @@ +import { useStore } from '@callstack/brownie'; import { useEffect } from 'react'; +import './BrownfieldStore.brownie'; import { StyleSheet, Text, View, Button, TextInput } from 'react-native'; -import { useStore } from '@callstack/brownie'; + import { createNativeStackNavigator, type NativeStackScreenProps, } from '@react-navigation/native-stack'; import ReactNativeBrownfield from '@callstack/react-native-brownfield'; import { NavigationContainer } from '@react-navigation/native'; -import './BrownfieldStore.brownie'; const getRandomValue = () => Math.round(Math.random() * 255); const getRandomTheme = () => { diff --git a/apps/TesterIntegrated/eslint.config.mjs b/apps/TesterIntegrated/eslint.config.mjs new file mode 100644 index 00000000..79e239c3 --- /dev/null +++ b/apps/TesterIntegrated/eslint.config.mjs @@ -0,0 +1,4 @@ +import eslintRnConfig from '../../eslint.config.rn.mjs'; + +/** @type {import('eslint').Linter.Config[]} */ +export default eslintRnConfig; diff --git a/apps/TesterIntegrated/metro.config.cjs b/apps/TesterIntegrated/metro.config.cjs index c9a76af0..10bb94e4 100644 --- a/apps/TesterIntegrated/metro.config.cjs +++ b/apps/TesterIntegrated/metro.config.cjs @@ -1,4 +1,4 @@ -const path = require('path'); +const path = require('node:path'); const { getDefaultConfig } = require('@react-native/metro-config'); // Import from `@expo/metro-config` if using Expo CLI const { withMetroConfig } = require('react-native-monorepo-config'); diff --git a/apps/TesterIntegrated/package.json b/apps/TesterIntegrated/package.json index c41309a6..b2897f71 100644 --- a/apps/TesterIntegrated/package.json +++ b/apps/TesterIntegrated/package.json @@ -6,7 +6,8 @@ "start": "react-native start", "build:tester-integrated:android": "cd kotlin && ./gradlew assembleDebug", "build:tester-integrated:ios": "cd swift && xcodebuild -workspace SwiftExample.xcworkspace -scheme SwiftExample -configuration Release -sdk iphonesimulator build CODE_SIGNING_ALLOWED=NO -derivedDataPath ./build", - "brownfield:codegen": "brownfield codegen" + "brownfield:codegen": "brownfield codegen", + "lint": "eslint ." }, "dependencies": { "@callstack/brownie": "*", @@ -30,6 +31,7 @@ "@react-native/metro-config": "0.82.1", "@react-native/typescript-config": "0.82.1", "@types/react": "^19.1.1", + "eslint": "^9.28.0", "react-native-monorepo-config": "^0.3.1" }, "engines": { diff --git a/apps/TesterIntegrated/react-native.config.js b/apps/TesterIntegrated/react-native.config.js index 434aed3d..4ff2f985 100644 --- a/apps/TesterIntegrated/react-native.config.js +++ b/apps/TesterIntegrated/react-native.config.js @@ -1,4 +1,4 @@ -const path = require('path'); +const path = require('node:path'); const brownfieldPkg = require('../../packages/react-native-brownfield/package.json'); const browniePkg = require('../../packages/brownie/package.json'); diff --git a/eslint.config.base.mjs b/eslint.config.base.mjs new file mode 100644 index 00000000..2e41ac5d --- /dev/null +++ b/eslint.config.base.mjs @@ -0,0 +1,42 @@ +import prettier from 'eslint-plugin-prettier'; +import eslintConfigPrettier from 'eslint-config-prettier'; +import eslintPluginNodeImport from 'eslint-plugin-node-import'; + +/** + * ESLint base configuration shared for other re-usable configs + * @type {import('eslint').Linter.Config[]} + */ +export default [ + { + ignores: [ + '**/node_modules/**', + '**/lib/**', + '**/dist/**', + '**/build/**', + '**/.turbo/**', + '**/.cxx/**', + '**/Pods/**', + ], + }, + + // below: prettier integration + eslintConfigPrettier, + { + plugins: { + prettier, + }, + rules: { + 'prettier/prettier': 'error', + }, + }, + + // below: enforce importing of built-in Node.js modules with the 'node:' prefix + { + plugins: { + 'node-import': eslintPluginNodeImport, + }, + rules: { + 'node-import/prefer-node-protocol': 'error', + }, + }, +]; diff --git a/eslint.config.rn.mjs b/eslint.config.rn.mjs new file mode 100644 index 00000000..e5f2ff7e --- /dev/null +++ b/eslint.config.rn.mjs @@ -0,0 +1,28 @@ +import globals from 'globals'; +import { fixupConfigRules } from '@eslint/compat'; +import { FlatCompat } from '@eslint/eslintrc'; + +import baseEslintConfig from './eslint.config.base.mjs'; + +const flatCompat = new FlatCompat(); + +/** + * ESLint configuration for React Native packages in the monorepo + * @type {import('eslint').Linter.Config[]} + */ +export default [ + ...fixupConfigRules(flatCompat.extends('@react-native/eslint-config')), + ...baseEslintConfig, + { + languageOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + globals: { + ...globals.node, + }, + }, + rules: { + '@typescript-eslint/no-require-imports': 'off', + }, + }, +]; diff --git a/eslint.config.ts.mjs b/eslint.config.ts.mjs new file mode 100644 index 00000000..1b560707 --- /dev/null +++ b/eslint.config.ts.mjs @@ -0,0 +1,25 @@ +import tseslint from 'typescript-eslint'; + +import baseEslintConfig from './eslint.config.base.mjs'; + +/** + * ESLint configuration for JS/TS packages in the monorepo + * @type {import('eslint').Linter.Config[]} + */ +export default [ + ...baseEslintConfig, + + // below: tseslint integration + ...tseslint.configs.recommended, + { + rules: { + '@typescript-eslint/no-empty-object-type': [ + 'error', + { + allowInterfaces: 'always', + }, + ], + '@typescript-eslint/no-explicit-any': 'warn', + }, + }, +]; diff --git a/package.json b/package.json index a1353a00..3e753d8b 100644 --- a/package.json +++ b/package.json @@ -39,15 +39,21 @@ "devDependencies": { "@commitlint/cli": "^20.1.0", "@commitlint/config-conventional": "^20.0.0", - "@react-native/eslint-config": "0.82.1", + "@eslint/compat": "^2.0.1", + "@react-native/eslint-config": "^0.83.1", "babel-plugin-module-resolver": "5.0.2", - "eslint": "^8.57.1", + "eslint": "^9.28.0", "eslint-config-prettier": "^10.1.8", - "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-node-import": "^1.0.5", + "eslint-plugin-prettier": "^5.4.0", + "eslint-plugin-react": "^7.37.5", + "eslint-plugin-react-hooks": "^5.2.0", + "globals": "^16.2.0", "lefthook": "^2.0.3", "prettier": "^3.5.3", "turbo": "^2.7.3", - "typescript": "5.8.3" + "typescript": "5.8.3", + "typescript-eslint": "^8.53.0" }, "commitlint": { "extends": [ diff --git a/packages/brownie/.eslintrc.json b/packages/brownie/.eslintrc.json deleted file mode 100644 index 14be03db..00000000 --- a/packages/brownie/.eslintrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": ["@react-native", "prettier"], - "plugins": ["prettier"], - "ignorePatterns": ["dist/"] -} diff --git a/packages/brownie/eslint.config.mjs b/packages/brownie/eslint.config.mjs new file mode 100644 index 00000000..79e239c3 --- /dev/null +++ b/packages/brownie/eslint.config.mjs @@ -0,0 +1,4 @@ +import eslintRnConfig from '../../eslint.config.rn.mjs'; + +/** @type {import('eslint').Linter.Config[]} */ +export default eslintRnConfig; diff --git a/packages/brownie/package.json b/packages/brownie/package.json index b59aeeb4..b3353cec 100644 --- a/packages/brownie/package.json +++ b/packages/brownie/package.json @@ -28,7 +28,7 @@ "./package.json": "./package.json" }, "scripts": { - "lint": "eslint \"**/*.{js,ts,tsx}\"", + "lint": "eslint .", "typecheck": "tsc --noEmit", "build": "bob build", "dev": "nodemon --watch src --ext js,ts,json --exec \"bob build\"" @@ -72,10 +72,11 @@ "@babel/preset-typescript": "^7.27.1", "@babel/runtime": "^7.25.0", "@react-native/babel-preset": "0.82.1", - "@react-native/eslint-config": "0.82.1", "@types/node": "^22.0.0", "@types/react": "^19.1.1", - "eslint": "^8.57.1", + "eslint": "^9.28.0", + "globals": "^16.2.0", + "import": "^0.0.6", "nodemon": "^3.1.11", "react": "19.1.1", "react-native": "0.82.1", diff --git a/packages/brownie/src/index.ts b/packages/brownie/src/index.ts index 3906a6d6..01865ff4 100644 --- a/packages/brownie/src/index.ts +++ b/packages/brownie/src/index.ts @@ -11,16 +11,18 @@ export interface BrownieStore {} type StoreListener = () => void; +type HostObject = any; + interface StoreCache { - hostObject: any; + hostObject: HostObject; snapshot: Record; listeners: Set; } const stores = new Map(); -function getHostObject(key: string): any { - // @ts-ignore +function getHostObject(key: string): HostObject { + // @ts-expect-error - untyped global prop set by BrownieInstaller.cpp return global.__getStore?.(key); } diff --git a/packages/cli/.eslintrc.json b/packages/cli/.eslintrc.json deleted file mode 100644 index 14be03db..00000000 --- a/packages/cli/.eslintrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": ["@react-native", "prettier"], - "plugins": ["prettier"], - "ignorePatterns": ["dist/"] -} diff --git a/packages/cli/eslint.config.mjs b/packages/cli/eslint.config.mjs new file mode 100644 index 00000000..237c6515 --- /dev/null +++ b/packages/cli/eslint.config.mjs @@ -0,0 +1,4 @@ +import eslintBaseConfig from '../../eslint.config.base.mjs'; + +/** @type {import('eslint').Linter.Config[]} */ +export default eslintBaseConfig; diff --git a/packages/cli/package.json b/packages/cli/package.json index 34ed0d62..d65525ea 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -20,7 +20,7 @@ "./package.json": "./package.json" }, "scripts": { - "lint": "eslint \"**/*.{js,ts,tsx}\"", + "lint": "eslint .", "typecheck": "tsc --noEmit", "build": "tsc -p tsconfig.json", "dev": "tsc -p tsconfig.json --watch", @@ -68,13 +68,13 @@ "@babel/preset-typescript": "^7.28.5", "@react-native-community/cli-types": "^20.0.0", "@react-native/babel-preset": "0.82.1", - "@react-native/eslint-config": "0.82.1", "@types/babel__core": "^7", "@types/babel__preset-env": "^7", "@types/lodash.clonedeep": "^4.5.9", "@types/node": "^25.0.3", "@vitest/coverage-v8": "^4.0.17", - "eslint": "^8.57.1", + "eslint": "^9.28.0", + "globals": "^16.2.0", "nodemon": "^3.1.11", "typescript": "5.8.3", "vitest": "^4.0.17" diff --git a/packages/cli/src/brownfield/commands/packageAndroid.ts b/packages/cli/src/brownfield/commands/packageAndroid.ts index 068db393..b3153dea 100644 --- a/packages/cli/src/brownfield/commands/packageAndroid.ts +++ b/packages/cli/src/brownfield/commands/packageAndroid.ts @@ -1,17 +1,17 @@ -import { packageAarAction } from '@rock-js/plugin-brownfield-android'; +import { Command } from 'commander'; + import { - packageAarOptions, type PackageAarFlags, + packageAarOptions, } from '@rock-js/platform-android'; +import { packageAarAction } from '@rock-js/plugin-brownfield-android'; -import { Command } from 'commander'; - -import { getProjectInfo } from '../utils/index.js'; import { + ExampleUsage, actionRunner, curryOptions, - ExampleUsage, } from '../../shared/index.js'; +import { getProjectInfo } from '../utils/index.js'; export const packageAndroidCommand = curryOptions( new Command('package:android').description('Build Android AAR'), diff --git a/packages/cli/src/brownie/__tests__/commands/codegen.test.ts b/packages/cli/src/brownie/__tests__/commands/codegen.test.ts index 65da1434..cce119e4 100644 --- a/packages/cli/src/brownie/__tests__/commands/codegen.test.ts +++ b/packages/cli/src/brownie/__tests__/commands/codegen.test.ts @@ -1,12 +1,12 @@ -import fs from 'fs'; -import path from 'path'; -import { fileURLToPath } from 'url'; +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; import { describe, it, expect, beforeEach, afterEach, vi, Mock } from 'vitest'; +import * as rockTools from '@rock-js/tools'; import { runCodegen } from '../../commands/codegen.js'; import * as swiftGenerator from '../../generators/swift.js'; import * as kotlinGenerator from '../../generators/kotlin.js'; import * as storeDiscovery from '../../store-discovery.js'; -import * as rockTools from '@rock-js/tools'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); const FIXTURES_DIR = path.join(__dirname, '../../__fixtures__'); diff --git a/packages/cli/src/brownie/__tests__/config.test.ts b/packages/cli/src/brownie/__tests__/config.test.ts index 1c5bc93d..74740abb 100644 --- a/packages/cli/src/brownie/__tests__/config.test.ts +++ b/packages/cli/src/brownie/__tests__/config.test.ts @@ -1,7 +1,8 @@ +import { fileURLToPath } from 'node:url'; import fs from 'node:fs'; import path from 'node:path'; -import { fileURLToPath } from 'node:url'; -import { describe, it, expect, afterEach, vi } from 'vitest'; + +import { afterEach, describe, expect, it, vi } from 'vitest'; import { loadConfig } from '../config.js'; diff --git a/packages/cli/src/brownie/__tests__/store-discovery.test.ts b/packages/cli/src/brownie/__tests__/store-discovery.test.ts index cdc6bac7..e943ce7b 100644 --- a/packages/cli/src/brownie/__tests__/store-discovery.test.ts +++ b/packages/cli/src/brownie/__tests__/store-discovery.test.ts @@ -1,6 +1,6 @@ -import fs from 'fs'; -import path from 'path'; -import { fileURLToPath } from 'url'; +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; import { describe, it, expect, afterEach } from 'vitest'; import { discoverStores } from '../store-discovery.js'; diff --git a/packages/cli/src/brownie/commands/codegen.ts b/packages/cli/src/brownie/commands/codegen.ts index af2cfbc9..f5a73a8c 100644 --- a/packages/cli/src/brownie/commands/codegen.ts +++ b/packages/cli/src/brownie/commands/codegen.ts @@ -3,14 +3,14 @@ import { styleText } from 'node:util'; import { Command, Option } from 'commander'; +import { intro, logger, outro } from '@rock-js/tools'; +import { QuickTypeError } from 'quicktype-core'; import { actionRunner } from '../../shared/index.js'; import { loadConfig, type BrownieConfig } from '../config.js'; import { generateSwift } from '../generators/swift.js'; import { generateKotlin } from '../generators/kotlin.js'; import { discoverStores, type DiscoveredStore } from '../store-discovery.js'; import { Platform } from '../types.js'; -import { intro, logger, outro } from '@rock-js/tools'; -import { QuickTypeError } from 'quicktype-core'; function getOutputPath(dir: string, name: string, ext: string): string { return path.join(dir, `${name}.${ext}`); diff --git a/packages/cli/src/brownie/config.ts b/packages/cli/src/brownie/config.ts index 47527d8d..5a77459d 100644 --- a/packages/cli/src/brownie/config.ts +++ b/packages/cli/src/brownie/config.ts @@ -1,5 +1,5 @@ -import fs from 'fs'; -import path from 'path'; +import fs from 'node:fs'; +import path from 'node:path'; export interface BrownieConfig { swift?: string; diff --git a/packages/cli/src/brownie/generators/kotlin.ts b/packages/cli/src/brownie/generators/kotlin.ts index 618a5637..0bf7c482 100644 --- a/packages/cli/src/brownie/generators/kotlin.ts +++ b/packages/cli/src/brownie/generators/kotlin.ts @@ -1,5 +1,5 @@ -import fs from 'fs'; -import path from 'path'; +import fs from 'node:fs'; +import path from 'node:path'; import { quicktype, InputData, diff --git a/packages/cli/src/brownie/generators/swift.ts b/packages/cli/src/brownie/generators/swift.ts index e70b4d82..5163b1d6 100644 --- a/packages/cli/src/brownie/generators/swift.ts +++ b/packages/cli/src/brownie/generators/swift.ts @@ -1,5 +1,5 @@ -import fs from 'fs'; -import path from 'path'; +import fs from 'node:fs'; +import path from 'node:path'; import { quicktype, InputData, diff --git a/packages/cli/src/brownie/store-discovery.ts b/packages/cli/src/brownie/store-discovery.ts index c5476985..8afe6e3d 100644 --- a/packages/cli/src/brownie/store-discovery.ts +++ b/packages/cli/src/brownie/store-discovery.ts @@ -1,5 +1,5 @@ -import fs from 'fs'; -import path from 'path'; +import fs from 'node:fs'; +import path from 'node:path'; import { Project } from 'ts-morph'; export interface DiscoveredStore { diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 74e89f27..57d8fd48 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -28,7 +28,7 @@ program program .optionsGroup('Global options:') .option('--verbose', 'enable verbose logging') - .hook('preAction', (_cmd) => { + .hook('preAction', () => { const opts = program.opts(); if (opts.verbose) { logger.setVerbose(opts.verbose ?? false); @@ -43,7 +43,7 @@ program.configureHelp({ }); function registrationHelper( - commandsRegistration: Record, + commandsRegistration: Record, groupName: string ) { program.commandsGroup(groupName); diff --git a/packages/react-native-brownfield/.eslintrc.json b/packages/react-native-brownfield/.eslintrc.json deleted file mode 100644 index 8a2697f7..00000000 --- a/packages/react-native-brownfield/.eslintrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "extends": ["@react-native", "prettier"], - "plugins": ["prettier"], - "ignorePatterns": ["node_modules/", "lib/"] -} diff --git a/packages/react-native-brownfield/eslint.config.mjs b/packages/react-native-brownfield/eslint.config.mjs new file mode 100644 index 00000000..79e239c3 --- /dev/null +++ b/packages/react-native-brownfield/eslint.config.mjs @@ -0,0 +1,4 @@ +import eslintRnConfig from '../../eslint.config.rn.mjs'; + +/** @type {import('eslint').Linter.Config[]} */ +export default eslintRnConfig; diff --git a/packages/react-native-brownfield/package.json b/packages/react-native-brownfield/package.json index 6c9127dd..6ef98136 100644 --- a/packages/react-native-brownfield/package.json +++ b/packages/react-native-brownfield/package.json @@ -26,7 +26,7 @@ "./package.json": "./package.json" }, "scripts": { - "lint": "eslint \"**/*.{js,ts,tsx}\"", + "lint": "eslint .", "typecheck": "tsc --noEmit", "build": "bob build", "dev": "nodemon --watch src --ext js,ts,json --exec \"bob build\"", @@ -71,10 +71,11 @@ "@babel/preset-env": "^7.25.3", "@babel/runtime": "^7.25.0", "@react-native/babel-preset": "0.82.1", - "@react-native/eslint-config": "0.82.1", "@types/jest": "^30.0.0", "@types/react": "^19.1.1", - "eslint": "^8.57.1", + "eslint": "^9.28.0", + "globals": "^16.2.0", + "import": "^0.0.6", "nodemon": "^3.1.11", "react": "19.1.1", "react-native": "0.82.1", diff --git a/turbo.json b/turbo.json index 2f537646..13248259 100644 --- a/turbo.json +++ b/turbo.json @@ -3,7 +3,7 @@ "tasks": { "lint": { "dependsOn": ["build:brownfield"], - "inputs": ["**/*.ts", "**/*.tsx", "**/*.js"] + "inputs": ["**/*.ts", "**/*.tsx", "**/*.js", "**/eslint.config.*"] }, "typecheck": { "dependsOn": ["build:brownfield"], diff --git a/yarn.lock b/yarn.lock index 2aac758d..9f6a99f6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -32,6 +32,17 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/code-frame@npm:7.28.6" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.28.5" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10/93e7ed9e039e3cb661bdb97c26feebafacc6ec13d745881dae5c7e2708f579475daebe7a3b5d23b183bb940b30744f52f4a5bcb65b4df03b79d82fcb38495784 + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.27.2, @babel/compat-data@npm:^7.27.7, @babel/compat-data@npm:^7.28.5": version: 7.28.5 resolution: "@babel/compat-data@npm:7.28.5" @@ -39,6 +50,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/compat-data@npm:7.28.6" + checksum: 10/dc17dfb55711a15f006e34c4610c49b7335fc11b23e192f9e5f625e8ea0f48805e61a57b6b4f5550879332782c93af0b5d6952825fffbb8d4e604b14d698249f + languageName: node + linkType: hard + "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.9, @babel/core@npm:^7.25.2, @babel/core@npm:^7.28.5": version: 7.28.5 resolution: "@babel/core@npm:7.28.5" @@ -62,9 +80,32 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.24.4": + version: 7.28.6 + resolution: "@babel/core@npm:7.28.6" + dependencies: + "@babel/code-frame": "npm:^7.28.6" + "@babel/generator": "npm:^7.28.6" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helpers": "npm:^7.28.6" + "@babel/parser": "npm:^7.28.6" + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + "@jridgewell/remapping": "npm:^2.3.5" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10/1a150a69c547daf13c457be1fdaf1a0935d02b94605e777e049537ec2f279b4bb442ffbe1c2d8ff62c688878b1d5530a5784daf72ece950d1917fb78717f51d2 + languageName: node + linkType: hard + "@babel/eslint-parser@npm:^7.25.1": - version: 7.28.5 - resolution: "@babel/eslint-parser@npm:7.28.5" + version: 7.28.6 + resolution: "@babel/eslint-parser@npm:7.28.6" dependencies: "@nicolo-ribaudo/eslint-scope-5-internals": "npm:5.1.1-v1" eslint-visitor-keys: "npm:^2.1.0" @@ -72,7 +113,7 @@ __metadata: peerDependencies: "@babel/core": ^7.11.0 eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 - checksum: 10/ec8eb061f319fe3854f4c720303bf239625e63c5ddc9391a3c00f17339d417dc5482dc043b64d15506b0e87f26820dfec9ff4880a1862f7c05f4cf1bbf6e34be + checksum: 10/15c0c9c78abcc5f267a34bab95437c37dfc468e3ac5e11094ed26bebd63c7a5b056fa47c005ba74eb9fbed6c79e37f90cbe2a24ed09425921275391fe9a5bbe7 languageName: node linkType: hard @@ -89,6 +130,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/generator@npm:7.28.6" + dependencies: + "@babel/parser": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + jsesc: "npm:^3.0.2" + checksum: 10/ef2af927e8e0985d02ec4321a242da761a934e927539147c59fdd544034dc7f0e9846f6bf86209aca7a28aee2243ed0fad668adccd48f96d7d6866215173f9af + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": version: 7.27.3 resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" @@ -111,6 +165,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-compilation-targets@npm:7.28.6" + dependencies: + "@babel/compat-data": "npm:^7.28.6" + "@babel/helper-validator-option": "npm:^7.27.1" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10/f512a5aeee4dfc6ea8807f521d085fdca8d66a7d068a6dd5e5b37da10a6081d648c0bbf66791a081e4e8e6556758da44831b331540965dfbf4f5275f3d0a8788 + languageName: node + linkType: hard + "@babel/helper-create-class-features-plugin@npm:^7.27.1, @babel/helper-create-class-features-plugin@npm:^7.28.3, @babel/helper-create-class-features-plugin@npm:^7.28.5": version: 7.28.5 resolution: "@babel/helper-create-class-features-plugin@npm:7.28.5" @@ -183,6 +250,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-imports@npm:7.28.6" + dependencies: + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10/64b1380d74425566a3c288074d7ce4dea56d775d2d3325a3d4a6df1dca702916c1d268133b6f385de9ba5b822b3c6e2af5d3b11ac88e5453d5698d77264f0ec0 + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.3": version: 7.28.3 resolution: "@babel/helper-module-transforms@npm:7.28.3" @@ -196,6 +273,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-transforms@npm:7.28.6" + dependencies: + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-validator-identifier": "npm:^7.28.5" + "@babel/traverse": "npm:^7.28.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/2e421c7db743249819ee51e83054952709dc2e197c7d5d415b4bdddc718580195704bfcdf38544b3f674efc2eccd4d29a65d38678fc827ed3934a7690984cd8b + languageName: node + linkType: hard + "@babel/helper-optimise-call-expression@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" @@ -290,6 +380,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helpers@npm:7.28.6" + dependencies: + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10/213485cdfffc4deb81fc1bf2cefed61bc825049322590ef69690e223faa300a2a4d1e7d806c723bb1f1f538226b9b1b6c356ca94eb47fa7c6d9e9f251ee425e6 + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.5": version: 7.28.5 resolution: "@babel/parser@npm:7.28.5" @@ -301,6 +401,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.24.4, @babel/parser@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/parser@npm:7.28.6" + dependencies: + "@babel/types": "npm:^7.28.6" + bin: + parser: ./bin/babel-parser.js + checksum: 10/483a6fb5f9876ec9cbbb98816f2c94f39ae4d1158d35f87e1c4bf19a1f56027c96a1a3962ff0c8c46e8322a6d9e1c80d26b7f9668410df13d5b5769d9447b010 + languageName: node + linkType: hard + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.28.5": version: 7.28.5 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.28.5" @@ -1491,6 +1602,17 @@ __metadata: languageName: node linkType: hard +"@babel/template@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/template@npm:7.28.6" + dependencies: + "@babel/code-frame": "npm:^7.28.6" + "@babel/parser": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10/0ad6e32bf1e7e31bf6b52c20d15391f541ddd645cbd488a77fe537a15b280ee91acd3a777062c52e03eedbc2e1f41548791f6a3697c02476ec5daf49faa38533 + languageName: node + linkType: hard + "@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.0, @babel/traverse@npm:^7.28.3, @babel/traverse@npm:^7.28.4, @babel/traverse@npm:^7.28.5": version: 7.28.5 resolution: "@babel/traverse@npm:7.28.5" @@ -1506,6 +1628,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/traverse@npm:7.28.6" + dependencies: + "@babel/code-frame": "npm:^7.28.6" + "@babel/generator": "npm:^7.28.6" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.28.6" + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + debug: "npm:^4.3.1" + checksum: 10/dd71efe9412433169b805d5c346a6473e539ce30f605752a0d40a0733feba37259bd72bb4ad2ab591e2eaff1ee56633de160c1e98efdc8f373cf33a4a8660275 + languageName: node + linkType: hard + "@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.4, @babel/types@npm:^7.28.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": version: 7.28.5 resolution: "@babel/types@npm:7.28.5" @@ -1516,6 +1653,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/types@npm:7.28.6" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10/f9c6e52b451065aae5654686ecfc7de2d27dd0fbbc204ee2bd912a71daa359521a32f378981b1cf333ace6c8f86928814452cb9f388a7da59ad468038deb6b5f + languageName: node + linkType: hard + "@bcoe/v8-coverage@npm:^0.2.3": version: 0.2.3 resolution: "@bcoe/v8-coverage@npm:0.2.3" @@ -1541,7 +1688,6 @@ __metadata: "@react-native-community/cli-config-android": "npm:^20.0.0" "@react-native-community/cli-types": "npm:^20.0.0" "@react-native/babel-preset": "npm:0.82.1" - "@react-native/eslint-config": "npm:0.82.1" "@rock-js/platform-android": "npm:^0.12.5" "@rock-js/platform-apple-helpers": "npm:^0.12.5" "@rock-js/plugin-brownfield-android": "npm:^0.12.5" @@ -1553,7 +1699,8 @@ __metadata: "@types/node": "npm:^25.0.3" "@vitest/coverage-v8": "npm:^4.0.17" commander: "npm:^14.0.2" - eslint: "npm:^8.57.1" + eslint: "npm:^9.28.0" + globals: "npm:^16.2.0" lodash.clonedeep: "npm:^4.5.0" nodemon: "npm:^3.1.11" ts-morph: "npm:^25.0.0" @@ -1600,7 +1747,9 @@ __metadata: "@types/jest": "npm:^29.5.13" "@types/react": "npm:^19.1.1" "@types/react-test-renderer": "npm:^19.1.0" - eslint: "npm:^8.19.0" + eslint: "npm:^9.28.0" + globals: "npm:^16.2.0" + import: "npm:^0.0.6" jest: "npm:^29.6.3" prettier: "npm:2.8.8" react: "npm:19.1.1" @@ -1626,17 +1775,23 @@ __metadata: "@changesets/cli": "npm:^2.29.8" "@commitlint/cli": "npm:^20.1.0" "@commitlint/config-conventional": "npm:^20.0.0" - "@react-native/eslint-config": "npm:0.82.1" + "@eslint/compat": "npm:^2.0.1" + "@react-native/eslint-config": "npm:^0.83.1" babel-plugin-module-resolver: "npm:5.0.2" - eslint: "npm:^8.57.1" + eslint: "npm:^9.28.0" eslint-config-prettier: "npm:^10.1.8" - eslint-plugin-prettier: "npm:^5.1.3" + eslint-plugin-node-import: "npm:^1.0.5" + eslint-plugin-prettier: "npm:^5.4.0" + eslint-plugin-react: "npm:^7.37.5" + eslint-plugin-react-hooks: "npm:^5.2.0" + globals: "npm:^16.2.0" lefthook: "npm:^2.0.3" prettier: "npm:^3.5.3" quicktype-core: "npm:^23.2.6" quicktype-typescript-input: "npm:^23.2.6" turbo: "npm:^2.7.3" typescript: "npm:5.8.3" + typescript-eslint: "npm:^8.53.0" languageName: unknown linkType: soft @@ -1650,10 +1805,11 @@ __metadata: "@babel/runtime": "npm:^7.25.0" "@callstack/brownfield-cli": "workspace:^" "@react-native/babel-preset": "npm:0.82.1" - "@react-native/eslint-config": "npm:0.82.1" "@types/node": "npm:^22.0.0" "@types/react": "npm:^19.1.1" - eslint: "npm:^8.57.1" + eslint: "npm:^9.28.0" + globals: "npm:^16.2.0" + import: "npm:^0.0.6" nodemon: "npm:^3.1.11" quicktype-core: "npm:^23.0.170" quicktype-typescript-input: "npm:^23.0.170" @@ -1687,6 +1843,7 @@ __metadata: "@react-navigation/native": "npm:^7.0.15" "@react-navigation/native-stack": "npm:^7.2.1" "@types/react": "npm:^19.1.1" + eslint: "npm:^9.28.0" react: "npm:19.1.1" react-native: "npm:0.82.1" react-native-monorepo-config: "npm:^0.3.1" @@ -1704,10 +1861,11 @@ __metadata: "@babel/runtime": "npm:^7.25.0" "@callstack/brownfield-cli": "workspace:^" "@react-native/babel-preset": "npm:0.82.1" - "@react-native/eslint-config": "npm:0.82.1" "@types/jest": "npm:^30.0.0" "@types/react": "npm:^19.1.1" - eslint: "npm:^8.57.1" + eslint: "npm:^9.28.0" + globals: "npm:^16.2.0" + import: "npm:^0.0.6" nodemon: "npm:^3.1.11" react: "npm:19.1.1" react-native: "npm:0.82.1" @@ -2431,7 +2589,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.7.0": +"@eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1": version: 4.9.1 resolution: "@eslint-community/eslint-utils@npm:4.9.1" dependencies: @@ -2442,34 +2600,103 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": +"@eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.12.2": version: 4.12.2 resolution: "@eslint-community/regexpp@npm:4.12.2" checksum: 10/049b280fddf71dd325514e0a520024969431dc3a8b02fa77476e6820e9122f28ab4c9168c11821f91a27982d2453bcd7a66193356ea84e84fb7c8d793be1ba0c languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" +"@eslint/compat@npm:^2.0.1": + version: 2.0.1 + resolution: "@eslint/compat@npm:2.0.1" + dependencies: + "@eslint/core": "npm:^1.0.1" + peerDependencies: + eslint: ^8.40 || 9 + peerDependenciesMeta: + eslint: + optional: true + checksum: 10/3ae4af6faba4a1191fc42f51675e1e8a78f9133e980133e2a6b86acd7d9d79bb8692afbeef283c4359a611874cd6bd4583464ae656f9a64d7dcecbbdb7afaa08 + languageName: node + linkType: hard + +"@eslint/config-array@npm:^0.21.1": + version: 0.21.1 + resolution: "@eslint/config-array@npm:0.21.1" + dependencies: + "@eslint/object-schema": "npm:^2.1.7" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10/6eaa0435972f735ce52d581f355a0b616e50a9b8a73304a7015398096e252798b9b3b968a67b524eefb0fdeacc57c4d960f0ec6432abe1c1e24be815b88c5d18 + languageName: node + linkType: hard + +"@eslint/config-helpers@npm:^0.4.2": + version: 0.4.2 + resolution: "@eslint/config-helpers@npm:0.4.2" + dependencies: + "@eslint/core": "npm:^0.17.0" + checksum: 10/3f2b4712d8e391c36ec98bc200f7dea423dfe518e42956569666831b89ede83b33120c761dfd3ab6347d8e8894a6d4af47254a18d464a71c6046fd88065f6daf + languageName: node + linkType: hard + +"@eslint/core@npm:^0.17.0": + version: 0.17.0 + resolution: "@eslint/core@npm:0.17.0" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10/f9a428cc651ec15fb60d7d60c2a7bacad4666e12508320eafa98258e976fafaa77d7be7be91519e75f801f15f830105420b14a458d4aab121a2b0a59bc43517b + languageName: node + linkType: hard + +"@eslint/core@npm:^1.0.1": + version: 1.0.1 + resolution: "@eslint/core@npm:1.0.1" + dependencies: + "@types/json-schema": "npm:^7.0.15" + checksum: 10/442b54d50adee1681672596abc538cba1a57d108d28e39aeed64e4beaee23aa6f9f029c7bc0b39e26d8c4754de16305fbfce7f6539e7df266163c0c49fbaa4af + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.3.1": + version: 3.3.3 + resolution: "@eslint/eslintrc@npm:3.3.3" 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" + js-yaml: "npm:^4.1.1" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10/7a3b14f4b40fc1a22624c3f84d9f467a3d9ea1ca6e9a372116cb92507e485260359465b58e25bcb6c9981b155416b98c9973ad9b796053fd7b3f776a6946bce8 + checksum: 10/b586a364ff15ce1b68993aefc051ca330b1fece15fb5baf4a708d00113f9a14895cffd84a5f24c5a97bd4b4321130ab2314f90aa462a250f6b859c2da2cba1f3 + languageName: node + linkType: hard + +"@eslint/js@npm:9.39.2": + version: 9.39.2 + resolution: "@eslint/js@npm:9.39.2" + checksum: 10/6b7f676746f3111b5d1b23715319212ab9297868a0fa9980d483c3da8965d5841673aada2d5653e85a3f7156edee0893a7ae7035211b4efdcb2848154bb947f2 + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^2.1.7": + version: 2.1.7 + resolution: "@eslint/object-schema@npm:2.1.7" + checksum: 10/946ef5d6235b4d1c0907c6c6e6429c8895f535380c562b7705c131f63f2e961b06e8785043c86a293da48e0a60c6286d98ba395b8b32ea55561fe6e4417cb7e4 languageName: node linkType: hard -"@eslint/js@npm:8.57.1": - version: 8.57.1 - resolution: "@eslint/js@npm:8.57.1" - checksum: 10/7562b21be10c2adbfa4aa5bb2eccec2cb9ac649a3569560742202c8d1cb6c931ce634937a2f0f551e078403a1c1285d6c2c0aa345dafc986149665cd69fe8b59 +"@eslint/plugin-kit@npm:^0.4.1": + version: 0.4.1 + resolution: "@eslint/plugin-kit@npm:0.4.1" + dependencies: + "@eslint/core": "npm:^0.17.0" + levn: "npm:^0.4.1" + checksum: 10/c5947d0ffeddca77d996ac1b886a66060c1a15ed1d5e425d0c7e7d7044a4bd3813fc968892d03950a7831c9b89368a2f7b281e45dd3c74a048962b74bf3a1cb4 languageName: node linkType: hard @@ -2496,14 +2723,20 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.13.0": - version: 0.13.0 - resolution: "@humanwhocodes/config-array@npm:0.13.0" +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 10/270d936be483ab5921702623bc74ce394bf12abbf57d9145a69e8a0d1c87eb1c768bd2d93af16c5705041e257e6d9cc7529311f63a1349f3678abc776fc28523 + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.7 + resolution: "@humanfs/node@npm:0.16.7" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.3" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10/524df31e61a85392a2433bf5d03164e03da26c03d009f27852e7dcfdafbc4a23f17f021dacf88e0a7a9fe04ca032017945d19b57a16e2676d9114c22a53a9d11 + "@humanfs/core": "npm:^0.19.1" + "@humanwhocodes/retry": "npm:^0.4.0" + checksum: 10/b3633d3dce898592cac515ba5e6693c78e6be92863541d3eaf2c009b10f52b2fa62ff6e6e06f240f2447ddbe7b5f1890bc34e9308470675c876eee207553a08d languageName: node linkType: hard @@ -2514,10 +2747,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.3": - version: 2.0.3 - resolution: "@humanwhocodes/object-schema@npm:2.0.3" - checksum: 10/05bb99ed06c16408a45a833f03a732f59bf6184795d4efadd33238ff8699190a8c871ad1121241bb6501589a9598dc83bf25b99dcbcf41e155cdf36e35e937a3 +"@humanwhocodes/retry@npm:^0.4.0, @humanwhocodes/retry@npm:^0.4.2": + version: 0.4.3 + resolution: "@humanwhocodes/retry@npm:0.4.3" + checksum: 10/0b32cfd362bea7a30fbf80bb38dcaf77fee9c2cae477ee80b460871d03590110ac9c77d654f04ec5beaf71b6f6a89851bdf6c1e34ccdf2f686bd86fcd97d9e61 languageName: node linkType: hard @@ -3155,7 +3388,7 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": +"@nodelib/fs.walk@npm:^1.2.3": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: @@ -3593,13 +3826,13 @@ __metadata: languageName: node linkType: hard -"@react-native/eslint-config@npm:0.82.1": - version: 0.82.1 - resolution: "@react-native/eslint-config@npm:0.82.1" +"@react-native/eslint-config@npm:^0.83.1": + version: 0.83.1 + resolution: "@react-native/eslint-config@npm:0.83.1" dependencies: "@babel/core": "npm:^7.25.2" "@babel/eslint-parser": "npm:^7.25.1" - "@react-native/eslint-plugin": "npm:0.82.1" + "@react-native/eslint-plugin": "npm:0.83.1" "@typescript-eslint/eslint-plugin": "npm:^8.36.0" "@typescript-eslint/parser": "npm:^8.36.0" eslint-config-prettier: "npm:^8.5.0" @@ -3607,19 +3840,19 @@ __metadata: eslint-plugin-ft-flow: "npm:^2.0.1" eslint-plugin-jest: "npm:^29.0.1" eslint-plugin-react: "npm:^7.30.1" - eslint-plugin-react-hooks: "npm:^5.2.0" + eslint-plugin-react-hooks: "npm:^7.0.1" eslint-plugin-react-native: "npm:^4.0.0" peerDependencies: eslint: ">=8" prettier: ">=2" - checksum: 10/b6b0d91699d54dd17aec7e4a8805476a5a2df556dd80837cc2c620eca607f9b0b5e7d06e3e2c0d5e828edde39cad30819ae9971797a73cec29bf00aa8e21198f + checksum: 10/e27348cfe3a93edddc57b9788b372619c092342774a11a7642eb40a30403e3bb942ac9052a0770cab33b12b1591be62036c812d3d89bd30c4d136468096a3c2c languageName: node linkType: hard -"@react-native/eslint-plugin@npm:0.82.1": - version: 0.82.1 - resolution: "@react-native/eslint-plugin@npm:0.82.1" - checksum: 10/ac46d648a10ad88510ca27b104a34eb45f765ca0eb11be1ef1a0ac8c6fb215d66a234da38fcdd5801b1e3cd81296537c98d6bf6117acb2201aa611ee5151a0c7 +"@react-native/eslint-plugin@npm:0.83.1": + version: 0.83.1 + resolution: "@react-native/eslint-plugin@npm:0.83.1" + checksum: 10/e2212ab5dde9f6a840c7b6f8a9b168d28ecf92938d8d96162a70873d5fc4b826b6bea174dac72cebd369493f56c723a2e81a42f9ec99e57375459167b9936265 languageName: node linkType: hard @@ -4724,7 +4957,7 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:1.0.8, @types/estree@npm:^1.0.0": +"@types/estree@npm:*, @types/estree@npm:1.0.8, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": version: 1.0.8 resolution: "@types/estree@npm:1.0.8" checksum: 10/25a4c16a6752538ffde2826c2cc0c6491d90e69cd6187bef4a006dd2c3c45469f049e643d7e516c515f21484dc3d48fd5c870be158a5beb72f5baf3dc43e4099 @@ -4794,7 +5027,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7 @@ -4927,142 +5160,142 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^8.36.0": - version: 8.51.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.51.0" +"@typescript-eslint/eslint-plugin@npm:8.53.0, @typescript-eslint/eslint-plugin@npm:^8.36.0": + version: 8.53.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.53.0" dependencies: - "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.51.0" - "@typescript-eslint/type-utils": "npm:8.51.0" - "@typescript-eslint/utils": "npm:8.51.0" - "@typescript-eslint/visitor-keys": "npm:8.51.0" - ignore: "npm:^7.0.0" + "@eslint-community/regexpp": "npm:^4.12.2" + "@typescript-eslint/scope-manager": "npm:8.53.0" + "@typescript-eslint/type-utils": "npm:8.53.0" + "@typescript-eslint/utils": "npm:8.53.0" + "@typescript-eslint/visitor-keys": "npm:8.53.0" + ignore: "npm:^7.0.5" natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^2.2.0" + ts-api-utils: "npm:^2.4.0" peerDependencies: - "@typescript-eslint/parser": ^8.51.0 + "@typescript-eslint/parser": ^8.53.0 eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10/cb6c129a9f7e723218458ec86acb86176f7cddc1b41924416478a31fd633c2991849be56e21dca8df0ce535ea2014b361073b043085e39795816de528747c80b + checksum: 10/2cbfa92d21018d53b33db102500f121cedd67405939a11c20d04a0fdc535412f1e554479a9994a244127a151609fe16ae8bce810749261f243eac13360df1ab1 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^8.36.0": - version: 8.51.0 - resolution: "@typescript-eslint/parser@npm:8.51.0" +"@typescript-eslint/parser@npm:8.53.0, @typescript-eslint/parser@npm:^8.36.0": + version: 8.53.0 + resolution: "@typescript-eslint/parser@npm:8.53.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.51.0" - "@typescript-eslint/types": "npm:8.51.0" - "@typescript-eslint/typescript-estree": "npm:8.51.0" - "@typescript-eslint/visitor-keys": "npm:8.51.0" - debug: "npm:^4.3.4" + "@typescript-eslint/scope-manager": "npm:8.53.0" + "@typescript-eslint/types": "npm:8.53.0" + "@typescript-eslint/typescript-estree": "npm:8.53.0" + "@typescript-eslint/visitor-keys": "npm:8.53.0" + debug: "npm:^4.4.3" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10/ad2cb5d9cea5749fca712699ef971d68506f6170766d465ecc5864b5b5a15401c85d4042231df9edcc200f14b2579e6d4b2fbe66db824d925193004cde02ba79 + checksum: 10/5337f472aeb3d04041a3c9c9e9d9884e685ba7e4f722ab2963f1054087a62a42946dd0d39993e60506efef0d2a4cc1b0619b34e49261913d6f4d8cdbf3490d56 languageName: node linkType: hard -"@typescript-eslint/project-service@npm:8.51.0": - version: 8.51.0 - resolution: "@typescript-eslint/project-service@npm:8.51.0" +"@typescript-eslint/project-service@npm:8.53.0": + version: 8.53.0 + resolution: "@typescript-eslint/project-service@npm:8.53.0" dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.51.0" - "@typescript-eslint/types": "npm:^8.51.0" - debug: "npm:^4.3.4" + "@typescript-eslint/tsconfig-utils": "npm:^8.53.0" + "@typescript-eslint/types": "npm:^8.53.0" + debug: "npm:^4.4.3" peerDependencies: typescript: ">=4.8.4 <6.0.0" - checksum: 10/f8b38bf1c92c3a5d33ae0304fc920b8ac20b24c308c056ea70fb5b257f9447be62fe54e9595260fd8611b36c8a66229e4ca7ef859edad42e1321434986132aac + checksum: 10/2f232f241f57c0f42194a8bcb8c207e4ed4345d7cc097434d394c2904338e64f386903931395ef97cd2cf3ae33d98645f0d6164660d794e33259e2c3978052ff languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.51.0": - version: 8.51.0 - resolution: "@typescript-eslint/scope-manager@npm:8.51.0" +"@typescript-eslint/scope-manager@npm:8.53.0": + version: 8.53.0 + resolution: "@typescript-eslint/scope-manager@npm:8.53.0" dependencies: - "@typescript-eslint/types": "npm:8.51.0" - "@typescript-eslint/visitor-keys": "npm:8.51.0" - checksum: 10/3d873589cd5b39f2bdc1e5b4f0052095f2cc5b2d59115ceea99533346839539ad7123ab0ba43ff4dd28c6afd4e8ae77798beb3618c93f24010104d38dedad6ad + "@typescript-eslint/types": "npm:8.53.0" + "@typescript-eslint/visitor-keys": "npm:8.53.0" + checksum: 10/40a651cfc16f9464f92b5a58492207c1f89a1ff98cfedd2d33d1dbe8234ce50c3a543267f1b489f903b001e0abcaf1568e7c9b70c009871c34af6ef3602ac0bf languageName: node linkType: hard -"@typescript-eslint/tsconfig-utils@npm:8.51.0, @typescript-eslint/tsconfig-utils@npm:^8.51.0": - version: 8.51.0 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.51.0" +"@typescript-eslint/tsconfig-utils@npm:8.53.0, @typescript-eslint/tsconfig-utils@npm:^8.53.0": + version: 8.53.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.53.0" peerDependencies: typescript: ">=4.8.4 <6.0.0" - checksum: 10/1a423e2b8bb6900e86f54ef78e967f17e6f51a528c64d78460338b916fda4e44bb8c73a7aba6b129295c59c3f364edbf27b34580f525df700674afbf0fc034df + checksum: 10/91f1f02ec8a3daf7d3dc9e43a847ef834444a6e073e3a4a07a311d898b225124d9c4abb4b48266d821f0ea4225614266084e5157182e7ba7aaecafefbae00c7e languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.51.0": - version: 8.51.0 - resolution: "@typescript-eslint/type-utils@npm:8.51.0" +"@typescript-eslint/type-utils@npm:8.53.0": + version: 8.53.0 + resolution: "@typescript-eslint/type-utils@npm:8.53.0" dependencies: - "@typescript-eslint/types": "npm:8.51.0" - "@typescript-eslint/typescript-estree": "npm:8.51.0" - "@typescript-eslint/utils": "npm:8.51.0" - debug: "npm:^4.3.4" - ts-api-utils: "npm:^2.2.0" + "@typescript-eslint/types": "npm:8.53.0" + "@typescript-eslint/typescript-estree": "npm:8.53.0" + "@typescript-eslint/utils": "npm:8.53.0" + debug: "npm:^4.4.3" + ts-api-utils: "npm:^2.4.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10/1dd5b72e4c7d6ffeafff1c24f745c335dc4073ec2a5c7e40f1a05be3be91097246c96be8d927389d8e4ccfa15db946a45ac85dbfd0c788d6cf003dced1830c7d + checksum: 10/5be4036b475bbc4bb9a834beefe8114286bbe2dee54c96c65c02d6ceabac3422605802dcbefdbf20ae9ede3c85bf2f650eda2acc7ed1a3bf75f02ed478e7cdd1 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.51.0, @typescript-eslint/types@npm:^8.51.0": - version: 8.51.0 - resolution: "@typescript-eslint/types@npm:8.51.0" - checksum: 10/34c4b602d2f07edb72879e8af5359b0d54d3787030ae0a8325691972b07f2c6429bef9586938d18ff7df03a2be858064c7890a42136514ff0f2b7847c1432193 +"@typescript-eslint/types@npm:8.53.0, @typescript-eslint/types@npm:^8.53.0": + version: 8.53.0 + resolution: "@typescript-eslint/types@npm:8.53.0" + checksum: 10/36ee696a92ed575385b5c1ccc46e3fec9c5d9aa6f3640f8ad0234ed5a763c9ab78c7d3419fd3d462a966f6b95472390b8040055e4e73c75c52671478e90749ff languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.51.0": - version: 8.51.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.51.0" +"@typescript-eslint/typescript-estree@npm:8.53.0": + version: 8.53.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.53.0" dependencies: - "@typescript-eslint/project-service": "npm:8.51.0" - "@typescript-eslint/tsconfig-utils": "npm:8.51.0" - "@typescript-eslint/types": "npm:8.51.0" - "@typescript-eslint/visitor-keys": "npm:8.51.0" - debug: "npm:^4.3.4" - minimatch: "npm:^9.0.4" - semver: "npm:^7.6.0" + "@typescript-eslint/project-service": "npm:8.53.0" + "@typescript-eslint/tsconfig-utils": "npm:8.53.0" + "@typescript-eslint/types": "npm:8.53.0" + "@typescript-eslint/visitor-keys": "npm:8.53.0" + debug: "npm:^4.4.3" + minimatch: "npm:^9.0.5" + semver: "npm:^7.7.3" tinyglobby: "npm:^0.2.15" - ts-api-utils: "npm:^2.2.0" + ts-api-utils: "npm:^2.4.0" peerDependencies: typescript: ">=4.8.4 <6.0.0" - checksum: 10/4f9f82b18b9a62e3ffe1253e7914a396ec1c550fec36f862eff9d3d49be4bf01349eb2540be68ecc35b245aab7f72843d2b5cd1e73c8e820db5cf6f3c6542916 + checksum: 10/bdacb2f3ffde535c3955bbfbd062d2010943f7693034cde4019ccde699e826e7ef91d7e1d2f3652c30584c013924410dae5056417909e8169f1e3d7272636bd9 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.51.0, @typescript-eslint/utils@npm:^8.0.0": - version: 8.51.0 - resolution: "@typescript-eslint/utils@npm:8.51.0" +"@typescript-eslint/utils@npm:8.53.0, @typescript-eslint/utils@npm:^8.0.0": + version: 8.53.0 + resolution: "@typescript-eslint/utils@npm:8.53.0" dependencies: - "@eslint-community/eslint-utils": "npm:^4.7.0" - "@typescript-eslint/scope-manager": "npm:8.51.0" - "@typescript-eslint/types": "npm:8.51.0" - "@typescript-eslint/typescript-estree": "npm:8.51.0" + "@eslint-community/eslint-utils": "npm:^4.9.1" + "@typescript-eslint/scope-manager": "npm:8.53.0" + "@typescript-eslint/types": "npm:8.53.0" + "@typescript-eslint/typescript-estree": "npm:8.53.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10/e5ced67d08129e62fd6866a72b94fa685cd33aa7f5d1fc3bb9a34187d0fc0b469062ec8dfd44cd8c06494af070a050a314a6db672dda392fbc907b64b1ecc57f + checksum: 10/ef123c8531de793d8d4f5fa51076402bfe809481feaee605086986c370c94361c525ec550b2c4c6703cf60e026e87862428c044c763ead3ea9bf9bce8ad79310 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.51.0": - version: 8.51.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.51.0" +"@typescript-eslint/visitor-keys@npm:8.53.0": + version: 8.53.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.53.0" dependencies: - "@typescript-eslint/types": "npm:8.51.0" + "@typescript-eslint/types": "npm:8.53.0" eslint-visitor-keys: "npm:^4.2.1" - checksum: 10/922fb3d2e59f6e8a9583a1bc7b13e66d4ec7bd7df3256602810465a7017549b890cd1a7897efc71ed64cc287c718be5dddbc8071b74e8ee41fe441f6d5251d3d + checksum: 10/879e1dfbd002059c0eb59f9660c26eb71a1643622906e4af444dbe5297e95ad210d763b53308b6372b55d85159a161982a8848352706a7d361fd3e17d6ba96d0 languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.0.0, @ungap/structured-clone@npm:^1.2.0": +"@ungap/structured-clone@npm:^1.0.0": version: 1.3.0 resolution: "@ungap/structured-clone@npm:1.3.0" checksum: 10/80d6910946f2b1552a2406650051c91bbd1f24a6bf854354203d84fe2714b3e8ce4618f49cc3410494173a1c1e8e9777372fe68dce74bd45faf0a7a1a6ccf448 @@ -5277,7 +5510,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.11.0, acorn@npm:^8.15.0, acorn@npm:^8.4.1, acorn@npm:^8.9.0": +"acorn@npm:^8.0.0, acorn@npm:^8.11.0, acorn@npm:^8.15.0, acorn@npm:^8.4.1": version: 8.15.0 resolution: "acorn@npm:8.15.0" bin: @@ -6606,7 +6839,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5, cross-spawn@npm:^7.0.6": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5, cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -6687,7 +6920,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^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.4.0, debug@npm:^4.4.1": +"debug@npm:4, debug@npm:^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.4.0, debug@npm:^4.4.1, debug@npm:^4.4.3": version: 4.4.3 resolution: "debug@npm:4.4.3" dependencies: @@ -6878,15 +7111,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" @@ -7479,7 +7703,16 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:^5.1.3": +"eslint-plugin-node-import@npm:^1.0.5": + version: 1.0.5 + resolution: "eslint-plugin-node-import@npm:1.0.5" + peerDependencies: + eslint: ">=7" + checksum: 10/d77c03871c3397d09db18d5242030b8490769077a488d4267c6c3f38ceffb9b86d162b32c8d5fbafe92ff4bc7668a1a5971f2020e6edab38c37b0a2e6155a591 + languageName: node + linkType: hard + +"eslint-plugin-prettier@npm:^5.4.0": version: 5.5.4 resolution: "eslint-plugin-prettier@npm:5.5.4" dependencies: @@ -7508,6 +7741,21 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-react-hooks@npm:^7.0.1": + version: 7.0.1 + resolution: "eslint-plugin-react-hooks@npm:7.0.1" + dependencies: + "@babel/core": "npm:^7.24.4" + "@babel/parser": "npm:^7.24.4" + hermes-parser: "npm:^0.25.1" + zod: "npm:^3.25.0 || ^4.0.0" + zod-validation-error: "npm:^3.5.0 || ^4.0.0" + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + checksum: 10/12e96c68d58c6588305fd17d660524a1ef1e872650ec591d5b138f059431290831c373d4b1c9ae8991fb25f96c43935497d2149678c027e65d0417d3d99ecc85 + languageName: node + linkType: hard + "eslint-plugin-react-native-globals@npm:^0.1.1": version: 0.1.2 resolution: "eslint-plugin-react-native-globals@npm:0.1.2" @@ -7526,7 +7774,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.30.1": +"eslint-plugin-react@npm:^7.30.1, eslint-plugin-react@npm:^7.37.5": version: 7.37.5 resolution: "eslint-plugin-react@npm:7.37.5" dependencies: @@ -7564,13 +7812,13 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" +"eslint-scope@npm:^8.4.0": + version: 8.4.0 + resolution: "eslint-scope@npm:8.4.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10/5c660fb905d5883ad018a6fea2b49f3cb5b1cbf2cd4bd08e98646e9864f9bc2c74c0839bed2d292e90a4a328833accc197c8f0baed89cbe8d605d6f918465491 + checksum: 10/e8e611701f65375e034c62123946e628894f0b54aa8cb11abe224816389abe5cd74cf16b62b72baa36504f22d1a958b9b8b0169b82397fe2e7997674c0d09b06 languageName: node linkType: hard @@ -7581,7 +7829,7 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 10/3f357c554a9ea794b094a09bd4187e5eacd1bc0d0653c3adeb87962c548e6a1ab8f982b86963ae1337f5d976004146536dcee5d0e2806665b193fbfbf1a9231b @@ -7595,62 +7843,63 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.19.0, eslint@npm:^8.57.1": - version: 8.57.1 - resolution: "eslint@npm:8.57.1" +"eslint@npm:^9.28.0": + version: 9.39.2 + resolution: "eslint@npm:9.39.2" dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.1" - "@humanwhocodes/config-array": "npm:^0.13.0" + "@eslint-community/eslint-utils": "npm:^4.8.0" + "@eslint-community/regexpp": "npm:^4.12.1" + "@eslint/config-array": "npm:^0.21.1" + "@eslint/config-helpers": "npm:^0.4.2" + "@eslint/core": "npm:^0.17.0" + "@eslint/eslintrc": "npm:^3.3.1" + "@eslint/js": "npm:9.39.2" + "@eslint/plugin-kit": "npm:^0.4.1" + "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" + "@humanwhocodes/retry": "npm:^0.4.2" + "@types/estree": "npm:^1.0.6" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" + cross-spawn: "npm:^7.0.6" 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.4.0" + eslint-visitor-keys: "npm:^4.2.1" + espree: "npm:^10.4.0" + esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" + file-entry-cache: "npm:^8.0.0" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" ignore: "npm:^5.2.0" imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" minimatch: "npm:^3.1.2" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true bin: eslint: bin/eslint.js - checksum: 10/5504fa24879afdd9f9929b2fbfc2ee9b9441a3d464efd9790fbda5f05738858530182029f13323add68d19fec749d3ab4a70320ded091ca4432b1e9cc4ed104c + checksum: 10/53ff0e9c8264e7e8d40d50fdc0c0df0b701cfc5289beedfb686c214e3e7b199702f894bbd1bb48653727bb1ecbd1147cf5f555a4ae71e1daf35020cdc9072d9f 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:^10.0.1, espree@npm:^10.4.0": + version: 10.4.0 + resolution: "espree@npm:10.4.0" dependencies: - acorn: "npm:^8.9.0" + acorn: "npm:^8.15.0" acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10/255ab260f0d711a54096bdeda93adff0eadf02a6f9b92f02b323e83a2b7fc258797919437ad331efec3930475feb0142c5ecaaf3cdab4befebd336d47d3f3134 + eslint-visitor-keys: "npm:^4.2.1" + checksum: 10/9b355b32dbd1cc9f57121d5ee3be258fab87ebeb7c83fc6c02e5af1a74fc8c5ba79fe8c663e69ea112c3e84a1b95e6a2067ac4443ee7813bb85ac7581acb8bf9 languageName: node linkType: hard @@ -7664,7 +7913,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.2": +"esquery@npm:^1.5.0": version: 1.7.0 resolution: "esquery@npm:1.7.0" dependencies: @@ -7995,12 +8244,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 @@ -8084,14 +8333,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 @@ -8434,12 +8682,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:^16.2.0": + version: 16.5.0 + resolution: "globals@npm:16.5.0" + checksum: 10/f9e8a2a13f50222c127030a619e283e7bbfe32966316bdde0715af1d15a7e40cb9c24ff52cad59671f97762ed8b515353c2f8674f560c63d9385f19ee26735a6 languageName: node linkType: hard @@ -8481,13 +8734,6 @@ __metadata: languageName: node linkType: hard -"graphemer@npm:^1.4.0": - version: 1.4.0 - resolution: "graphemer@npm:1.4.0" - checksum: 10/6dd60dba97007b21e3a829fab3f771803cc1292977fe610e240ea72afd67e5690ac9eeaafc4a99710e78962e5936ab5a460787c2a1180f1cb0ccfac37d29f897 - languageName: node - linkType: hard - "gray-matter@npm:4.0.3": version: 4.0.3 resolution: "gray-matter@npm:4.0.3" @@ -8747,6 +8993,13 @@ __metadata: languageName: node linkType: hard +"hermes-estree@npm:0.25.1": + version: 0.25.1 + resolution: "hermes-estree@npm:0.25.1" + checksum: 10/7b1eca98b264a25632064cffa5771360d30cf452e77db1e191f9913ee45cf78c292b2dbca707e92fb71b0870abb97e94b506a5ab80abd96ba237fee169b601fe + languageName: node + linkType: hard + "hermes-estree@npm:0.28.1": version: 0.28.1 resolution: "hermes-estree@npm:0.28.1" @@ -8779,6 +9032,15 @@ __metadata: languageName: node linkType: hard +"hermes-parser@npm:^0.25.1": + version: 0.25.1 + resolution: "hermes-parser@npm:0.25.1" + dependencies: + hermes-estree: "npm:0.25.1" + checksum: 10/805efc05691420f236654349872c70731121791fa54de521c7ee51059eae34f84dd19f22ee846741dcb60372f8fb5335719b96b4ecb010d2aed7d872f2eff9cc + languageName: node + linkType: hard + "hookable@npm:^5.5.3": version: 5.5.3 resolution: "hookable@npm:5.5.3" @@ -8943,7 +9205,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^7.0.0": +"ignore@npm:^7.0.5": version: 7.0.5 resolution: "ignore@npm:7.0.5" checksum: 10/f134b96a4de0af419196f52c529d5c6120c4456ff8a6b5a14ceaaa399f883e15d58d2ce651c9b69b9388491d4669dda47285d307e827de9304a53a1824801bc6 @@ -8990,6 +9252,17 @@ __metadata: languageName: node linkType: hard +"import@npm:^0.0.6": + version: 0.0.6 + resolution: "import@npm:0.0.6" + dependencies: + optimist: "npm:0.3.x" + bin: + import: import + checksum: 10/3745e634f948cfdfa4c180a396054c77000740e582666ae6577ba143730f76d2c8c2327bd56dd874c8ac96bc84eefe11afce4194b8f423a6a8444f4c41066a17 + languageName: node + linkType: hard + "imurmurhash@npm:^0.1.4": version: 0.1.4 resolution: "imurmurhash@npm:0.1.4" @@ -9360,7 +9633,7 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.2, is-path-inside@npm:^3.0.3": +"is-path-inside@npm:^3.0.2": version: 3.0.3 resolution: "is-path-inside@npm:3.0.3" checksum: 10/abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 @@ -10340,7 +10613,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: @@ -11817,7 +12090,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -11835,7 +12108,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": version: 9.0.5 resolution: "minimatch@npm:9.0.5" dependencies: @@ -12298,6 +12571,15 @@ __metadata: languageName: node linkType: hard +"optimist@npm:0.3.x": + version: 0.3.7 + resolution: "optimist@npm:0.3.7" + dependencies: + wordwrap: "npm:~0.0.2" + checksum: 10/228dd23e24996536453f52aabb188dba368b1ed40f270b2dfd70cc43943001e2c60ee66e3171406e8436f6027b9862165a7e5691d48b8b74b59ce8d85daa1894 + languageName: node + linkType: hard + "optionator@npm:^0.9.3": version: 0.9.4 resolution: "optionator@npm:0.9.4" @@ -13871,7 +14153,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.1.3, semver@npm:^7.3.5, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": +"semver@npm:^7.1.3, semver@npm:^7.3.5, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.7.3": version: 7.7.3 resolution: "semver@npm:7.7.3" bin: @@ -14645,13 +14927,6 @@ __metadata: languageName: node linkType: hard -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: 10/4383b5baaeffa9bb4cda2ac33a4aa2e6d1f8aaf811848bf73513a9b88fd76372dc461f6fd6d2e9cb5100f48b473be32c6f95bd983509b7d92bb4d92c10747452 - languageName: node - linkType: hard - "throat@npm:^5.0.0": version: 5.0.0 resolution: "throat@npm:5.0.0" @@ -14771,7 +15046,7 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^2.2.0": +"ts-api-utils@npm:^2.4.0": version: 2.4.0 resolution: "ts-api-utils@npm:2.4.0" peerDependencies: @@ -14922,13 +15197,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.21.3": version: 0.21.3 resolution: "type-fest@npm:0.21.3" @@ -15006,6 +15274,21 @@ __metadata: languageName: node linkType: hard +"typescript-eslint@npm:^8.53.0": + version: 8.53.0 + resolution: "typescript-eslint@npm:8.53.0" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:8.53.0" + "@typescript-eslint/parser": "npm:8.53.0" + "@typescript-eslint/typescript-estree": "npm:8.53.0" + "@typescript-eslint/utils": "npm:8.53.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10/b4731161a4fec6ce9110e54407a50733e15b0eb48cb9636906a54068af10f8102a7018b9e5db6264604050955a03d3649a79c4869d43bcce215358a8a8a03f96 + languageName: node + linkType: hard + "typescript@npm:4.9.4": version: 4.9.4 resolution: "typescript@npm:4.9.4" @@ -15723,6 +16006,13 @@ __metadata: languageName: node linkType: hard +"wordwrap@npm:~0.0.2": + version: 0.0.3 + resolution: "wordwrap@npm:0.0.3" + checksum: 10/73d2f1136868a952af5b6b7ef1bc841453bfdb2424946a72502dd207a2cb40335da77366d3e8822aa538dc205e0ad0b391da03828227926df273f78bb08a4395 + languageName: node + linkType: hard + "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" @@ -15913,6 +16203,15 @@ __metadata: languageName: node linkType: hard +"zod-validation-error@npm:^3.5.0 || ^4.0.0": + version: 4.0.2 + resolution: "zod-validation-error@npm:4.0.2" + peerDependencies: + zod: ^3.25.0 || ^4.0.0 + checksum: 10/5e35ca8ebb4602dcb526e122d7e9fca695c4a479bd97535f3400a732d49160f24f7213a9ed64986fc9dc3a2e8a6c4e1241ec0c4d8a4e3e69ea91a0328ded2192 + languageName: node + linkType: hard + "zod@npm:^3.23.8": version: 3.25.76 resolution: "zod@npm:3.25.76" @@ -15920,6 +16219,13 @@ __metadata: languageName: node linkType: hard +"zod@npm:^3.25.0 || ^4.0.0": + version: 4.3.5 + resolution: "zod@npm:4.3.5" + checksum: 10/3148bd52e56ab7c1641ec397e6be6eddbb1d8f5db71e95baab9bb9622a0ea49d8a385885fc1c22b90fa6d8c5234e051f4ef5d469cfe3fb90198d5a91402fd89c + languageName: node + linkType: hard + "zwitch@npm:^2.0.0, zwitch@npm:^2.0.4": version: 2.0.4 resolution: "zwitch@npm:2.0.4"