import { ALL_CHECKS } from "./checks.js"; import type { Issue, CheckResult } from "./types.js"; export function checkMigration(sql: string): CheckResult { const allIssues: Issue[] = []; for (const check of ALL_CHECKS) { const issues = check(sql); allIssues.push(...issues); } // Sort by severity then line number const severityOrder: Record = { danger: 0, warning: 1, info: 2 }; allIssues.sort((a, b) => { const s = severityOrder[a.severity] - severityOrder[b.severity]; if (s !== 0) return s; return a.line - b.line; }); const summary = { danger: allIssues.filter((i) => i.severity === "danger").length, warning: allIssues.filter((i) => i.severity === "warning").length, info: allIssues.filter((i) => i.severity === "info").length, }; return { issues: allIssues, summary, safe: summary.danger === 0 && summary.warning === 0, }; }