From 21dfd73b6388e13e9603ec1575d074f1278ede93 Mon Sep 17 00:00:00 2001 From: Mike Maietta Date: Tue, 1 Oct 2024 16:32:44 -0700 Subject: [PATCH] chore(deps): eslint and prettier upgrade to v9 (#8552) --- .eslintignore | 2 - .eslintrc.js | 59 ----- eslint.config.mjs | 82 ++++++ package.json | 4 +- .../app-builder-lib/src/ProtonFramework.ts | 2 +- packages/app-builder-lib/src/asar/asarUtil.ts | 1 - .../src/codeSign/macCodeSign.ts | 2 +- packages/app-builder-lib/src/macPackager.ts | 1 - .../src/publish/KeygenPublisher.ts | 1 - .../src/targets/nsis/NsisTarget.ts | 1 - .../app-builder-lib/src/util/config/config.ts | 1 - .../app-builder-lib/src/vm/ParallelsVm.ts | 1 - packages/builder-util/src/asyncTaskManager.ts | 1 - packages/electron-updater/src/AppUpdater.ts | 1 - .../downloadPlanBuilder.ts | 1 - .../src/providers/PrivateGitHubProvider.ts | 1 - pnpm-lock.yaml | 238 +++++++++--------- test/src/helpers/checkDeps.ts | 6 + 18 files changed, 212 insertions(+), 193 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.js create mode 100644 eslint.config.mjs diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index cfde1d36937..00000000000 --- a/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -*.d.ts -out diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 17ee2e39d4e..00000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,59 +0,0 @@ -module.exports = { - root: true, - parser: "@typescript-eslint/parser", - plugins: [ - "@typescript-eslint", - '@stylistic', - ], - extends: [ - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended", - "plugin:prettier/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - ], - parserOptions: { - project: ["./packages/*/tsconfig.json"], - }, - rules: { - "@typescript-eslint/no-require-imports": "off", - semi: "off", - "prettier/prettier": "warn", - "@typescript-eslint/prefer-promise-reject-errors": "off", - "@stylistic/member-delimiter-style": [ - "error", - { - multiline: { - delimiter: "none", - }, - }, - ], - "@typescript-eslint/ban-ts-comment": "off", - "@typescript-eslint/explicit-module-boundary-types": "off", - "@typescript-eslint/no-unsafe-member-access": "off", - "@typescript-eslint/restrict-template-expressions": "off", - "@typescript-eslint/no-unsafe-return": "off", - "@typescript-eslint/no-unsafe-argument": "off", - "@typescript-eslint/no-unsafe-assignment": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-unsafe-call": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "no-constant-condition": "off", - "@typescript-eslint/no-unused-vars": [ - "warn", // or "error" - { - "argsIgnorePattern": "^_", - "varsIgnorePattern": "^_", - "caughtErrorsIgnorePattern": "^_" - } - ], - "@typescript-eslint/no-var-requires": "off", - "@typescript-eslint/explicit-function-return-type": [ - "off", - { - // "allowExpressions": false, - }, - ], - "@typescript-eslint/no-redundant-type-constituents": "off", - }, -} diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000000..8b02553eb11 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,82 @@ +import typescriptEslint from "@typescript-eslint/eslint-plugin"; +import stylistic from "@stylistic/eslint-plugin"; +import tsParser from "@typescript-eslint/parser"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import js from "@eslint/js"; +import { FlatCompat } from "@eslint/eslintrc"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}); + +export default [{ + ignores: [ + "**/*.d.ts", + "**/out", + // used for CLI + "**/main.js", + "packages/electron-builder/cli.js", + "packages/electron-builder/install-app-deps.js" + ], +}, ...compat.extends( + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended", + "plugin:prettier/recommended", + "plugin:@typescript-eslint/recommended-requiring-type-checking", +), { + plugins: { + "@typescript-eslint": typescriptEslint, + "@stylistic": stylistic, + }, + + languageOptions: { + parser: tsParser, + ecmaVersion: 5, + sourceType: "script", + + parserOptions: { + project: ["./packages/*/tsconfig.json"], + }, + }, + + rules: { + "@typescript-eslint/no-require-imports": "off", + semi: "off", + "prettier/prettier": "warn", + "@typescript-eslint/prefer-promise-reject-errors": "off", + + "@stylistic/member-delimiter-style": ["error", { + multiline: { + delimiter: "none", + }, + }], + + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/explicit-module-boundary-types": "off", + "@typescript-eslint/no-unsafe-member-access": "off", + "@typescript-eslint/restrict-template-expressions": "off", + "@typescript-eslint/no-unsafe-return": "off", + "@typescript-eslint/no-unsafe-argument": "off", + "@typescript-eslint/no-unsafe-assignment": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-unsafe-call": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "no-constant-condition": "off", + + "@typescript-eslint/no-unused-vars": ["warn", { + argsIgnorePattern: "^_", + varsIgnorePattern: "^_", + caughtErrorsIgnorePattern: "^_", + }], + + "@typescript-eslint/no-var-requires": "off", + "@typescript-eslint/explicit-function-return-type": ["off", {}], + "@typescript-eslint/no-redundant-type-constituents": "off", + }, +}]; \ No newline at end of file diff --git a/package.json b/package.json index eb6f3cafcf3..19195d2fdbb 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "scripts": { "//": "do not wrap into single quotes - windows doesn't unwrap arg in this case", "compile": "tsc --build", - "lint": "eslint packages --ext .ts", + "lint": "eslint packages", "lint-staged": "lint-staged", "lint-deps": "node ./test/out/helpers/checkDeps.js", "pretest": "pnpm lint-deps && pnpm lint", @@ -54,7 +54,7 @@ "@typescript-eslint/eslint-plugin": "^8.7.0", "@typescript-eslint/parser": "^8.7.0", "conventional-changelog-cli": "5.0.0", - "eslint": "^8.57.1", + "eslint": "^9.0.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", "fs-extra": "10.1.0", diff --git a/packages/app-builder-lib/src/ProtonFramework.ts b/packages/app-builder-lib/src/ProtonFramework.ts index 7458c16f205..6f42b43df2a 100644 --- a/packages/app-builder-lib/src/ProtonFramework.ts +++ b/packages/app-builder-lib/src/ProtonFramework.ts @@ -30,7 +30,7 @@ export class ProtonFramework extends LibUiFramework { const babelOptions: any = { ast: false, sourceMaps: "inline" } if (process.env.TEST_SET_BABEL_PRESET === "true") { babel = require("@babel/core") - // eslint-disable-next-line @typescript-eslint/no-use-before-define + babel = testOnlyBabel(babel, babelOptions, this.version) } else { try { diff --git a/packages/app-builder-lib/src/asar/asarUtil.ts b/packages/app-builder-lib/src/asar/asarUtil.ts index 83e8f692047..eccbb4c18a1 100644 --- a/packages/app-builder-lib/src/asar/asarUtil.ts +++ b/packages/app-builder-lib/src/asar/asarUtil.ts @@ -11,7 +11,6 @@ import { AsarFilesystem, Node } from "./asar" import { hashFile, hashFileContents } from "./integrity" import { detectUnpackedDirs } from "./unpackDetector" -// eslint-disable-next-line @typescript-eslint/no-var-requires const pickle = require("chromium-pickle-js") /** @internal */ diff --git a/packages/app-builder-lib/src/codeSign/macCodeSign.ts b/packages/app-builder-lib/src/codeSign/macCodeSign.ts index b408a930d46..0fe651c7ef8 100644 --- a/packages/app-builder-lib/src/codeSign/macCodeSign.ts +++ b/packages/app-builder-lib/src/codeSign/macCodeSign.ts @@ -167,7 +167,7 @@ export async function createKeychain({ tmpDir, cscLink, cscKeyPassword, cscILink // use constant file const keychainFile = path.join(process.env.APP_BUILDER_TMP_DIR || tmpdir(), `${createHash("sha256").update(currentDir).update("app-builder").digest("hex")}.keychain`) // noinspection JSUnusedLocalSymbols - // eslint-disable-next-line @typescript-eslint/no-unused-vars + await removeKeychain(keychainFile, false).catch(_ => { /* ignore*/ }) diff --git a/packages/app-builder-lib/src/macPackager.ts b/packages/app-builder-lib/src/macPackager.ts index 56695903732..f2a49cd8548 100644 --- a/packages/app-builder-lib/src/macPackager.ts +++ b/packages/app-builder-lib/src/macPackager.ts @@ -86,7 +86,6 @@ export class MacPackager extends PlatformPackager { break case "dmg": { - // eslint-disable-next-line @typescript-eslint/no-var-requires const { DmgTarget } = require("dmg-builder") mapper(name, outDir => new DmgTarget(this, outDir)) break diff --git a/packages/app-builder-lib/src/publish/KeygenPublisher.ts b/packages/app-builder-lib/src/publish/KeygenPublisher.ts index dbb5dd4b806..7fe58f25170 100644 --- a/packages/app-builder-lib/src/publish/KeygenPublisher.ts +++ b/packages/app-builder-lib/src/publish/KeygenPublisher.ts @@ -105,7 +105,6 @@ export class KeygenPublisher extends HttpPublisher { _arch: Arch, dataLength: number, requestProcessor: (request: ClientRequest, reject: (error: Error) => void) => void, - // eslint-disable-next-line @typescript-eslint/no-unused-vars _file: string ): Promise { return HttpExecutor.retryOnServerError(async () => { diff --git a/packages/app-builder-lib/src/targets/nsis/NsisTarget.ts b/packages/app-builder-lib/src/targets/nsis/NsisTarget.ts index d1abbe7ffaa..27f26b42285 100644 --- a/packages/app-builder-lib/src/targets/nsis/NsisTarget.ts +++ b/packages/app-builder-lib/src/targets/nsis/NsisTarget.ts @@ -396,7 +396,6 @@ export class NsisTarget extends Target { let i = 0 while (!(await exists(uninstallerPath)) && i++ < 100) { // noinspection JSUnusedLocalSymbols - // eslint-disable-next-line @typescript-eslint/no-unused-vars await new Promise((resolve, _reject) => setTimeout(resolve, 300)) } } diff --git a/packages/app-builder-lib/src/util/config/config.ts b/packages/app-builder-lib/src/util/config/config.ts index 0efebe50e63..2aadb917ba1 100644 --- a/packages/app-builder-lib/src/util/config/config.ts +++ b/packages/app-builder-lib/src/util/config/config.ts @@ -7,7 +7,6 @@ import { Configuration } from "../../configuration" import { FileSet } from "../../options/PlatformSpecificBuildOptions" import { reactCra } from "../../presets/rectCra" import { PACKAGE_VERSION } from "../../version" -// eslint-disable-next-line @typescript-eslint/no-var-requires const validateSchema = require("@develar/schema-utils") // https://github.com/electron-userland/electron-builder/issues/1847 diff --git a/packages/app-builder-lib/src/vm/ParallelsVm.ts b/packages/app-builder-lib/src/vm/ParallelsVm.ts index 6734219b887..e0f29a6c7ca 100644 --- a/packages/app-builder-lib/src/vm/ParallelsVm.ts +++ b/packages/app-builder-lib/src/vm/ParallelsVm.ts @@ -80,7 +80,6 @@ export class ParallelsVmManager extends VmManager { if (!this.isExitHookAdded) { this.isExitHookAdded = true - // eslint-disable-next-line @typescript-eslint/no-var-requires require("async-exit-hook")((callback: (() => void) | null) => { const stopArgs = ["suspend", vmId] if (callback == null) { diff --git a/packages/builder-util/src/asyncTaskManager.ts b/packages/builder-util/src/asyncTaskManager.ts index 992fb5a7cdd..f27ca28b8d7 100644 --- a/packages/builder-util/src/asyncTaskManager.ts +++ b/packages/builder-util/src/asyncTaskManager.ts @@ -73,7 +73,6 @@ export class AsyncTaskManager { return [] } - // eslint-disable-next-line @typescript-eslint/no-floating-promises list = tasks.slice() tasks.length = 0 } diff --git a/packages/electron-updater/src/AppUpdater.ts b/packages/electron-updater/src/AppUpdater.ts index 6d2ecaddd08..0f972a2777f 100644 --- a/packages/electron-updater/src/AppUpdater.ts +++ b/packages/electron-updater/src/AppUpdater.ts @@ -438,7 +438,6 @@ export abstract class AppUpdater extends (EventEmitter as new () => TypedEmitter } } - // eslint-disable-next-line @typescript-eslint/explicit-function-return-type private createProviderRuntimeOptions() { return { isUseMultipleRangeRequest: true, diff --git a/packages/electron-updater/src/differentialDownloader/downloadPlanBuilder.ts b/packages/electron-updater/src/differentialDownloader/downloadPlanBuilder.ts index c4d6f178596..f836a63f69c 100644 --- a/packages/electron-updater/src/differentialDownloader/downloadPlanBuilder.ts +++ b/packages/electron-updater/src/differentialDownloader/downloadPlanBuilder.ts @@ -104,7 +104,6 @@ function validateAndAdd(operation: Operation, operations: Array, chec operations.push(operation) } -// eslint-disable-next-line @typescript-eslint/explicit-function-return-type function buildChecksumMap(file: BlockMapFile, fileOffset: number, logger: Logger) { const checksumToOffset = new Map() const checksumToSize = new Map() diff --git a/packages/electron-updater/src/providers/PrivateGitHubProvider.ts b/packages/electron-updater/src/providers/PrivateGitHubProvider.ts index 94558de95be..872c8c4dc05 100644 --- a/packages/electron-updater/src/providers/PrivateGitHubProvider.ts +++ b/packages/electron-updater/src/providers/PrivateGitHubProvider.ts @@ -59,7 +59,6 @@ export class PrivateGitHubProvider extends BaseGitHubProvider=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.18.0': + resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.57.1': - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/core@0.6.0': + resolution: {integrity: sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.1.0': + resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.11.1': + resolution: {integrity: sha512-/qu+TWz8WwPWc7/HcIJKi+c+MOm46GdVaSlTTQcaqaL53+GsoA6MxWp5PtTx48qbSP7ylM1Kn7nhvkugfJvRSA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.4': + resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.2.0': + resolution: {integrity: sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@gar/promisify@1.1.3': resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - '@humanwhocodes/config-array@0.13.0': - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead - '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead + '@humanwhocodes/retry@0.3.0': + resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} + engines: {node: '>=18.18'} '@hutson/parse-repository-url@5.0.0': resolution: {integrity: sha512-e5+YUKENATs1JgYHMzTr2MW/NDcXGfYFAuOQU8gJgF/kEh4EqKgfGrfLI67bMD4tbhZVlkigz/9YYwWcbOFthg==} @@ -2324,6 +2335,9 @@ packages: '@types/ejs@3.1.0': resolution: {integrity: sha512-DCg+Ka+uDQ31lJ/UtEXVlaeV3d6t81gifaVWKJy4MYVVgvJttyX/viREy+If7fz+tK/gVxTGMtyrFPnm4gjrVA==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/fs-extra@11.0.4': resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} @@ -3407,10 +3421,6 @@ packages: os: [darwin] hasBin: true - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - domexception@2.0.1: resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} engines: {node: '>=8'} @@ -3553,9 +3563,9 @@ packages: eslint-config-prettier: optional: true - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.1.0: + resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} @@ -3565,19 +3575,20 @@ packages: resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@8.57.1: - resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint@9.11.1: + resolution: {integrity: sha512-MobhYKIoAO1s1e4VUrgx1l1Sk2JBR/Gqjjgw8+mfgoLE2xwsHur4gdfTxyTgShrhvdVFTaJSgMiQBl1jv/AWxg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true espree@10.2.0: resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -3696,9 +3707,9 @@ packages: fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} @@ -3727,9 +3738,9 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} @@ -3877,9 +3888,9 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} @@ -5255,6 +5266,7 @@ packages: engines: {node: '>=0.6.0', teleport: '>=0.2.0'} deprecated: |- You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. + (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) query-ast@1.0.5: @@ -5890,10 +5902,6 @@ packages: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -6420,7 +6428,7 @@ snapshots: '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.24.0 '@babel/traverse': 7.24.0 - debug: 4.3.5 + debug: 4.3.7 lodash.debounce: 4.0.8 resolve: 1.22.8 semver: 6.3.1 @@ -8279,19 +8287,29 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.11.1)': dependencies: - eslint: 8.57.1 + eslint: 9.11.1 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.1': {} - '@eslint/eslintrc@2.1.4': + '@eslint/config-array@0.18.0': + dependencies: + '@eslint/object-schema': 2.1.4 + debug: 4.3.7 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/core@0.6.0': {} + + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 debug: 4.3.7 - espree: 9.6.1 - globals: 13.24.0 + espree: 10.2.0 + globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -8300,21 +8318,19 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.1': {} + '@eslint/js@9.11.1': {} - '@gar/promisify@1.1.3': {} + '@eslint/object-schema@2.1.4': {} - '@humanwhocodes/config-array@0.13.0': + '@eslint/plugin-kit@0.2.0': dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.7 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + levn: 0.4.1 + + '@gar/promisify@1.1.3': {} '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/retry@0.3.0': {} '@hutson/parse-repository-url@5.0.0': {} @@ -8709,10 +8725,10 @@ snapshots: dependencies: '@sinonjs/commons': 1.8.6 - '@stylistic/eslint-plugin@2.8.0(eslint@8.57.1)(typescript@5.6.2)': + '@stylistic/eslint-plugin@2.8.0(eslint@9.11.1)(typescript@5.6.2)': dependencies: - '@typescript-eslint/utils': 8.7.0(eslint@8.57.1)(typescript@5.6.2) - eslint: 8.57.1 + '@typescript-eslint/utils': 8.7.0(eslint@9.11.1)(typescript@5.6.2) + eslint: 9.11.1 eslint-visitor-keys: 4.1.0 espree: 10.2.0 estraverse: 5.3.0 @@ -8779,6 +8795,8 @@ snapshots: '@types/ejs@3.1.0': {} + '@types/estree@1.0.6': {} + '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 @@ -8927,15 +8945,15 @@ snapshots: '@types/node': 20.16.10 optional: true - '@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1)(typescript@5.6.2))(eslint@9.11.1)(typescript@5.6.2)': dependencies: '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 8.7.0(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/parser': 8.7.0(eslint@9.11.1)(typescript@5.6.2) '@typescript-eslint/scope-manager': 8.7.0 - '@typescript-eslint/type-utils': 8.7.0(eslint@8.57.1)(typescript@5.6.2) - '@typescript-eslint/utils': 8.7.0(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1)(typescript@5.6.2) + '@typescript-eslint/utils': 8.7.0(eslint@9.11.1)(typescript@5.6.2) '@typescript-eslint/visitor-keys': 8.7.0 - eslint: 8.57.1 + eslint: 9.11.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -8945,14 +8963,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.7.0(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/parser@8.7.0(eslint@9.11.1)(typescript@5.6.2)': dependencies: '@typescript-eslint/scope-manager': 8.7.0 '@typescript-eslint/types': 8.7.0 '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.6.2) '@typescript-eslint/visitor-keys': 8.7.0 debug: 4.3.7 - eslint: 8.57.1 + eslint: 9.11.1 optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: @@ -8963,10 +8981,10 @@ snapshots: '@typescript-eslint/types': 8.7.0 '@typescript-eslint/visitor-keys': 8.7.0 - '@typescript-eslint/type-utils@8.7.0(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/type-utils@8.7.0(eslint@9.11.1)(typescript@5.6.2)': dependencies: '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.6.2) - '@typescript-eslint/utils': 8.7.0(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/utils': 8.7.0(eslint@9.11.1)(typescript@5.6.2) debug: 4.3.7 ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: @@ -8992,13 +9010,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.7.0(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/utils@8.7.0(eslint@9.11.1)(typescript@5.6.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1) '@typescript-eslint/scope-manager': 8.7.0 '@typescript-eslint/types': 8.7.0 '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.6.2) - eslint: 8.57.1 + eslint: 9.11.1 transitivePeerDependencies: - supports-color - typescript @@ -10031,10 +10049,6 @@ snapshots: smart-buffer: 4.2.0 verror: 1.10.1 - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - domexception@2.0.1: dependencies: webidl-conversions: 5.0.0 @@ -10139,20 +10153,20 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@9.1.0(eslint@8.57.1): + eslint-config-prettier@9.1.0(eslint@9.11.1): dependencies: - eslint: 8.57.1 + eslint: 9.11.1 - eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3): + eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.11.1))(eslint@9.11.1)(prettier@3.3.3): dependencies: - eslint: 8.57.1 + eslint: 9.11.1 prettier: 3.3.3 prettier-linter-helpers: 1.0.0 synckit: 0.9.1 optionalDependencies: - eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-config-prettier: 9.1.0(eslint@9.11.1) - eslint-scope@7.2.2: + eslint-scope@8.1.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 @@ -10161,40 +10175,39 @@ snapshots: eslint-visitor-keys@4.1.0: {} - eslint@8.57.1: + eslint@9.11.1: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1) '@eslint-community/regexpp': 4.11.1 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.1 - '@humanwhocodes/config-array': 0.13.0 + '@eslint/config-array': 0.18.0 + '@eslint/core': 0.6.0 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.11.1 + '@eslint/plugin-kit': 0.2.0 '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.7 - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.1.0 + eslint-visitor-keys: 4.1.0 + espree: 10.2.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 @@ -10210,12 +10223,6 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.12.1) eslint-visitor-keys: 4.1.0 - espree@9.6.1: - dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 3.4.3 - esprima@4.0.1: {} esquery@1.6.0: @@ -10375,9 +10382,9 @@ snapshots: dependencies: pend: 1.2.0 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 filelist@1.0.4: dependencies: @@ -10410,11 +10417,10 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: flatted: 3.3.1 keyv: 4.5.4 - rimraf: 3.0.2 flatted@3.3.1: {} @@ -10587,9 +10593,7 @@ snapshots: globals@11.12.0: {} - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@14.0.0: {} globalthis@1.0.3: dependencies: @@ -12951,8 +12955,6 @@ snapshots: type-fest@0.13.1: optional: true - type-fest@0.20.2: {} - type-fest@0.21.3: {} type-fest@4.26.1: {} diff --git a/test/src/helpers/checkDeps.ts b/test/src/helpers/checkDeps.ts index 7c2d7408b9e..410ef768d0b 100644 --- a/test/src/helpers/checkDeps.ts +++ b/test/src/helpers/checkDeps.ts @@ -10,6 +10,12 @@ const knownUnusedDevDependencies = new Set([ "@babel/plugin-transform-modules-commonjs", // Not sure what this is used for, but keeping just in case (for now) "@changesets/changelog-github", // Used in package.json CI/CD logic "typedoc-plugin-markdown", // Used in typedoc config + // Eslint config doesn't get scanned by + "@stylistic/eslint-plugin", + "@typescript-eslint/eslint-plugin", + "@typescript-eslint/parser", + "eslint-config-prettier", + "eslint-plugin-prettier" ]) const knownMissedDependencies = new Set(["babel-core", "babel-preset-env", "babel-preset-stage-0", "babel-preset-react"])