chore: remove old TypeScript build scripts

This commit is contained in:
2026-06-16 13:45:05 +02:00
committed by Milas Holsting
parent bb5ec87654
commit 34d26c7ecb
3 changed files with 1 additions and 160 deletions

View File

@@ -1,85 +0,0 @@
import { copyFile } from "node:fs/promises";
import { spawnSync } from "node:child_process";
type BuildStep = {
name: string;
command: string[];
};
const steps: BuildStep[] = [
{
name: "player",
command: [
"bun",
"build",
"./static/player/main.ts",
"--outdir",
"./dist/static/player",
"--target",
"browser",
"--splitting",
],
},
];
const startedAt = performance.now();
main().catch((error: unknown) => {
const message = error instanceof Error ? error.message : String(error);
console.error(`ts build failed: ${message}`);
process.exit(1);
});
async function main(): Promise<void> {
steps.push({
name: "app",
command: [
"bun",
"build",
"./static/app.ts",
"--outdir",
"./dist/static",
"--target",
"browser",
"--root",
"./static",
"--entry-naming",
"[name].js",
],
});
for (const step of steps) {
const result = spawnSync(step.command[0], step.command.slice(1), {
stdio: "pipe",
});
if (result.status !== 0) {
const detail = summarizeFailure(result.stderr, result.stdout);
console.error(`ts build failed at ${step.name}${detail === "" ? "" : `: ${detail}`}`);
process.exit(result.status ?? 1);
}
}
await copyFile("./node_modules/htmx.org/dist/htmx.min.js", "./dist/static/htmx-lib.js");
const playerEntries = 1;
const totalEntries = playerEntries + 1;
const elapsedMs = Math.round(performance.now() - startedAt);
console.log(`ts build ok (${totalEntries} entries, ${elapsedMs}ms)`);
}
function summarizeFailure(stderr: Uint8Array, stdout: Uint8Array): string {
const combined =
`${Buffer.from(stderr).toString("utf8")}${Buffer.from(stdout).toString("utf8")}`.trim();
if (combined === "") {
return "";
}
const lines = combined
.split(/\r?\n/)
.map((line) => line.trim())
.filter((line) => line !== "");
return lines[lines.length - 1] ?? "";
}

View File

@@ -1,73 +0,0 @@
import { mkdir, writeFile, access } from "node:fs/promises";
import { constants as fsConstants } from "node:fs";
import path from "node:path";
function toSlug(raw: string): string {
const trimmed = raw.trim().toLowerCase();
const slug = trimmed.replace(/[^a-z0-9]+/g, "_").replace(/^_+|_+$/g, "");
return slug;
}
function formatYYYYMMDD(date: Date): string {
const year = String(date.getFullYear());
const month = String(date.getMonth() + 1).padStart(2, "0");
const day = String(date.getDate()).padStart(2, "0");
return `${year}${month}${day}`;
}
async function fileExists(filePath: string): Promise<boolean> {
try {
await access(filePath, fsConstants.F_OK);
return true;
} catch {
return false;
}
}
async function main(): Promise<void> {
const rawName = process.argv[2] ?? "";
const slug = toSlug(rawName);
if (slug.length === 0) {
throw new Error("usage: bun scripts/new-data-fix.ts <name>");
}
const id = `${formatYYYYMMDD(new Date())}_${slug}`;
const dir = path.join(process.cwd(), "internal", "database", "fixes");
const filePath = path.join(dir, `${id}.go`);
await mkdir(dir, { recursive: true });
if (await fileExists(filePath)) {
throw new Error(`data fix already exists: ${filePath}`);
}
const contents = `package fixes
import (
"context"
"database/sql"
"fmt"
)
func init() {
Register(Fix{
ID: "${id}",
Apply: func(ctx context.Context, sqlDB *sql.DB) error {
// TODO: implement fix
// _, err := sqlDB.ExecContext(ctx, \`UPDATE ...\`)
// if err != nil { return fmt.Errorf("...: %w", err) }
return fmt.Errorf("unimplemented data fix: ${id}")
},
})
}
`;
await writeFile(filePath, contents, { encoding: "utf8" });
process.stdout.write(`${filePath}\n`);
}
main().catch((error: unknown) => {
const message = error instanceof Error ? error.message : String(error);
process.stderr.write(`${message}\n`);
process.exitCode = 1;
});