























@@ -44,6 +44,7 @@ type ConfigSummary = {
4444exists: boolean;
4545valid: boolean;
4646issues?: Array<{ path: string; message: string }>;
47+warnings?: ConfigFileSnapshot["warnings"];
4748controlUi?: GatewayControlUiConfig;
4849};
4950@@ -198,11 +199,16 @@ async function readFastStatusConfig(configPath: string): Promise<StatusConfigRea
198199async function readFullStatusConfig(params: {
199200env: NodeJS.ProcessEnv;
200201configPath: string;
202+pluginValidation?: "full" | "skip";
201203}): Promise<StatusConfigRead> {
202204const io = createConfigIO({
203205env: params.env,
204206configPath: params.configPath,
205-pluginValidation: "skip",
207+pluginValidation: params.pluginValidation ?? "skip",
208+logger: {
209+error: () => {},
210+warn: () => {},
211+},
206212});
207213const snapshot = await io.readConfigFileSnapshot().catch(() => null);
208214const cfg = resolveSnapshotRuntimeConfig(snapshot) ?? io.loadConfig();
@@ -212,6 +218,7 @@ async function readFullStatusConfig(params: {
212218exists: snapshot?.exists ?? false,
213219valid: snapshot?.valid ?? true,
214220 ...(snapshot?.issues?.length ? { issues: snapshot.issues } : {}),
221+ ...(snapshot?.warnings?.length ? { warnings: snapshot.warnings } : {}),
215222controlUi: cfg.gateway?.controlUi,
216223},
217224 cfg,
@@ -222,12 +229,14 @@ async function readFullStatusConfig(params: {
222229async function readStatusConfig(params: {
223230env: NodeJS.ProcessEnv;
224231configPath: string;
232+deep?: boolean;
225233}): Promise<StatusConfigRead> {
226234return (
227-(await readFastStatusConfig(params.configPath)) ??
235+(params.deep ? null : await readFastStatusConfig(params.configPath)) ??
228236(await readFullStatusConfig({
229237env: params.env,
230238configPath: params.configPath,
239+pluginValidation: params.deep ? "full" : "skip",
231240}))
232241);
233242}
@@ -323,6 +332,7 @@ function resolveCliStatusSummary(argv: string[] = process.argv): CliStatusSummar
323332324333async function loadDaemonConfigContext(
325334serviceEnv?: Record<string, string>,
335+opts: { deep?: boolean } = {},
326336): Promise<DaemonConfigContext> {
327337const mergedDaemonEnv = {
328338 ...(process.env as Record<string, string | undefined>),
@@ -338,6 +348,7 @@ async function loadDaemonConfigContext(
338348const cliConfigRead = await readStatusConfig({
339349env: process.env,
340350configPath: cliConfigPath,
351+deep: opts.deep,
341352});
342353const sharesDaemonConfigContext =
343354sameConfigPath && (cliConfigRead.mode === "fast" || !serviceEnv);
@@ -346,6 +357,7 @@ async function loadDaemonConfigContext(
346357 : await readStatusConfig({
347358env: mergedDaemonEnv as NodeJS.ProcessEnv,
348359configPath: daemonConfigPath,
360+deep: opts.deep,
349361});
350362351363return {
@@ -477,7 +489,7 @@ export async function gatherDaemonStatus(
477489 cliConfigSummary,
478490 daemonConfigSummary,
479491 configMismatch,
480-} = await loadDaemonConfigContext(command?.environment);
492+} = await loadDaemonConfigContext(command?.environment, { deep: opts.deep });
481493const { gateway, daemonPort, cliPort, probeUrlOverride } = await resolveGatewayStatusSummary({
482494 cliCfg,
483495 daemonCfg,
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。