diff --git a/packages/api/core/src/api/make.ts b/packages/api/core/src/api/make.ts index 09226e576a..8f29a350ab 100644 --- a/packages/api/core/src/api/make.ts +++ b/packages/api/core/src/api/make.ts @@ -94,7 +94,7 @@ export default async ({ forgeConfig = await getForgeConfig(dir); }); - const actualOutDir = outDir || getCurrentOutDir(dir, forgeConfig); + const actualOutDir = outDir || forgeConfig.outDir || getCurrentOutDir(dir, forgeConfig); const actualTargetPlatform = platform; platform = platform === 'mas' ? 'darwin' : platform; diff --git a/packages/api/core/src/api/package.ts b/packages/api/core/src/api/package.ts index f2610208fc..f15bc91241 100644 --- a/packages/api/core/src/api/package.ts +++ b/packages/api/core/src/api/package.ts @@ -98,7 +98,7 @@ export default async ({ throw new Error('packageJSON.main must be set to a valid entry point for your Electron app'); } - const calculatedOutDir = outDir || getCurrentOutDir(dir, forgeConfig); + const calculatedOutDir = outDir || forgeConfig.outDir || getCurrentOutDir(dir, forgeConfig); let packagerSpinner: OraImpl | undefined; const pruneEnabled = !('prune' in forgeConfig.packagerConfig) || forgeConfig.packagerConfig.prune; diff --git a/packages/api/core/src/api/publish.ts b/packages/api/core/src/api/publish.ts index d62cf598ef..eb9a7654de 100644 --- a/packages/api/core/src/api/publish.ts +++ b/packages/api/core/src/api/publish.ts @@ -82,7 +82,7 @@ const publish = async ({ const forgeConfig = await getForgeConfig(dir); - const calculatedOutDir = outDir || getCurrentOutDir(dir, forgeConfig); + const calculatedOutDir = outDir || forgeConfig.outDir || getCurrentOutDir(dir, forgeConfig); const dryRunDir = path.resolve(calculatedOutDir, 'publish-dry-run'); if (dryRunResume) { diff --git a/packages/utils/types/src/index.ts b/packages/utils/types/src/index.ts index 8c71cf4d16..51263555a7 100644 --- a/packages/utils/types/src/index.ts +++ b/packages/utils/types/src/index.ts @@ -25,6 +25,7 @@ export interface ForgeConfig { * If a function is provided, it must synchronously return the buildIdentifier */ buildIdentifier?: string | (() => string); + outDir?: string, hooks?: { [hookName: string]: ForgeHookFn; };