UNPKG

everything-dev

Version:

A consolidated product package for building Module Federation apps with oRPC APIs.

42 lines (40 loc) • 1.43 kB
const require_services_resolution_session = require('../services/resolution/session.cjs'); const require_smoke = require('../services/deploy/smoke.cjs'); let effect = require("effect"); //#region src/handlers/smoke.ts function registerSmoke(builder) { return { smoke: builder.smoke.effect(function* (_opts, input) { const session = yield* require_services_resolution_session.ResolutionSessionService; const account = input.account ?? session?.config?.account; const gateway = input.gateway ?? session?.config?.domain; const image = input.image; if (!image) return { status: "error", error: "smoke requires an image ref — pass --image <ref>" }; console.log(`smoke: booting ${image} on :${input.port}`); const result = yield* effect.Effect.tryPromise(() => require_smoke.runSmoke({ image, port: input.port, keep: input.keep, ...account ? { account } : {}, ...gateway ? { gateway } : {}, ...input.apiDatabaseUrl ? { apiDatabaseUrl: input.apiDatabaseUrl } : {}, ...input.authDatabaseUrl ? { authDatabaseUrl: input.authDatabaseUrl } : {} })); if (result.ok) return { status: "ok", image: result.image, summary: result.summary }; return { status: "error", image: result.image, ...result.diagnosis ? { diagnosis: result.diagnosis } : {}, error: result.error }; }) }; } //#endregion exports.registerSmoke = registerSmoke; //# sourceMappingURL=smoke.cjs.map