From 5e0de6387da80d6637e48547270a770b8ce3e6b2 Mon Sep 17 00:00:00 2001 From: Rushil Perera Date: Mon, 3 Jun 2024 09:15:02 -0400 Subject: [PATCH] refactor: move generateEnv script inside folder --- src/libs/logStep.ts | 23 +++++++++++++++++++++++ src/{ => scripts}/generateEnv.ts | 30 +++++++++++------------------- 2 files changed, 34 insertions(+), 19 deletions(-) create mode 100644 src/libs/logStep.ts rename src/{ => scripts}/generateEnv.ts (59%) diff --git a/src/libs/logStep.ts b/src/libs/logStep.ts new file mode 100644 index 0000000..97f9504 --- /dev/null +++ b/src/libs/logStep.ts @@ -0,0 +1,23 @@ +export async function logStep( + inProgressText: string, + step: () => Promise | T, +): Promise; +export async function logStep( + inProgressText: string, + step: () => Promise | T, + doneText: string, +): Promise; + +export async function logStep( + inProgressText: string, + step: () => Promise | T, + doneText: string = `Completed step "${inProgressText}"`, +) { + console.time(doneText); + console.log(`${inProgressText}...`); + + return Promise.resolve(step()).then((value) => { + console.timeEnd(doneText); + return value; + }); +} diff --git a/src/generateEnv.ts b/src/scripts/generateEnv.ts similarity index 59% rename from src/generateEnv.ts rename to src/scripts/generateEnv.ts index bea666b..135f707 100644 --- a/src/generateEnv.ts +++ b/src/scripts/generateEnv.ts @@ -1,19 +1,23 @@ import { $ } from "bun"; import { Project } from "ts-morph"; -await logStep('Re-generating "env.d.ts"', "Generated env.d.ts", () => - $`bunx wrangler types src/types/env.d.ts`.quiet(), +import { logStep } from "~/libs/logStep"; + +await logStep( + 'Re-generating "env.d.ts"', + () => $`bunx wrangler types src/types/env.d.ts`.quiet(), + "Generated env.d.ts", ); const secretNames = await logStep( "Fetching secrets from Cloudflare", - "Fetched secrets", async (): Promise => { const { stdout } = await $`bunx wrangler secret list`.quiet(); return JSON.parse(stdout.toString()).map( (secret: { name: string; type: "secret_text" }) => secret.name, ); }, + "Fetched secrets", ); const project = new Project({}); @@ -33,20 +37,8 @@ envFile.getInterfaceOrThrow("Env").addProperties( await project.save(); -await logStep("Formatting env.d.ts", "Formatted env.d.ts", () => - $`bunx prettier --write src/types/env.d.ts`.quiet(), +await logStep( + "Formatting env.d.ts", + () => $`bunx prettier --write src/types/env.d.ts`.quiet(), + "Formatted env.d.ts", ); - -async function logStep( - inProgressText: string, - doneText: string, - step: () => Promise | T, -) { - console.time(doneText); - console.log(`${inProgressText}...`); - - return Promise.resolve(step()).then((value) => { - console.timeEnd(doneText); - return value; - }); -}