From 2bae732805dad2f3ab85393e41cbaed16c12458f Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Mon, 10 Feb 2025 16:37:34 -0800 Subject: [PATCH 1/3] perf(cli): only check for `git` on init --- packages/api/cli/src/electron-forge.ts | 7 +++++-- packages/api/cli/src/util/check-system.ts | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/api/cli/src/electron-forge.ts b/packages/api/cli/src/electron-forge.ts index 4e19414589..71d477a3f8 100755 --- a/packages/api/cli/src/electron-forge.ts +++ b/packages/api/cli/src/electron-forge.ts @@ -46,11 +46,14 @@ program console.error('See --help for a list of available commands.'); process.exit(1); } else if (!process.argv.includes('--help') && !process.argv.includes('--h')) { - const runner = new Listr( + const runner = new Listr<{ + command: string; + }>( [ { title: 'Checking your system', - task: async (_, task) => { + task: async (ctx, task) => { + ctx.command = commands[0]; return await checkSystem(task); }, }, diff --git a/packages/api/cli/src/util/check-system.ts b/packages/api/cli/src/util/check-system.ts index a07993e579..28c1411c06 100644 --- a/packages/api/cli/src/util/check-system.ts +++ b/packages/api/cli/src/util/check-system.ts @@ -82,13 +82,16 @@ type SystemCheckContext = { node: boolean; packageManager: boolean; }; -export async function checkSystem(task: ForgeListrTask) { + +export async function checkSystem(callerTask: ForgeListrTask<{ command: string }>) { if (!(await fs.pathExists(SKIP_SYSTEM_CHECK))) { d('checking system, create ~/.skip-forge-system-check to stop doing this'); - return task.newListr( + return callerTask.newListr<{ command: string } & SystemCheckContext>( [ { title: 'Checking git exists', + // We only call the `initGit` helper in the `init` and `import` commands + enabled: (ctx): boolean => ctx.command === 'init' || ctx.command === 'import', task: async (_, task) => { const gitVersion = await getGitVersion(); if (gitVersion) { From 8aad889520842c812469820770abc0ea4c02699b Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Mon, 10 Feb 2025 16:44:07 -0800 Subject: [PATCH 2/3] fallback renderer correctly --- packages/api/cli/src/electron-forge.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/api/cli/src/electron-forge.ts b/packages/api/cli/src/electron-forge.ts index 71d477a3f8..919d59117f 100755 --- a/packages/api/cli/src/electron-forge.ts +++ b/packages/api/cli/src/electron-forge.ts @@ -61,6 +61,7 @@ program { concurrent: false, exitOnError: false, + fallbackRendererCondition: Boolean(process.env.DEBUG) || Boolean(process.env.CI), } ); From c33f1d5fa1d8b218355ecbfba33fbda881baebc0 Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Wed, 12 Feb 2025 17:05:07 -0800 Subject: [PATCH 3/3] :) --- packages/api/cli/src/electron-forge.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/api/cli/src/electron-forge.ts b/packages/api/cli/src/electron-forge.ts index f72e2b6def..069619e64e 100755 --- a/packages/api/cli/src/electron-forge.ts +++ b/packages/api/cli/src/electron-forge.ts @@ -21,7 +21,7 @@ program .command('package', 'Package the current Electron application') .command('make', 'Generate distributables for the current Electron application') .command('publish', 'Publish the current Electron application') - .hook('preSubcommand', async () => { + .hook('preSubcommand', async (_command, subcommand) => { if (!process.argv.includes('--help') && !process.argv.includes('-h')) { const runner = new Listr<{ command: string; @@ -30,7 +30,7 @@ program { title: 'Checking your system', task: async (ctx, task) => { - ctx.command = commands[0]; + ctx.command = subcommand.name(); return await checkSystem(task); }, },