diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 81e04e4d2..000000000 --- a/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -docs/ -lib/ -node_modules/ \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index bad66d857..000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,52 +0,0 @@ -module.exports = { - root: true, - extends: [ - '@react-native', - 'plugin:react/recommended', - 'plugin:react-native/all', - 'prettier', // Disables ESLint rules that conflict with Prettier - ], - rules: { - 'react/react-in-jsx-scope': 'off', - }, - overrides: [ - { - files: ['*.ts', '*.tsx'], - plugins: ['@typescript-eslint/eslint-plugin', 'eslint-plugin-tsdoc'], - extends: [ - 'plugin:@typescript-eslint/recommended', - // We need more verbose typing to enable the below rule, but we should - // do this in the future - // 'plugin:@typescript-eslint/recommended-requiring-type-checking', - ], - parser: '@typescript-eslint/parser', - parserOptions: { - project: true, - tsconfigRootDir: __dirname, - }, - rules: { - '@typescript-eslint/no-var-requires': [ - 'error', - { allow: ['/package\\.json$'] }, - ], - '@typescript-eslint/no-require-imports': [ - 'error', - { allow: ['/package\\.json$'] }, - ], - 'tsdoc/syntax': 'warn', - }, - }, - { - files: ['**/*.test.{js,ts,tsx}', '**/__mocks__/*', '**/__tests__/*'], - plugins: ['jest'], - env: { - jest: true, - }, - rules: { - '@typescript-eslint/no-var-requires': 'off', - '@typescript-eslint/no-require-imports': 'off', - }, - }, - ], - ignorePatterns: ['coverage/**/*', 'lib/**/*', 'docs/**/*'], -}; diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 000000000..3583d2f31 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,70 @@ +const reactNativeConfig = require('@react-native/eslint-config/flat'); +const tsEslintPlugin = require('@typescript-eslint/eslint-plugin'); +const reactPlugin = require('eslint-plugin-react'); +const reactNativePlugin = require('eslint-plugin-react-native'); +const tsdoc = require('eslint-plugin-tsdoc'); + +const typescriptFiles = ['**/*.ts', '**/*.tsx']; +const [, tsEslintRecommended, tsRecommended] = + tsEslintPlugin.configs['flat/recommended']; + +module.exports = [ + { + ignores: ['coverage/**/*', 'lib/**/*', 'docs/**/*'], + }, + ...reactNativeConfig, + reactPlugin.configs.flat.recommended, + { + plugins: { + 'react-native': reactNativePlugin, + }, + rules: reactNativePlugin.configs.all.rules, + }, + { + rules: { + 'react/react-in-jsx-scope': 'off', + }, + }, + { + ...tsEslintRecommended, + files: typescriptFiles, + }, + { + ...tsRecommended, + files: typescriptFiles, + }, + { + files: typescriptFiles, + plugins: { + tsdoc, + }, + languageOptions: { + parserOptions: { + project: true, + tsconfigRootDir: __dirname, + }, + }, + rules: { + '@typescript-eslint/no-var-requires': [ + 'error', + { allow: ['/package\\.json$'] }, + ], + '@typescript-eslint/no-require-imports': [ + 'error', + { allow: ['/package\\.json$'] }, + ], + 'tsdoc/syntax': 'warn', + }, + }, + { + files: [ + '**/*.test.{js,ts,tsx}', + '**/__mocks__/*', + '**/__tests__/*', + ], + rules: { + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/no-require-imports': 'off', + }, + }, +]; diff --git a/package.json b/package.json index 27d473a39..5eaecfd4a 100644 --- a/package.json +++ b/package.json @@ -89,11 +89,11 @@ "commitlint": "^19.6.1", "del-cli": "^5.1.0", "dpdm": "^4.2.0", - "eslint": "^8.51.0", + "eslint": "^9.39.5", "eslint-config-prettier": "^10.1.8", - "eslint-plugin-jest": "^28.9.0", + "eslint-plugin-jest": "^29.0.1", "eslint-plugin-prettier": "^5.0.1", - "eslint-plugin-tsdoc": "^0.3.0", + "eslint-plugin-tsdoc": "^0.5.2", "jest": "^29.7.0", "prettier": "^3.0.3", "prettier-eslint": "^16.4.2", @@ -113,7 +113,8 @@ "typescript": "^5.8.3" }, "resolutions": { - "@types/react": "^19.2.0" + "@types/react": "^19.2.0", + "eslint-plugin-ft-flow": "^3.0.11" }, "peerDependencies": { "@react-navigation/native": "*", diff --git a/src/core/classes/IterableConfig.ts b/src/core/classes/IterableConfig.ts index 8d0584ec6..b4de2fb41 100644 --- a/src/core/classes/IterableConfig.ts +++ b/src/core/classes/IterableConfig.ts @@ -449,47 +449,30 @@ export class IterableConfig { inAppDisplayInterval: this.inAppDisplayInterval, /** * A boolean indicating if a URL handler is present. - * - * TODO: Figure out if this is purposeful */ - // eslint-disable-next-line eqeqeq - urlHandlerPresent: this.urlHandler != undefined, + urlHandlerPresent: this.urlHandler !== undefined, /** * A boolean indicating if a custom action handler is present. - * - * TODO: Figure out if this is purposeful */ - // eslint-disable-next-line eqeqeq - customActionHandlerPresent: this.customActionHandler != undefined, + customActionHandlerPresent: this.customActionHandler !== undefined, /** * A boolean indicating if an in-app handler is present. - * - * TODO: Figure out if this is purposeful */ - // eslint-disable-next-line eqeqeq - inAppHandlerPresent: this.inAppHandler != undefined, + inAppHandlerPresent: this.inAppHandler !== undefined, /** * A boolean indicating if an authentication handler is present. - * - * TODO: Figure out if this is purposeful */ - // eslint-disable-next-line eqeqeq - authHandlerPresent: this.authHandler != undefined, + authHandlerPresent: this.authHandler !== undefined, /** * A boolean indicating if an embedded message update callback is present. - * - * TODO: Figure out if this is purposeful */ - // eslint-disable-next-line eqeqeq - onEmbeddedMessageUpdatePresent: this.onEmbeddedMessageUpdate != undefined, + onEmbeddedMessageUpdatePresent: + this.onEmbeddedMessageUpdate !== undefined, /** * A boolean indicating if an embedded messaging disabled callback is present. - * - * TODO: Figure out if this is purposeful */ - // eslint-disable-next-line eqeqeq onEmbeddedMessagingDisabledPresent: - this.onEmbeddedMessagingDisabled != undefined, + this.onEmbeddedMessagingDisabled !== undefined, /** The log level for the SDK. */ logLevel: this.logLevel, expiringAuthTokenRefreshPeriod: this.expiringAuthTokenRefreshPeriod, diff --git a/yarn.lock b/yarn.lock index 33c5c586b..adfe31cff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1928,7 +1928,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.9.1": +"@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: @@ -1946,13 +1946,42 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.12.2": +"@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: 1770bc81f676a72f65c7200b5675ff7a349786521f30e66125faaf767fde1ba1c19c3790e16ba8508a62a3933afcfc806a893858b3b5906faf693d862b9e4120 languageName: node linkType: hard +"@eslint/config-array@npm:^0.21.2": + version: 0.21.2 + resolution: "@eslint/config-array@npm:0.21.2" + dependencies: + "@eslint/object-schema": ^2.1.7 + debug: ^4.3.1 + minimatch: ^3.1.5 + checksum: f3d6ba56d6a3dfc5400575011fb4ae5ac189c96b6ca4920adb6da2d084f9eaa28583fa0aa55e123c42baa2bd31f85228ee35a05c8a395b58fb8d976e16482697 + 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": ^0.17.0 + checksum: 63ff6a0730c9fff2edb80c89b39b15b28d6a635a1c3f32cf0d7eb3e2625f2efbc373c5531ae84e420ae36d6e37016dd40c365b6e5dee6938478e9907aaadae0b + 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": ^7.0.15 + checksum: ff9b5b4987f0bae4f2a4cfcdc7ae584ad3b0cb58526ca562fb281d6837700a04c7f3c86862e95126462318f33f60bf38e1cb07ed0e2449532d4b91cd5f4ab1f2 + languageName: node + linkType: hard + "@eslint/eslintrc@npm:^2.1.4": version: 2.1.4 resolution: "@eslint/eslintrc@npm:2.1.4" @@ -1970,6 +1999,23 @@ __metadata: languageName: node linkType: hard +"@eslint/eslintrc@npm:^3.3.6": + version: 3.3.6 + resolution: "@eslint/eslintrc@npm:3.3.6" + dependencies: + ajv: ^6.14.0 + debug: ^4.3.2 + espree: ^10.0.1 + globals: ^14.0.0 + ignore: ^5.2.0 + import-fresh: ^3.2.1 + js-yaml: ^4.3.0 + minimatch: ^3.1.5 + strip-json-comments: ^3.1.1 + checksum: 905d50fb761507fdd7c59600dc92e37f81e3160d0f752d4b1087eea680fcbc3c28f63eca70e4fa058aecf2b30780db3d8195d577ff3368c0141abc1f1f766370 + languageName: node + linkType: hard + "@eslint/js@npm:8.57.1": version: 8.57.1 resolution: "@eslint/js@npm:8.57.1" @@ -1977,6 +2023,30 @@ __metadata: languageName: node linkType: hard +"@eslint/js@npm:9.39.5": + version: 9.39.5 + resolution: "@eslint/js@npm:9.39.5" + checksum: fb012ffa4be0e1eb3fea59e4df6394a2abc054c800554596a682e7086aec4dc3c39801b3a4c2f1aaeba097ab09c17d2f02bcdd47fdcd0120dc94af6e5c3b00c4 + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^2.1.7": + version: 2.1.7 + resolution: "@eslint/object-schema@npm:2.1.7" + checksum: fc5708f192476956544def13455d60fd1bafbf8f062d1e05ec5c06dd470b02078eaf721e696a8b31c1c45d2056723a514b941ae5eea1398cc7e38eba6711a775 + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.4.1": + version: 0.4.1 + resolution: "@eslint/plugin-kit@npm:0.4.1" + dependencies: + "@eslint/core": ^0.17.0 + levn: ^0.4.1 + checksum: 3f4492e02a3620e05d46126c5cfeff5f651ecf33466c8f88efb4812ae69db5f005e8c13373afabc070ecca7becd319b656d6670ad5093f05ca63c2a8841d99ba + languageName: node + linkType: hard + "@evilmartians/lefthook@npm:^1.5.0": version: 1.13.6 resolution: "@evilmartians/lefthook@npm:1.13.6" @@ -2016,6 +2086,33 @@ __metadata: languageName: node linkType: hard +"@humanfs/core@npm:^0.19.2": + version: 0.19.2 + resolution: "@humanfs/core@npm:0.19.2" + dependencies: + "@humanfs/types": ^0.15.0 + checksum: cfcf57302dafe41eadd900b30da5e10f8b4e51fac635c834c03ae11933d1911c131ef3cfa3ff14c47b17dd23524180c69f50cfe0b68c152034c2f6ba0ec2ccae + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.8 + resolution: "@humanfs/node@npm:0.16.8" + dependencies: + "@humanfs/core": ^0.19.2 + "@humanfs/types": ^0.15.0 + "@humanwhocodes/retry": ^0.4.0 + checksum: 179d1dae12c5d1330c262b79b037e4db3e98d870f4827a56c1eb8a6bc32a6d2b4c32603a5b13c4f2e11882239276ed2a559cf465dfba33a3ac37bc7d9f5c1e9b + languageName: node + linkType: hard + +"@humanfs/types@npm:^0.15.0": + version: 0.15.0 + resolution: "@humanfs/types@npm:0.15.0" + checksum: fe8abe73e36ded7bf854addd48a5a7defe3aa77af9e92a95195bc6abd7d2a22c193bbac38d47982c198e2683e5108acba691cd859c4e1104b94d76651139e2da + languageName: node + linkType: hard + "@humanwhocodes/config-array@npm:^0.13.0": version: 0.13.0 resolution: "@humanwhocodes/config-array@npm:0.13.0" @@ -2041,6 +2138,13 @@ __metadata: languageName: node linkType: hard +"@humanwhocodes/retry@npm:^0.4.0, @humanwhocodes/retry@npm:^0.4.2": + version: 0.4.3 + resolution: "@humanwhocodes/retry@npm:0.4.3" + checksum: d423455b9d53cf01f778603404512a4246fb19b83e74fe3e28c70d9a80e9d4ae147d2411628907ca983e91a855a52535859a8bb218050bc3f6dbd7a553b7b442 + languageName: node + linkType: hard + "@hutson/parse-repository-url@npm:^5.0.0": version: 5.0.0 resolution: "@hutson/parse-repository-url@npm:5.0.0" @@ -2170,11 +2274,11 @@ __metadata: commitlint: ^19.6.1 del-cli: ^5.1.0 dpdm: ^4.2.0 - eslint: ^8.51.0 + eslint: ^9.39.5 eslint-config-prettier: ^10.1.8 - eslint-plugin-jest: ^28.9.0 + eslint-plugin-jest: ^29.0.1 eslint-plugin-prettier: ^5.0.1 - eslint-plugin-tsdoc: ^0.3.0 + eslint-plugin-tsdoc: ^0.5.2 jest: ^29.7.0 prettier: ^3.0.3 prettier-eslint: ^16.4.2 @@ -2520,22 +2624,22 @@ __metadata: languageName: node linkType: hard -"@microsoft/tsdoc-config@npm:0.17.0": - version: 0.17.0 - resolution: "@microsoft/tsdoc-config@npm:0.17.0" +"@microsoft/tsdoc-config@npm:0.18.1": + version: 0.18.1 + resolution: "@microsoft/tsdoc-config@npm:0.18.1" dependencies: - "@microsoft/tsdoc": 0.15.0 - ajv: ~8.12.0 + "@microsoft/tsdoc": 0.16.0 + ajv: ~8.18.0 jju: ~1.4.0 resolve: ~1.22.2 - checksum: dd2de8247d0fc29608da83edf4ab73a21370f6ce10d089853303e91b135fdb1436ccec3bd1024f235dd3180dfe5dae7342989eadd03af55cf06f0e974e5fc213 + checksum: d8dc159d4af1c59375511c336b689a227a14abfab5b75125c8ac1d955f069aeb7f9fd5a419936229f09a333594c6eb0473f24b7552b222b9c5790015e460657d languageName: node linkType: hard -"@microsoft/tsdoc@npm:0.15.0": - version: 0.15.0 - resolution: "@microsoft/tsdoc@npm:0.15.0" - checksum: 3f693cff07b220b68563e3f86e9f94a9c8d0791a7446f76149c7d62ae5ed5cb4578bb48b9b5f9baa3dd9a9f77be81903c74654a41e0ca4ecf78936654952a8d4 +"@microsoft/tsdoc@npm:0.16.0": + version: 0.16.0 + resolution: "@microsoft/tsdoc@npm:0.16.0" + checksum: 8aece3371a45a18af4233a5d6f8ac94612c8baef65f782f925b0c1f5a98802f031e6bf8b487a849ceb35f4cc6c2ea15ba82a4497c72b50e5b33771ecd62729cd languageName: node linkType: hard @@ -3522,6 +3626,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:^1.0.6": + version: 1.0.9 + resolution: "@types/estree@npm:1.0.9" + checksum: 752c0afee3ec82b8e24484bf6a27dfa093bbf3de4ef1c20ed0364fb6ad2c0c7971e7504ed9a7aaff103a47e2d945ce7a17f74951743dd944782a0735f53170de + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.3": version: 4.1.9 resolution: "@types/graceful-fs@npm:4.1.9" @@ -3582,6 +3693,13 @@ __metadata: languageName: node linkType: hard +"@types/json-schema@npm:^7.0.15": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 97ed0cb44d4070aecea772b7b2e2ed971e10c81ec87dd4ecc160322ffa55ff330dace1793489540e3e318d90942064bb697cc0f8989391797792d919737b3b98 + languageName: node + linkType: hard + "@types/minimist@npm:^1.2.2": version: 1.2.5 resolution: "@types/minimist@npm:1.2.5" @@ -3764,6 +3882,19 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/project-service@npm:8.56.1": + version: 8.56.1 + resolution: "@typescript-eslint/project-service@npm:8.56.1" + dependencies: + "@typescript-eslint/tsconfig-utils": ^8.56.1 + "@typescript-eslint/types": ^8.56.1 + debug: ^4.4.3 + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: aeb8f9e34185781d83a67dfef8dc80b3d0d1d832b592a86aaecada1311e7920cb8fd1a044986a6a1c50cdcadfb1e80a3c173cd17b4e8abe8d6bf072e9a904474 + languageName: node + linkType: hard + "@typescript-eslint/project-service@npm:8.59.2": version: 8.59.2 resolution: "@typescript-eslint/project-service@npm:8.59.2" @@ -3797,6 +3928,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:8.56.1": + version: 8.56.1 + resolution: "@typescript-eslint/scope-manager@npm:8.56.1" + dependencies: + "@typescript-eslint/types": 8.56.1 + "@typescript-eslint/visitor-keys": 8.56.1 + checksum: 55a593a2c74bb7cff5136d48c242e7bcf8c54bdd4ae20db2bedf4756f795adda85f9971b7d871991f19ae3cd1cf4b6f854a589bd5fd00f0d77e2906880034155 + languageName: node + linkType: hard + "@typescript-eslint/scope-manager@npm:8.59.2": version: 8.59.2 resolution: "@typescript-eslint/scope-manager@npm:8.59.2" @@ -3816,6 +3957,15 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/tsconfig-utils@npm:8.56.1": + version: 8.56.1 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.56.1" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: b54be8d46963958d8dc763099d632a83384dda2832c57a121df853c2fbd01042eb5c02d427303c021920d8312fcafb987ef734dea2a4ebcf1fe3dc956fd62f42 + languageName: node + linkType: hard + "@typescript-eslint/tsconfig-utils@npm:8.59.2, @typescript-eslint/tsconfig-utils@npm:^8.59.2": version: 8.59.2 resolution: "@typescript-eslint/tsconfig-utils@npm:8.59.2" @@ -3825,6 +3975,15 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/tsconfig-utils@npm:^8.56.1": + version: 8.64.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.64.0" + peerDependencies: + typescript: ">=4.8.4 <6.1.0" + checksum: 13243785d36d89fe18abd56f890ce210f3691d03eddcba6ea9bce7bf6a79b02167465906a2f5661ea190ac94af1c5bcb1ae9a8717ed5366e05098b7b190487c4 + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:8.46.1": version: 8.46.1 resolution: "@typescript-eslint/type-utils@npm:8.46.1" @@ -3871,6 +4030,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:8.56.1": + version: 8.56.1 + resolution: "@typescript-eslint/types@npm:8.56.1" + checksum: 67716a6699becdef1dd23acb0762b940caa2c541fd27573328b5047a7cd08d19f775eb01cd11080d16dc2d2a23af8f9b8fc5813f935b12170769de074af3c77a + languageName: node + linkType: hard + "@typescript-eslint/types@npm:8.59.2, @typescript-eslint/types@npm:^8.59.2": version: 8.59.2 resolution: "@typescript-eslint/types@npm:8.59.2" @@ -3878,6 +4044,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:^8.56.1": + version: 8.64.0 + resolution: "@typescript-eslint/types@npm:8.64.0" + checksum: 2b2803209a87562d1376fc0371e356e8bbb8ce956f24101a8cbe189c5738fad2b9f51e88a081168c4e86a30be003debbad234f04b8023e7175ccdb0888d7f6af + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:6.21.0": version: 6.21.0 resolution: "@typescript-eslint/typescript-estree@npm:6.21.0" @@ -3917,6 +4090,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:8.56.1": + version: 8.56.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.56.1" + dependencies: + "@typescript-eslint/project-service": 8.56.1 + "@typescript-eslint/tsconfig-utils": 8.56.1 + "@typescript-eslint/types": 8.56.1 + "@typescript-eslint/visitor-keys": 8.56.1 + debug: ^4.4.3 + minimatch: ^10.2.2 + semver: ^7.7.3 + tinyglobby: ^0.2.15 + ts-api-utils: ^2.4.0 + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: e28b4874b8d65c22075b3ada91931d17d892f16aa39a7f65cf726476085c0ef9620945c558b3c00ed363f88bd6ebd5372267510b640687370c608a0298bbf5cf + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:8.59.2": version: 8.59.2 resolution: "@typescript-eslint/typescript-estree@npm:8.59.2" @@ -3936,7 +4128,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.46.1, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": +"@typescript-eslint/utils@npm:8.46.1": version: 8.46.1 resolution: "@typescript-eslint/utils@npm:8.46.1" dependencies: @@ -3966,6 +4158,21 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:~8.56.0": + version: 8.56.1 + resolution: "@typescript-eslint/utils@npm:8.56.1" + dependencies: + "@eslint-community/eslint-utils": ^4.9.1 + "@typescript-eslint/scope-manager": 8.56.1 + "@typescript-eslint/types": 8.56.1 + "@typescript-eslint/typescript-estree": 8.56.1 + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: bcef244cdad1ede9726e6e01e60077056b5ce1136ac0637446b05975a1936a2d424159471eebaa9f8746659bdca567f5e50d63bdbb6369bc48d2f5af4627d1ca + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:6.21.0": version: 6.21.0 resolution: "@typescript-eslint/visitor-keys@npm:6.21.0" @@ -3986,6 +4193,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:8.56.1": + version: 8.56.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.56.1" + dependencies: + "@typescript-eslint/types": 8.56.1 + eslint-visitor-keys: ^5.0.0 + checksum: cd8cb26d855b09103bd8a5d5d3eb9eb9eecb7cf7276fd2bebf3f79deb6cd4d81b400b229fb8485cd7376e3c25bbd07b2d1674f47794ff84ffcc817859cd0cb62 + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:8.59.2": version: 8.59.2 resolution: "@typescript-eslint/visitor-keys@npm:8.59.2" @@ -4122,6 +4339,18 @@ __metadata: languageName: node linkType: hard +"ajv@npm:^6.14.0": + version: 6.15.0 + resolution: "ajv@npm:6.15.0" + dependencies: + fast-deep-equal: ^3.1.1 + fast-json-stable-stringify: ^2.0.0 + json-schema-traverse: ^0.4.1 + uri-js: ^4.2.2 + checksum: a8e0308f1b44c3dfd1143911353be51bf8aedc2f2bcd595061755ad241c8450a10e4b657af8ba764c5ec9ae2162010f21d5e0d43763e20d782a8171da99b967a + languageName: node + linkType: hard + "ajv@npm:^8.11.0": version: 8.17.1 resolution: "ajv@npm:8.17.1" @@ -4134,15 +4363,15 @@ __metadata: languageName: node linkType: hard -"ajv@npm:~8.12.0": - version: 8.12.0 - resolution: "ajv@npm:8.12.0" +"ajv@npm:~8.18.0": + version: 8.18.0 + resolution: "ajv@npm:8.18.0" dependencies: - fast-deep-equal: ^3.1.1 + fast-deep-equal: ^3.1.3 + fast-uri: ^3.0.1 json-schema-traverse: ^1.0.0 require-from-string: ^2.0.2 - uri-js: ^4.2.2 - checksum: 4dc13714e316e67537c8b31bc063f99a1d9d9a497eb4bbd55191ac0dcd5e4985bbb71570352ad6f1e76684fb6d790928f96ba3b2d4fd6e10024be9612fe3f001 + checksum: bcdf6c7b040ca488108e2b4e219b31cf9ed478331007d4dd1ed8acc3946dd6b84295817c0f4724207b8dd8589c9966168b2fd4c7f32109d4b8526cdd3743e936 languageName: node linkType: hard @@ -6439,34 +6668,16 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-ft-flow@npm:^2.0.1": - version: 2.0.3 - resolution: "eslint-plugin-ft-flow@npm:2.0.3" +"eslint-plugin-ft-flow@npm:^3.0.11": + version: 3.0.11 + resolution: "eslint-plugin-ft-flow@npm:3.0.11" dependencies: lodash: ^4.17.21 string-natural-compare: ^3.0.1 peerDependencies: - "@babel/eslint-parser": ^7.12.0 - eslint: ^8.1.0 - checksum: 6272f7c352154875dc85c7dcd7cf66f6ed926a9a6aba81c675583bcc6695147597d6b9a6db0f643a387d14eccd61dc36daf20eec1c49e91ce1c63c01ffe295f7 - languageName: node - linkType: hard - -"eslint-plugin-jest@npm:^28.9.0": - version: 28.14.0 - resolution: "eslint-plugin-jest@npm:28.14.0" - dependencies: - "@typescript-eslint/utils": ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependencies: - "@typescript-eslint/eslint-plugin": ^6.0.0 || ^7.0.0 || ^8.0.0 - eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - jest: "*" - peerDependenciesMeta: - "@typescript-eslint/eslint-plugin": - optional: true - jest: - optional: true - checksum: 7daeb0ebc360ba159474246cef8ea7f0a3e020652571d948022af73bec7a53dd436b48de81332fd4d5d5556ef1046cec0e6a2213287a461e4e81390ce76ad2e7 + eslint: ^8.56.0 || ^9.0.0 + hermes-eslint: ">=0.15.0" + checksum: eba55022633424b7c5e491d4939eeba5525f5b1345a9fa0846a47f508885b91a0ee2a008276e4031260d0f9c1d971903b7469d8915ebc668cce67a01cdb808d0 languageName: node linkType: hard @@ -6572,13 +6783,14 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-tsdoc@npm:^0.3.0": - version: 0.3.0 - resolution: "eslint-plugin-tsdoc@npm:0.3.0" +"eslint-plugin-tsdoc@npm:^0.5.2": + version: 0.5.2 + resolution: "eslint-plugin-tsdoc@npm:0.5.2" dependencies: - "@microsoft/tsdoc": 0.15.0 - "@microsoft/tsdoc-config": 0.17.0 - checksum: 31596d3991603a44d5fd368e16c0f4e11dc6d13cff5b86c91e78666344d9a264a0e25deeb3c76794775c41ba86ab991fe5f197c7fb635860b386e609e9c65412 + "@microsoft/tsdoc": 0.16.0 + "@microsoft/tsdoc-config": 0.18.1 + "@typescript-eslint/utils": ~8.56.0 + checksum: 9fcd0f17092f839df8d0ed35cf2966c2d72388f65fd6a05e043bfa7d147a9d719764c3db381ae2f72e200cce519c624aed29b3ca2590c4ebc3bd9dc21eca799d languageName: node linkType: hard @@ -6602,6 +6814,16 @@ __metadata: languageName: node linkType: hard +"eslint-scope@npm:^8.4.0": + version: 8.4.0 + resolution: "eslint-scope@npm:8.4.0" + dependencies: + esrecurse: ^4.3.0 + estraverse: ^5.2.0 + checksum: cf88f42cd5e81490d549dc6d350fe01e6fe420f9d9ea34f134bb359b030e3c4ef888d36667632e448937fe52449f7181501df48c08200e3d3b0fee250d05364e + languageName: node + linkType: hard + "eslint-visitor-keys@npm:^2.1.0": version: 2.1.0 resolution: "eslint-visitor-keys@npm:2.1.0" @@ -6630,7 +6852,7 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.51.0, eslint@npm:^8.57.1": +"eslint@npm:^8.57.1": version: 8.57.1 resolution: "eslint@npm:8.57.1" dependencies: @@ -6678,6 +6900,66 @@ __metadata: languageName: node linkType: hard +"eslint@npm:^9.39.5": + version: 9.39.5 + resolution: "eslint@npm:9.39.5" + dependencies: + "@eslint-community/eslint-utils": ^4.8.0 + "@eslint-community/regexpp": ^4.12.1 + "@eslint/config-array": ^0.21.2 + "@eslint/config-helpers": ^0.4.2 + "@eslint/core": ^0.17.0 + "@eslint/eslintrc": ^3.3.6 + "@eslint/js": 9.39.5 + "@eslint/plugin-kit": ^0.4.1 + "@humanfs/node": ^0.16.6 + "@humanwhocodes/module-importer": ^1.0.1 + "@humanwhocodes/retry": ^0.4.2 + "@types/estree": ^1.0.6 + ajv: ^6.14.0 + chalk: ^4.0.0 + cross-spawn: ^7.0.6 + debug: ^4.3.2 + escape-string-regexp: ^4.0.0 + eslint-scope: ^8.4.0 + eslint-visitor-keys: ^4.2.1 + espree: ^10.4.0 + esquery: ^1.5.0 + esutils: ^2.0.2 + fast-deep-equal: ^3.1.3 + file-entry-cache: ^8.0.0 + find-up: ^5.0.0 + glob-parent: ^6.0.2 + ignore: ^5.2.0 + imurmurhash: ^0.1.4 + is-glob: ^4.0.0 + json-stable-stringify-without-jsonify: ^1.0.1 + lodash.merge: ^4.6.2 + minimatch: ^3.1.5 + natural-compare: ^1.4.0 + optionator: ^0.9.3 + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true + bin: + eslint: bin/eslint.js + checksum: a84d9f6b9eee55b0dab6fb823ed50e78314557c49cd6af9450286a14693f205bdf97a342d112fce38f9bad74eda263c8a5a25b239f4d727ffe4cc41a7f0ac2e1 + languageName: node + linkType: hard + +"espree@npm:^10.0.1, espree@npm:^10.4.0": + version: 10.4.0 + resolution: "espree@npm:10.4.0" + dependencies: + acorn: ^8.15.0 + acorn-jsx: ^5.3.2 + eslint-visitor-keys: ^4.2.1 + checksum: 5f9d0d7c81c1bca4bfd29a55270067ff9d575adb8c729a5d7f779c2c7b910bfc68ccf8ec19b29844b707440fc159a83868f22c8e87bbf7cbcb225ed067df6c85 + languageName: node + linkType: hard + "espree@npm:^9.3.1, espree@npm:^9.6.0, espree@npm:^9.6.1": version: 9.6.1 resolution: "espree@npm:9.6.1" @@ -6708,6 +6990,15 @@ __metadata: languageName: node linkType: hard +"esquery@npm:^1.5.0": + version: 1.7.0 + resolution: "esquery@npm:1.7.0" + dependencies: + estraverse: ^5.1.0 + checksum: 3239792b68cf39fe18966d0ca01549bb15556734f0144308fd213739b0f153671ae916013fce0bca032044a4dbcda98b43c1c667f20c20a54dec3597ac0d7c27 + languageName: node + linkType: hard + "esrecurse@npm:^4.3.0": version: 4.3.0 resolution: "esrecurse@npm:4.3.0" @@ -6948,6 +7239,15 @@ __metadata: languageName: node linkType: hard +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" + dependencies: + flat-cache: ^4.0.0 + checksum: f67802d3334809048c69b3d458f672e1b6d26daefda701761c81f203b80149c35dea04d78ea4238969dd617678e530876722a0634c43031a0957f10cc3ed190f + languageName: node + linkType: hard + "fill-range@npm:^7.1.1": version: 7.1.1 resolution: "fill-range@npm:7.1.1" @@ -7046,6 +7346,16 @@ __metadata: languageName: node linkType: hard +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" + dependencies: + flatted: ^3.2.9 + keyv: ^4.5.4 + checksum: 899fc86bf6df093547d76e7bfaeb900824b869d7d457d02e9b8aae24836f0a99fbad79328cfd6415ee8908f180699bf259dc7614f793447cb14f707caf5996f6 + languageName: node + linkType: hard + "flatted@npm:^3.2.9": version: 3.3.3 resolution: "flatted@npm:3.3.3" @@ -7458,6 +7768,13 @@ __metadata: languageName: node linkType: hard +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 534b8216736a5425737f59f6e6a5c7f386254560c9f41d24a9227d60ee3ad4a9e82c5b85def0e212e9d92162f83a92544be4c7fd4c902cb913736c10e08237ac + languageName: node + linkType: hard + "globalthis@npm:^1.0.4": version: 1.0.4 resolution: "globalthis@npm:1.0.4" @@ -9193,6 +9510,17 @@ __metadata: languageName: node linkType: hard +"js-yaml@npm:^4.3.0": + version: 4.3.0 + resolution: "js-yaml@npm:4.3.0" + dependencies: + argparse: ^2.0.1 + bin: + js-yaml: bin/js-yaml.js + checksum: 1268fb22ae8504646cedc0823c18816d4af056029578e855b9a4d3e19bcafc3e9ba9e391f70dea4a29b023bb09f23639766071199cb89e853266b90a6ec25f9a + languageName: node + linkType: hard + "jsc-safe-url@npm:^0.2.2": version: 0.2.4 resolution: "jsc-safe-url@npm:0.2.4" @@ -9304,7 +9632,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.3": +"keyv@npm:^4.5.3, keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -10397,6 +10725,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^3.1.5": + version: 3.1.5 + resolution: "minimatch@npm:3.1.5" + dependencies: + brace-expansion: ^1.1.7 + checksum: 47ef6f412c08be045a7291d11b1c40777925accf7252dc6d3caa39b1bfbb3a7ea390ba7aba464d762d783265c644143d2c8a204e6b5763145024d52ee65a1941 + languageName: node + linkType: hard + "minimatch@npm:^5.0.1": version: 5.1.6 resolution: "minimatch@npm:5.1.6" @@ -13345,7 +13682,7 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^2.5.0": +"ts-api-utils@npm:^2.4.0, ts-api-utils@npm:^2.5.0": version: 2.5.0 resolution: "ts-api-utils@npm:2.5.0" peerDependencies: