diff --git a/src/cli/directory-cli.test.ts b/src/cli/directory-cli.test.ts index 18f64e48f86..2f34168b26d 100644 --- a/src/cli/directory-cli.test.ts +++ b/src/cli/directory-cli.test.ts @@ -150,5 +150,6 @@ describe("registerDirectoryCli", () => { cfg: autoEnabledConfig, }), ); + expect(mocks.writeConfigFile).toHaveBeenCalledWith(autoEnabledConfig); }); }); diff --git a/src/cli/directory-cli.ts b/src/cli/directory-cli.ts index da03d28f87a..cfa3108d219 100644 --- a/src/cli/directory-cli.ts +++ b/src/cli/directory-cli.ts @@ -98,10 +98,11 @@ export function registerDirectoryCli(program: Command) { .option("--json", "Output JSON", false); const resolve = async (opts: { channel?: string; account?: string }) => { - let cfg = applyPluginAutoEnable({ + const autoEnabled = applyPluginAutoEnable({ config: loadConfig(), env: process.env, - }).config; + }); + let cfg = autoEnabled.config; const explicitChannel = opts.channel?.trim(); const resolvedExplicit = explicitChannel ? await resolveInstallableChannelPlugin({ @@ -115,6 +116,8 @@ export function registerDirectoryCli(program: Command) { if (resolvedExplicit?.configChanged) { cfg = resolvedExplicit.cfg; await writeConfigFile(cfg); + } else if (autoEnabled.changes.length > 0) { + await writeConfigFile(cfg); } const selection = explicitChannel ? {