瀏覽代碼

Add log helpers

Loris Leiva 1 年之前
父節點
當前提交
ddde9fa8f6
共有 2 個文件被更改,包括 15 次插入7 次删除
  1. 6 7
      index.ts
  2. 9 0
      utils/getLogs.ts

+ 6 - 7
index.ts

@@ -1,10 +1,9 @@
 #!/usr/bin/env node
 
-import chalk from "chalk";
 import * as fs from "node:fs";
 import * as path from "node:path";
 
-import { logBanner, logEnd, logStart } from "./utils/getLogs";
+import { logBanner, logEnd, logErrorAndExit, logStart } from "./utils/getLogs";
 import { RenderContext, getRenderContext } from "./utils/getRenderContext";
 import { renderTemplate } from "./utils/renderTemplates";
 
@@ -46,12 +45,12 @@ function createOrEmptyTargetDirectory(ctx: RenderContext) {
   } else if (ctx.shouldOverride) {
     emptyDirectory(ctx.targetDirectory);
   } else {
-    const message = ctx.language.errors.cannotOverrideDirectory.replace(
-      "$targetDirectory",
-      ctx.targetDirectoryName
+    logErrorAndExit(
+      ctx.language.errors.cannotOverrideDirectory.replace(
+        "$targetDirectory",
+        ctx.targetDirectoryName
+      )
     );
-    console.log(chalk.red("✖") + ` ${message}`);
-    process.exit(1);
   }
 }
 

+ 9 - 0
utils/getLogs.ts

@@ -7,6 +7,15 @@ export function logBanner() {
   console.log(`\n${getBanner()}\n`);
 }
 
+export function logErrorAndExit(message: string) {
+  logError(message);
+  process.exit(1);
+}
+
+export function logError(message: string) {
+  console.log(chalk.red("✖") + ` ${message}`);
+}
+
 export function logStart(ctx: RenderContext) {
   console.log(
     `\n${ctx.language.infos.scaffolding} ${ctx.targetDirectoryName}...`