diff --git a/.changeset/eleven-apples-fly.md b/.changeset/eleven-apples-fly.md new file mode 100644 index 000000000..8cc7159ec --- /dev/null +++ b/.changeset/eleven-apples-fly.md @@ -0,0 +1,6 @@ +--- +"@rnx-kit/eslint-plugin": patch +--- + +Bumped `eslint-plugin-react` and `eslint-plugin-react-hooks` to better support +ESLint 9.x diff --git a/incubator/@react-native-webapis/battery-status/package.json b/incubator/@react-native-webapis/battery-status/package.json index 415f82a02..7717229f7 100644 --- a/incubator/@react-native-webapis/battery-status/package.json +++ b/incubator/@react-native-webapis/battery-status/package.json @@ -44,7 +44,7 @@ "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "react": "^18.2.0", "react-native": "^0.75.0", diff --git a/incubator/@react-native-webapis/web-storage/package.json b/incubator/@react-native-webapis/web-storage/package.json index 9b483dc47..5b9493e55 100644 --- a/incubator/@react-native-webapis/web-storage/package.json +++ b/incubator/@react-native-webapis/web-storage/package.json @@ -58,7 +58,7 @@ "@rnx-kit/eslint-config": "*", "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "prettier": "^3.0.0", "react": "^18.2.0", diff --git a/incubator/build-plugin-firebase/package.json b/incubator/build-plugin-firebase/package.json index 3bcf20276..8c47f37e6 100644 --- a/incubator/build-plugin-firebase/package.json +++ b/incubator/build-plugin-firebase/package.json @@ -40,7 +40,7 @@ "@rnx-kit/eslint-config": "*", "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "typescript": "^5.0.0" }, diff --git a/incubator/build/package.json b/incubator/build/package.json index d889f7a53..8c805ed7e 100644 --- a/incubator/build/package.json +++ b/incubator/build/package.json @@ -79,7 +79,7 @@ "@types/node": "^20.0.0", "@types/qrcode": "^1.4.2", "@types/yargs": "^16.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "typescript": "^5.0.0" }, diff --git a/incubator/commitlint-lite/package.json b/incubator/commitlint-lite/package.json index 697001def..be881266a 100644 --- a/incubator/commitlint-lite/package.json +++ b/incubator/commitlint-lite/package.json @@ -37,7 +37,7 @@ "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "typescript": "^5.0.0" }, diff --git a/incubator/esbuild-bundle-analyzer/package.json b/incubator/esbuild-bundle-analyzer/package.json index 5365ccc4d..53aa6f9e4 100644 --- a/incubator/esbuild-bundle-analyzer/package.json +++ b/incubator/esbuild-bundle-analyzer/package.json @@ -45,7 +45,7 @@ "@types/jest": "^29.2.1", "@types/node": "^20.0.0", "@types/yargs": "^16.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "prettier": "^3.0.0", "typescript": "^5.0.0" diff --git a/incubator/patcher-rnmacos/package.json b/incubator/patcher-rnmacos/package.json index c39aa2180..98231ca15 100644 --- a/incubator/patcher-rnmacos/package.json +++ b/incubator/patcher-rnmacos/package.json @@ -36,7 +36,7 @@ "@types/fs-extra": "^9.0.0", "@types/istextorbinary": "^2.3.0", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "prettier": "^3.0.0", "typescript": "^5.0.0" diff --git a/incubator/patcher-rnmacos/src/patch/apply.ts b/incubator/patcher-rnmacos/src/patch/apply.ts index 139d805c7..009ce69f2 100644 --- a/incubator/patcher-rnmacos/src/patch/apply.ts +++ b/incubator/patcher-rnmacos/src/patch/apply.ts @@ -129,7 +129,6 @@ function applyPatch( for (const hunk of hunks) { let fuzzingOffset = 0; - // eslint-disable-next-line no-constant-condition while (true) { const modifications = evaluateHunk(hunk, fileLines, fuzzingOffset); if (modifications) { diff --git a/incubator/polyfills/package.json b/incubator/polyfills/package.json index 8e4cd4c60..73bd58f7c 100644 --- a/incubator/polyfills/package.json +++ b/incubator/polyfills/package.json @@ -48,7 +48,7 @@ "@types/babel__helper-plugin-utils": "^7.0.0", "@types/babel__template": "^7.0.0", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "metro-config": "^0.80.3", "prettier": "^3.0.0", "typescript": "^5.0.0" diff --git a/incubator/react-native-error-trace-decorator/package.json b/incubator/react-native-error-trace-decorator/package.json index 3f00c7e96..ee752ac3c 100644 --- a/incubator/react-native-error-trace-decorator/package.json +++ b/incubator/react-native-error-trace-decorator/package.json @@ -33,7 +33,7 @@ "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", "@types/yargs": "^16.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "prettier": "^3.0.0", "typescript": "^5.0.0" diff --git a/incubator/rn-changelog-generator/package.json b/incubator/rn-changelog-generator/package.json index efe192461..963d9563d 100644 --- a/incubator/rn-changelog-generator/package.json +++ b/incubator/rn-changelog-generator/package.json @@ -38,7 +38,7 @@ "@types/node": "^20.0.0", "chalk": "^4.1.0", "deepmerge": "^4.2.2", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "fast-levenshtein": "^3.0.0", "jest": "^29.2.1", "p-limit": "^3.1.0", diff --git a/package.json b/package.json index 6b4ad36a3..f18ee3e2a 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@changesets/cli": "^2.22.0", "@types/jest": "^29.2.1", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "knip": "^5.30.2", "metro": "^0.80.3", "nx": "~19.5.0", @@ -51,7 +51,7 @@ }, "packageManager": "yarn@4.4.0", "resolutions": { - "@microsoft/eslint-plugin-sdl/eslint-plugin-react": "^7.33.0", + "@microsoft/eslint-plugin-sdl/eslint-plugin-react": "^7.35.2", "@microsoft/eslint-plugin-sdl/eslint-plugin-security": "^1.4.0", "@react-native-community/cli": "^14.0.0", "@react-native-community/cli-platform-android": "^14.0.0", @@ -148,9 +148,6 @@ }, "packages/eslint-plugin": { "ignoreDependencies": [ - "@microsoft/eslint-plugin-sdl", - "eslint-plugin-node", - "eslint-plugin-react", "eslint-plugin-react-hooks" ] }, diff --git a/packages/align-deps/package.json b/packages/align-deps/package.json index 98a204aac..2de0c3e86 100644 --- a/packages/align-deps/package.json +++ b/packages/align-deps/package.json @@ -47,7 +47,7 @@ "@types/semver": "^7.0.0", "@types/yargs": "^16.0.0", "detect-indent": "^6.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "markdown-table": "^3.0.0", "package-json": "^10.0.0", diff --git a/packages/babel-plugin-import-path-remapper/package.json b/packages/babel-plugin-import-path-remapper/package.json index e14f947be..543e51093 100644 --- a/packages/babel-plugin-import-path-remapper/package.json +++ b/packages/babel-plugin-import-path-remapper/package.json @@ -35,7 +35,7 @@ "@types/babel__core": "^7.0.0", "@types/babel__helper-plugin-utils": "^7.0.0", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "typescript": "^5.0.0" }, diff --git a/packages/babel-preset-metro-react-native/package.json b/packages/babel-preset-metro-react-native/package.json index 2c3db7613..d8db14a67 100644 --- a/packages/babel-preset-metro-react-native/package.json +++ b/packages/babel-preset-metro-react-native/package.json @@ -57,7 +57,7 @@ "@types/babel__core": "^7.0.0", "@types/jest": "^29.2.1", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "metro-react-native-babel-preset": "^0.76.5", "prettier": "^3.0.0", diff --git a/packages/bundle-diff/package.json b/packages/bundle-diff/package.json index fa59d1907..96e666965 100644 --- a/packages/bundle-diff/package.json +++ b/packages/bundle-diff/package.json @@ -33,7 +33,7 @@ "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "typescript": "^5.0.0" }, diff --git a/packages/cli/package.json b/packages/cli/package.json index 2ed76a817..8facc92a9 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -83,7 +83,7 @@ "@types/jest": "^29.2.1", "@types/node": "^20.0.0", "@types/qrcode": "^1.4.2", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "markdown-table": "^3.0.0", "metro": "^0.80.3", diff --git a/packages/config/package.json b/packages/config/package.json index 1a6fe8d4c..ff941d8d8 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -49,7 +49,7 @@ "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", "@types/semver": "^7.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "metro": "^0.80.3", "prettier": "^3.0.0", "typescript": "^5.0.0" diff --git a/packages/console/package.json b/packages/console/package.json index 9ebb1c6b6..5ba909843 100644 --- a/packages/console/package.json +++ b/packages/console/package.json @@ -39,7 +39,7 @@ "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "typescript": "^5.0.0" }, diff --git a/packages/esbuild-plugin-import-path-remapper/package.json b/packages/esbuild-plugin-import-path-remapper/package.json index 1b7815329..fdb665196 100644 --- a/packages/esbuild-plugin-import-path-remapper/package.json +++ b/packages/esbuild-plugin-import-path-remapper/package.json @@ -32,7 +32,7 @@ "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", "esbuild": "^0.23.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "prettier": "^3.0.0", "typescript": "^5.0.0" diff --git a/packages/eslint-config/index.js b/packages/eslint-config/index.js index 33286b15b..4e663bbfa 100644 --- a/packages/eslint-config/index.js +++ b/packages/eslint-config/index.js @@ -1,21 +1,23 @@ -const { FlatCompat } = require("@eslint/eslintrc"); -const js = require("@eslint/js"); +const sdl = require("@microsoft/eslint-plugin-sdl"); const rnx = require("@rnx-kit/eslint-plugin"); -const compat = new FlatCompat({ - // Use `@rnx-kit/eslint-plugin` as base directory to ensure we get the same - // plugin instances - baseDirectory: require.resolve("@rnx-kit/eslint-plugin/package.json"), - recommendedConfig: js.configs.recommended, -}); - +/** + * Note that we don't directly use `sdl.configs.required` because: + * + * 1. It includes rules for Angular and Electron + * 2. Its `react` preset conflicts with our direct use of `eslint-plugin-react` + * + * https://github.com/microsoft/eslint-plugin-sdl/blob/957996315c80fdadcd1a9f7bb76fc4663d33ef1e/lib/index.js#L47-L54 + */ module.exports = [ + ...sdl.configs.common, + ...sdl.configs.node, ...rnx.configs.strict, ...rnx.configs.stylistic, - ...compat.extends("plugin:@microsoft/sdl/required"), { rules: { "@typescript-eslint/consistent-type-definitions": ["error", "type"], + ...sdl.configs.react[0].rules, }, }, ]; diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 26beb0ba7..ce0d2d30b 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -22,14 +22,14 @@ "format": "prettier --write --log-level error README.md index.js package.json" }, "dependencies": { - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "^8.56.0", + "@microsoft/eslint-plugin-sdl": "^1.0.0", "@rnx-kit/eslint-plugin": "workspace:*" }, "peerDependencies": { - "eslint": ">=8.56.0" + "eslint": "^9.0.0" }, "devDependencies": { + "eslint": "^9.0.0", "prettier": "^3.0.0" }, "engines": { diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index 92c0e0c82..221b14ef4 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -43,23 +43,22 @@ "test": "rnx-kit-scripts test" }, "dependencies": { - "@eslint/eslintrc": "^2.1.4", + "@eslint/eslintrc": "^3.0.0", "@react-native/eslint-plugin": "^0.75.0", "enhanced-resolve": "^5.8.3", - "eslint-plugin-react": "^7.33.0", - "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react": "^7.35.2", + "eslint-plugin-react-hooks": "^5.0.0", "typescript-eslint": "^8.0.0" }, "peerDependencies": { "eslint": ">=8.57.0" }, "devDependencies": { - "@microsoft/eslint-plugin-sdl": "^0.2.0", "@rnx-kit/eslint-config": "*", "@rnx-kit/jest-preset": "*", "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", - "@types/eslint": "^8.0.0", + "@types/eslint": "^9.0.0", "@types/eslint__eslintrc": "^2.1.1", "@types/eslint__js": "^8.0.0", "@types/estree": "*", @@ -67,8 +66,7 @@ "@types/node": "^20.0.0", "@typescript-eslint/parser": "^8.0.0", "@typescript-eslint/types": "^8.0.0", - "eslint": "^8.56.0", - "eslint-plugin-node": "11.1.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "prettier": "^3.0.0", "typescript": "^5.0.0" diff --git a/packages/eslint-plugin/src/configs/eslint.js b/packages/eslint-plugin/src/configs/eslint.js new file mode 100644 index 000000000..e17a78fca --- /dev/null +++ b/packages/eslint-plugin/src/configs/eslint.js @@ -0,0 +1,12 @@ +// @ts-check +"use strict"; + +const path = require("node:path"); + +try { + const eslint = path.dirname(require.resolve("eslint/package.json")); + const eslintjs = require.resolve("@eslint/js", { paths: [eslint] }); + module.exports = require(eslintjs); +} catch (_) { + module.exports = require("@eslint/js"); +} diff --git a/packages/eslint-plugin/src/configs/react.js b/packages/eslint-plugin/src/configs/react.js new file mode 100644 index 000000000..71d1f49a3 --- /dev/null +++ b/packages/eslint-plugin/src/configs/react.js @@ -0,0 +1,16 @@ +// @ts-check +"use strict"; + +const { FlatCompat } = require("@eslint/eslintrc"); +const react = require("eslint-plugin-react"); +const eslint = require("./eslint"); + +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: eslint.configs.recommended, +}); + +module.exports = [ + ...compat.extends("plugin:react-hooks/recommended"), + react.configs.flat.recommended, +]; diff --git a/packages/eslint-plugin/src/configs/recommended.js b/packages/eslint-plugin/src/configs/recommended.js index 1e4a39ecd..d0ed095e6 100644 --- a/packages/eslint-plugin/src/configs/recommended.js +++ b/packages/eslint-plugin/src/configs/recommended.js @@ -1,23 +1,8 @@ // @ts-check "use strict"; -const { FlatCompat } = require("@eslint/eslintrc"); -const js = (() => { - const path = require("node:path"); - try { - const eslint = path.dirname(require.resolve("eslint/package.json")); - const eslintjs = require.resolve("@eslint/js", { paths: [eslint] }); - return require(eslintjs); - } catch (_) { - return require("@eslint/js"); - } -})(); const tseslint = require("typescript-eslint"); - -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, -}); +const eslint = require("./eslint"); /** * @param {string} spec @@ -32,11 +17,10 @@ function isInstalled(spec) { } const usesReact = isInstalled("react"); -const reactConfigs = usesReact - ? compat.extends("plugin:react-hooks/recommended", "plugin:react/recommended") - : []; +const reactConfigs = usesReact ? require("./react") : []; module.exports = [ + eslint.configs.recommended, ...tseslint.configs.recommended, ...reactConfigs, { @@ -68,6 +52,7 @@ module.exports = [ }, ], "@typescript-eslint/no-var-requires": "off", + "no-undef": "off", ...(usesReact ? { "react/prop-types": "off" } : {}), }, settings: { diff --git a/packages/eslint-plugin/test/RuleTester.ts b/packages/eslint-plugin/test/RuleTester.ts index e64279f88..c9ef68cf3 100644 --- a/packages/eslint-plugin/test/RuleTester.ts +++ b/packages/eslint-plugin/test/RuleTester.ts @@ -2,17 +2,17 @@ import { RuleTester } from "eslint"; export function makeRuleTester() { return new RuleTester({ - env: { - es6: true, - node: true, - }, - parser: require.resolve("@typescript-eslint/parser"), - parserOptions: { - ecmaFeatures: { - jsx: true, - }, - ecmaVersion: 2018, + languageOptions: { + ecmaVersion: "latest", sourceType: "module", + parser: require("@typescript-eslint/parser"), + parserOptions: { + ecmaVersion: "latest", + sourceType: "module", + ecmaFeatures: { + jsx: true, + }, + }, }, }); } diff --git a/packages/eslint-plugin/test/no-export-all.test.ts b/packages/eslint-plugin/test/no-export-all.test.ts index 620bb1a77..d188f9ef5 100644 --- a/packages/eslint-plugin/test/no-export-all.test.ts +++ b/packages/eslint-plugin/test/no-export-all.test.ts @@ -117,12 +117,10 @@ describe("disallows `export *`", () => { { code: "export * from 'recall';", errors: 1, - output: "export * from 'recall';", }, { code: "export * from 'this-package-does-not-exist';", errors: 1, - output: "export * from 'this-package-does-not-exist';", }, { code: "export * from 'types';", diff --git a/packages/jest-preset/eslint.config.js b/packages/jest-preset/eslint.config.js index 964c02bf6..bdf8abc83 100644 --- a/packages/jest-preset/eslint.config.js +++ b/packages/jest-preset/eslint.config.js @@ -27,6 +27,18 @@ module.exports = [ }, }, ], + "no-unused-vars": [ + "error", + { + args: "all", + argsIgnorePattern: "^_", + caughtErrors: "all", + caughtErrorsIgnorePattern: "^_", + destructuredArrayIgnorePattern: "^_", + varsIgnorePattern: "^_", + ignoreRestSiblings: true, + }, + ], }, }, ]; diff --git a/packages/jest-preset/package.json b/packages/jest-preset/package.json index 1913bc808..13134a2cd 100644 --- a/packages/jest-preset/package.json +++ b/packages/jest-preset/package.json @@ -39,7 +39,7 @@ } }, "devDependencies": { - "@eslint/js": "^8.33.0", + "@eslint/js": "^9.0.0", "@jest/types": "^29.2.1", "@react-native-community/cli-types": "^14.0.0", "@react-native/babel-preset": "^0.75.0", @@ -47,7 +47,7 @@ "@rnx-kit/tsconfig": "*", "@types/jest": "^29.2.1", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "prettier": "^3.0.0", "react": "^18.2.0", diff --git a/packages/metro-config/package.json b/packages/metro-config/package.json index 6f6ff81fd..9c3a972de 100644 --- a/packages/metro-config/package.json +++ b/packages/metro-config/package.json @@ -46,7 +46,7 @@ "@rnx-kit/tsconfig": "*", "@types/babel__core": "^7.0.0", "@types/connect": "^3.4.36", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "metro": "^0.80.3", "metro-config": "^0.80.3", "metro-resolver": "^0.80.3", diff --git a/packages/metro-plugin-cyclic-dependencies-detector/package.json b/packages/metro-plugin-cyclic-dependencies-detector/package.json index 2a3a8cc53..070dfdd0f 100644 --- a/packages/metro-plugin-cyclic-dependencies-detector/package.json +++ b/packages/metro-plugin-cyclic-dependencies-detector/package.json @@ -35,7 +35,7 @@ "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "metro": "^0.80.3", "prettier": "^3.0.0", "typescript": "^5.0.0" diff --git a/packages/metro-plugin-duplicates-checker/package.json b/packages/metro-plugin-duplicates-checker/package.json index 9b1807416..87d8b8708 100644 --- a/packages/metro-plugin-duplicates-checker/package.json +++ b/packages/metro-plugin-duplicates-checker/package.json @@ -40,7 +40,7 @@ "@rnx-kit/tsconfig": "*", "@types/jest": "^29.2.1", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "memfs": "^4.0.0", "metro": "^0.80.3", diff --git a/packages/metro-plugin-typescript/package.json b/packages/metro-plugin-typescript/package.json index 66b08b1f6..0332ccdc9 100644 --- a/packages/metro-plugin-typescript/package.json +++ b/packages/metro-plugin-typescript/package.json @@ -39,7 +39,7 @@ "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "metro": "^0.80.3", "prettier": "^3.0.0" diff --git a/packages/metro-resolver-symlinks/package.json b/packages/metro-resolver-symlinks/package.json index d2a799c39..9366a24ae 100644 --- a/packages/metro-resolver-symlinks/package.json +++ b/packages/metro-resolver-symlinks/package.json @@ -38,7 +38,7 @@ "@rnx-kit/tsconfig": "*", "@types/jest": "^29.2.1", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "metro-resolver": "^0.80.3", "prettier": "^3.0.0", diff --git a/packages/metro-resolver-symlinks/src/utils/patchMetro.ts b/packages/metro-resolver-symlinks/src/utils/patchMetro.ts index c96227d04..bc33d0ab9 100644 --- a/packages/metro-resolver-symlinks/src/utils/patchMetro.ts +++ b/packages/metro-resolver-symlinks/src/utils/patchMetro.ts @@ -155,7 +155,7 @@ export function patchMetro(options: Options): void { req: { url: string }, res: unknown ): Promise { - // eslint-disable-next-line node/no-deprecated-api + // eslint-disable-next-line n/no-deprecated-api const urlObj = url.parse(decodeURI(req.url), true); let [, assetPath] = (urlObj && diff --git a/packages/metro-serializer-esbuild/package.json b/packages/metro-serializer-esbuild/package.json index 6fbc3dbd8..3174325a0 100644 --- a/packages/metro-serializer-esbuild/package.json +++ b/packages/metro-serializer-esbuild/package.json @@ -49,7 +49,7 @@ "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "lodash-es": "^4.17.21", "metro": "^0.80.3", "metro-config": "^0.80.3", diff --git a/packages/metro-serializer/package.json b/packages/metro-serializer/package.json index 53462de8e..676d3061f 100644 --- a/packages/metro-serializer/package.json +++ b/packages/metro-serializer/package.json @@ -36,7 +36,7 @@ "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", "@types/semver": "^7.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "metro": "^0.80.3", "prettier": "^3.0.0", diff --git a/packages/metro-service/package.json b/packages/metro-service/package.json index 8b73830a9..44db0732f 100644 --- a/packages/metro-service/package.json +++ b/packages/metro-service/package.json @@ -56,7 +56,7 @@ "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", "@types/node-fetch": "^2.6.5", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "flow-remove-types": "~2.246.0", "metro": "^0.80.3", "metro-config": "^0.80.3", diff --git a/packages/react-native-auth/package.json b/packages/react-native-auth/package.json index a0542ea24..3de9e5b08 100644 --- a/packages/react-native-auth/package.json +++ b/packages/react-native-auth/package.json @@ -45,7 +45,7 @@ "@rnx-kit/eslint-config": "*", "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "react": "^18.2.0", "react-native": "^0.75.0", diff --git a/packages/react-native-lazy-index/package.json b/packages/react-native-lazy-index/package.json index 9eb97620e..007e00665 100644 --- a/packages/react-native-lazy-index/package.json +++ b/packages/react-native-lazy-index/package.json @@ -50,7 +50,7 @@ "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "typescript": "^5.0.0" }, diff --git a/packages/template/package.json b/packages/template/package.json index 05d0a45e2..b10b30438 100644 --- a/packages/template/package.json +++ b/packages/template/package.json @@ -34,7 +34,7 @@ "@rnx-kit/jest-preset": "*", "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "prettier": "^3.0.0", "typescript": "^5.0.0" diff --git a/packages/test-app/package.json b/packages/test-app/package.json index e68a719a4..362947227 100644 --- a/packages/test-app/package.json +++ b/packages/test-app/package.json @@ -65,7 +65,7 @@ "@rnx-kit/tsconfig": "workspace:*", "@testing-library/react-native": "^12.4.3", "@types/react": "^18.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "prettier": "^3.0.0", "react-native-test-app": "^3.9.2", diff --git a/packages/third-party-notices/package.json b/packages/third-party-notices/package.json index 43ac65ea4..2b81eef2b 100644 --- a/packages/third-party-notices/package.json +++ b/packages/third-party-notices/package.json @@ -45,7 +45,7 @@ "@types/jest": "^29.2.1", "@types/node": "^20.0.0", "@types/yargs": "^16.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "metro-source-map": "^0.80.0", "prettier": "^3.0.0", diff --git a/packages/tools-android/package.json b/packages/tools-android/package.json index 14005945d..5b813be88 100644 --- a/packages/tools-android/package.json +++ b/packages/tools-android/package.json @@ -41,7 +41,7 @@ "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "typescript": "^5.0.0" }, diff --git a/packages/tools-apple/package.json b/packages/tools-apple/package.json index aaffada81..5a6788998 100644 --- a/packages/tools-apple/package.json +++ b/packages/tools-apple/package.json @@ -62,7 +62,7 @@ "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "typescript": "^5.0.0" }, diff --git a/packages/tools-filesystem/package.json b/packages/tools-filesystem/package.json index 404c544d0..f58a5f7fd 100644 --- a/packages/tools-filesystem/package.json +++ b/packages/tools-filesystem/package.json @@ -44,7 +44,7 @@ "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "typescript": "^5.0.0" }, diff --git a/packages/tools-language/package.json b/packages/tools-language/package.json index 815a6d773..a0abacdc4 100644 --- a/packages/tools-language/package.json +++ b/packages/tools-language/package.json @@ -47,7 +47,7 @@ "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "typescript": "^5.0.0" }, diff --git a/packages/tools-node/package.json b/packages/tools-node/package.json index db6321b9a..8a24f7a41 100644 --- a/packages/tools-node/package.json +++ b/packages/tools-node/package.json @@ -61,7 +61,7 @@ "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "typescript": "^5.0.0" }, diff --git a/packages/tools-react-native/package.json b/packages/tools-react-native/package.json index 97be45108..e6efdeef3 100644 --- a/packages/tools-react-native/package.json +++ b/packages/tools-react-native/package.json @@ -74,7 +74,7 @@ "@rnx-kit/tools-filesystem": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "metro": "^0.80.3", "metro-config": "^0.80.3", "metro-core": "^0.80.3", diff --git a/packages/tools-shell/package.json b/packages/tools-shell/package.json index 759b87f3c..0ecf9d928 100644 --- a/packages/tools-shell/package.json +++ b/packages/tools-shell/package.json @@ -51,7 +51,7 @@ "@rnx-kit/tsconfig": "*", "@types/jest": "^29.2.1", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "jest": "^29.2.1", "prettier": "^3.0.0", "typescript": "^5.0.0" diff --git a/packages/tools-windows/package.json b/packages/tools-windows/package.json index 53183d637..ac212f05b 100644 --- a/packages/tools-windows/package.json +++ b/packages/tools-windows/package.json @@ -42,7 +42,7 @@ "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "typescript": "^5.0.0" }, diff --git a/packages/tools-workspaces/package.json b/packages/tools-workspaces/package.json index 95f51d38c..104cf30cc 100644 --- a/packages/tools-workspaces/package.json +++ b/packages/tools-workspaces/package.json @@ -46,7 +46,7 @@ "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "typescript": "^5.0.0" }, diff --git a/packages/typescript-service/package.json b/packages/typescript-service/package.json index 2400d1377..a5ec82c9d 100644 --- a/packages/typescript-service/package.json +++ b/packages/typescript-service/package.json @@ -36,7 +36,7 @@ "@rnx-kit/scripts": "*", "@rnx-kit/tsconfig": "*", "@types/node": "^20.0.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "prettier": "^3.0.0", "typescript": "^5.0.0" }, diff --git a/scripts/align-deps-preset.cjs b/scripts/align-deps-preset.cjs index 2756adb38..6273ff17b 100644 --- a/scripts/align-deps-preset.cjs +++ b/scripts/align-deps-preset.cjs @@ -65,7 +65,7 @@ const profile = { }, eslint: { name: "eslint", - version: "^8.56.0", + version: "^9.0.0", devOnly: true, }, "find-up": { diff --git a/scripts/package.json b/scripts/package.json index e41241bac..c898f6f2f 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -14,7 +14,7 @@ }, "dependencies": { "esbuild": "^0.23.0", - "eslint": "^8.56.0", + "eslint": "^9.0.0", "fast-glob": "^3.2.7", "jest": "^29.2.1", "js-yaml": "^4.1.0", @@ -26,7 +26,7 @@ "yargs": "^16.0.0" }, "devDependencies": { - "@eslint/js": "^8.33.0", + "@eslint/js": "^9.0.0", "@rnx-kit/tsconfig": "workspace:*", "@types/jest": "^29.2.1", "@types/js-yaml": "^4.0.5", diff --git a/yarn.lock b/yarn.lock index 18049a853..5f0a357d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2111,7 +2111,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": +"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" dependencies: @@ -2122,34 +2122,68 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": - version: 4.10.0 - resolution: "@eslint-community/regexpp@npm:4.10.0" - checksum: 10c0/c5f60ef1f1ea7649fa7af0e80a5a79f64b55a8a8fa5086de4727eb4c86c652aedee407a9c143b8995d2c0b2d75c1222bec9ba5d73dbfc1f314550554f0979ef4 +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.11.0": + version: 4.11.1 + resolution: "@eslint-community/regexpp@npm:4.11.1" + checksum: 10c0/fbcc1cb65ef5ed5b92faa8dc542e035269065e7ebcc0b39c81a4fe98ad35cfff20b3c8df048641de15a7757e07d69f85e2579c1a5055f993413ba18c055654f8 languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" +"@eslint/config-array@npm:^0.18.0": + version: 0.18.0 + resolution: "@eslint/config-array@npm:0.18.0" + dependencies: + "@eslint/object-schema": "npm:^2.1.4" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10c0/0234aeb3e6b052ad2402a647d0b4f8a6aa71524bafe1adad0b8db1dfe94d7f5f26d67c80f79bb37ac61361a1d4b14bb8fb475efe501de37263cf55eabb79868f + languageName: node + linkType: hard + +"@eslint/core@npm:^0.6.0": + version: 0.6.0 + resolution: "@eslint/core@npm:0.6.0" + checksum: 10c0/fffdb3046ad6420f8cb9204b6466fdd8632a9baeebdaf2a97d458a4eac0e16653ba50d82d61835d7d771f6ced0ec942ec482b2fbccc300e45f2cbf784537f240 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.0.0, @eslint/eslintrc@npm:^3.1.0": + version: 3.1.0 + resolution: "@eslint/eslintrc@npm:3.1.0" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 + checksum: 10c0/5b7332ed781edcfc98caa8dedbbb843abfb9bda2e86538529c843473f580e40c69eb894410eddc6702f487e9ee8f8cfa8df83213d43a8fdb549f23ce06699167 + languageName: node + linkType: hard + +"@eslint/js@npm:9.12.0, @eslint/js@npm:^9.0.0": + version: 9.12.0 + resolution: "@eslint/js@npm:9.12.0" + checksum: 10c0/325650a59a1ce3d97c69441501ebaf415607248bacbe8c8ca35adc7cb73b524f592f266a75772f496b06f3239e3ee1996722a242148085f0ee5fb3dd7065897c + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/object-schema@npm:2.1.4" + checksum: 10c0/e9885532ea70e483fb007bf1275968b05bb15ebaa506d98560c41a41220d33d342e19023d5f2939fed6eb59676c1bda5c847c284b4b55fce521d282004da4dda languageName: node linkType: hard -"@eslint/js@npm:8.57.1, @eslint/js@npm:^8.33.0, @eslint/js@npm:^8.56.0": - version: 8.57.1 - resolution: "@eslint/js@npm:8.57.1" - checksum: 10c0/b489c474a3b5b54381c62e82b3f7f65f4b8a5eaaed126546520bf2fede5532a8ed53212919fed1e9048dcf7f37167c8561d58d0ba4492a4244004e7793805223 +"@eslint/plugin-kit@npm:^0.2.0": + version: 0.2.0 + resolution: "@eslint/plugin-kit@npm:0.2.0" + dependencies: + levn: "npm:^0.4.1" + checksum: 10c0/00b92bc52ad09b0e2bbbb30591c02a895f0bec3376759562590e8a57a13d096b22f8c8773b6bf791a7cf2ea614123b3d592fd006c51ac5fd0edbb90ea6d8760c languageName: node linkType: hard @@ -2213,14 +2247,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.0": + version: 0.19.0 + resolution: "@humanfs/core@npm:0.19.0" + checksum: 10c0/f87952d5caba6ae427a620eff783c5d0b6cef0cfc256dec359cdaa636c5f161edb8d8dad576742b3de7f0b2f222b34aad6870248e4b7d2177f013426cbcda232 + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.5": + version: 0.16.5 + resolution: "@humanfs/node@npm:0.16.5" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.3" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10c0/205c99e756b759f92e1f44a3dc6292b37db199beacba8f26c2165d4051fe73a4ae52fdcfd08ffa93e7e5cb63da7c88648f0e84e197d154bbbbe137b2e0dd332e + "@humanfs/core": "npm:^0.19.0" + "@humanwhocodes/retry": "npm:^0.3.0" + checksum: 10c0/41c365ab09e7c9eaeed373d09243195aef616d6745608a36fc3e44506148c28843872f85e69e2bf5f1e992e194286155a1c1cecfcece6a2f43875e37cd243935 languageName: node linkType: hard @@ -2231,10 +2271,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: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c +"@humanwhocodes/retry@npm:^0.3.0, @humanwhocodes/retry@npm:^0.3.1": + version: 0.3.1 + resolution: "@humanwhocodes/retry@npm:0.3.1" + checksum: 10c0/f0da1282dfb45e8120480b9e2e275e2ac9bbe1cf016d046fdad8e27cc1285c45bb9e711681237944445157b430093412b4446c1ab3fc4bb037861b5904101d3b languageName: node linkType: hard @@ -2658,16 +2698,16 @@ __metadata: languageName: node linkType: hard -"@microsoft/eslint-plugin-sdl@npm:^0.2.0": - version: 0.2.2 - resolution: "@microsoft/eslint-plugin-sdl@npm:0.2.2" +"@microsoft/eslint-plugin-sdl@npm:^1.0.0": + version: 1.0.0 + resolution: "@microsoft/eslint-plugin-sdl@npm:1.0.0" dependencies: - eslint-plugin-node: "npm:11.1.0" - eslint-plugin-react: "npm:7.33.0" + eslint-plugin-n: "npm:17.10.3" + eslint-plugin-react: "npm:7.35.2" eslint-plugin-security: "npm:1.4.0" peerDependencies: - eslint: ^4.19.1 || ^5 || ^6 || ^7 || ^8 - checksum: 10c0/6c67a7a40a6f70474791899cca771f25eb21965ba6b251b4f18a6f5aa24fa1d95989df13f50242cd7a448d8d0918be32da1c13352690793542164731e5ba8a86 + eslint: ^9 + checksum: 10c0/3ba090ecdd08b5c4ec3e5520d9b4ff908b5ffdef0c2609349a5efa322b02b962df60f20abd8688254d76456e54ca1860c4f7699fb7e33d6befe1b8b65d83d613 languageName: node linkType: hard @@ -2699,7 +2739,7 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.walk@npm:1.2.8, @nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": +"@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: @@ -3227,7 +3267,7 @@ __metadata: "@rnx-kit/scripts": "npm:*" "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" prettier: "npm:^3.0.0" react: "npm:^18.2.0" react-native: "npm:^0.75.0" @@ -3247,7 +3287,7 @@ __metadata: "@rnx-kit/eslint-config": "npm:*" "@rnx-kit/scripts": "npm:*" "@rnx-kit/tsconfig": "npm:*" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" jest: "npm:^29.2.1" prettier: "npm:^3.0.0" react: "npm:^18.2.0" @@ -3600,7 +3640,7 @@ __metadata: "@types/semver": "npm:^7.0.0" "@types/yargs": "npm:^16.0.0" detect-indent: "npm:^6.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" jest: "npm:^29.2.1" markdown-table: "npm:^3.0.0" package-json: "npm:^10.0.0" @@ -3627,7 +3667,7 @@ __metadata: "@types/babel__core": "npm:^7.0.0" "@types/babel__helper-plugin-utils": "npm:^7.0.0" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" languageName: unknown @@ -3650,7 +3690,7 @@ __metadata: "@types/jest": "npm:^29.2.1" "@types/node": "npm:^20.0.0" babel-plugin-const-enum: "npm:^1.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" jest: "npm:^29.2.1" metro-react-native-babel-preset: "npm:^0.76.5" prettier: "npm:^3.0.0" @@ -3679,7 +3719,7 @@ __metadata: "@rnx-kit/eslint-config": "npm:*" "@rnx-kit/scripts": "npm:*" "@rnx-kit/tsconfig": "npm:*" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" peerDependencies: @@ -3709,7 +3749,7 @@ __metadata: "@types/qrcode": "npm:^1.4.2" "@types/yargs": "npm:^16.0.0" env-paths: "npm:^3.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" git-url-parse: "npm:^15.0.0" node-fetch: "npm:^3.3.2" ora: "npm:^8.0.0" @@ -3731,7 +3771,7 @@ __metadata: "@rnx-kit/scripts": "npm:*" "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" bin: @@ -3771,7 +3811,7 @@ __metadata: "@types/node": "npm:^20.0.0" "@types/qrcode": "npm:^1.4.2" commander: "npm:^11.1.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" jest: "npm:^29.2.1" markdown-table: "npm:^3.0.0" metro: "npm:^0.80.3" @@ -3806,7 +3846,7 @@ __metadata: "@rnx-kit/scripts": "npm:*" "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" bin: @@ -3829,7 +3869,7 @@ __metadata: "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" "@types/semver": "npm:^7.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" metro: "npm:^0.80.3" prettier: "npm:^3.0.0" semver: "npm:^7.0.0" @@ -3845,7 +3885,7 @@ __metadata: "@rnx-kit/scripts": "npm:*" "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" languageName: unknown @@ -3867,7 +3907,7 @@ __metadata: "@types/node": "npm:^20.0.0" "@types/yargs": "npm:^16.0.0" chalk: "npm:^4.1.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" jest: "npm:^29.2.1" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" @@ -3887,7 +3927,7 @@ __metadata: "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" esbuild: "npm:^0.23.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" jest: "npm:^29.2.1" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" @@ -3898,12 +3938,12 @@ __metadata: version: 0.0.0-use.local resolution: "@rnx-kit/eslint-config@workspace:packages/eslint-config" dependencies: - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:^8.56.0" + "@microsoft/eslint-plugin-sdl": "npm:^1.0.0" "@rnx-kit/eslint-plugin": "workspace:*" + eslint: "npm:^9.0.0" prettier: "npm:^3.0.0" peerDependencies: - eslint: ">=8.56.0" + eslint: ^9.0.0 languageName: unknown linkType: soft @@ -3911,14 +3951,13 @@ __metadata: version: 0.0.0-use.local resolution: "@rnx-kit/eslint-plugin@workspace:packages/eslint-plugin" dependencies: - "@eslint/eslintrc": "npm:^2.1.4" - "@microsoft/eslint-plugin-sdl": "npm:^0.2.0" + "@eslint/eslintrc": "npm:^3.0.0" "@react-native/eslint-plugin": "npm:^0.75.0" "@rnx-kit/eslint-config": "npm:*" "@rnx-kit/jest-preset": "npm:*" "@rnx-kit/scripts": "npm:*" "@rnx-kit/tsconfig": "npm:*" - "@types/eslint": "npm:^8.0.0" + "@types/eslint": "npm:^9.0.0" "@types/eslint__eslintrc": "npm:^2.1.1" "@types/eslint__js": "npm:^8.0.0" "@types/estree": "npm:*" @@ -3927,10 +3966,9 @@ __metadata: "@typescript-eslint/parser": "npm:^8.0.0" "@typescript-eslint/types": "npm:^8.0.0" enhanced-resolve: "npm:^5.8.3" - eslint: "npm:^8.56.0" - eslint-plugin-node: "npm:11.1.0" - eslint-plugin-react: "npm:^7.33.0" - eslint-plugin-react-hooks: "npm:^4.6.0" + eslint: "npm:^9.0.0" + eslint-plugin-react: "npm:^7.35.2" + eslint-plugin-react-hooks: "npm:^5.0.0" jest: "npm:^29.2.1" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" @@ -3953,7 +3991,7 @@ __metadata: "@babel/core": "npm:^7.0.0" "@babel/preset-env": "npm:^7.0.0" "@babel/preset-typescript": "npm:^7.0.0" - "@eslint/js": "npm:^8.33.0" + "@eslint/js": "npm:^9.0.0" "@jest/types": "npm:^29.2.1" "@react-native-community/cli-types": "npm:^14.0.0" "@react-native/babel-preset": "npm:^0.75.0" @@ -3961,7 +3999,7 @@ __metadata: "@rnx-kit/tsconfig": "npm:*" "@types/jest": "npm:^29.2.1" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" find-up: "npm:^5.0.0" jest: "npm:^29.2.1" prettier: "npm:^3.0.0" @@ -3990,7 +4028,7 @@ __metadata: "@rnx-kit/tsconfig": "npm:*" "@types/babel__core": "npm:^7.0.0" "@types/connect": "npm:^3.4.36" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" metro: "npm:^0.80.3" metro-config: "npm:^0.80.3" metro-resolver: "npm:^0.80.3" @@ -4020,7 +4058,7 @@ __metadata: "@rnx-kit/tools-node": "npm:^3.0.0" "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" metro: "npm:^0.80.3" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" @@ -4040,7 +4078,7 @@ __metadata: "@rnx-kit/tsconfig": "npm:*" "@types/jest": "npm:^29.2.1" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" jest: "npm:^29.2.1" memfs: "npm:^4.0.0" metro: "npm:^0.80.3" @@ -4066,7 +4104,7 @@ __metadata: "@rnx-kit/tsconfig": "npm:*" "@rnx-kit/typescript-service": "npm:^2.0.0" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" jest: "npm:^29.2.1" metro: "npm:^0.80.3" prettier: "npm:^3.0.0" @@ -4088,7 +4126,7 @@ __metadata: "@types/jest": "npm:^29.2.1" "@types/node": "npm:^20.0.0" enhanced-resolve: "npm:^5.8.3" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" jest: "npm:^29.2.1" metro-resolver: "npm:^0.80.3" prettier: "npm:^3.0.0" @@ -4120,7 +4158,7 @@ __metadata: "@types/node": "npm:^20.0.0" esbuild: "npm:^0.23.0" esbuild-plugin-lodash: "npm:^1.2.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" fast-glob: "npm:^3.2.7" lodash-es: "npm:^4.17.21" metro: "npm:^0.80.3" @@ -4144,7 +4182,7 @@ __metadata: "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" "@types/semver": "npm:^7.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" jest: "npm:^29.2.1" metro: "npm:^0.80.3" prettier: "npm:^3.0.0" @@ -4167,7 +4205,7 @@ __metadata: "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" "@types/node-fetch": "npm:^2.6.5" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" flow-remove-types: "npm:~2.246.0" metro: "npm:^0.80.3" metro-config: "npm:^0.80.3" @@ -4203,7 +4241,7 @@ __metadata: "@types/istextorbinary": "npm:^2.3.0" "@types/node": "npm:^20.0.0" commander: "npm:^4.1.1" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" fs-extra: "npm:^10.0.0" istextorbinary: "npm:^3.3.0" jest: "npm:^29.2.1" @@ -4231,7 +4269,7 @@ __metadata: "@types/babel__helper-plugin-utils": "npm:^7.0.0" "@types/babel__template": "npm:^7.0.0" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" metro-config: "npm:^0.80.3" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" @@ -4256,7 +4294,7 @@ __metadata: "@rnx-kit/eslint-config": "npm:*" "@rnx-kit/scripts": "npm:*" "@rnx-kit/tsconfig": "npm:*" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" prettier: "npm:^3.0.0" react: "npm:^18.2.0" react-native: "npm:^0.75.0" @@ -4278,7 +4316,7 @@ __metadata: "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" "@types/yargs": "npm:^16.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" jest: "npm:^29.2.1" metro-symbolicate: "npm:^0.80.0" prettier: "npm:^3.0.0" @@ -4311,7 +4349,7 @@ __metadata: "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" babel-plugin-codegen: "npm:^4.1.5" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" peerDependencies: @@ -4343,7 +4381,7 @@ __metadata: "@types/node": "npm:^20.0.0" chalk: "npm:^4.1.0" deepmerge: "npm:^4.2.2" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" fast-levenshtein: "npm:^3.0.0" jest: "npm:^29.2.1" p-limit: "npm:^3.1.0" @@ -4359,14 +4397,14 @@ __metadata: version: 0.0.0-use.local resolution: "@rnx-kit/scripts@workspace:scripts" dependencies: - "@eslint/js": "npm:^8.33.0" + "@eslint/js": "npm:^9.0.0" "@rnx-kit/tsconfig": "workspace:*" "@types/jest": "npm:^29.2.1" "@types/js-yaml": "npm:^4.0.5" "@types/node": "npm:^20.0.0" "@types/yargs": "npm:^16.0.0" esbuild: "npm:^0.23.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" fast-glob: "npm:^3.2.7" jest: "npm:^29.2.1" js-yaml: "npm:^4.1.0" @@ -4389,7 +4427,7 @@ __metadata: "@rnx-kit/jest-preset": "npm:*" "@rnx-kit/scripts": "npm:*" "@rnx-kit/tsconfig": "npm:*" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" jest: "npm:^29.2.1" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" @@ -4432,7 +4470,7 @@ __metadata: "@rnx-kit/tsconfig": "workspace:*" "@testing-library/react-native": "npm:^12.4.3" "@types/react": "npm:^18.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" jest: "npm:^29.2.1" prettier: "npm:^3.0.0" react: "npm:^18.2.0" @@ -4462,7 +4500,7 @@ __metadata: "@types/jest": "npm:^29.2.1" "@types/node": "npm:^20.0.0" "@types/yargs": "npm:^16.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" jest: "npm:^29.2.1" metro-source-map: "npm:^0.80.0" prettier: "npm:^3.0.0" @@ -4483,7 +4521,7 @@ __metadata: "@rnx-kit/tools-shell": "npm:^0.2.0" "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" languageName: unknown @@ -4498,7 +4536,7 @@ __metadata: "@rnx-kit/tools-shell": "npm:^0.2.0" "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" fast-xml-parser: "npm:^4.0.0" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" @@ -4513,7 +4551,7 @@ __metadata: "@rnx-kit/scripts": "npm:*" "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" languageName: unknown @@ -4527,7 +4565,7 @@ __metadata: "@rnx-kit/scripts": "npm:*" "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" languageName: unknown @@ -4541,7 +4579,7 @@ __metadata: "@rnx-kit/scripts": "npm:*" "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" languageName: unknown @@ -4559,7 +4597,7 @@ __metadata: "@rnx-kit/tools-node": "npm:^3.0.0" "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" metro: "npm:^0.80.3" metro-config: "npm:^0.80.3" metro-core: "npm:^0.80.3" @@ -4580,7 +4618,7 @@ __metadata: "@rnx-kit/tsconfig": "npm:*" "@types/jest": "npm:^29.2.1" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" jest: "npm:^29.2.1" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" @@ -4596,7 +4634,7 @@ __metadata: "@rnx-kit/tools-shell": "npm:^0.2.0" "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" fast-xml-parser: "npm:^4.0.0" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" @@ -4611,7 +4649,7 @@ __metadata: "@rnx-kit/scripts": "npm:*" "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" fast-glob: "npm:^3.2.7" find-up: "npm:^5.0.0" prettier: "npm:^3.0.0" @@ -4638,7 +4676,7 @@ __metadata: "@rnx-kit/tools-node": "npm:^3.0.0" "@rnx-kit/tsconfig": "npm:*" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" prettier: "npm:^3.0.0" typescript: "npm:^5.0.0" peerDependencies: @@ -4818,7 +4856,7 @@ __metadata: languageName: node linkType: hard -"@types/eslint@npm:*": +"@types/eslint@npm:*, @types/eslint@npm:^9.0.0": version: 9.6.1 resolution: "@types/eslint@npm:9.6.1" dependencies: @@ -4828,16 +4866,6 @@ __metadata: languageName: node linkType: hard -"@types/eslint@npm:^8.0.0": - version: 8.56.12 - resolution: "@types/eslint@npm:8.56.12" - dependencies: - "@types/estree": "npm:*" - "@types/json-schema": "npm:*" - checksum: 10c0/e4ca426abe9d55f82b69a3250bec78b6d340ad1e567f91c97ecc59d3b2d6a1d8494955ac62ad0ea14b97519db580611c02be8277cbea370bdfb0f96aa2910504 - languageName: node - linkType: hard - "@types/eslint__eslintrc@npm:^2.1.1": version: 2.1.2 resolution: "@types/eslint__eslintrc@npm:2.1.2" @@ -4856,7 +4884,7 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*": +"@types/estree@npm:*, @types/estree@npm:^1.0.6": version: 1.0.6 resolution: "@types/estree@npm:1.0.6" checksum: 10c0/cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a @@ -4955,7 +4983,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db @@ -5234,13 +5262,6 @@ __metadata: languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d - languageName: node - linkType: hard - "@xmldom/xmldom@npm:^0.7.7": version: 0.7.9 resolution: "@xmldom/xmldom@npm:0.7.9" @@ -5320,12 +5341,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.5.0, acorn@npm:^8.8.2, acorn@npm:^8.9.0": - version: 8.11.3 - resolution: "acorn@npm:8.11.3" +"acorn@npm:^8.12.0, acorn@npm:^8.5.0, acorn@npm:^8.8.2": + version: 8.13.0 + resolution: "acorn@npm:8.13.0" bin: acorn: bin/acorn - checksum: 10c0/3ff155f8812e4a746fee8ecff1f227d527c4c45655bb1fad6347c3cb58e46190598217551b1500f18542d2bbe5c87120cb6927f5a074a59166fbdd9468f0a299 + checksum: 10c0/f35dd53d68177c90699f4c37d0bb205b8abe036d955d0eb011ddb7f14a81e6fd0f18893731c457c1b5bd96754683f4c3d80d9a5585ddecaa53cdf84e0b3d68f7 languageName: node linkType: hard @@ -6905,15 +6926,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 - languageName: node - linkType: hard - "dotenv-expand@npm:~11.0.6": version: 11.0.6 resolution: "dotenv-expand@npm:11.0.6" @@ -7047,7 +7059,7 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:^5.17.1, enhanced-resolve@npm:^5.8.3": +"enhanced-resolve@npm:^5.17.0, enhanced-resolve@npm:^5.17.1, enhanced-resolve@npm:^5.8.3": version: 5.17.1 resolution: "enhanced-resolve@npm:5.17.1" dependencies: @@ -7388,46 +7400,60 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-es@npm:^3.0.0": - version: 3.0.1 - resolution: "eslint-plugin-es@npm:3.0.1" +"eslint-compat-utils@npm:^0.5.1": + version: 0.5.1 + resolution: "eslint-compat-utils@npm:0.5.1" dependencies: - eslint-utils: "npm:^2.0.0" - regexpp: "npm:^3.0.0" + semver: "npm:^7.5.4" peerDependencies: - eslint: ">=4.19.1" - checksum: 10c0/12ae730aa9603e680af048e1653aac15e529411b68b8d0da6e290700b17c695485af7c3f5360f531f80970786cab7288c2c1d4a58c35ec1bb89649897c016c4a + eslint: ">=6.0.0" + checksum: 10c0/325e815205fab70ebcd379f6d4b5d44c7d791bb8dfe0c9888233f30ebabd9418422595b53a781b946c768d9244d858540e5e6129a6b3dd6d606f467d599edc6c languageName: node linkType: hard -"eslint-plugin-node@npm:11.1.0": - version: 11.1.0 - resolution: "eslint-plugin-node@npm:11.1.0" +"eslint-plugin-es-x@npm:^7.5.0": + version: 7.8.0 + resolution: "eslint-plugin-es-x@npm:7.8.0" dependencies: - eslint-plugin-es: "npm:^3.0.0" - eslint-utils: "npm:^2.0.0" - ignore: "npm:^5.1.1" - minimatch: "npm:^3.0.4" - resolve: "npm:^1.10.1" - semver: "npm:^6.1.0" + "@eslint-community/eslint-utils": "npm:^4.1.2" + "@eslint-community/regexpp": "npm:^4.11.0" + eslint-compat-utils: "npm:^0.5.1" peerDependencies: - eslint: ">=5.16.0" - checksum: 10c0/c7716adac4020cb852fd2410dcd8bdb13a227004de77f96d7f9806d0cf2274f24e0920a7ca73bcd72d90003696c1f17fdd9fe3ca218e64ee03dc2b840e4416fa + eslint: ">=8" + checksum: 10c0/002fda8c029bc5da41e24e7ac11654062831d675fc4f5f20d0de460e24bf1e05cd559000678ef3e46c48641190f4fc07ae3d57aa5e8b085ef5f67e5f63742614 languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:^4.6.0": - version: 4.6.2 - resolution: "eslint-plugin-react-hooks@npm:4.6.2" +"eslint-plugin-n@npm:17.10.3": + version: 17.10.3 + resolution: "eslint-plugin-n@npm:17.10.3" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + enhanced-resolve: "npm:^5.17.0" + eslint-plugin-es-x: "npm:^7.5.0" + get-tsconfig: "npm:^4.7.0" + globals: "npm:^15.8.0" + ignore: "npm:^5.2.4" + minimatch: "npm:^9.0.5" + semver: "npm:^7.5.3" peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 10c0/4844e58c929bc05157fb70ba1e462e34f1f4abcbc8dd5bbe5b04513d33e2699effb8bca668297976ceea8e7ebee4e8fc29b9af9d131bcef52886feaa2308b2cc + eslint: ">=8.23.0" + checksum: 10c0/4da20f824327f244361dcc61d061e5621baafe48998e17fea5d749d9d96bd80fc39991effc39eb62fdbedddc04eac4e519a60adab4480f404469961ce888797d languageName: node linkType: hard -"eslint-plugin-react@npm:^7.33.0": - version: 7.35.0 - resolution: "eslint-plugin-react@npm:7.35.0" +"eslint-plugin-react-hooks@npm:^5.0.0": + version: 5.0.0 + resolution: "eslint-plugin-react-hooks@npm:5.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: 10c0/bcb74b421f32e4203a7100405b57aab85526be4461e5a1da01bc537969a30012d2ee209a2c2a6cac543833a27188ce1e6ad71e4628d0bb4a2e5365cad86c5002 + languageName: node + linkType: hard + +"eslint-plugin-react@npm:^7.35.2": + version: 7.37.1 + resolution: "eslint-plugin-react@npm:7.37.1" dependencies: array-includes: "npm:^3.1.8" array.prototype.findlast: "npm:^1.2.5" @@ -7449,7 +7475,7 @@ __metadata: string.prototype.repeat: "npm:^1.0.0" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - checksum: 10c0/eedcc33de4b2cda91d56ae517a4f771a0c76da9c1e26c95543969012871381e11d4d6cffdf6fa8423036585c289eb3500f3f93fb1d314fb2624e0aa1e463305e + checksum: 10c0/13cf55666f16d2ca45b14aad1b0e14741d1817679c86d20aff0bc1e802439a8541f40a42c4c8e3486ffb710f1bcc2f3e56697f2b5f724306a7fca174e1ad6433 languageName: node linkType: hard @@ -7462,95 +7488,88 @@ __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.1.0": + version: 8.1.0 + resolution: "eslint-scope@npm:8.1.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + checksum: 10c0/ae1df7accae9ea90465c2ded70f7064d6d1f2962ef4cc87398855c4f0b3a5ab01063e0258d954bb94b184f6759febe04c3118195cab5c51978a7229948ba2875 languageName: node linkType: hard -"eslint-utils@npm:^2.0.0": - version: 2.1.0 - resolution: "eslint-utils@npm:2.1.0" - dependencies: - eslint-visitor-keys: "npm:^1.1.0" - checksum: 10c0/69521c5d6569384b24093125d037ba238d3d6e54367f7143af9928f5286369e912c26cad5016d730c0ffb9797ac9e83831059d7f1d863f7dc84330eb02414611 - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^1.1.0": - version: 1.3.0 - resolution: "eslint-visitor-keys@npm:1.3.0" - checksum: 10c0/10c91fdbbe36810dd4308e57f9a8bc7177188b2a70247e54e3af1fa05ebc66414ae6fd4ce3c6c6821591f43a556e9037bc6b071122e099b5f8b7d2f76df553e3 - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 languageName: node linkType: hard -"eslint@npm:^8.56.0": - version: 8.57.1 - resolution: "eslint@npm:8.57.1" +"eslint-visitor-keys@npm:^4.1.0": + version: 4.1.0 + resolution: "eslint-visitor-keys@npm:4.1.0" + checksum: 10c0/5483ef114c93a136aa234140d7aa3bd259488dae866d35cb0d0b52e6a158f614760a57256ac8d549acc590a87042cb40f6951815caa821e55dc4fd6ef4c722eb + languageName: node + linkType: hard + +"eslint@npm:^9.0.0": + version: 9.12.0 + resolution: "eslint@npm:9.12.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.1" - "@humanwhocodes/config-array": "npm:^0.13.0" + "@eslint-community/regexpp": "npm:^4.11.0" + "@eslint/config-array": "npm:^0.18.0" + "@eslint/core": "npm:^0.6.0" + "@eslint/eslintrc": "npm:^3.1.0" + "@eslint/js": "npm:9.12.0" + "@eslint/plugin-kit": "npm:^0.2.0" + "@humanfs/node": "npm:^0.16.5" "@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.3.1" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" cross-spawn: "npm:^7.0.2" 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.1.0" + eslint-visitor-keys: "npm:^4.1.0" + espree: "npm:^10.2.0" + esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" + file-entry-cache: "npm:^8.0.0" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" ignore: "npm:^5.2.0" imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" minimatch: "npm:^3.1.2" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" text-table: "npm:^0.2.0" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true bin: eslint: bin/eslint.js - checksum: 10c0/1fd31533086c1b72f86770a4d9d7058ee8b4643fd1cfd10c7aac1ecb8725698e88352a87805cf4b2ce890aa35947df4b4da9655fb7fdfa60dbb448a43f6ebcf1 + checksum: 10c0/67cf6ea3ea28dcda7dd54aac33e2d4028eb36991d13defb0d2339c3eaa877d5dddd12cd4416ddc701a68bcde9e0bb9e65524c2e4e9914992c724f5b51e949dda 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.2.0": + version: 10.2.0 + resolution: "espree@npm:10.2.0" dependencies: - acorn: "npm:^8.9.0" + acorn: "npm:^8.12.0" acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 + eslint-visitor-keys: "npm:^4.1.0" + checksum: 10c0/2b6bfb683e7e5ab2e9513949879140898d80a2d9867ea1db6ff5b0256df81722633b60a7523a7c614f05a39aeea159dd09ad2a0e90c0e218732fc016f9086215 languageName: node linkType: hard @@ -7564,12 +7583,12 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.2": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" +"esquery@npm:^1.5.0": + version: 1.6.0 + resolution: "esquery@npm:1.6.0" dependencies: estraverse: "npm:^5.1.0" - checksum: 10c0/a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213 + checksum: 10c0/cb9065ec605f9da7a76ca6dadb0619dfb611e37a81e318732977d90fab50a256b95fee2d925fba7c2f3f0523aa16f91587246693bc09bc34d5a59575fe6e93d2 languageName: node linkType: hard @@ -7809,12 +7828,12 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd + flat-cache: "npm:^4.0.0" + checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 languageName: node linkType: hard @@ -7882,13 +7901,13 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^3.0.4": - version: 3.0.4 - resolution: "flat-cache@npm:3.0.4" +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" dependencies: - flatted: "npm:^3.1.0" - rimraf: "npm:^3.0.2" - checksum: 10c0/f274dcbadb09ad8d7b6edf2ee9b034bc40bf0c12638f6c4084e9f1d39208cb104a5ebbb24b398880ef048200eaa116852f73d2d8b72e8c9627aba8c3e27ca057 + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.4" + checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc languageName: node linkType: hard @@ -7901,10 +7920,10 @@ __metadata: languageName: node linkType: hard -"flatted@npm:^3.1.0": - version: 3.2.7 - resolution: "flatted@npm:3.2.7" - checksum: 10c0/207a87c7abfc1ea6928ea16bac84f9eaa6d44d365620ece419e5c41cf44a5e9902b4c1f59c9605771b10e4565a0cb46e99d78e0464e8aabb42c97de880642257 +"flatted@npm:^3.2.9": + version: 3.3.1 + resolution: "flatted@npm:3.3.1" + checksum: 10c0/324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf languageName: node linkType: hard @@ -8206,12 +8225,12 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.7.5": - version: 4.7.5 - resolution: "get-tsconfig@npm:4.7.5" +"get-tsconfig@npm:^4.7.0, get-tsconfig@npm:^4.7.5": + version: 4.8.1 + resolution: "get-tsconfig@npm:4.8.1" dependencies: resolve-pkg-maps: "npm:^1.0.0" - checksum: 10c0/a917dff2ba9ee187c41945736bf9bbab65de31ce5bc1effd76267be483a7340915cff232199406379f26517d2d0a4edcdbcda8cca599c2480a0f2cf1e1de3efa + checksum: 10c0/536ee85d202f604f4b5fb6be81bcd6e6d9a96846811e83e9acc6de4a04fb49506edea0e1b8cf1d5ee7af33e469916ec2809d4c5445ab8ae015a7a51fbd1572f9 languageName: node linkType: hard @@ -8288,12 +8307,17 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.19.0": - version: 13.19.0 - resolution: "globals@npm:13.19.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10c0/d2bb3164ed9f5ec82b91e96d6a5ffc1cca3cb10f6c41df9687cd7712ba82f5534ed028b11c5717d71c938403bf8ffc97bb06f5f2eab8c1b91e6273b08b33b5e6 +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d + languageName: node + linkType: hard + +"globals@npm:^15.8.0": + version: 15.11.0 + resolution: "globals@npm:15.11.0" + checksum: 10c0/861e39bb6bd9bd1b9f355c25c962e5eb4b3f0e1567cf60fa6c06e8c502b0ec8706b1cce055d69d84d0b7b8e028bec5418cf629a54e7047e116538d1c1c1a375c languageName: node linkType: hard @@ -8579,7 +8603,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.0.4, ignore@npm:^5.1.1, ignore@npm:^5.1.8, ignore@npm:^5.2.0, ignore@npm:^5.3.1": +"ignore@npm:^5.0.4, ignore@npm:^5.1.8, ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.1": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 @@ -8931,13 +8955,6 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 - languageName: node - linkType: hard - "is-plain-object@npm:^2.0.4": version: 2.0.4 resolution: "is-plain-object@npm:2.0.4" @@ -9790,6 +9807,13 @@ __metadata: languageName: node linkType: hard +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + "json-parse-better-errors@npm:^1.0.1": version: 1.0.2 resolution: "json-parse-better-errors@npm:1.0.2" @@ -9876,6 +9900,15 @@ __metadata: languageName: node linkType: hard +"keyv@npm:^4.5.4": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + "kind-of@npm:^6.0.2": version: 6.0.3 resolution: "kind-of@npm:6.0.3" @@ -10679,7 +10712,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.0.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: @@ -12411,13 +12444,6 @@ __metadata: languageName: node linkType: hard -"regexpp@npm:^3.0.0": - version: 3.2.0 - resolution: "regexpp@npm:3.2.0" - checksum: 10c0/d1da82385c8754a1681416b90b9cca0e21b4a2babef159099b88f640637d789c69011d0bc94705dacab85b81133e929d027d85210e8b8b03f8035164dbc14710 - languageName: node - linkType: hard - "regexpu-core@npm:^6.1.1": version: 6.1.1 resolution: "regexpu-core@npm:6.1.1" @@ -12544,7 +12570,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.10.1, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1": +"resolve@npm:^1.1.6, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -12643,7 +12669,7 @@ __metadata: "@changesets/cli": "npm:^2.22.0" "@types/jest": "npm:^29.2.1" "@types/node": "npm:^20.0.0" - eslint: "npm:^8.56.0" + eslint: "npm:^9.0.0" knip: "npm:^5.30.2" metro: "npm:^0.80.3" nx: "npm:~19.5.0" @@ -12760,7 +12786,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.0, semver@npm:^6.3.1": +"semver@npm:^6.0.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -13727,13 +13753,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 - languageName: node - linkType: hard - "type-fest@npm:^0.21.3": version: 0.21.3 resolution: "type-fest@npm:0.21.3"