flake.nix only rewrote @/ aliases but left extensionless relative imports (./router) in compiled dist/. node dist/index.js (how prod runs) cannot resolve extensionless ESM specifiers -> ERR_MODULE_NOT_FOUND -> backend crashlooped (444 restarts, port 4001 dead). Extract the fixer into a shared scripts/fix-imports.mjs that appends .js to extensionless relative imports and rewrites @/ aliases, and wire it into backend + discord-gateway build phases. Verified: fresh tsc + fixer -> node dist/index.js boots; oRPC over /trpc serves both HTTP POST and WebSocket (config/dashboard/voice/moderation/ media/chatbot/analysis) end-to-end against Postgres + Redis. next build passes with the oRPC client + partysocket.
13 lines
536 B
TypeScript
13 lines
536 B
TypeScript
import { orpc } from "@/lib/orpc/client";
|
|
import type { MediaState } from "@/lib/types";
|
|
|
|
export const mediaApi = {
|
|
getStatus: () => orpc.media.status() as unknown as Promise<MediaState>,
|
|
queue: (source: string, mode: string) =>
|
|
orpc.media.queue({ source, mode }) as unknown as Promise<MediaState>,
|
|
skip: () => orpc.media.skip() as unknown as Promise<MediaState>,
|
|
stop: () => orpc.media.stop() as unknown as Promise<MediaState>,
|
|
loop: (loop: boolean) =>
|
|
orpc.media.loop({ loop }) as unknown as Promise<MediaState>,
|
|
};
|