Self-hosted multi-platform broadcast newsroom for activist collectives: publishing pipeline with group approval and DST-proof scheduling, TweetDeck-style column wall with hostile-content-safe rendering, live control room with Auto Director, bridged chat governance with polls and quorum, distributed sandboxed transcode workers, encrypted content-addressed archive, monthly analytics. MIT licensed. See README.md and docs/.
6 lines
435 B
TypeScript
6 lines
435 B
TypeScript
import { resolve } from "node:path";
|
|
import { runMigrations } from "./migrate.js";
|
|
const index = process.argv.indexOf("--dir");
|
|
void runMigrations(resolve(index < 0 ? "migrations" : process.argv[index + 1] ?? "migrations"))
|
|
.then((files) => console.log({ applied: files }))
|
|
.catch(() => { console.error("Migration failed; schema remains unready. Inspect the phase and database records before retrying."); process.exitCode = 1; });
|