everything-dev
Version:
A consolidated product package for building Module Federation apps with oRPC APIs.
1 lines • 1.68 kB
Source Map (JSON)
{"version":3,"file":"render.mjs","names":[],"sources":["../../../src/services/deploy/render.ts"],"sourcesContent":["import { Context } from \"effect\";\n\n/** One workspace bundle upload's outcome, for the Upload section (#431): the\n * train reports WHAT happened in target order; the renderer decides HOW it\n * shows (one line by default, detail behind --verbose). */\nexport interface UploadOutcomeRender {\n key: string;\n ok: boolean;\n /** the bundle base URL — undefined only for a no-op workspace */\n base?: string;\n uploaded?: number;\n skipped?: number;\n durationMs?: number;\n /** attributed detail lines (diff skips, manifest pin, source archive) —\n * shown only when verbose */\n detailNotes?: string[];\n}\n\nexport interface PublishSectionRender {\n registryUrl: string;\n fingerprint: string;\n /** slot → pin line, in config order */\n slotPins: Array<[string, string]>;\n /** the per-deploy audit manifest's filename */\n auditManifestFile: string;\n}\n\n/**\n * The deploy train's presentation seam (#431): sections render through this\n * interface — Build reuses `WorkspaceBuildRender`, Upload/Publish flow through\n * here — so services never print and parallel units can never interleave.\n */\nexport interface DeployTrainRender {\n cdnBanner?(storageOrigin: string): void;\n uploadOutcome?(outcome: UploadOutcomeRender): void;\n publish?(info: PublishSectionRender): void;\n}\n\nexport class DeployTrainRenderService extends Context.Service<\n DeployTrainRenderService,\n DeployTrainRender\n>()(\"everything-dev/deploy/render\") {}\n"],"mappings":";;;AAsCA,IAAa,2BAAb,cAA8C,QAAQ,QAGpD,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC"}