CI / typecheck + build (turbo) (push) Canceled after 0s
Added a real test suite (32 tests, 0 external services) using bun:test with in-process module mocking for @mcpedia/db, @mcpedia/queue, @mcpedia/core. Enablers: - apps/api: extracted createApp(deps?) factory + dashboard.ts module from index.ts so the HTTP surface is unit-testable (real queue is lazy-imported). - packages/core: exported shouldCreateRevision pure predicate; restoreRevision gained an opts.reindex seam for the chunk-rebuild contract. - apps/mcp: renamed smoke.test.ts -> smoke.ts (bun test now owns .test.ts), updated stale assertions (10 tools, 4 docs in docs section). - infra: turbo test task (cache:false), test scripts across packages, @types/bun + tsconfig base types, CI 'Test' step after Build. Packages with tests: embeddings(5), parser(5), search(8), core(4), mcp(6 auth-gates), api(8 contracts). All green: typecheck(4/4), test(6/6 pkgs), build(web). Live API verified /health, /metrics, /dashboard, /hooks/* auth gate on temp port.
18 lines
625 B
TypeScript
18 lines
625 B
TypeScript
// API entry point (invoked by `bun run src/index.ts` / systemd unit).
|
|
// Delegates to the testable factory in app.ts so the HTTP surface can be unit-
|
|
// tested without a live process. start() fail-fasts on missing WEBHOOK_SECRET.
|
|
import { createApp, start } from "./app";
|
|
export { createApp, start };
|
|
export type { ApiDeps, QueueLike } from "./app";
|
|
|
|
// When run directly (bun run src/index.ts), start the server.
|
|
const isMain =
|
|
typeof process.argv[1] === "string" &&
|
|
import.meta.url === `file://${process.argv[1]}`;
|
|
if (isMain) {
|
|
start().catch((err: unknown) => {
|
|
console.error(err);
|
|
process.exit(1);
|
|
});
|
|
}
|