All files / packages/sds-release-manager/src run-command.ts

100% Statements 9/9
100% Branches 4/4
100% Functions 1/1
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20          4x 4x 4x 4x 1x   3x   4x   2x 2x      
import { loadEnv } from './config.js';
import { createLogger } from './utils/logger.js';
 
// Shared CLI entry wrapper: load `.env`, log used/skipped, run command, handle errors.
export async function runCommand(command: () => Promise<void>): Promise<void> {
  const logger = createLogger();
  try {
    const envResult = loadEnv();
    if (envResult.used) {
      logger.info(`Using .env at ${envResult.path}`);
    } else {
      logger.info(`Skipping .env, using defaults`);
    }
    await command();
  } catch (err) {
    logger.error(err instanceof Error ? err.message : String(err));
    process.exitCode = 1;
  }
}