diff --git a/.eslintrc.js b/.eslintrc.js index e5956b507d6..17ee2e39d4e 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,7 +1,10 @@ module.exports = { root: true, parser: "@typescript-eslint/parser", - plugins: ["@typescript-eslint"], + plugins: [ + "@typescript-eslint", + '@stylistic', + ], extends: [ "eslint:recommended", "plugin:@typescript-eslint/eslint-recommended", @@ -13,9 +16,11 @@ module.exports = { project: ["./packages/*/tsconfig.json"], }, rules: { + "@typescript-eslint/no-require-imports": "off", semi: "off", "prettier/prettier": "warn", - "@typescript-eslint/member-delimiter-style": [ + "@typescript-eslint/prefer-promise-reject-errors": "off", + "@stylistic/member-delimiter-style": [ "error", { multiline: { @@ -34,6 +39,14 @@ module.exports = { "@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", diff --git a/package.json b/package.json index fe5dce9a592..c65c1e6cb4d 100644 --- a/package.json +++ b/package.json @@ -49,27 +49,22 @@ "@babel/plugin-transform-modules-commonjs": "7.24.8", "@changesets/changelog-github": "0.4.7", "@changesets/cli": "2.25.0", + "@stylistic/eslint-plugin": "^2.8.0", "@types/node": "^22.5.5", - "@typescript-eslint/eslint-plugin": "^7.0.1", - "@typescript-eslint/parser": "^7.0.1", + "@typescript-eslint/eslint-plugin": "^8.0.0", + "@typescript-eslint/parser": "^8.0.0", "conventional-changelog-cli": "5.0.0", - "dmd": "6.1.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.3", "fs-extra": "10.1.0", "husky": "7.0.4", - "jest-cli": "27.5.1", "lint-staged": "15.2.7", - "path-sort": "0.1.0", "prettier": "3.3.3", - "source-map-support": "0.5.21", - "ts-jsdoc": "3.2.2", "typedoc": "^0.26", "typedoc-plugin-markdown": "^4.2.7", "typescript": "^5.5", - "typescript-json-schema": "0.65.1", - "v8-compile-cache": "2.3.0" + "typescript-json-schema": "0.65.1" }, "engines": { "node": ">=14.14", diff --git a/packages/app-builder-lib/src/ProtonFramework.ts b/packages/app-builder-lib/src/ProtonFramework.ts index 8bd8a5eab28..7458c16f205 100644 --- a/packages/app-builder-lib/src/ProtonFramework.ts +++ b/packages/app-builder-lib/src/ProtonFramework.ts @@ -35,7 +35,7 @@ export class ProtonFramework extends LibUiFramework { } else { try { babel = require("babel-core") - } catch (e: any) { + } catch (_e: any) { // babel isn't installed log.debug(null, "don't transpile source code using Babel") return null diff --git a/packages/app-builder-lib/src/asar/asarFileChecker.ts b/packages/app-builder-lib/src/asar/asarFileChecker.ts index 88ffa747305..7f7f14a8b2d 100644 --- a/packages/app-builder-lib/src/asar/asarFileChecker.ts +++ b/packages/app-builder-lib/src/asar/asarFileChecker.ts @@ -17,7 +17,7 @@ export async function checkFileInArchive(asarFile: string, relativeFile: string, let stat: Node | null try { stat = fs.getFile(relativeFile) - } catch (e: any) { + } catch (_e: any) { const fileStat = await statOrNull(asarFile) if (fileStat == null) { throw error(`does not exist. Seems like a wrong configuration.`) diff --git a/packages/app-builder-lib/src/asar/asarUtil.ts b/packages/app-builder-lib/src/asar/asarUtil.ts index 8cc9ff2e932..83e8f692047 100644 --- a/packages/app-builder-lib/src/asar/asarUtil.ts +++ b/packages/app-builder-lib/src/asar/asarUtil.ts @@ -154,7 +154,7 @@ export class AsarPackager { } private writeAsarFile(fileSets: Array, unpackedFileIndexMap: Map>): Promise { - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { const headerPickle = pickle.createEmpty() headerPickle.writeString(JSON.stringify(this.fs.header)) const headerBuf = headerPickle.toBuffer() diff --git a/packages/app-builder-lib/src/fileMatcher.ts b/packages/app-builder-lib/src/fileMatcher.ts index aea184668c3..5afa4220f90 100644 --- a/packages/app-builder-lib/src/fileMatcher.ts +++ b/packages/app-builder-lib/src/fileMatcher.ts @@ -53,7 +53,7 @@ export class FileMatcher { from: string, to: string, readonly macroExpander: (pattern: string) => string, - patterns?: Array | string | null | undefined + patterns?: Array | string | null ) { this.from = ensureNoEndSlash(macroExpander(from)) this.to = ensureNoEndSlash(macroExpander(to)) diff --git a/packages/app-builder-lib/src/publish/PublishManager.ts b/packages/app-builder-lib/src/publish/PublishManager.ts index 853ed343fb8..e97edf5d4ee 100644 --- a/packages/app-builder-lib/src/publish/PublishManager.ts +++ b/packages/app-builder-lib/src/publish/PublishManager.ts @@ -345,7 +345,7 @@ function requireProviderClass(provider: string, packager: Packager): any | null let module: any = null try { module = require(path.join(packager.buildResourcesDir, name + ".js")) - } catch (ignored) { + } catch (_ignored) { log.debug({ path: path.join(packager.buildResourcesDir, name + ".js") }, "Unable to find publish provider in build resources") } diff --git a/packages/app-builder-lib/src/util/config/config.ts b/packages/app-builder-lib/src/util/config/config.ts index b6e258f37d9..0efebe50e63 100644 --- a/packages/app-builder-lib/src/util/config/config.ts +++ b/packages/app-builder-lib/src/util/config/config.ts @@ -60,7 +60,7 @@ export async function getConfig( let file = "electron-webpack/out/electron-builder.js" try { file = require.resolve(file) - } catch (ignore) { + } catch (_ignore) { file = require.resolve("electron-webpack/electron-builder.yml") } config.extends = `file:${file}` diff --git a/packages/app-builder-lib/src/util/config/load.ts b/packages/app-builder-lib/src/util/config/load.ts index 57612941267..c4f21b793b6 100644 --- a/packages/app-builder-lib/src/util/config/load.ts +++ b/packages/app-builder-lib/src/util/config/load.ts @@ -107,7 +107,7 @@ export async function loadParentConfig(request: ReadConfigRequest, spec: stri let resolved: string | null = null try { resolved = require.resolve(spec) - } catch (e) { + } catch (_e) { // ignore } diff --git a/packages/app-builder-lib/src/util/packageMetadata.ts b/packages/app-builder-lib/src/util/packageMetadata.ts index 302f456f3fb..d896fab600c 100644 --- a/packages/app-builder-lib/src/util/packageMetadata.ts +++ b/packages/app-builder-lib/src/util/packageMetadata.ts @@ -24,7 +24,7 @@ async function authors(file: string, data: any) { let authorData try { authorData = await readFile(path.resolve(path.dirname(file), "AUTHORS"), "utf8") - } catch (ignored) { + } catch (_ignored) { return } diff --git a/packages/builder-util-runtime/src/CancellationToken.ts b/packages/builder-util-runtime/src/CancellationToken.ts index 099b90ce923..ff95c6bc1d8 100644 --- a/packages/builder-util-runtime/src/CancellationToken.ts +++ b/packages/builder-util-runtime/src/CancellationToken.ts @@ -52,7 +52,7 @@ export class CancellationToken extends EventEmitter { try { this.removeListener("cancel", cancelHandler) cancelHandler = null - } catch (ignore) { + } catch (_ignore) { // ignore } } diff --git a/packages/builder-util/src/fs.ts b/packages/builder-util/src/fs.ts index ba18ae06011..b00bbf51e9d 100644 --- a/packages/builder-util/src/fs.ts +++ b/packages/builder-util/src/fs.ts @@ -35,7 +35,7 @@ export async function exists(file: string): Promise { try { await access(file) return true - } catch (e: any) { + } catch (_e: any) { return false } } diff --git a/packages/dmg-builder/src/dmg.ts b/packages/dmg-builder/src/dmg.ts index 82ecced8750..9948b8ce980 100644 --- a/packages/dmg-builder/src/dmg.ts +++ b/packages/dmg-builder/src/dmg.ts @@ -312,7 +312,7 @@ async function customizeDmg(volumePath: string, specification: DmgOptions, packa } try { await executePython("python3") - } catch (error: any) { + } catch (_error: any) { await executePython("python") } return packager.packagerOptions.effectiveOptionComputed == null || !(await packager.packagerOptions.effectiveOptionComputed({ volumePath, specification, packager })) diff --git a/packages/electron-updater/src/DownloadedUpdateHelper.ts b/packages/electron-updater/src/DownloadedUpdateHelper.ts index 12a312c410e..e2b513b3923 100644 --- a/packages/electron-updater/src/DownloadedUpdateHelper.ts +++ b/packages/electron-updater/src/DownloadedUpdateHelper.ts @@ -90,7 +90,7 @@ export class DownloadedUpdateHelper { try { // remove stale data await emptyDir(this.cacheDirForPendingUpdate) - } catch (ignore) { + } catch (_ignore) { // ignore } } diff --git a/packages/electron-updater/src/NsisUpdater.ts b/packages/electron-updater/src/NsisUpdater.ts index 629f5e357df..c663ee62be4 100644 --- a/packages/electron-updater/src/NsisUpdater.ts +++ b/packages/electron-updater/src/NsisUpdater.ts @@ -90,7 +90,7 @@ export class NsisUpdater extends BaseUpdater { } catch (e: any) { try { await unlink(packageFile) - } catch (ignored) { + } catch (_ignored) { // ignore } diff --git a/packages/electron-updater/src/differentialDownloader/DifferentialDownloader.ts b/packages/electron-updater/src/differentialDownloader/DifferentialDownloader.ts index bc51881a2a3..4fcb8ccd302 100644 --- a/packages/electron-updater/src/differentialDownloader/DifferentialDownloader.ts +++ b/packages/electron-updater/src/differentialDownloader/DifferentialDownloader.ts @@ -108,7 +108,7 @@ export abstract class DifferentialDownloader { } catch (errorOnLog) { try { console.error(errorOnLog) - } catch (ignored) { + } catch (_ignored) { // ok, give up and ignore error } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 05dc8fbfcef..ee4f26f00c5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,21 +29,21 @@ importers: '@changesets/cli': specifier: 2.25.0 version: 2.25.0(patch_hash=nye7dcohy6yzxjscpnrszvchra) + '@stylistic/eslint-plugin': + specifier: ^2.8.0 + version: 2.8.0(eslint@8.57.0)(typescript@5.5.3) '@types/node': specifier: ^22.5.5 version: 22.5.5 '@typescript-eslint/eslint-plugin': - specifier: ^7.0.1 - version: 7.16.1(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) + specifier: ^8.0.0 + version: 8.6.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) '@typescript-eslint/parser': - specifier: ^7.0.1 - version: 7.16.1(eslint@8.57.0)(typescript@5.5.3) + specifier: ^8.0.0 + version: 8.6.0(eslint@8.57.0)(typescript@5.5.3) conventional-changelog-cli: specifier: 5.0.0 version: 5.0.0(conventional-commits-filter@5.0.0) - dmd: - specifier: 6.1.0 - version: 6.1.0 eslint: specifier: ^8.56.0 version: 8.57.0 @@ -59,24 +59,12 @@ importers: husky: specifier: 7.0.4 version: 7.0.4 - jest-cli: - specifier: 27.5.1 - version: 27.5.1(ts-node@10.9.2(@types/node@22.5.5)(typescript@5.5.3)) lint-staged: specifier: 15.2.7 version: 15.2.7 - path-sort: - specifier: 0.1.0 - version: 0.1.0 prettier: specifier: 3.3.3 version: 3.3.3 - source-map-support: - specifier: 0.5.21 - version: 0.5.21 - ts-jsdoc: - specifier: 3.2.2 - version: 3.2.2(typescript@5.5.3) typedoc: specifier: ^0.26 version: 0.26.7(typescript@5.5.3) @@ -89,9 +77,6 @@ importers: typescript-json-schema: specifier: 0.65.1 version: 0.65.1 - v8-compile-cache: - specifier: 2.3.0 - version: 2.3.0 packages/app-builder-lib: dependencies: @@ -2253,6 +2238,12 @@ packages: '@sinonjs/fake-timers@8.1.0': resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} + '@stylistic/eslint-plugin@2.8.0': + resolution: {integrity: sha512-Ufvk7hP+bf+pD35R/QfunF793XlSRIC7USr3/EdgduK9j13i2JjmsM0LUz3/foS+jDYp2fzyWZA9N44CPur0Ow==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8.40.0' + '@szmarczak/http-timer@4.0.6': resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} engines: {node: '>=10'} @@ -2448,63 +2439,62 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@7.16.1': - resolution: {integrity: sha512-SxdPak/5bO0EnGktV05+Hq8oatjAYVY3Zh2bye9pGZy6+jwyR3LG3YKkV4YatlsgqXP28BTeVm9pqwJM96vf2A==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/eslint-plugin@8.6.0': + resolution: {integrity: sha512-UOaz/wFowmoh2G6Mr9gw60B1mm0MzUtm6Ic8G2yM1Le6gyj5Loi/N+O5mocugRGY+8OeeKmkMmbxNqUCq3B4Sg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/parser@7.16.1': - resolution: {integrity: sha512-u+1Qx86jfGQ5i4JjK33/FnawZRpsLxRnKzGE6EABZ40KxVT/vWsiZFEBBHjFOljmmV3MBYOHEKi0Jm9hbAOClA==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/parser@8.6.0': + resolution: {integrity: sha512-eQcbCuA2Vmw45iGfcyG4y6rS7BhWfz9MQuk409WD47qMM+bKCGQWXxvoOs1DUp+T7UBMTtRTVT+kXr7Sh4O9Ow==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/scope-manager@7.16.1': - resolution: {integrity: sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/scope-manager@8.6.0': + resolution: {integrity: sha512-ZuoutoS5y9UOxKvpc/GkvF4cuEmpokda4wRg64JEia27wX+PysIE9q+lzDtlHHgblwUWwo5/Qn+/WyTUvDwBHw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@7.16.1': - resolution: {integrity: sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/type-utils@8.6.0': + resolution: {integrity: sha512-dtePl4gsuenXVwC7dVNlb4mGDcKjDT/Ropsk4za/ouMBPplCLyznIaR+W65mvCvsyS97dymoBRrioEXI7k0XIg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/types@7.16.1': - resolution: {integrity: sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/types@8.6.0': + resolution: {integrity: sha512-rojqFZGd4MQxw33SrOy09qIDS8WEldM8JWtKQLAjf/X5mGSeEFh5ixQlxssMNyPslVIk9yzWqXCsV2eFhYrYUw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@7.16.1': - resolution: {integrity: sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/typescript-estree@8.6.0': + resolution: {integrity: sha512-MOVAzsKJIPIlLK239l5s06YXjNqpKTVhBVDnqUumQJja5+Y94V3+4VUFRA0G60y2jNnTVwRCkhyGQpavfsbq/g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/utils@7.16.1': - resolution: {integrity: sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/utils@8.6.0': + resolution: {integrity: sha512-eNp9cWnYf36NaOVjkEUznf6fEgVy1TWpE0o52e4wtojjBx7D1UV2WAWGzR+8Y5lVFtpMLPwNbC67T83DWSph4A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@7.16.1': - resolution: {integrity: sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==} - engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@8.6.0': + resolution: {integrity: sha512-wapVFfZg9H0qOYh4grNVQiMklJGluQrOUiOhYRrQWhx7BY/+I1IYb8BczWNbbUpO+pqy0rDciv3lQH5E1bCLrg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -2561,6 +2551,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + engines: {node: '>=0.4.0'} + hasBin: true + add-stream@1.0.0: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} @@ -2679,26 +2674,6 @@ packages: resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} engines: {node: '>=0.10.0'} - array-back@1.0.4: - resolution: {integrity: sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==} - engines: {node: '>=0.12.0'} - - array-back@2.0.0: - resolution: {integrity: sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==} - engines: {node: '>=4'} - - array-back@4.0.2: - resolution: {integrity: sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==} - engines: {node: '>=8'} - - array-back@5.0.0: - resolution: {integrity: sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==} - engines: {node: '>=10'} - - array-back@6.2.2: - resolution: {integrity: sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==} - engines: {node: '>=12.17'} - array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} @@ -2950,10 +2925,6 @@ packages: resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} engines: {node: '>=0.10.0'} - cache-point@2.0.0: - resolution: {integrity: sha512-4gkeHlFpSKgm3vm2gJN5sPqfmijYRFYCQ6tv5cLw0xVmT6r1z1vd4FNnpuOREco3cBs1G709sZ72LdgddKvL5w==} - engines: {node: '>=8'} - cacheable-lookup@5.0.4: resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} engines: {node: '>=10.6.0'} @@ -3135,10 +3106,6 @@ packages: resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} engines: {node: '>= 6'} - common-sequence@2.0.2: - resolution: {integrity: sha512-jAg09gkdkrDO9EWTdXfv80WWH3yeZl5oT69fGfedBNS9pXUKYInVJ1bJ+/ht2+Moeei48TmSbQDYMc8EOx9G0g==} - engines: {node: '>=8'} - compare-func@2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} @@ -3458,10 +3425,6 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - dmd@6.1.0: - resolution: {integrity: sha512-0zQIJ873gay1scCTFZvHPWM9mVJBnaylB2NQDI8O9u8O32m00Jb6uxDKexZm8hjTRM7RiWe0FJ32pExHoXdwoQ==} - engines: {node: '>=12'} - dmg-license@1.0.11: resolution: {integrity: sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==} engines: {node: '>=8'} @@ -3633,11 +3596,19 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint@8.57.0: resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true + espree@10.1.0: + resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} + 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} @@ -3764,10 +3735,6 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} - file-set@4.0.2: - resolution: {integrity: sha512-fuxEgzk4L8waGXaAkd8cMr73Pm0FxOVkn8hztzUW7BAHhOGH90viQNXbiOsnecCWmfInqU6YmAMwxRMdKETceQ==} - engines: {node: '>=10'} - filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} @@ -3855,10 +3822,6 @@ packages: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} - fs-then-native@2.0.0: - resolution: {integrity: sha512-X712jAOaWXkemQCAmWeg5rOT2i+KOpWz1Z/txk/cW0qlOu2oQ9H61vc5w3X/iyuUEfq/OyaFJ78/cZAQD1/bgA==} - engines: {node: '>=4.0.0'} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -4872,11 +4835,6 @@ packages: resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} hasBin: true - marked@4.3.0: - resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} - engines: {node: '>= 12'} - hasBin: true - matcher@3.0.0: resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} engines: {node: '>=10'} @@ -5036,9 +4994,6 @@ packages: resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} engines: {node: '>= 8.0.0'} - mkdirp2@1.0.5: - resolution: {integrity: sha512-xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw==} - mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -5168,9 +5123,6 @@ packages: resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} engines: {node: '>=0.10.0'} - object-get@2.1.1: - resolution: {integrity: sha512-7n4IpLMzGGcLEMiQKsNR7vCe+N5E9LORFrtNUVy4sO3dj9a3HedZCxEL2T7QuLhcHN1NBuBsMOKaOsAYI9IIvg==} - object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} @@ -5332,6 +5284,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} @@ -5450,7 +5406,6 @@ 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: @@ -5521,18 +5476,6 @@ packages: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} - reduce-flatten@3.0.1: - resolution: {integrity: sha512-bYo+97BmUUOzg09XwfkwALt4PQH1M5L0wzKerBt6WLm3Fhdd43mMS89HiT1B9pJIqko/6lWx3OnV4J9f2Kqp5Q==} - engines: {node: '>=8'} - - reduce-unique@2.0.1: - resolution: {integrity: sha512-x4jH/8L1eyZGR785WY+ePtyMNhycl1N2XOLxhCbzZFaqF4AXjLzqSxa2UHgJ2ZVR/HHyPOvl1L7xRnW8ye5MdA==} - engines: {node: '>=6'} - - reduce-without@1.0.1: - resolution: {integrity: sha512-zQv5y/cf85sxvdrKPlfcRzlDn/OqKFThNimYmsS3flmkioKvkUGn2Qg9cJVoQiEvdxFGLE0MQER/9fZ9sUqdxg==} - engines: {node: '>=0.10.0'} - regenerate-unicode-properties@10.1.1: resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} engines: {node: '>=4'} @@ -6054,14 +5997,6 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} - test-value@2.1.0: - resolution: {integrity: sha512-+1epbAxtKeXttkGFMTX9H42oqzOTufR1ceCF+GYA5aOmvaPq9wd4PUS8329fn2RRLGNeUkgRLnVpycjx8DsO2w==} - engines: {node: '>=0.10.0'} - - test-value@3.0.0: - resolution: {integrity: sha512-sVACdAWcZkSU9x7AOmJo5TqE+GyNJknHaHsMrR6ZnhjVlVN9Yx6FjHrsKZ3BjIpPCT68zYesPWkakrNupwfOTQ==} - engines: {node: '>=4.0.0'} - text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} @@ -6142,13 +6077,6 @@ packages: peerDependencies: typescript: '>=4.2.0' - ts-jsdoc@3.2.2: - resolution: {integrity: sha512-+Bj4ROKDrk3pOdel5u+gz8pqyuPak9D/dgNFfrpEGTZarRnxPGYB3DXkpu4qkFCfPjqBBiZEj6hf3wmfvJqbgA==} - engines: {node: '>=12.0.0'} - hasBin: true - peerDependencies: - typescript: ^4.2.4 - ts-node@10.9.2: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true @@ -6248,9 +6176,6 @@ packages: engines: {node: '>=14.17'} hasBin: true - typical@2.6.1: - resolution: {integrity: sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==} - uc.micro@2.1.0: resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} @@ -6370,9 +6295,6 @@ packages: v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - v8-compile-cache@2.3.0: - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} - v8-to-istanbul@8.1.1: resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} engines: {node: '>=10.12.0'} @@ -6398,10 +6320,6 @@ packages: resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} engines: {node: '>=10'} - walk-back@5.1.0: - resolution: {integrity: sha512-Uhxps5yZcVNbLEAnb+xaEEMdgTXl9qAQDzKYejG2AZ7qPwRQ81lozY9ECDbjLPNWm7YsO1IK5rsP1KoQzXAcGA==} - engines: {node: '>=12.17'} - walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} @@ -9011,6 +8929,18 @@ snapshots: dependencies: '@sinonjs/commons': 1.8.6 + '@stylistic/eslint-plugin@2.8.0(eslint@8.57.0)(typescript@5.5.3)': + dependencies: + '@typescript-eslint/utils': 8.6.0(eslint@8.57.0)(typescript@5.5.3) + eslint: 8.57.0 + eslint-visitor-keys: 4.0.0 + espree: 10.1.0 + estraverse: 5.3.0 + picomatch: 4.0.2 + transitivePeerDependencies: + - supports-color + - typescript + '@szmarczak/http-timer@4.0.6': dependencies: defer-to-connect: 2.0.1 @@ -9223,14 +9153,14 @@ snapshots: '@types/node': 22.5.5 optional: true - '@typescript-eslint/eslint-plugin@7.16.1(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/eslint-plugin@8.6.0(@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.16.1(eslint@8.57.0)(typescript@5.5.3) - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/type-utils': 7.16.1(eslint@8.57.0)(typescript@5.5.3) - '@typescript-eslint/utils': 7.16.1(eslint@8.57.0)(typescript@5.5.3) - '@typescript-eslint/visitor-keys': 7.16.1 + '@typescript-eslint/parser': 8.6.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 8.6.0 + '@typescript-eslint/type-utils': 8.6.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/utils': 8.6.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 8.6.0 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 @@ -9241,12 +9171,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/parser@8.6.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3) - '@typescript-eslint/visitor-keys': 7.16.1 + '@typescript-eslint/scope-manager': 8.6.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 8.6.0 debug: 4.3.5 eslint: 8.57.0 optionalDependencies: @@ -9254,31 +9184,31 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@7.16.1': + '@typescript-eslint/scope-manager@8.6.0': dependencies: - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/visitor-keys': 7.16.1 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/visitor-keys': 8.6.0 - '@typescript-eslint/type-utils@7.16.1(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/type-utils@8.6.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: - '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3) - '@typescript-eslint/utils': 7.16.1(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.5.3) + '@typescript-eslint/utils': 8.6.0(eslint@8.57.0)(typescript@5.5.3) debug: 4.3.5 - eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: + - eslint - supports-color - '@typescript-eslint/types@7.16.1': {} + '@typescript-eslint/types@8.6.0': {} - '@typescript-eslint/typescript-estree@7.16.1(typescript@5.5.3)': + '@typescript-eslint/typescript-estree@8.6.0(typescript@5.5.3)': dependencies: - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/visitor-keys': 7.16.1 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/visitor-keys': 8.6.0 debug: 4.3.5 - globby: 11.1.0 + fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 @@ -9288,20 +9218,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.16.1(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/utils@8.6.0(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 7.16.1 - '@typescript-eslint/types': 7.16.1 - '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3) + '@typescript-eslint/scope-manager': 8.6.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.5.3) eslint: 8.57.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@7.16.1': + '@typescript-eslint/visitor-keys@8.6.0': dependencies: - '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/types': 8.6.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} @@ -9353,6 +9283,10 @@ snapshots: dependencies: acorn: 8.11.3 + acorn-jsx@5.3.2(acorn@8.12.1): + dependencies: + acorn: 8.12.1 + acorn-walk@7.2.0: {} acorn-walk@8.3.2: {} @@ -9361,6 +9295,8 @@ snapshots: acorn@8.11.3: {} + acorn@8.12.1: {} + add-stream@1.0.0: {} agent-base@6.0.2: @@ -9494,20 +9430,6 @@ snapshots: arr-union@3.1.0: {} - array-back@1.0.4: - dependencies: - typical: 2.6.1 - - array-back@2.0.0: - dependencies: - typical: 2.6.1 - - array-back@4.0.2: {} - - array-back@5.0.0: {} - - array-back@6.2.2: {} - array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.7 @@ -9879,12 +9801,6 @@ snapshots: union-value: 1.0.1 unset-value: 1.0.0 - cache-point@2.0.0: - dependencies: - array-back: 4.0.2 - fs-then-native: 2.0.0 - mkdirp2: 1.0.5 - cacheable-lookup@5.0.4: {} cacheable-request@7.0.4: @@ -10062,8 +9978,6 @@ snapshots: commander@5.1.0: {} - common-sequence@2.0.2: {} - compare-func@2.0.0: dependencies: array-ify: 1.0.0 @@ -10397,21 +10311,6 @@ snapshots: dependencies: path-type: 4.0.0 - dmd@6.1.0: - dependencies: - array-back: 6.2.2 - cache-point: 2.0.0 - common-sequence: 2.0.2 - file-set: 4.0.2 - handlebars: 4.7.8 - marked: 4.3.0 - object-get: 2.1.1 - reduce-flatten: 3.0.1 - reduce-unique: 2.0.1 - reduce-without: 1.0.1 - test-value: 3.0.0 - walk-back: 5.1.0 - dmg-license@1.0.11: dependencies: '@types/plist': 3.0.5 @@ -10609,6 +10508,8 @@ snapshots: eslint-visitor-keys@3.4.3: {} + eslint-visitor-keys@4.0.0: {} + eslint@8.57.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -10652,6 +10553,12 @@ snapshots: transitivePeerDependencies: - supports-color + espree@10.1.0: + dependencies: + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + eslint-visitor-keys: 4.0.0 + espree@9.6.1: dependencies: acorn: 8.11.3 @@ -10795,7 +10702,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.7 fast-json-stable-stringify@2.1.0: {} @@ -10821,11 +10728,6 @@ snapshots: dependencies: flat-cache: 3.2.0 - file-set@4.0.2: - dependencies: - array-back: 5.0.0 - glob: 7.2.3 - filelist@1.0.4: dependencies: minimatch: 5.1.6 @@ -10934,8 +10836,6 @@ snapshots: dependencies: minipass: 3.3.6 - fs-then-native@2.0.0: {} - fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -12294,8 +12194,6 @@ snapshots: punycode.js: 2.3.1 uc.micro: 2.1.0 - marked@4.3.0: {} - matcher@3.0.0: dependencies: escape-string-regexp: 4.0.0 @@ -12472,8 +12370,6 @@ snapshots: mixme@0.5.10: {} - mkdirp2@1.0.5: {} - mkdirp@1.0.4: {} mkpath@0.1.0: {} @@ -12615,8 +12511,6 @@ snapshots: define-property: 0.2.5 kind-of: 3.2.2 - object-get@2.1.1: {} - object-inspect@1.13.1: {} object-keys@1.1.1: {} @@ -12763,6 +12657,8 @@ snapshots: picomatch@2.3.1: {} + picomatch@4.0.2: {} + pidtree@0.6.0: {} pify@4.0.1: {} @@ -12955,14 +12851,6 @@ snapshots: indent-string: 4.0.0 strip-indent: 3.0.0 - reduce-flatten@3.0.1: {} - - reduce-unique@2.0.1: {} - - reduce-without@1.0.1: - dependencies: - test-value: 2.1.0 - regenerate-unicode-properties@10.1.1: dependencies: regenerate: 1.4.2 @@ -13519,16 +13407,6 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 - test-value@2.1.0: - dependencies: - array-back: 1.0.4 - typical: 2.6.1 - - test-value@3.0.0: - dependencies: - array-back: 2.0.0 - typical: 2.6.1 - text-table@0.2.0: {} throat@6.0.2: {} @@ -13602,15 +13480,6 @@ snapshots: dependencies: typescript: 5.5.3 - ts-jsdoc@3.2.2(typescript@5.5.3): - dependencies: - bluebird-lst: 1.0.9 - chalk: 4.1.2 - doctrine: 3.0.0 - fs-extra: 10.1.0 - source-map-support: 0.5.21 - typescript: 5.5.3 - ts-node@10.9.2(@types/node@18.19.50)(typescript@5.5.3): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -13619,7 +13488,7 @@ snapshots: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 '@types/node': 18.19.50 - acorn: 8.11.3 + acorn: 8.12.1 acorn-walk: 8.3.2 arg: 4.1.3 create-require: 1.1.1 @@ -13637,7 +13506,7 @@ snapshots: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 '@types/node': 22.5.5 - acorn: 8.11.3 + acorn: 8.12.1 acorn-walk: 8.3.2 arg: 4.1.3 create-require: 1.1.1 @@ -13745,8 +13614,6 @@ snapshots: typescript@5.5.3: {} - typical@2.6.1: {} - uc.micro@2.1.0: {} uglify-js@3.17.4: @@ -13858,8 +13725,6 @@ snapshots: v8-compile-cache-lib@3.0.1: {} - v8-compile-cache@2.3.0: {} - v8-to-istanbul@8.1.1: dependencies: '@types/istanbul-lib-coverage': 2.0.6 @@ -13895,8 +13760,6 @@ snapshots: dependencies: xml-name-validator: 3.0.0 - walk-back@5.1.0: {} - walker@1.0.8: dependencies: makeerror: 1.0.12 diff --git a/scripts/jsdoc/examples.hbs b/scripts/jsdoc/examples.hbs deleted file mode 100644 index 1a117e551a2..00000000000 --- a/scripts/jsdoc/examples.hbs +++ /dev/null @@ -1,4 +0,0 @@ -{{#examples}} -{{{exampleAnchor caption ../name }}}**Example**{{#if caption}} *({{caption}})* {{else}} {{/if}} -{{{inlineLinks example}}} -{{/examples}} \ No newline at end of file diff --git a/scripts/jsdoc/examples/DmgOptions/change file icons location for DMG.json b/scripts/jsdoc/examples/DmgOptions/change file icons location for DMG.json deleted file mode 100644 index 769a99ff3cd..00000000000 --- a/scripts/jsdoc/examples/DmgOptions/change file icons location for DMG.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "contents": [ - { - "x": 130, - "y": 220 - }, - { - "x": 410, - "y": 220, - "type": "link", - "path": "/Applications" - } - ] -} \ No newline at end of file diff --git a/scripts/jsdoc/header.hbs b/scripts/jsdoc/header.hbs deleted file mode 100644 index 0fa627415c7..00000000000 --- a/scripts/jsdoc/header.hbs +++ /dev/null @@ -1,3 +0,0 @@ -{{!-- remove new line after anchor --}} - -{{>heading-indent}}{{>sig-name}} diff --git a/scripts/jsdoc/helpers.js b/scripts/jsdoc/helpers.js deleted file mode 100644 index 2aace21a251..00000000000 --- a/scripts/jsdoc/helpers.js +++ /dev/null @@ -1,411 +0,0 @@ -"use strict" - -const dmdHelpers = require("dmd/helpers/ddata") -const dmdHelper = require("dmd/helpers/helpers") -const catharsis = require("catharsis") - -exports.propertyAnchor = function (propertyName, parentName) { - return `` -} - -exports.exampleAnchor = function (caption, parentName) { - return `` -} - -function renderTypeNames(types, delimiter, root, isTypeAsCode, isSkipNull) { - if (types == null) { - return "" - } - - const tagOpen = isTypeAsCode ? "" : "" - const tagClose = isTypeAsCode ? "" : "" - - for (let obj of types) { - if (obj.includes("CancellationToken")) { - break - } - } - - if (isSkipNull) { - types = types.filter(it => !isSkipNull || it !== "null") - } - return types - .map(it => { - const lastIndex = it.lastIndexOf("node_modules") - it = lastIndex < 0 ? it : `module:${it.substring(lastIndex + 13)}`; - return tagOpen + link2(catharsis.parse(it, {jsdoc: true}), delimiter, root, isSkipNull) + tagClose - }) - .join(delimiter) -} - -exports.listTypes = renderTypeNames -exports.renderProperties = function (properties, root) { - return renderProperties(properties, root, 0) -} - -function renderMemberListDescription(text, indent) { - return dmdHelper.inlineLinks(text) - .replace(/
/g, "\n") - .replace(/\n/g, "\n" + indent) - .replace(new RegExp("\\*{2}\\\\/", "g"), "**/") -} - -function getInlinedChild(types) { - if (types == null) { - return null - } - - const arrayTypePrefix = "Array.<" - types = types.filter(it => { - if (it === "null" || isPrimitiveType(it)) { - return false - } - if (it.startsWith(arrayTypePrefix)) { - it = it.replace("string|", "").replace("<(", "<").replace(")>", ">") - return !types.includes(it.substring(arrayTypePrefix.length, it.indexOf(">"))) - } - return true - }) - return types.length === 1 ? resolveById(types[0]) : null -} - -function isPrimitiveType(name) { - return name === "string" || name === "boolean" -} - -function renderProperties(object, root, level) { - let result = "" - - let properties = object.properties - - let firstDocumentedParent = null - const parents = object.augments - if (parents != null) { - for (const parentId of parents) { - if (!parentId.endsWith("TargetSpecificOptions") && !parentId.endsWith("CommonLinuxOptions") && !parentId.endsWith("CommonNsisOptions") && !parentId.endsWith("PublishConfiguration")) { - if (firstDocumentedParent == null && !parentId.endsWith("PlatformSpecificBuildOptions")) { - firstDocumentedParent = resolveById(parentId) - } - continue - } - - const parent = resolveById(parentId) - if (parent != null) { - properties = properties.concat(parent.properties.filter(parentProperty => !properties.some(it => it.name === parentProperty.name))) - } - } - } - - let indent = "" - for (let d = 0; d < level; d++) { - indent += " " - } - - // for level 0 "Extends" is printed - if (firstDocumentedParent != null && level > 0) { - result += `${indent}Inherits [${firstDocumentedParent.name}](#${anchorName.call(firstDocumentedParent)}) options.\n` - } - - const first = properties[0] - for (const member of properties) { - if (member !== first) { - result += "\n" - } - - result += indent + "* " + renderMemberName(member, object) - - const types = member.type == null ? [] : member.type.names - let child = getInlinedChild(types) - if (child != null && (!child.inlined || child.rendered)) { - child = null - } - - if (child == null || types.some(it => it.startsWith("Array.<") || isPrimitiveType(it))) { - result += " " + renderTypeNames(types, " \| ", root, false, true) - } - - if (child != null) { - result += `` - } - - let description = member.description - if (child != null && !description) { - description = child.description - } - - if (description) { - result += " - " + renderMemberListDescription(description, indent + " ") - } - - if (child != null) { - child.rendered = true - result += "\n" - result += renderProperties(child, root, level + 1) - } - } - - if (level === 0) { - result += "\n\n" - // a little bit hack - add Methods header if methods next, otherwise TOC will be part of properties list - for (const member of root) { - if (member.kind === "function" && member.memberof === object.id) { - result += "**Methods**" - break - } - } - } - return result -} - -function renderMemberName(member, object) { - const wrap = member.optional ? "" : "**" - // gitbook doesn't like several "a" tags in a row (another one will be added if property is an object and documented as inlined) - // in any case better to avoid empty "a" tags, since ` will be transformed to - let result = `${wrap}${member.name}${wrap}` - if (member.defaultvalue != null) { - result += " = `" + member.defaultvalue + "`" - } - return result -} - -function link(longname, options) { - //noinspection JSUnresolvedFunction - return options.fn(_link(longname, options)) -} - -exports.link = link -exports.anchorName = anchorName - -function _link(input, options) { - if (typeof input !== 'string') { - return null - } - - /* - test input for - 1. A type expression containing a namepath, e.g. Array. - 2. a namepath referencing an `id` - 3. a namepath referencing a `longname` - */ - const matches = input.match(/.*?<\(?(.*?)\(?>/) - const namepath = matches ? matches[1].split("|").map(it => it.trim()) : input - - let linked = resolveById(namepath) - if (!linked) { - options.hash = {longname: namepath} - linked = _identifier(options) - } - - if (!linked) { - return {name: input, url: null} - } - - const output = { - name: input.replace(namepath, linked.name), - } - - if (isExternal.call(linked)) { - if (linked.description) { - output.url = `#${anchorName.call(linked, options)}` - } - else { - if (linked.see && linked.see.length) { - const firstLink = parseLink(linked.see[0])[0] - output.url = firstLink ? firstLink.url : linked.see[0] - } - else { - output.url = null - } - } - } - else { - output.url = fullLink(linked, options.data.root) - } - return output -} - - -function link2(type, delimiter, root, isSkipNull) { - switch (type.type) { - case "NameExpression": - return identifierToLink(type.name, root) - - case "NullLiteral": - case "UndefinedLiteral": - return type.typeExpression - - case "FunctionType": - return type.typeExpression - - case "TypeUnion": - return type.elements - .map(it => link2(it, delimiter, root)) - .filter(it => !isSkipNull || it !== "null") - .join(delimiter) - - case "TypeApplication": - return link2(type.expression, delimiter, root) + "<" + type.applications.map(it => link2(it, delimiter, root)).join(", ") + ">" - - default: - throw new Error(`Unsupported type ${type.type}`) - } -} - -function identifierToLink(id, root) { - if (id === "string") { - return "String" - } - if (id === "boolean") { - return "Boolean" - } - if (id === "number") { - return "Number" - } - if (id === "internal:EventEmitter") { - return "[EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter)" - } - if (id.endsWith(".OutgoingHttpHeaders")) { - // no need to point to external docs in this case - return "[key: string]: string" - } - - let linked = resolveById(id) - if (linked == null) { - if (id === "module:electron-builder/out/core.Arch" || id === "module:builder-util/out/arch.Arch" || id === "Arch") { - id = "module:builder-util.Arch" - } - else if (id === "module:builder-util-runtime/out/CancellationToken.CancellationToken") { - id = "module:builder-util-runtime.CancellationToken" - } - linked = resolveById(id) - } - - if (linked == null) { - if (id.startsWith("module") && - !id.startsWith("module:http.") && - !id.startsWith("module:bluebird-lst.") && - !id.startsWith("module:child_process.") && - !id.endsWith(".T") && - !id.endsWith(".R") && - !id.endsWith(".K") && - !id.endsWith(".DC") && - !id.startsWith("module:fs.") && - id !== "module:https.RequestOptions" && - !id.endsWith(".__type") - ) { - for (const name of ["GithubOptions", "GenericServerOptions", "BintrayOptions", "S3Options", "SpacesOptions", "PublishConfiguration", "SnapStoreOptions"]) { - if (id.endsWith(`.${name}`)) { - return `[${name}](/configuration/publish#${name.toLowerCase()})` - } - } - - const p = "module:builder-util-runtime/out/updateInfo." - if (id.startsWith(p)) { - // don't want complicate docs, if someone need - just see source code - return "module:builder-util-runtime." + id.substring(p.length) - } - - if (id.endsWith(".PlatformPackager")) { - // don't want complicate docs, if someone need - just see source code - return "PlatformPackager" - } - if (id.endsWith(".Dependency")) { - // don't want complicate docs, if someone need - just see source code - return "Dependency" - } - if (id.endsWith(".RequestHeaders")) { - // don't want complicate docs, if someone need - just see source code - return "[key: string]: OutgoingHttpHeader | undefined" - } - - console.warn(`Unresolved member (helpers.js) ${id}`) - } - return id - } - - if (isExternal.call(linked)) { - if (linked.description) { - output.url = `#${anchorName.call(linked, options)}` - } - else { - if (linked.see && linked.see.length) { - const firstLink = parseLink(linked.see[0])[0] - output.url = firstLink ? firstLink.url : linked.see[0] - } - else { - output.url = null - } - } - return output - } - return `[${linked.name}](${fullLink(linked, root)})` -} - -function fullLink(linked, root) { - const relativeName = anchorName.call(linked) - let pageUrl = "" - for (const page of exports.pages) { - if (page.dataMap.has(linked.id)) { - const a = page.data - const b = root - if (a.length !== b.length || a[a.length - 1] !== b[a.length - 1]) { - pageUrl = page.pageUrl - } - break - } - } - return `${pageUrl}#${relativeName}` -} - -function resolveById(id) { - for (const page of exports.pages) { - const member = page.dataMap.get(id) - if (member != null) { - return member - } - } - return null -} - -function isExternal() { - return this.kind === "external" -} - -function anchorName() { - if (!this.id) { - throw new Error(`[anchorName helper] cannot create a link without a id: ${JSON.stringify(this)}`) - } - - if (this.inherited) { - const inherits = resolveById(this.inherits) - return inherits ? anchorName.call(inherits) : "" - } - - if (this.kind === "class" || this.kind === "interface" || this.kind === "enum") { - return this.name - } - - let result = this.isExported ? "exp_" : "" - if (this.kind === "constructor") { - result += "new_" - } - result += - this.id - .replace(/:/g, "_") - .replace(/~/g, "..") - .replace(/\(\)/g, "_new") - .replace(/#/g, "+") - return result -} - -function _identifier(options) { - return _identifiers(options)[0] -} - -function _identifiers (options) { - return dmdHelpers._identifiers(options) -} - -function parseLink(text) { - return dmdHelpers.parseLink(text) -} \ No newline at end of file diff --git a/scripts/jsdoc/linked-type-list.hbs b/scripts/jsdoc/linked-type-list.hbs deleted file mode 100644 index 77f4b3552f4..00000000000 --- a/scripts/jsdoc/linked-type-list.hbs +++ /dev/null @@ -1 +0,0 @@ -{{{listTypes types delimiter @root}}} \ No newline at end of file diff --git a/scripts/jsdoc/params-list.hbs b/scripts/jsdoc/params-list.hbs deleted file mode 100644 index 63efaf9b114..00000000000 --- a/scripts/jsdoc/params-list.hbs +++ /dev/null @@ -1,9 +0,0 @@ -{{#if params}} -{{#params}} - -{{#each this~}} -{{indent}}- {{name}}{{#if type}} {{>linked-type-list types=type.names delimiter=" | " }}{{/if}}{{#unless (equal defaultvalue undefined)}} {{>defaultvalue equals=true ~}}{{/unless}}{{#if description}} - {{{inlineLinks description}}}{{/if}} -{{/each}} - -{{/params~}} -{{/if}} \ No newline at end of file diff --git a/scripts/jsdoc/properties-list.hbs b/scripts/jsdoc/properties-list.hbs deleted file mode 100644 index a85df8fb8d8..00000000000 --- a/scripts/jsdoc/properties-list.hbs +++ /dev/null @@ -1,2 +0,0 @@ -{{#if properties}}**Properties** -{{{renderProperties . @root}}}{{/if~}} \ No newline at end of file diff --git a/scripts/jsdoc/properties-table.hbs b/scripts/jsdoc/properties-table.hbs deleted file mode 100644 index ef9fd6b6fb2..00000000000 --- a/scripts/jsdoc/properties-table.hbs +++ /dev/null @@ -1,11 +0,0 @@ -{{#if properties}}**Properties** - -{{tableHead properties "name|Name" "type|Type" "description|Description" ~}} - -{{#tableRow properties "name" "type" "defaultvalue" "description" ~}} -| {{#if @col1}}{{#unless optional}}**{{/unless~}}{{name}}{{#unless optional}}**{{/unless~}}{{#if defaultvalue}} = {{>defaultvalue}}{{/if~}} | {{/if~}} -{{#if @col2}}{{>linked-type-list types=type.names delimiter=" \| " }} | {{/if~}} -{{#if @col4}}{{{propertyAnchor name ../../name }}}{{{stripNewlines (inlineLinks description)}}} |{{/if}} -{{/tableRow}} - -{{/if}} \ No newline at end of file diff --git a/scripts/jsdoc/scope.hbs b/scripts/jsdoc/scope.hbs deleted file mode 100644 index b93431f532b..00000000000 --- a/scripts/jsdoc/scope.hbs +++ /dev/null @@ -1,12 +0,0 @@ -{{#if scope}} -{{#unless (equal scope "instance") ~}} -**Kind**: {{#if (equal kind "event") ~}} -event emitted{{#if memberof}} by {{>link to=memberof}}{{/if}} -{{else~}} -{{#unless (equal scope "static") ~}}{{scope}} {{/unless}}{{#if virtual}}abstract {{/if}}{{kindInThisContext}}{{#if memberof}} of {{>link to=memberof}}{{/if}}
-{{/if~}} -{{else~}} -{{#if isExported}}**Kind**: Exported {{kind}} -{{/if~}} -{{/unless}} -{{/if~}} \ No newline at end of file diff --git a/scripts/jsdoc/sig-name.hbs b/scripts/jsdoc/sig-name.hbs deleted file mode 100644 index a35772245f4..00000000000 --- a/scripts/jsdoc/sig-name.hbs +++ /dev/null @@ -1,16 +0,0 @@ -{{!-- do not add parent for class --}} -{{#if virtual}}*{{/if}}{{#with (parentObject)}}{{#if virtual}}*{{/if~}}{{/with~}} -{{#if name}}{{#sig~}} -{{{@depOpen}~}} -{{{@codeOpen}~}} -{{#if @prefix}}{{@prefix}} {{/if~}} -{{#unless (equal kind "class")}}{{#unless (equal kind "interface")}}{{@parent~}}{{@accessSymbol}}{{/unless~}}{{/unless~}} -{{#if (isEvent)}}"{{{name}}}"{{else}}{{{name}}}{{/if~}} -{{#if @methodSign}}{{#if (isEvent)}} {{@methodSign}}{{else}}{{@methodSign}}{{/if}}{{/if~}} -{{{@codeClose}~}} -{{#if @returnSymbol}} {{@returnSymbol}}{{/if~}} -{{#if @returnTypes}} {{>linked-type-list types=@returnTypes delimiter=" \| " }}{{/if~}} -{{#if @suffix}} {{@suffix}}{{/if~}} -{{{@depClose}~}} -{{~/sig}}{{/if~}} -{{#if virtual}}*{{/if}}{{#with (parentObject)}}{{#if virtual}}*{{/if~}}{{/with~}} \ No newline at end of file diff --git a/scripts/process.js b/scripts/process.js deleted file mode 100644 index ac5cf8988e1..00000000000 --- a/scripts/process.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict" - -const fs = require("fs") -const path = require("path") - -exports.getPackages = function () { - const args = process.argv.slice(2) - const packageDir = path.join(__dirname, "..", "packages") - return args.length == 0 ? fs.readdirSync(packageDir).filter(it => !it.includes(".")).sort().map(it => path.join(packageDir, it)) : [args[0]] -} \ No newline at end of file diff --git a/test/src/helpers/checkDeps.ts b/test/src/helpers/checkDeps.ts index 05d86e282a5..7c2d7408b9e 100644 --- a/test/src/helpers/checkDeps.ts +++ b/test/src/helpers/checkDeps.ts @@ -6,7 +6,11 @@ import * as fs from "fs/promises" import * as path from "path" import { printErrorAndExit } from "builder-util" -const knownUnusedDevDependencies = new Set([]) +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 +]) const knownMissedDependencies = new Set(["babel-core", "babel-preset-env", "babel-preset-stage-0", "babel-preset-react"]) const rootDir = path.join(__dirname, "../../..") @@ -17,13 +21,17 @@ async function check(projectDir: string, devPackageData: any): Promise // console.log(`Checking ${projectDir}`) const result = await new Promise(resolve => { - depCheck(projectDir, { ignoreDirs: ["out", "test", "docs", "typings", "docker", "certs", "templates", "vendor"] }, resolve) + depCheck(projectDir, { ignoreDirs: ["out", "test", "pages", "typings", "docker", "certs", "templates", "vendor"] }, resolve) }) let unusedDependencies = result.dependencies if (unusedDependencies.length > 0) { + // Check root for unused deps (which could be cloned to any folder name, so we check basename of cwd) + if (packageName === path.basename(process.cwd())) { + unusedDependencies = unusedDependencies.filter(it => it !== "dmg-license") + } if (packageName === "electron-builder") { - unusedDependencies = result.dependencies.filter(it => it !== "dmg-builder") + unusedDependencies = unusedDependencies.filter(it => it !== "dmg-builder") } if (unusedDependencies.length > 0) { console.error(`${chalk.bold(packageName)} Unused dependencies: ${JSON.stringify(unusedDependencies, null, 2)}`) @@ -90,7 +98,9 @@ async function check(projectDir: string, devPackageData: any): Promise async function main(): Promise { const packages = (await fs.readdir(packageDir)).filter(it => !it.includes(".")).sort() const devPackageData = await readJson(path.join(rootDir, "package.json")) - if ((await Promise.all(packages.map(it => check(path.join(packageDir, it), devPackageData)))).includes(false)) { + const checkRoot = await check(process.cwd(), devPackageData) + const checkPackages = await Promise.all(packages.map(it => check(path.join(packageDir, it), devPackageData))) + if (checkRoot === false || checkPackages.includes(false)) { process.exitCode = 1 } }