All files / scripts/package-release/lib log.js

0% Statements 0/18
0% Branches 0/10
0% Functions 0/13
0% Lines 0/18

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 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55                                                                                                             
import chalk from 'chalk';
import ora from 'ora';
 
let dryRunMode = false;
 
export function setDryRun(enabled) {
  dryRunMode = enabled;
}
 
export function isDryRun() {
  return dryRunMode;
}
 
const prefix = dryRunMode ? chalk.yellow('[dry-run] ') : '';
 
export function info(msg) {
  console.log(`${isDryRun() ? chalk.yellow('[dry-run] ') : ''}${msg}`);
}
 
export function success(msg) {
  console.log(chalk.green(`${isDryRun() ? '[dry-run] ' : ''}✓ ${msg}`));
}
 
export function warn(msg) {
  console.log(chalk.yellow(`⚠ ${msg}`));
}
 
export function error(msg) {
  console.error(chalk.red(`✖ ${msg}`));
}
 
export function dryRunAction(description) {
  if (isDryRun()) {
    console.log(chalk.yellow(`[dry-run] would: ${description}`));
    return true;
  }
  return false;
}
 
export function spinner(text) {
  if (isDryRun()) {
    info(text);
    return { succeed: () => {}, fail: () => {}, stop: () => {} };
  }
  return ora(text).start();
}
 
export function table(data) {
  console.table(data);
}
 
export function heading(msg) {
  console.log(`\n${chalk.bold.underline(msg)}\n`);
}