UNPKG

everything-dev

Version:

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

1 lines • 5.26 kB
{"version":3,"file":"build.mjs","names":[],"sources":["../../src/handlers/build.ts"],"sourcesContent":["import { Effect } from \"effect\";\nimport { MISSING_CONFIG_MESSAGE } from \"../config\";\nimport { generateCodeArtifacts } from \"../services/codegen/artifacts\";\nimport type { BosEnv } from \"../services/resolution/merge\";\nimport { ResolutionSessionService } from \"../services/resolution/session\";\nimport {\n type BuildTargetsInput,\n BuildTrainService,\n selectWorkspaceTargets,\n} from \"../services/workspace/build-train\";\nimport type { BosBuilder } from \"./shared\";\n\nexport function registerBuild(builder: BosBuilder) {\n return {\n build: builder.build.effect(function* (_opts, input) {\n const session = yield* ResolutionSessionService;\n const train = yield* BuildTrainService;\n if (!session?.config) {\n return {\n status: \"error\" as const,\n error: MISSING_CONFIG_MESSAGE,\n built: [],\n skipped: [],\n };\n }\n const bosConfig = session.config;\n\n const buildEnv: BosEnv = \"development\";\n\n const targets = selectWorkspaceTargets(input.packages, bosConfig);\n if (targets.length === 0) {\n const allPackages = [\n ...Object.keys(bosConfig.app ?? {}),\n ...Object.keys(bosConfig.plugins ?? {}),\n ];\n return {\n status: \"error\" as const,\n error: `Unknown build target(s): ${input.packages} — valid targets: ${allPackages.join(\", \") || \"none\"} (framework packages build via the prerequisite train: pnpm run build <target>)`,\n built: [],\n skipped: [],\n };\n }\n\n const runtimeConfig = yield* Effect.tryPromise({\n try: () =>\n session.buildRuntime({\n uiSource: bosConfig.app.ui?.development ? \"local\" : \"remote\",\n apiSource: bosConfig.app.api?.development ? \"local\" : \"remote\",\n authSource: bosConfig.app.auth?.development ? \"local\" : \"remote\",\n hostSource: bosConfig.app.host?.development ? \"local\" : \"remote\",\n env: buildEnv,\n plugins: session.runtime?.plugins,\n }),\n catch: () => ({\n status: \"error\" as const,\n error: \"Could not build the runtime config\",\n built: [],\n skipped: [],\n }),\n });\n for (const message of session.warnings) {\n console.warn(message);\n }\n\n yield* Effect.tryPromise({\n try: () =>\n generateCodeArtifacts(session.root, bosConfig, {\n env: buildEnv,\n runtimeConfig,\n }),\n catch: () => ({\n status: \"error\" as const,\n error: \"Could not generate code artifacts\",\n built: [],\n skipped: [],\n }),\n });\n\n const buildInput: BuildTargetsInput = {\n configDir: session.root,\n bosConfig,\n runtimeConfig,\n targets,\n deploy: false,\n };\n const { built, skipped } = yield* Effect.tryPromise({\n try: () => train.buildTargets(buildInput),\n catch: (error) => ({\n status: \"error\" as const,\n error: error instanceof Error ? error.message : \"Unknown error\",\n built: [],\n skipped: [],\n }),\n });\n\n if (built.length === 0) {\n return {\n status: \"error\" as const,\n error: `Nothing to build — no local targets matched${skipped.length > 0 ? `: ${skipped.join(\", \")}` : \"\"}`,\n built: [],\n skipped,\n };\n }\n\n return {\n status: \"success\" as const,\n built,\n skipped,\n };\n }),\n };\n}\n"],"mappings":";;;;;;;AAYA,SAAgB,cAAc,SAAqB;CACjD,OAAO,EACL,OAAO,QAAQ,MAAM,OAAO,WAAW,OAAO,OAAO;EACnD,MAAM,UAAU,OAAO;EACvB,MAAM,QAAQ,OAAO;EACrB,IAAI,CAAC,SAAS,QACZ,OAAO;GACL,QAAQ;GACR,OAAO;GACP,OAAO,CAAC;GACR,SAAS,CAAC;EACZ;EAEF,MAAM,YAAY,QAAQ;EAE1B,MAAM,WAAmB;EAEzB,MAAM,UAAU,uBAAuB,MAAM,UAAU,SAAS;EAChE,IAAI,QAAQ,WAAW,GAAG;GACxB,MAAM,cAAc,CAClB,GAAG,OAAO,KAAK,UAAU,OAAO,CAAC,CAAC,GAClC,GAAG,OAAO,KAAK,UAAU,WAAW,CAAC,CAAC,CACxC;GACA,OAAO;IACL,QAAQ;IACR,OAAO,4BAA4B,MAAM,SAAS,oBAAoB,YAAY,KAAK,IAAI,KAAK,OAAO;IACvG,OAAO,CAAC;IACR,SAAS,CAAC;GACZ;EACF;EAEA,MAAM,gBAAgB,OAAO,OAAO,WAAW;GAC7C,WACE,QAAQ,aAAa;IACnB,UAAU,UAAU,IAAI,IAAI,cAAc,UAAU;IACpD,WAAW,UAAU,IAAI,KAAK,cAAc,UAAU;IACtD,YAAY,UAAU,IAAI,MAAM,cAAc,UAAU;IACxD,YAAY,UAAU,IAAI,MAAM,cAAc,UAAU;IACxD,KAAK;IACL,SAAS,QAAQ,SAAS;GAC5B,CAAC;GACH,cAAc;IACZ,QAAQ;IACR,OAAO;IACP,OAAO,CAAC;IACR,SAAS,CAAC;GACZ;EACF,CAAC;EACD,KAAK,MAAM,WAAW,QAAQ,UAC5B,QAAQ,KAAK,OAAO;EAGtB,OAAO,OAAO,WAAW;GACvB,WACE,sBAAsB,QAAQ,MAAM,WAAW;IAC7C,KAAK;IACL;GACF,CAAC;GACH,cAAc;IACZ,QAAQ;IACR,OAAO;IACP,OAAO,CAAC;IACR,SAAS,CAAC;GACZ;EACF,CAAC;EAED,MAAM,aAAgC;GACpC,WAAW,QAAQ;GACnB;GACA;GACA;GACA,QAAQ;EACV;EACA,MAAM,EAAE,OAAO,YAAY,OAAO,OAAO,WAAW;GAClD,WAAW,MAAM,aAAa,UAAU;GACxC,QAAQ,WAAW;IACjB,QAAQ;IACR,OAAO,iBAAiB,QAAQ,MAAM,UAAU;IAChD,OAAO,CAAC;IACR,SAAS,CAAC;GACZ;EACF,CAAC;EAED,IAAI,MAAM,WAAW,GACnB,OAAO;GACL,QAAQ;GACR,OAAO,8CAA8C,QAAQ,SAAS,IAAI,KAAK,QAAQ,KAAK,IAAI,MAAM;GACtG,OAAO,CAAC;GACR;EACF;EAGF,OAAO;GACL,QAAQ;GACR;GACA;EACF;CACF,CAAC,EACH;AACF"}