diff --git a/src/cli/program/routes.ts b/src/cli/program/routes.ts index b3a4e1f81..856b56556 100644 --- a/src/cli/program/routes.ts +++ b/src/cli/program/routes.ts @@ -3,13 +3,12 @@ import { getFlagValue, getPositiveIntFlagValue, getVerboseFlag, hasFlag } from " export type RouteSpec = { match: (path: string[]) => boolean; - loadPlugins?: boolean; + loadPlugins?: boolean | ((argv: string[]) => boolean); run: (argv: string[]) => Promise; }; const routeHealth: RouteSpec = { match: (path) => path[0] === "health", - loadPlugins: true, run: async (argv) => { const json = hasFlag(argv, "--json"); const verbose = getVerboseFlag(argv, { includeDebug: true }); @@ -25,7 +24,8 @@ const routeHealth: RouteSpec = { const routeStatus: RouteSpec = { match: (path) => path[0] === "status", - loadPlugins: true, + // JSON mode omits the human-readable channel table, so skip expensive plugin preloading. + loadPlugins: (argv) => !hasFlag(argv, "--json"), run: async (argv) => { const json = hasFlag(argv, "--json"); const deep = hasFlag(argv, "--deep");