From 939282558facd00836384ee4d12f8357eb78110c Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Thu, 16 Jul 2026 23:33:56 +0200 Subject: [PATCH 01/29] cosmetic(flatpak): normalize interface name convention Flatpak had *ConfigOptions type named as *OptionsConfig, which I am sure to be a typo. This normalizes it to keep convention in naming the same. --- packages/maker/flatpak/src/Config.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/maker/flatpak/src/Config.ts b/packages/maker/flatpak/src/Config.ts index a71e56c677..9c5d9d4043 100644 --- a/packages/maker/flatpak/src/Config.ts +++ b/packages/maker/flatpak/src/Config.ts @@ -1,4 +1,4 @@ -export interface MakerFlatpakOptionsConfig { +export interface MakerFlatpakConfigOptions { /** * App id of the flatpak, used in the id field of a flatpak-builder manifest. * @@ -122,5 +122,5 @@ export interface MakerFlatpakOptionsConfig { } export interface MakerFlatpakConfig { - options?: MakerFlatpakOptionsConfig; + options?: MakerFlatpakConfigOptions; } From 6d7c3a522959c3d90114e6d7ffffb2b772399fe6 Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Fri, 17 Jul 2026 00:39:11 +0200 Subject: [PATCH 02/29] fix(typedoc): duplicate `packages/plugin/*` --- typedoc.json | 1 - 1 file changed, 1 deletion(-) diff --git a/typedoc.json b/typedoc.json index fb0b0085ad..8fa3087520 100644 --- a/typedoc.json +++ b/typedoc.json @@ -5,7 +5,6 @@ "packages/api/core", "packages/maker/*", "packages/plugin/*", - "packages/plugin/*", "packages/publisher/*", "packages/utils/types" ] From ecd5fd7009ccf49c965ab0d3bb35a86cd40dbe6c Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Fri, 17 Jul 2026 00:41:10 +0200 Subject: [PATCH 03/29] fix(typedoc): externally document `listr2` types --- typedoc.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/typedoc.json b/typedoc.json index 8fa3087520..0cee8d5582 100644 --- a/typedoc.json +++ b/typedoc.json @@ -7,5 +7,13 @@ "packages/plugin/*", "packages/publisher/*", "packages/utils/types" - ] + ], + "externalSymbolLinkMappings": { + "listr2": { + "ListrTask": "https://listr2.kilic.dev/api/listr2/interfaces/ListrTask.html" + } + }, + "packageOptions": { + "excludeExternals": true + } } From 181c8c89b6b5969eef2b584f8fc186fd7bd54a92 Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Fri, 17 Jul 2026 00:42:33 +0200 Subject: [PATCH 04/29] fix(maker-deb): expose `*ConfigOptions` --- packages/maker/deb/src/MakerDeb.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/maker/deb/src/MakerDeb.ts b/packages/maker/deb/src/MakerDeb.ts index b024cae802..7d07c48292 100644 --- a/packages/maker/deb/src/MakerDeb.ts +++ b/packages/maker/deb/src/MakerDeb.ts @@ -61,3 +61,4 @@ export default class MakerDeb extends MakerBase { } export { MakerDeb, MakerDebConfig }; +export type { MakerDebConfigOptions } from './Config.ts'; From 6e59625c11d94af96c55b75fb6158ce199784adb Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Fri, 17 Jul 2026 00:42:53 +0200 Subject: [PATCH 05/29] fix(maker-flatpak): expose `*ConfigOptions` --- packages/maker/flatpak/src/MakerFlatpak.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/maker/flatpak/src/MakerFlatpak.ts b/packages/maker/flatpak/src/MakerFlatpak.ts index e109a05ffb..b2a15b5a61 100644 --- a/packages/maker/flatpak/src/MakerFlatpak.ts +++ b/packages/maker/flatpak/src/MakerFlatpak.ts @@ -59,3 +59,4 @@ export default class MakerFlatpak extends MakerBase { } export { MakerFlatpak, MakerFlatpakConfig }; +export type { MakerFlatpakConfigOptions } from './Config.ts'; From a6ea65f5d87c124cb68fc61c00af559b1e5d0527 Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Fri, 17 Jul 2026 00:43:05 +0200 Subject: [PATCH 06/29] fix(maker-rpm): expose `*ConfigOptions` --- packages/maker/rpm/src/MakerRpm.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/maker/rpm/src/MakerRpm.ts b/packages/maker/rpm/src/MakerRpm.ts index 52349b577e..55c2c1b98a 100644 --- a/packages/maker/rpm/src/MakerRpm.ts +++ b/packages/maker/rpm/src/MakerRpm.ts @@ -64,3 +64,4 @@ export default class MakerRpm extends MakerBase { } export { MakerRpm, MakerRpmConfig }; +export type { MakerRpmConfigOptions } from './Config.ts'; From 3fd32db013f6d9b8a74d4acf20fd71456a7ec509 Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Fri, 17 Jul 2026 00:50:00 +0200 Subject: [PATCH 07/29] fix(publisher-static): expose `StaticArtifact` It should be also exposed, as `keyForArtifact` access in TypeScript is protected, not private, so it is a part of the public API of this package as well. --- packages/publisher/base-static/src/PublisherStatic.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/publisher/base-static/src/PublisherStatic.ts b/packages/publisher/base-static/src/PublisherStatic.ts index 2f60d8fb00..3e53530ea2 100644 --- a/packages/publisher/base-static/src/PublisherStatic.ts +++ b/packages/publisher/base-static/src/PublisherStatic.ts @@ -46,3 +46,4 @@ export default abstract class PublisherStatic< } export { PublisherStatic, StaticPublisherConfig, PublisherOptions }; +export type { StaticArtifact }; From c5a41be1286b9ebdfee17db24977058afaa0d475 Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Fri, 17 Jul 2026 00:51:11 +0200 Subject: [PATCH 08/29] fix(publisher-bitbucket): expose `*Auth` and `*Repository` --- packages/publisher/bitbucket/src/PublisherBitbucket.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/publisher/bitbucket/src/PublisherBitbucket.ts b/packages/publisher/bitbucket/src/PublisherBitbucket.ts index 1377f4331a..ce3a4f543f 100644 --- a/packages/publisher/bitbucket/src/PublisherBitbucket.ts +++ b/packages/publisher/bitbucket/src/PublisherBitbucket.ts @@ -98,3 +98,4 @@ export default class PublisherBitbucket extends PublisherBase Date: Fri, 17 Jul 2026 00:51:33 +0200 Subject: [PATCH 09/29] fix(publisher-github): expose `*Repository` --- packages/publisher/github/src/PublisherGitHub.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/publisher/github/src/PublisherGitHub.ts b/packages/publisher/github/src/PublisherGitHub.ts index 1f4a47235d..da705e00f9 100644 --- a/packages/publisher/github/src/PublisherGitHub.ts +++ b/packages/publisher/github/src/PublisherGitHub.ts @@ -250,3 +250,4 @@ export default class PublisherGitHub extends PublisherBase Date: Sun, 19 Jul 2026 16:19:43 +0200 Subject: [PATCH 10/29] fix(plugin-vite): expose `VitePlugin*Config` --- packages/plugin/vite/src/VitePlugin.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/plugin/vite/src/VitePlugin.ts b/packages/plugin/vite/src/VitePlugin.ts index 7219b25051..de0fee69b1 100644 --- a/packages/plugin/vite/src/VitePlugin.ts +++ b/packages/plugin/vite/src/VitePlugin.ts @@ -537,4 +537,8 @@ function getServerURLs(urls: vite.ResolvedServerUrls) { return output; } -export { VitePlugin }; +export { VitePlugin, VitePluginConfig }; +export type { + VitePluginBuildConfig, + VitePluginRendererConfig, +} from './Config.ts'; From bb23404f0c4f4411a15b5e2a52ea6c7df062a34c Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Sun, 19 Jul 2026 17:06:01 +0200 Subject: [PATCH 11/29] refactor(maker-dmg): type-to-interface config conversion Makes `MakerDMGConfig` an interface like in most other makers, this is to unify documentation and modules to have similar patterns. --- packages/maker/dmg/src/Config.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/maker/dmg/src/Config.ts b/packages/maker/dmg/src/Config.ts index 003053532f..513243ed87 100644 --- a/packages/maker/dmg/src/Config.ts +++ b/packages/maker/dmg/src/Config.ts @@ -1,6 +1,8 @@ import type { ElectronInstallerDMGOptions } from 'electron-installer-dmg'; -export type MakerDMGConfig = Omit< +export interface MakerDMGConfig extends Omit< ElectronInstallerDMGOptions, 'name' | 'appPath' | 'out' -> & { name?: string }; +> { + name?: string; +} From 48a21c63c3a2f2d6013e81b949e7b182d6c3274b Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Sun, 19 Jul 2026 17:08:04 +0200 Subject: [PATCH 12/29] refactor(maker-msix): type-to-interface config convertion Like in c935fee7d, this makes `MakerMSIXConfig` an interface. --- packages/maker/msix/src/Config.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/maker/msix/src/Config.ts b/packages/maker/msix/src/Config.ts index ed4fe809bf..8d129c1299 100644 --- a/packages/maker/msix/src/Config.ts +++ b/packages/maker/msix/src/Config.ts @@ -15,10 +15,10 @@ type SemiPartial = Omit & Partial>; * * @see https://github.com/bitdisaster/electron-windows-msix/blob/master/src/types.ts */ -export type MakerMSIXConfig = Omit< +export interface MakerMSIXConfig extends Omit< MSIXPackagingOptions, 'outputDir' | 'appDir' | 'manifestVariables' -> & { +> { manifestVariables?: SemiPartial< ManifestGenerationVariables, | 'packageDescription' @@ -42,4 +42,4 @@ export type MakerMSIXConfig = Omit< * `my-app-win32-x64-1.2.3` */ outputFileName?: string | (() => string | Promise); -}; +} From cb8bb19624f144bdaf6826b9b7ac1295a32d38cf Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Sun, 19 Jul 2026 17:23:09 +0200 Subject: [PATCH 13/29] docs(maker-msix): make `SemiPartial` inline type I assume `SemiPartial` is not part of type API but a convenient alias to transform types, so `@inline` is there to make it behave like this as well in TypeDoc. --- packages/maker/msix/src/Config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/maker/msix/src/Config.ts b/packages/maker/msix/src/Config.ts index 8d129c1299..9b1d45d9d5 100644 --- a/packages/maker/msix/src/Config.ts +++ b/packages/maker/msix/src/Config.ts @@ -3,6 +3,7 @@ import { PackagingOptions as MSIXPackagingOptions, } from 'electron-windows-msix'; +/** @inline */ type SemiPartial = Omit & Partial>; /** From 4d4f0a006589a3f312f86a594929a6b60e844579 Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Sun, 19 Jul 2026 22:56:06 +0200 Subject: [PATCH 14/29] refactor(typedoc): normalize/improve configuration This change renames typedoc.json into typedoc.jsonc that is also supported while being more recognized by editors that TypeDoc also supports comments, adds explaintation to some properties, removes undocumented .gitignore rule of per-package configs and merges unused / not properly set up typedoc.base.json into typedoc.jsonc packageOptions field, given this was probably an intent of this configuration before yet it might have been abadonded / unfinished. --- .gitignore | 1 - typedoc.base.json | 4 ---- typedoc.json | 19 ------------------- typedoc.jsonc | 30 ++++++++++++++++++++++++++++++ 4 files changed, 30 insertions(+), 24 deletions(-) delete mode 100644 typedoc.base.json delete mode 100644 typedoc.json create mode 100644 typedoc.jsonc diff --git a/.gitignore b/.gitignore index 4b8ac00ec4..1d750531b4 100644 --- a/.gitignore +++ b/.gitignore @@ -27,7 +27,6 @@ packages/plugin/webpack/spec/fixtures/apps/native-modules/package-lock.json packages/plugin/fuses/spec/fixture/out .links reports -packages/**/typedoc.json .vscode/settings.json .pnp.* .yarn/* diff --git a/typedoc.base.json b/typedoc.base.json deleted file mode 100644 index 0eaa4ce92c..0000000000 --- a/typedoc.base.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "$schema": "https://typedoc.org/schema.json", - "excludeInternal": true -} diff --git a/typedoc.json b/typedoc.json deleted file mode 100644 index 0cee8d5582..0000000000 --- a/typedoc.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "https://typedoc.org/schema.json", - "entryPointStrategy": "packages", - "entryPoints": [ - "packages/api/core", - "packages/maker/*", - "packages/plugin/*", - "packages/publisher/*", - "packages/utils/types" - ], - "externalSymbolLinkMappings": { - "listr2": { - "ListrTask": "https://listr2.kilic.dev/api/listr2/interfaces/ListrTask.html" - } - }, - "packageOptions": { - "excludeExternals": true - } -} diff --git a/typedoc.jsonc b/typedoc.jsonc new file mode 100644 index 0000000000..ede3fade60 --- /dev/null +++ b/typedoc.jsonc @@ -0,0 +1,30 @@ +{ + "$schema": "https://typedoc.org/schema.json", + "entryPointStrategy": "packages", + "entryPoints": [ + "packages/api/core", + "packages/maker/*", + "packages/plugin/*", + "packages/publisher/*", + "packages/utils/types" + ], + "externalSymbolLinkMappings": { + "listr2": { + // ListrTask is referenced by @electron-forge/shared-types + "ListrTask": "https://listr2.kilic.dev/api/listr2/interfaces/ListrTask.html" + } + }, + // Replaces previous *.base.json concept: it is + // a per-package default documentation. It can still + // be overwritten if needed with a per-package config. + "packageOptions": { + "excludeInternal": true, + // Usually, we want to use "externalSymbolLinkMappings" + // to point out symbols that are in external packages, + // while allow for exceptions if Typedoc docs offer + // better quality of documentation or upstream docs + // are manually maintained and in risk of being + // out-of-date. + "excludeExternals": true + } +} From 100c6eb54cb466718ccae4a3b44ae1822dd49515 Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Mon, 20 Jul 2026 05:35:25 +0200 Subject: [PATCH 15/29] refactor(core): type-to-interface conversions Interfaces are both easier to inline and document in Typedoc, as well as hold more information about relationship between types when documented, outside of being believed as generally preferred performance-wise. --- packages/api/core/src/util/forge-config.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/api/core/src/util/forge-config.ts b/packages/api/core/src/util/forge-config.ts index c4e5a8f016..241c3a0087 100644 --- a/packages/api/core/src/util/forge-config.ts +++ b/packages/api/core/src/util/forge-config.ts @@ -106,11 +106,11 @@ export function unregisterForgeConfigForDirectory(dir: string): void { registeredForgeConfigs.delete(path.resolve(dir)); } -export type BuildIdentifierMap = Record; -export type BuildIdentifierConfig = { +export interface BuildIdentifierMap extends Record {} +export interface BuildIdentifierConfig { map: BuildIdentifierMap; __isMagicBuildIdentifierMap: true; -}; +} export function fromBuildIdentifier( map: BuildIdentifierMap, From 97bd90389f3b732653646455438cbd23e6ed3a3b Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Mon, 20 Jul 2026 05:46:23 +0200 Subject: [PATCH 16/29] docs(core): document `BuildIndentifier*` references inline Add proper tags to generate correct inline documentation for BuildIdentifierMap and BuildIdentifierConfig references in API. --- packages/api/core/src/api/make.ts | 1 + packages/api/core/src/util/forge-config.ts | 3 +++ 2 files changed, 4 insertions(+) diff --git a/packages/api/core/src/api/make.ts b/packages/api/core/src/api/make.ts index 9a8ab8f902..11bac4b7fa 100644 --- a/packages/api/core/src/api/make.ts +++ b/packages/api/core/src/api/make.ts @@ -33,6 +33,7 @@ type MakerImpl = { new (...args: any[]): MakerBase; }; +/** @inline */ type MakeTargets = ForgeConfigMaker[] | string[]; function generateTargets( diff --git a/packages/api/core/src/util/forge-config.ts b/packages/api/core/src/util/forge-config.ts index 241c3a0087..92572c455c 100644 --- a/packages/api/core/src/util/forge-config.ts +++ b/packages/api/core/src/util/forge-config.ts @@ -106,9 +106,12 @@ export function unregisterForgeConfigForDirectory(dir: string): void { registeredForgeConfigs.delete(path.resolve(dir)); } +/** @inline */ export interface BuildIdentifierMap extends Record {} +/** @inline */ export interface BuildIdentifierConfig { map: BuildIdentifierMap; + /** @internal */ __isMagicBuildIdentifierMap: true; } From cb64cef77cf68b5d5ef69faecbc413875f7d38b3 Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Mon, 20 Jul 2026 06:14:20 +0200 Subject: [PATCH 17/29] fix(maker-msix): add `Maker*ManifestVariables` alias Adds MakerMSIXConfigManifestVariables alias that offers better documentation and direct access to `MakerMSIXConfig.manifestVariables`, replacing need to inline SemiPartial and documenting properties without need to expose used types from `electron-windows-msix` for TypeDoc to recognize and link interface hierarchy. --- packages/maker/msix/src/Config.ts | 21 +++++++++++---------- packages/maker/msix/src/MakerMSIX.ts | 1 + 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/packages/maker/msix/src/Config.ts b/packages/maker/msix/src/Config.ts index 9b1d45d9d5..b1daee6f1c 100644 --- a/packages/maker/msix/src/Config.ts +++ b/packages/maker/msix/src/Config.ts @@ -3,9 +3,18 @@ import { PackagingOptions as MSIXPackagingOptions, } from 'electron-windows-msix'; -/** @inline */ type SemiPartial = Omit & Partial>; +export interface MakerMSIXConfigManifestVariables extends SemiPartial< + ManifestGenerationVariables, + | 'packageDescription' + | 'appExecutable' + | 'packageVersion' + | 'publisher' + | 'packageIdentity' + | 'targetArch' +> {} + /** * The configuration object for the MSIX maker. * The `outputDir` and `appDir` parameters are preconfigured by Forge so that the @@ -20,15 +29,7 @@ export interface MakerMSIXConfig extends Omit< MSIXPackagingOptions, 'outputDir' | 'appDir' | 'manifestVariables' > { - manifestVariables?: SemiPartial< - ManifestGenerationVariables, - | 'packageDescription' - | 'appExecutable' - | 'packageVersion' - | 'publisher' - | 'packageIdentity' - | 'targetArch' - >; + manifestVariables?: MakerMSIXConfigManifestVariables; /** * The base name of the generated `.msix` file, without the `.msix` * extension (the maker always appends `.msix`). This only overrides the diff --git a/packages/maker/msix/src/MakerMSIX.ts b/packages/maker/msix/src/MakerMSIX.ts index ba79b61d0b..1e694c7f6d 100644 --- a/packages/maker/msix/src/MakerMSIX.ts +++ b/packages/maker/msix/src/MakerMSIX.ts @@ -73,3 +73,4 @@ export default class MakerMSIX extends MakerBase { } export { MakerMSIX, MakerMSIXConfig }; +export type { MakerMSIXConfigManifestVariables } from './Config.ts'; From 36ba69e0c93c2f61e904128de413712d4ba7beef Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Mon, 20 Jul 2026 06:22:26 +0200 Subject: [PATCH 18/29] refactor(maker-snap): make `MakerSnapConfig` an interface --- packages/maker/snap/src/Config.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/maker/snap/src/Config.ts b/packages/maker/snap/src/Config.ts index ff6250f282..6bc7bcd8e6 100644 --- a/packages/maker/snap/src/Config.ts +++ b/packages/maker/snap/src/Config.ts @@ -1,4 +1,4 @@ import { Options, SnapcraftConfig } from 'electron-installer-snap'; -export type MakerSnapConfig = Omit & - SnapcraftConfig; +export interface MakerSnapConfig + extends Omit, SnapcraftConfig {} From 741ec5c06ffd1f4e7e08a87c05abf95427c5c50b Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Mon, 20 Jul 2026 06:23:07 +0200 Subject: [PATCH 19/29] refactor(maker-squirrel): make `MakerSquirrelConfig` an interface --- packages/maker/squirrel/src/MakerSquirrel.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/maker/squirrel/src/MakerSquirrel.ts b/packages/maker/squirrel/src/MakerSquirrel.ts index 4f45123e05..e05526e22f 100644 --- a/packages/maker/squirrel/src/MakerSquirrel.ts +++ b/packages/maker/squirrel/src/MakerSquirrel.ts @@ -11,10 +11,10 @@ import { Options as ElectronWinstallerOptions, } from 'electron-winstaller'; -export type MakerSquirrelConfig = Omit< +export interface MakerSquirrelConfig extends Omit< ElectronWinstallerOptions, 'appDirectory' | 'outputDirectory' ->; +> {} export default class MakerSquirrel extends MakerBase { name = 'squirrel'; From 7019c19856cdc53813f77b8616c96fec4bec4fea Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Mon, 20 Jul 2026 06:25:10 +0200 Subject: [PATCH 20/29] refactor(maker-wix): make `MakerWixConfig` an interface --- packages/maker/wix/src/Config.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/maker/wix/src/Config.ts b/packages/maker/wix/src/Config.ts index 6e99c8e03d..50de63eb2e 100644 --- a/packages/maker/wix/src/Config.ts +++ b/packages/maker/wix/src/Config.ts @@ -1,6 +1,6 @@ import { MSICreator, type MSICreatorOptions } from 'electron-wix-msi'; -export type MakerWixConfig = Omit< +export interface MakerWixConfig extends Omit< MSICreatorOptions, | 'appDirectory' | 'outputDirectory' @@ -9,7 +9,7 @@ export type MakerWixConfig = Omit< | 'version' | 'manufacturer' | 'exe' -> & { +> { /** * The app's description * @@ -44,4 +44,4 @@ export type MakerWixConfig = Omit< * Allows for the modification of the MSICreator before create is called. */ beforeCreate?: (creator: MSICreator) => Promise | void; -}; +} From bf5c7beb6102b1b720bab56da381a4714eeee367 Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Mon, 20 Jul 2026 06:28:36 +0200 Subject: [PATCH 21/29] fix(maker-wix): drop MSICreatorOptions from API It is no longer needed to be exposed and is in fact not even part of API. --- packages/maker/wix/src/MakerWix.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/maker/wix/src/MakerWix.ts b/packages/maker/wix/src/MakerWix.ts index 53c7109dff..cc2db6e8a6 100644 --- a/packages/maker/wix/src/MakerWix.ts +++ b/packages/maker/wix/src/MakerWix.ts @@ -4,7 +4,7 @@ import { styleText } from 'node:util'; import { getNameFromAuthor } from '@electron-forge/core-utils'; import { MakerBase, type MakerOptions } from '@electron-forge/maker-base'; import { ForgePlatform } from '@electron-forge/shared-types'; -import { MSICreator, type MSICreatorOptions } from 'electron-wix-msi'; +import { MSICreator } from 'electron-wix-msi'; import semver from 'semver'; import { MakerWixConfig } from './Config.js'; @@ -74,4 +74,4 @@ export default class MakerWix extends MakerBase { } } -export { MakerWix, MakerWixConfig, MSICreatorOptions }; +export { MakerWix, MakerWixConfig }; From af99841b5c99a245fe3c0c8af659d900f6e28810 Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Mon, 20 Jul 2026 06:31:04 +0200 Subject: [PATCH 22/29] docs(plugin-webpack): mark aliases as inline --- packages/plugin/webpack/src/Config.ts | 2 ++ packages/plugin/webpack/src/WebpackConfig.ts | 1 + 2 files changed, 3 insertions(+) diff --git a/packages/plugin/webpack/src/Config.ts b/packages/plugin/webpack/src/Config.ts index 504151ca2b..33a3c2e380 100644 --- a/packages/plugin/webpack/src/Config.ts +++ b/packages/plugin/webpack/src/Config.ts @@ -65,6 +65,7 @@ export interface WebpackPluginEntryPointNoWindow extends WebpackPluginEntryPoint js: string; } +/** @inline */ export type WebpackPluginEntryPoint = | WebpackPluginEntryPointLocalWindow | WebpackPluginEntryPointNoWindow @@ -188,6 +189,7 @@ export interface WebpackPluginConfig { >; } +/** @inline */ export type WebpackConfiguration = | RawWebpackConfiguration | WebpackConfigurationFactory; diff --git a/packages/plugin/webpack/src/WebpackConfig.ts b/packages/plugin/webpack/src/WebpackConfig.ts index 0b7193d852..5c84edfc0d 100644 --- a/packages/plugin/webpack/src/WebpackConfig.ts +++ b/packages/plugin/webpack/src/WebpackConfig.ts @@ -31,6 +31,7 @@ type WebpackMode = 'production' | 'development'; const d = debug('electron-forge:plugin:webpack:webpackconfig'); +/** @inline */ export type ConfigurationFactory = ( env: string | Record | unknown, args: Record, From 939821a9ed7b6ac3c0a99ee8e9a13f8346f84a5e Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Mon, 20 Jul 2026 06:32:09 +0200 Subject: [PATCH 23/29] fix(plugin-webpack): expose needed types --- packages/plugin/webpack/src/WebpackPlugin.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/plugin/webpack/src/WebpackPlugin.ts b/packages/plugin/webpack/src/WebpackPlugin.ts index bfd3d139d0..87873bb8d0 100644 --- a/packages/plugin/webpack/src/WebpackPlugin.ts +++ b/packages/plugin/webpack/src/WebpackPlugin.ts @@ -817,3 +817,10 @@ the generated files). Instead, it is ${JSON.stringify(pj.main)}`); } export { WebpackPlugin, WebpackPluginConfig }; +export type { + WebpackPluginRendererConfig, + WebpackPluginEntryPointLocalWindow, + WebpackPluginEntryPointNoWindow, + WebpackPluginEntryPointPreloadOnly, + WebpackPreloadEntryPoint, +} from './Config.ts'; From 5c96a550354f505e02df189ebb56923c9f7fece9 Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Mon, 20 Jul 2026 06:34:32 +0200 Subject: [PATCH 24/29] refactor(shared-types): make `ElectronProcess` an interface --- packages/utils/types/src/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/utils/types/src/index.ts b/packages/utils/types/src/index.ts index 63836a1435..7ecc1c8b46 100644 --- a/packages/utils/types/src/index.ts +++ b/packages/utils/types/src/index.ts @@ -33,7 +33,9 @@ export type ForgeListrTaskFn = ListrTask< Ctx, ListrDefaultRenderer >['task']; -export type ElectronProcess = ChildProcess & { restarted: boolean }; +export interface ElectronProcess extends ChildProcess { + restarted: boolean; +} export type ForgePlatform = OfficialPlatform; export type ForgeArch = OfficialArch | 'all'; From e8d21d5c0a79c8bcdc190345c9ca29f3509bb940 Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Mon, 20 Jul 2026 06:37:07 +0200 Subject: [PATCH 25/29] fix(typedoc): selectively include externals in packages This sets `excludeExternals: false` for TypeDoc in dmg, msix, snap, squirrel and wix makers, so it is possible to mix and display external and internal properties in the documentation. --- packages/maker/dmg/typedoc.jsonc | 4 ++++ packages/maker/msix/typedoc.jsonc | 4 ++++ packages/maker/snap/typedoc.jsonc | 4 ++++ packages/maker/squirrel/typedoc.jsonc | 4 ++++ packages/maker/wix/typedoc.jsonc | 4 ++++ 5 files changed, 20 insertions(+) create mode 100644 packages/maker/dmg/typedoc.jsonc create mode 100644 packages/maker/msix/typedoc.jsonc create mode 100644 packages/maker/snap/typedoc.jsonc create mode 100644 packages/maker/squirrel/typedoc.jsonc create mode 100644 packages/maker/wix/typedoc.jsonc diff --git a/packages/maker/dmg/typedoc.jsonc b/packages/maker/dmg/typedoc.jsonc new file mode 100644 index 0000000000..ee3bc14d19 --- /dev/null +++ b/packages/maker/dmg/typedoc.jsonc @@ -0,0 +1,4 @@ +{ + "$schema": "https://typedoc.org/schema.json", + "excludeExternals": false +} diff --git a/packages/maker/msix/typedoc.jsonc b/packages/maker/msix/typedoc.jsonc new file mode 100644 index 0000000000..ee3bc14d19 --- /dev/null +++ b/packages/maker/msix/typedoc.jsonc @@ -0,0 +1,4 @@ +{ + "$schema": "https://typedoc.org/schema.json", + "excludeExternals": false +} diff --git a/packages/maker/snap/typedoc.jsonc b/packages/maker/snap/typedoc.jsonc new file mode 100644 index 0000000000..ee3bc14d19 --- /dev/null +++ b/packages/maker/snap/typedoc.jsonc @@ -0,0 +1,4 @@ +{ + "$schema": "https://typedoc.org/schema.json", + "excludeExternals": false +} diff --git a/packages/maker/squirrel/typedoc.jsonc b/packages/maker/squirrel/typedoc.jsonc new file mode 100644 index 0000000000..ee3bc14d19 --- /dev/null +++ b/packages/maker/squirrel/typedoc.jsonc @@ -0,0 +1,4 @@ +{ + "$schema": "https://typedoc.org/schema.json", + "excludeExternals": false +} diff --git a/packages/maker/wix/typedoc.jsonc b/packages/maker/wix/typedoc.jsonc new file mode 100644 index 0000000000..ee3bc14d19 --- /dev/null +++ b/packages/maker/wix/typedoc.jsonc @@ -0,0 +1,4 @@ +{ + "$schema": "https://typedoc.org/schema.json", + "excludeExternals": false +} From 824f51bcf9ff3d8565aa55d9b5330a6b8bfb757c Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Mon, 20 Jul 2026 06:39:01 +0200 Subject: [PATCH 26/29] docs(typedoc): add documentations to external symbols This links some external symbols to their respective documentation, which helps in browsing type hierarchy or types in Electron Forge that are reused from another packages. --- typedoc.jsonc | 52 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) diff --git a/typedoc.jsonc b/typedoc.jsonc index ede3fade60..a09e5f58e0 100644 --- a/typedoc.jsonc +++ b/typedoc.jsonc @@ -8,10 +8,58 @@ "packages/publisher/*", "packages/utils/types" ], + "sourceLinkExternal": false, "externalSymbolLinkMappings": { + // @electron-forge/shared-types + "@electron/packager": { + "OfficialArch": "https://packages.electronjs.org/packager/v20.0.3/types/OfficialArch.html", + "OfficialPlatform": "https://packages.electronjs.org/packager/v20.0.3/types/OfficialPlatform.html", + "Options": "https://packages.electronjs.org/packager/v20.0.3/interfaces/Options.html" + }, + "@electron/rebuild": { + "RebuildOptions": "https://packages.electronjs.org/rebuild/v4.2.0/interfaces/RebuildOptions.html" + }, "listr2": { - // ListrTask is referenced by @electron-forge/shared-types - "ListrTask": "https://listr2.kilic.dev/api/listr2/interfaces/ListrTask.html" + "ListrBaseClassOptions": "https://listr2.kilic.dev/api/listr2/interfaces/ListrBaseClassOptions.html", + "ListrTask": "https://listr2.kilic.dev/api/listr2/interfaces/ListrTask.html", + "TaskWrapper": "https://listr2.kilic.dev/api/listr2/interfaces/ListrTaskWrapper.html", + "ListrDefaultRenderer": "https://listr2.kilic.dev/api/listr2/type-aliases/ListrDefaultRenderer.html", + "ListrDefaultRendererValue": "https://listr2.kilic.dev/api/listr2/type-aliases/ListrDefaultRendererValue.html", + "ListrSimpleRenderer": "https://listr2.kilic.dev/api/listr2/type-aliases/ListrSimpleRenderer.html", + "ListrSimpleRendererValue": "https://listr2.kilic.dev/api/listr2/type-aliases/ListrSimpleRendererValue.html" + }, + "@types/node": { + "\"child_process\".ChildProcess": "https://nodejs.org/docs/latest/api/child_process.html#class-childprocess" + }, + // @electron-forge/maker-snap + "electron-installer-snap": { + "createSnap.Options": "https://electron-userland.github.io/electron-installer-snap/master/interfaces/createsnap.snapcraftoptions.html", + "createSnap.SnapcraftConfig": "https://electron-userland.github.io/electron-installer-snap/master/modules/createsnap.html#customsnapcraftconfig" + }, + // @electron-forge/plugin-fuses + "@electron/fuses": { + "FuseConfig": "https://packages.electronjs.org/fuses/v2.1.3/types/FuseConfig.html" + }, + // @electron-forge/plugin-webpack + "webpack": { + "exports.Configuration": "https://webpack.js.org/configuration/" + }, + "webpack-dev-server": { + "Configuration": "https://webpack.js.org/configuration/dev-server/" + }, + // @electron-forge/publisher-gcs + "@google-cloud/storage": { + "ConfigMetadata": "https://docs.cloud.google.com/storage/docs/metadata", + "StorageOptions": "https://docs.cloud.google.com/nodejs/docs/reference/storage/latest/storage/storageoptions", + "UploadOptions": "https://docs.cloud.google.com/nodejs/docs/reference/storage/latest/storage/uploadoptions" + }, + // @electron-forge/publisher-github + "@octokit/core": { + "OctokitOptions": "https://github.com/octokit/core.js#options" + }, + // @electron-forge/publisher-s3 + "@aws-sdk/types": { + "Credentials": "https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-types/Interface/Credentials/" } }, // Replaces previous *.base.json concept: it is From 3e6a6916bbdcf21c042b8a64eae321dfc748d391 Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Mon, 20 Jul 2026 07:04:11 +0200 Subject: [PATCH 27/29] fix(makers): correct/add links in Readmes' to symbols --- packages/maker/deb/README.md | 2 +- packages/maker/flatpak/README.md | 2 +- packages/maker/rpm/README.md | 2 +- packages/maker/snap/README.md | 2 ++ packages/maker/squirrel/README.md | 2 +- 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/maker/deb/README.md b/packages/maker/deb/README.md index e973f24025..0b4d005889 100644 --- a/packages/maker/deb/README.md +++ b/packages/maker/deb/README.md @@ -2,7 +2,7 @@ `@electron-forge/maker-deb` builds .deb packages, which are the standard package format for Debian-based Linux distributions such as Ubuntu. You can only build the deb target on Linux or macOS machines with the fakeroot and dpkg packages installed. -Configuration options are documented in [`MakerDebConfigOptions`](https://js.electronforge.io/interfaces/_electron_forge_maker_deb.InternalOptions.MakerDebConfigOptions.html). +Configuration options are documented in [`MakerDebConfigOptions`](https://js.electronforge.io/interfaces/_electron_forge_maker_deb.MakerDebConfigOptions.html). ```javascript { diff --git a/packages/maker/flatpak/README.md b/packages/maker/flatpak/README.md index 9f1d629a26..880ae02860 100644 --- a/packages/maker/flatpak/README.md +++ b/packages/maker/flatpak/README.md @@ -4,7 +4,7 @@ You can only build the Flatpak target if you have `flatpak`, `flatpak-builder`, and `eu-strip` _\(usually part of the `elfutils` package\)_ installed on your system. -Configuration options are documented in [`MakerFlatpakOptionsConfig`](https://js.electronforge.io/interfaces/_electron_forge_maker_flatpak.InternalOptions.MakerFlatpakOptionsConfig.html). +Configuration options are documented in [`MakerFlatpakOptionsConfig`](https://js.electronforge.io/interfaces/_electron_forge_maker_flatpak.MakerFlatpakConfigOptions.html). ```javascript { diff --git a/packages/maker/rpm/README.md b/packages/maker/rpm/README.md index 9171676957..b2507fb143 100644 --- a/packages/maker/rpm/README.md +++ b/packages/maker/rpm/README.md @@ -4,7 +4,7 @@ You can only build the RPM target on Linux machines with the `rpm` or `rpm-build` packages installed. -Configuration options are documented in [`MakerRpmConfigOptions`](https://js.electronforge.io/interfaces/_electron_forge_maker_rpm.InternalOptions.MakerRpmConfigOptions.html). +Configuration options are documented in [`MakerRpmConfigOptions`](https://js.electronforge.io/interfaces/_electron_forge_maker_rpm.MakerRpmConfigOptions.html). ```javascript { diff --git a/packages/maker/snap/README.md b/packages/maker/snap/README.md index 4b6c189e25..116cf724ad 100644 --- a/packages/maker/snap/README.md +++ b/packages/maker/snap/README.md @@ -4,6 +4,8 @@ You can only build the Snapcraft target on Linux systems with the `snapcraft` package installed. +Configuration options are documented in [`MakerSnapConfig`](https://js.electronforge.io/interfaces/_electron_forge_maker_snap.MakerSnapConfig.html). + ```javascript { name: '@electron-forge/maker-snap', diff --git a/packages/maker/squirrel/README.md b/packages/maker/squirrel/README.md index dad1fd827f..60d5d69c80 100644 --- a/packages/maker/squirrel/README.md +++ b/packages/maker/squirrel/README.md @@ -7,7 +7,7 @@ Pre-requisites: * Windows machine * Linux machine with `mono` and `wine` installed. -Configuration options are documented in [`MakerSquirrelConfigOptions`](https://js.electronforge.io/interfaces/_electron_forge_maker_squirrel.InternalOptions.Options.html). +Configuration options are documented in [`MakerSquirrelConfigOptions`](https://js.electronforge.io/interfaces/_electron_forge_maker_squirrel.MakerSquirrelConfig.html). ```javascript { From 89c753d89211fc4e26fcf9d4a6c446410de69923 Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Mon, 20 Jul 2026 07:12:27 +0200 Subject: [PATCH 28/29] cosmetic(typedoc): fix formatting with `oxfmt` --- packages/maker/dmg/typedoc.jsonc | 2 +- packages/maker/msix/typedoc.jsonc | 2 +- packages/maker/snap/typedoc.jsonc | 2 +- packages/maker/squirrel/typedoc.jsonc | 2 +- packages/maker/wix/typedoc.jsonc | 2 +- typedoc.jsonc | 30 +++++++++++++-------------- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/maker/dmg/typedoc.jsonc b/packages/maker/dmg/typedoc.jsonc index ee3bc14d19..295a210546 100644 --- a/packages/maker/dmg/typedoc.jsonc +++ b/packages/maker/dmg/typedoc.jsonc @@ -1,4 +1,4 @@ { "$schema": "https://typedoc.org/schema.json", - "excludeExternals": false + "excludeExternals": false, } diff --git a/packages/maker/msix/typedoc.jsonc b/packages/maker/msix/typedoc.jsonc index ee3bc14d19..295a210546 100644 --- a/packages/maker/msix/typedoc.jsonc +++ b/packages/maker/msix/typedoc.jsonc @@ -1,4 +1,4 @@ { "$schema": "https://typedoc.org/schema.json", - "excludeExternals": false + "excludeExternals": false, } diff --git a/packages/maker/snap/typedoc.jsonc b/packages/maker/snap/typedoc.jsonc index ee3bc14d19..295a210546 100644 --- a/packages/maker/snap/typedoc.jsonc +++ b/packages/maker/snap/typedoc.jsonc @@ -1,4 +1,4 @@ { "$schema": "https://typedoc.org/schema.json", - "excludeExternals": false + "excludeExternals": false, } diff --git a/packages/maker/squirrel/typedoc.jsonc b/packages/maker/squirrel/typedoc.jsonc index ee3bc14d19..295a210546 100644 --- a/packages/maker/squirrel/typedoc.jsonc +++ b/packages/maker/squirrel/typedoc.jsonc @@ -1,4 +1,4 @@ { "$schema": "https://typedoc.org/schema.json", - "excludeExternals": false + "excludeExternals": false, } diff --git a/packages/maker/wix/typedoc.jsonc b/packages/maker/wix/typedoc.jsonc index ee3bc14d19..295a210546 100644 --- a/packages/maker/wix/typedoc.jsonc +++ b/packages/maker/wix/typedoc.jsonc @@ -1,4 +1,4 @@ { "$schema": "https://typedoc.org/schema.json", - "excludeExternals": false + "excludeExternals": false, } diff --git a/typedoc.jsonc b/typedoc.jsonc index a09e5f58e0..dc4896a13a 100644 --- a/typedoc.jsonc +++ b/typedoc.jsonc @@ -6,7 +6,7 @@ "packages/maker/*", "packages/plugin/*", "packages/publisher/*", - "packages/utils/types" + "packages/utils/types", ], "sourceLinkExternal": false, "externalSymbolLinkMappings": { @@ -14,10 +14,10 @@ "@electron/packager": { "OfficialArch": "https://packages.electronjs.org/packager/v20.0.3/types/OfficialArch.html", "OfficialPlatform": "https://packages.electronjs.org/packager/v20.0.3/types/OfficialPlatform.html", - "Options": "https://packages.electronjs.org/packager/v20.0.3/interfaces/Options.html" + "Options": "https://packages.electronjs.org/packager/v20.0.3/interfaces/Options.html", }, "@electron/rebuild": { - "RebuildOptions": "https://packages.electronjs.org/rebuild/v4.2.0/interfaces/RebuildOptions.html" + "RebuildOptions": "https://packages.electronjs.org/rebuild/v4.2.0/interfaces/RebuildOptions.html", }, "listr2": { "ListrBaseClassOptions": "https://listr2.kilic.dev/api/listr2/interfaces/ListrBaseClassOptions.html", @@ -26,41 +26,41 @@ "ListrDefaultRenderer": "https://listr2.kilic.dev/api/listr2/type-aliases/ListrDefaultRenderer.html", "ListrDefaultRendererValue": "https://listr2.kilic.dev/api/listr2/type-aliases/ListrDefaultRendererValue.html", "ListrSimpleRenderer": "https://listr2.kilic.dev/api/listr2/type-aliases/ListrSimpleRenderer.html", - "ListrSimpleRendererValue": "https://listr2.kilic.dev/api/listr2/type-aliases/ListrSimpleRendererValue.html" + "ListrSimpleRendererValue": "https://listr2.kilic.dev/api/listr2/type-aliases/ListrSimpleRendererValue.html", }, "@types/node": { - "\"child_process\".ChildProcess": "https://nodejs.org/docs/latest/api/child_process.html#class-childprocess" + "\"child_process\".ChildProcess": "https://nodejs.org/docs/latest/api/child_process.html#class-childprocess", }, // @electron-forge/maker-snap "electron-installer-snap": { "createSnap.Options": "https://electron-userland.github.io/electron-installer-snap/master/interfaces/createsnap.snapcraftoptions.html", - "createSnap.SnapcraftConfig": "https://electron-userland.github.io/electron-installer-snap/master/modules/createsnap.html#customsnapcraftconfig" + "createSnap.SnapcraftConfig": "https://electron-userland.github.io/electron-installer-snap/master/modules/createsnap.html#customsnapcraftconfig", }, // @electron-forge/plugin-fuses "@electron/fuses": { - "FuseConfig": "https://packages.electronjs.org/fuses/v2.1.3/types/FuseConfig.html" + "FuseConfig": "https://packages.electronjs.org/fuses/v2.1.3/types/FuseConfig.html", }, // @electron-forge/plugin-webpack "webpack": { - "exports.Configuration": "https://webpack.js.org/configuration/" + "exports.Configuration": "https://webpack.js.org/configuration/", }, "webpack-dev-server": { - "Configuration": "https://webpack.js.org/configuration/dev-server/" + "Configuration": "https://webpack.js.org/configuration/dev-server/", }, // @electron-forge/publisher-gcs "@google-cloud/storage": { "ConfigMetadata": "https://docs.cloud.google.com/storage/docs/metadata", "StorageOptions": "https://docs.cloud.google.com/nodejs/docs/reference/storage/latest/storage/storageoptions", - "UploadOptions": "https://docs.cloud.google.com/nodejs/docs/reference/storage/latest/storage/uploadoptions" + "UploadOptions": "https://docs.cloud.google.com/nodejs/docs/reference/storage/latest/storage/uploadoptions", }, // @electron-forge/publisher-github "@octokit/core": { - "OctokitOptions": "https://github.com/octokit/core.js#options" + "OctokitOptions": "https://github.com/octokit/core.js#options", }, // @electron-forge/publisher-s3 "@aws-sdk/types": { - "Credentials": "https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-types/Interface/Credentials/" - } + "Credentials": "https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-types/Interface/Credentials/", + }, }, // Replaces previous *.base.json concept: it is // a per-package default documentation. It can still @@ -73,6 +73,6 @@ // better quality of documentation or upstream docs // are manually maintained and in risk of being // out-of-date. - "excludeExternals": true - } + "excludeExternals": true, + }, } From e5849c679faa609adca3b497912bcb26b437d778 Mon Sep 17 00:00:00 2001 From: SpacingBat3 Date: Mon, 20 Jul 2026 07:18:30 +0200 Subject: [PATCH 29/29] refactor(shared-types): convert `Forge*Options` to interfaces Make ForgeRebuildOptions and ForgePackagerOptions interfaces for improved documentation in TypeDoc. --- packages/utils/types/src/index.ts | 8 ++++---- packages/utils/types/typedoc.jsonc | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 packages/utils/types/typedoc.jsonc diff --git a/packages/utils/types/src/index.ts b/packages/utils/types/src/index.ts index 7ecc1c8b46..e3f5b256ff 100644 --- a/packages/utils/types/src/index.ts +++ b/packages/utils/types/src/index.ts @@ -126,14 +126,14 @@ export interface IForgePluginInterface { } /* eslint-enable @typescript-eslint/no-explicit-any */ -export type ForgeRebuildOptions = Omit< +export interface ForgeRebuildOptions extends Omit< RebuildOptions, 'buildPath' | 'electronVersion' | 'arch' ->; -export type ForgePackagerOptions = Omit< +> {} +export interface ForgePackagerOptions extends Omit< ElectronPackagerOptions, 'dir' | 'arch' | 'platform' | 'out' | 'electronVersion' ->; +> {} export interface ResolvedForgeConfig { /** * A string to uniquely identify artifacts of this build, will be appended diff --git a/packages/utils/types/typedoc.jsonc b/packages/utils/types/typedoc.jsonc new file mode 100644 index 0000000000..295a210546 --- /dev/null +++ b/packages/utils/types/typedoc.jsonc @@ -0,0 +1,4 @@ +{ + "$schema": "https://typedoc.org/schema.json", + "excludeExternals": false, +}