From e50261e5248bdb7942a9db04f587e295bf63d93b Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Mon, 22 Jun 2026 08:23:02 -0400 Subject: [PATCH] fix(core): format generated migrations --- packages/core/script/migration.ts | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/packages/core/script/migration.ts b/packages/core/script/migration.ts index 48b555b59..4f383f5f8 100644 --- a/packages/core/script/migration.ts +++ b/packages/core/script/migration.ts @@ -45,15 +45,17 @@ async function generate() { if (await Bun.file(target).exists()) throw new Error(`Database migration already exists: ${name}`) await Bun.write( target, - renderMigration(name, await Bun.file(path.join(incremental, name, "migration.sql")).text()), + await formatTypescript( + renderMigration(name, await Bun.file(path.join(incremental, name, "migration.sql")).text()), + ), ) await fs.copyFile(path.join(incremental, name, "snapshot.json"), snapshot) } await fs.mkdir(full) await drizzle(temporary, full, "schema") - await Bun.write(schema, renderSchema(await generatedSql(full))) - await Bun.write(registry, renderRegistry(await typescriptMigrations())) + await Bun.write(schema, await formatTypescript(renderSchema(await generatedSql(full)))) + await Bun.write(registry, await formatTypescript(renderRegistry(await typescriptMigrations()))) } finally { await fs.rm(temporary, { recursive: true, force: true }) } @@ -76,12 +78,12 @@ async function check() { await fs.mkdir(full) await drizzle(temporary, full, "schema") - if ((await Bun.file(schema).text()) !== renderSchema(await generatedSql(full))) { + if ((await Bun.file(schema).text()) !== (await formatTypescript(renderSchema(await generatedSql(full))))) { throw new Error("Current database schema is stale. Run `bun script/migration.ts` from packages/core.") } const migrations = await typescriptMigrations() - if ((await Bun.file(registry).text()) !== renderRegistry(migrations)) { + if ((await Bun.file(registry).text()) !== (await formatTypescript(renderRegistry(migrations)))) { throw new Error("Database migration registry is stale. Run `bun script/migration.ts` from packages/core.") } } finally { @@ -170,6 +172,18 @@ function escapeTemplate(line: string) { return line.replaceAll("\\", "\\\\").replaceAll("`", "\\`").replaceAll("${", "\\${") } +async function formatTypescript(input: string) { + const prettier = await import("prettier") + const typescript = await import("prettier/plugins/typescript") + const estree = await import("prettier/plugins/estree") + return prettier.format(input, { + parser: "typescript", + plugins: [typescript.default, estree.default], + semi: false, + printWidth: 120, + }) +} + function renderRegistry(names: string[]) { return `import type { DatabaseMigration } from "./migration"