diff --git a/src/generateEnv.ts b/src/generateEnv.ts index d42f88b..860d6c0 100644 --- a/src/generateEnv.ts +++ b/src/generateEnv.ts @@ -1,18 +1,20 @@ import { $ } from "bun"; import { Project } from "ts-morph"; -console.log('Re-generating "env.d.ts"'); -console.time("Generated env.d.ts"); -await $`bunx wrangler types src/types/env.d.ts`.quiet(); -console.timeEnd("Generated env.d.ts"); - -console.time("Fetched secrets"); -console.log("Fetching secrets from Cloudflare"); -const { stdout } = await $`bunx wrangler secret list`.quiet(); -const secretNames: string[] = JSON.parse(stdout.toString()).map( - (secret: { name: string; type: "secret_text" }) => secret.name, +await logStep('Re-generating "env.d.ts"', "Generated env.d.ts", () => + $`bunx wrangler types src/types/env.d.ts`.quiet(), +); + +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, + ); + }, ); -console.timeEnd("Fetched secrets"); const project = new Project({}); @@ -30,3 +32,17 @@ envFile.getInterfaceOrThrow("Env").addProperties( ); await project.save(); + +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; + }); +} diff --git a/src/types/env.d.ts b/src/types/env.d.ts index 317654d..605f514 100644 --- a/src/types/env.d.ts +++ b/src/types/env.d.ts @@ -1,4 +1,4 @@ -// Generated by Wrangler on Mon Jun 03 2024 08:28:23 GMT-0400 (Eastern Daylight Time) +// Generated by Wrangler on Mon Jun 03 2024 08:35:59 GMT-0400 (Eastern Daylight Time) // by running `wrangler types src/types/env.d.ts` import type { Env as HonoEnv } from "hono";