chore(db,scripts): pending migration and packaging tweaks
Pre-existing working-tree changes to migration SQL parsing, query generation, and the packaging scripts. Committed as-is rather than authored here. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -226,9 +226,7 @@ export function generateQueriesFile(
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const imports = [
|
const imports = [`import type { Db${usesExecResult ? ", ExecResult" : ""} } from "@wrnexus/db";`];
|
||||||
`import type { Db${usesExecResult ? ", ExecResult" : ""} } from "@wrnexus/db";`,
|
|
||||||
];
|
|
||||||
if (usedModels.size > 0) {
|
if (usedModels.size > 0) {
|
||||||
imports.push(`import { ${[...usedModels].sort().join(", ")} } from "./schema.ts";`);
|
imports.push(`import { ${[...usedModels].sort().join(", ")} } from "./schema.ts";`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -91,7 +91,8 @@ function additiveColumnTarget(sql: string): { table: string; column: string } |
|
|||||||
.replace(/\/\*[\s\S]*?\*\//g, " ")
|
.replace(/\/\*[\s\S]*?\*\//g, " ")
|
||||||
.replace(/--[^\r\n]*/g, " ")
|
.replace(/--[^\r\n]*/g, " ")
|
||||||
.trim();
|
.trim();
|
||||||
const match = /^ALTER\s+TABLE\s+([A-Za-z_][A-Za-z0-9_]*)\s+ADD\s+COLUMN\s+([A-Za-z_][A-Za-z0-9_]*)\b[\s\S]*;?\s*$/i.exec(
|
const match =
|
||||||
|
/^ALTER\s+TABLE\s+([A-Za-z_][A-Za-z0-9_]*)\s+ADD\s+COLUMN\s+([A-Za-z_][A-Za-z0-9_]*)\b[\s\S]*;?\s*$/i.exec(
|
||||||
executable,
|
executable,
|
||||||
);
|
);
|
||||||
return match ? { table: match[1]!, column: match[2]! } : undefined;
|
return match ? { table: match[1]!, column: match[2]! } : undefined;
|
||||||
|
|||||||
@@ -48,7 +48,8 @@ export function validateStagedManifest(stage: string, manifest: Record<string, u
|
|||||||
}
|
}
|
||||||
if (!/^@wrnexus\/[a-z0-9-]+$/.test(name)) throw new Error(`${name} has an invalid package name.`);
|
if (!/^@wrnexus\/[a-z0-9-]+$/.test(name)) throw new Error(`${name} has an invalid package name.`);
|
||||||
if (manifest.private !== undefined) throw new Error(`${name} staged manifest must omit private.`);
|
if (manifest.private !== undefined) throw new Error(`${name} staged manifest must omit private.`);
|
||||||
if ((manifest.publishConfig as any)?.registry !== "https://registry.npmjs.org/") {
|
const expectedRegistry = process.env.WRNEXUS_NPM_REGISTRY ?? "https://registry.npmjs.org/";
|
||||||
|
if ((manifest.publishConfig as any)?.registry !== expectedRegistry) {
|
||||||
throw new Error(`${name} staged manifest has an unexpected registry.`);
|
throw new Error(`${name} staged manifest has an unexpected registry.`);
|
||||||
}
|
}
|
||||||
if (!["restricted", "public"].includes(String((manifest.publishConfig as any)?.access))) {
|
if (!["restricted", "public"].includes(String((manifest.publishConfig as any)?.access))) {
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ import { validateAndHashStage, type StagedPackageIntegrity } from "./lib/package
|
|||||||
const repoRoot = join(dirname(fileURLToPath(import.meta.url)), "..");
|
const repoRoot = join(dirname(fileURLToPath(import.meta.url)), "..");
|
||||||
const packagesDir = join(repoRoot, "packages");
|
const packagesDir = join(repoRoot, "packages");
|
||||||
const stageRoot = join(repoRoot, ".publish");
|
const stageRoot = join(repoRoot, ".publish");
|
||||||
const REGISTRY = "https://registry.npmjs.org/";
|
const REGISTRY = process.env.WRNEXUS_NPM_REGISTRY ?? "https://registry.npmjs.org/";
|
||||||
// First release is published PRIVATE ("restricted") so we can test before the
|
// First release is published PRIVATE ("restricted") so we can test before the
|
||||||
// world sees it; flip to public with `npm access public @wrnexus/<name>` (or set
|
// world sees it; flip to public with `npm access public @wrnexus/<name>` (or set
|
||||||
// WRNEXUS_NPM_ACCESS=public to stage public manifests). Requires the `wrnexus`
|
// WRNEXUS_NPM_ACCESS=public to stage public manifests). Requires the `wrnexus`
|
||||||
|
|||||||
Reference in New Issue
Block a user