{"version":3,"file":"build.cjs","names":["Context","BosDepsTag","MISSING_CONFIG_MESSAGE","selectWorkspaceTargets","generateCodeArtifacts","buildWorkspaceTargets"],"sources":["../../src/commands/build.ts"],"sourcesContent":["import { Context } from \"effect\";\nimport { buildWorkspaceTargets, selectWorkspaceTargets } from \"../build\";\nimport { generateCodeArtifacts } from \"../code-artifacts\";\nimport { MISSING_CONFIG_MESSAGE } from \"../config\";\nimport type { BosEnv } from \"../merge\";\nimport { type BosBuilder, BosDepsTag } from \"./shared\";\n\nexport function registerBuild(builder: BosBuilder) {\n  return {\n    build: builder.build.handler(async ({ input, context }) => {\n      const deps = Context.get(context[\"effect/context\"], BosDepsTag);\n      const session = deps.session;\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 = await 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      for (const message of session.warnings) {\n        console.warn(message);\n      }\n\n      await generateCodeArtifacts(session.root, bosConfig, {\n        env: buildEnv,\n        runtimeConfig,\n      });\n\n      const { built, skipped } = await buildWorkspaceTargets({\n        configDir: session.root,\n        bosConfig,\n        runtimeConfig: runtimeConfig,\n        targets,\n        deploy: false,\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":";;;;;;;AAOA,SAAgB,cAAc,SAAqB;CACjD,OAAO,EACL,OAAO,QAAQ,MAAM,QAAQ,OAAO,EAAE,OAAO,cAAc;EAEzD,MAAM,UADOA,eAAQ,IAAI,QAAQ,mBAAmBC,yBACjC,CAAC,CAAC;EACrB,IAAI,CAAC,SAAS,QACZ,OAAO;GACL,QAAQ;GACR,OAAOC;GACP,OAAO,CAAC;GACR,SAAS,CAAC;EACZ;EAEF,MAAM,YAAY,QAAQ;EAE1B,MAAM,WAAmB;EAEzB,MAAM,UAAUC,qCAAuB,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,MAAM,QAAQ,aAAa;GAC/C,UAAU,UAAU,IAAI,IAAI,cAAc,UAAU;GACpD,WAAW,UAAU,IAAI,KAAK,cAAc,UAAU;GACtD,YAAY,UAAU,IAAI,MAAM,cAAc,UAAU;GACxD,YAAY,UAAU,IAAI,MAAM,cAAc,UAAU;GACxD,KAAK;GACL,SAAS,QAAQ,SAAS;EAC5B,CAAC;EACD,KAAK,MAAM,WAAW,QAAQ,UAC5B,QAAQ,KAAK,OAAO;EAGtB,MAAMC,6CAAsB,QAAQ,MAAM,WAAW;GACnD,KAAK;GACL;EACF,CAAC;EAED,MAAM,EAAE,OAAO,YAAY,MAAMC,oCAAsB;GACrD,WAAW,QAAQ;GACnB;GACe;GACf;GACA,QAAQ;EACV,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"}