feat: format sql (#19)

Co-authored-by: SuLe <sule@SuLedeMacBook-Air.local>
This commit is contained in:
SuLea-IT
2026-04-30 15:56:16 +08:00
committed by GitHub
co-authored by SuLe
parent ac76aadbed
commit 5ee4f9300f
8 changed files with 196 additions and 1 deletions
+25
View File
@@ -0,0 +1,25 @@
export type SqlFormatDialect = "mysql" | "postgres" | "sqlite" | "sqlserver" | "generic";
function formatterLanguage(dialect: SqlFormatDialect) {
switch (dialect) {
case "mysql":
return "mysql";
case "postgres":
return "postgresql";
case "sqlite":
return "sqlite";
case "sqlserver":
return "transactsql";
default:
return "sql";
}
}
export async function formatSqlText(sql: string, dialect: SqlFormatDialect = "generic"): Promise<string> {
if (!sql.trim()) return sql;
const { format } = await import("sql-formatter");
return format(sql, {
language: formatterLanguage(dialect),
keywordCase: "upper",
});
}