@teambit/builder 0.0.1047 → 0.0.1048

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -43,7 +43,7 @@ export class ArtifactExtractor {
43
43
 
44
44
  async list(): Promise<ExtractorResult[]> {
45
45
  const ids = await this.scope.idsByPattern(this.pattern);
46
- const components = await this.scope.loadMany(ids);
46
+ const components = await this.scope.getMany(ids);
47
47
  const artifactListPerId: ArtifactListPerId[] = components.map((component) => {
48
48
  return {
49
49
  id: component.id,
@@ -72,7 +72,7 @@ class ArtifactExtractor {
72
72
  }
73
73
  async list() {
74
74
  const ids = await this.scope.idsByPattern(this.pattern);
75
- const components = await this.scope.loadMany(ids);
75
+ const components = await this.scope.getMany(ids);
76
76
  const artifactListPerId = components.map(component => {
77
77
  return {
78
78
  id: component.id,
@@ -1 +1 @@
1
- {"version":3,"names":["ArtifactExtractor","constructor","scope","builder","pattern","options","list","ids","idsByPattern","components","loadMany","artifactListPerId","map","component","id","artifacts","getArtifacts","filterByOptions","saveFilesInFileSystemIfAsked","artifactsObjectsToExtractorResults","groupResultsByAspect","extractorResult","result","reduce","acc","current","aspectId","push","outDir","pMapSeries","vinyls","getVinylsAndImportIfMissing","_legacy","legacyScope","idAsFilename","filenamify","toStringWithoutVersion","replacement","compPath","path","join","Promise","all","vinyl","fs","outputFile","contents","results","artifact","artifactName","name","task","taskName","generatedBy","files","refs","ref","relativePath","aspect","filteredArtifacts","forEach","item","filter","minimatch","Artifact","def","ArtifactFiles","isEmpty","ArtifactList","fromArray"],"sources":["artifact-extractor.ts"],"sourcesContent":["import path from 'path';\nimport filenamify from 'filenamify';\nimport fs from 'fs-extra';\nimport { ScopeMain } from '@teambit/scope';\nimport { ComponentID } from '@teambit/component-id';\nimport pMapSeries from 'p-map-series';\nimport minimatch from 'minimatch';\nimport { ArtifactFiles } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { BuilderMain } from '../builder.main.runtime';\nimport { ArtifactsOpts } from './artifacts.cmd';\nimport { ArtifactList } from './artifact-list';\nimport { Artifact } from './artifact';\n\nexport type ExtractorResult = {\n id: ComponentID;\n artifacts: ExtractorArtifactResult[];\n};\n\nexport type ExtractorArtifactResult = {\n artifactName: string;\n aspectId: string;\n taskName: string;\n files: string[];\n};\n\nexport type ExtractorResultGrouped = {\n id: ComponentID;\n artifacts: { [aspectId: string]: ExtractorArtifactResult[] };\n};\n\ntype ArtifactListPerId = {\n id: ComponentID;\n artifacts: ArtifactList<Artifact>;\n};\n\nexport class ArtifactExtractor {\n constructor(\n private scope: ScopeMain,\n private builder: BuilderMain,\n private pattern: string,\n private options: ArtifactsOpts\n ) {}\n\n async list(): Promise<ExtractorResult[]> {\n const ids = await this.scope.idsByPattern(this.pattern);\n const components = await this.scope.loadMany(ids);\n const artifactListPerId: ArtifactListPerId[] = components.map((component) => {\n return {\n id: component.id,\n artifacts: this.builder.getArtifacts(component),\n };\n });\n this.filterByOptions(artifactListPerId);\n await this.saveFilesInFileSystemIfAsked(artifactListPerId);\n\n return this.artifactsObjectsToExtractorResults(artifactListPerId);\n }\n\n groupResultsByAspect(extractorResult: ExtractorResult[]) {\n return extractorResult.map((result) => {\n const artifacts = result.artifacts.reduce((acc, current) => {\n (acc[current.aspectId] ||= []).push(current);\n return acc;\n }, {});\n return { id: result.id, artifacts };\n });\n }\n\n private async saveFilesInFileSystemIfAsked(artifactListPerId: ArtifactListPerId[]) {\n const outDir = this.options.outDir;\n if (!outDir) {\n return;\n }\n // @todo: optimize this to first import all missing hashes.\n await pMapSeries(artifactListPerId, async ({ id, artifacts }) => {\n const vinyls = await artifacts.getVinylsAndImportIfMissing(id._legacy, this.scope.legacyScope);\n // make sure the component-dir is just one dir. without this, every slash in the component-id will create a new dir.\n const idAsFilename = filenamify(id.toStringWithoutVersion(), { replacement: '_' });\n const compPath = path.join(outDir, idAsFilename);\n await Promise.all(vinyls.map((vinyl) => fs.outputFile(path.join(compPath, vinyl.path), vinyl.contents)));\n });\n }\n\n private artifactsObjectsToExtractorResults(artifactListPerId: ArtifactListPerId[]): ExtractorResult[] {\n return artifactListPerId.map(({ id, artifacts }) => {\n const results: ExtractorArtifactResult[] = artifacts.map((artifact) => {\n return {\n artifactName: artifact.name,\n aspectId: artifact.task.aspectId,\n taskName: artifact.task.name || artifact.generatedBy,\n files: artifact.files.refs.map((ref) => ref.relativePath),\n };\n });\n return {\n id,\n artifacts: results,\n };\n });\n }\n\n private filterByOptions(artifactListPerId: ArtifactListPerId[]) {\n const { aspect, task, files } = this.options;\n let filteredArtifacts: Artifact[] = [];\n\n artifactListPerId.forEach((item) => {\n filteredArtifacts = item.artifacts.filter((artifact) => {\n if (aspect && aspect !== artifact.task.aspectId) return false;\n if (task && task !== artifact.task.name) return false;\n return true;\n });\n if (files) {\n filteredArtifacts = item.artifacts\n .map((artifact) => {\n const refs = artifact.files.refs.filter((ref) => minimatch(ref.relativePath, files));\n return new Artifact(artifact.def, new ArtifactFiles([], [], refs), artifact.task);\n })\n // remove artifacts with no files\n .filter((artifact) => !artifact.isEmpty());\n }\n item.artifacts = ArtifactList.fromArray(filteredArtifacts);\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ArtifactExtractor","constructor","scope","builder","pattern","options","list","ids","idsByPattern","components","getMany","artifactListPerId","map","component","id","artifacts","getArtifacts","filterByOptions","saveFilesInFileSystemIfAsked","artifactsObjectsToExtractorResults","groupResultsByAspect","extractorResult","result","reduce","acc","current","aspectId","push","outDir","pMapSeries","vinyls","getVinylsAndImportIfMissing","_legacy","legacyScope","idAsFilename","filenamify","toStringWithoutVersion","replacement","compPath","path","join","Promise","all","vinyl","fs","outputFile","contents","results","artifact","artifactName","name","task","taskName","generatedBy","files","refs","ref","relativePath","aspect","filteredArtifacts","forEach","item","filter","minimatch","Artifact","def","ArtifactFiles","isEmpty","ArtifactList","fromArray"],"sources":["artifact-extractor.ts"],"sourcesContent":["import path from 'path';\nimport filenamify from 'filenamify';\nimport fs from 'fs-extra';\nimport { ScopeMain } from '@teambit/scope';\nimport { ComponentID } from '@teambit/component-id';\nimport pMapSeries from 'p-map-series';\nimport minimatch from 'minimatch';\nimport { ArtifactFiles } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { BuilderMain } from '../builder.main.runtime';\nimport { ArtifactsOpts } from './artifacts.cmd';\nimport { ArtifactList } from './artifact-list';\nimport { Artifact } from './artifact';\n\nexport type ExtractorResult = {\n id: ComponentID;\n artifacts: ExtractorArtifactResult[];\n};\n\nexport type ExtractorArtifactResult = {\n artifactName: string;\n aspectId: string;\n taskName: string;\n files: string[];\n};\n\nexport type ExtractorResultGrouped = {\n id: ComponentID;\n artifacts: { [aspectId: string]: ExtractorArtifactResult[] };\n};\n\ntype ArtifactListPerId = {\n id: ComponentID;\n artifacts: ArtifactList<Artifact>;\n};\n\nexport class ArtifactExtractor {\n constructor(\n private scope: ScopeMain,\n private builder: BuilderMain,\n private pattern: string,\n private options: ArtifactsOpts\n ) {}\n\n async list(): Promise<ExtractorResult[]> {\n const ids = await this.scope.idsByPattern(this.pattern);\n const components = await this.scope.getMany(ids);\n const artifactListPerId: ArtifactListPerId[] = components.map((component) => {\n return {\n id: component.id,\n artifacts: this.builder.getArtifacts(component),\n };\n });\n this.filterByOptions(artifactListPerId);\n await this.saveFilesInFileSystemIfAsked(artifactListPerId);\n\n return this.artifactsObjectsToExtractorResults(artifactListPerId);\n }\n\n groupResultsByAspect(extractorResult: ExtractorResult[]) {\n return extractorResult.map((result) => {\n const artifacts = result.artifacts.reduce((acc, current) => {\n (acc[current.aspectId] ||= []).push(current);\n return acc;\n }, {});\n return { id: result.id, artifacts };\n });\n }\n\n private async saveFilesInFileSystemIfAsked(artifactListPerId: ArtifactListPerId[]) {\n const outDir = this.options.outDir;\n if (!outDir) {\n return;\n }\n // @todo: optimize this to first import all missing hashes.\n await pMapSeries(artifactListPerId, async ({ id, artifacts }) => {\n const vinyls = await artifacts.getVinylsAndImportIfMissing(id._legacy, this.scope.legacyScope);\n // make sure the component-dir is just one dir. without this, every slash in the component-id will create a new dir.\n const idAsFilename = filenamify(id.toStringWithoutVersion(), { replacement: '_' });\n const compPath = path.join(outDir, idAsFilename);\n await Promise.all(vinyls.map((vinyl) => fs.outputFile(path.join(compPath, vinyl.path), vinyl.contents)));\n });\n }\n\n private artifactsObjectsToExtractorResults(artifactListPerId: ArtifactListPerId[]): ExtractorResult[] {\n return artifactListPerId.map(({ id, artifacts }) => {\n const results: ExtractorArtifactResult[] = artifacts.map((artifact) => {\n return {\n artifactName: artifact.name,\n aspectId: artifact.task.aspectId,\n taskName: artifact.task.name || artifact.generatedBy,\n files: artifact.files.refs.map((ref) => ref.relativePath),\n };\n });\n return {\n id,\n artifacts: results,\n };\n });\n }\n\n private filterByOptions(artifactListPerId: ArtifactListPerId[]) {\n const { aspect, task, files } = this.options;\n let filteredArtifacts: Artifact[] = [];\n\n artifactListPerId.forEach((item) => {\n filteredArtifacts = item.artifacts.filter((artifact) => {\n if (aspect && aspect !== artifact.task.aspectId) return false;\n if (task && task !== artifact.task.name) return false;\n return true;\n });\n if (files) {\n filteredArtifacts = item.artifacts\n .map((artifact) => {\n const refs = artifact.files.refs.filter((ref) => minimatch(ref.relativePath, files));\n return new Artifact(artifact.def, new ArtifactFiles([], [], refs), artifact.task);\n })\n // remove artifacts with no files\n .filter((artifact) => !artifact.isEmpty());\n }\n item.artifacts = ArtifactList.fromArray(filteredArtifacts);\n });\n }\n}\n"],"mappings":"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"}
@@ -11,6 +11,7 @@ import { ScopeMain } from '@teambit/scope';
11
11
  import { Workspace } from '@teambit/workspace';
12
12
  import { IsolateComponentsOptions, IsolatorMain } from '@teambit/isolator';
13
13
  import { GeneratorMain } from '@teambit/generator';
14
+ import { UiMain } from '@teambit/ui';
14
15
  import { Artifact, ArtifactList } from './artifact';
15
16
  import { BuilderService, BuilderServiceOptions } from './builder.service';
16
17
  import { BuildTask } from './build-task';
@@ -110,7 +111,7 @@ export declare class BuilderMain {
110
111
  static slots: ((registerFn: () => string) => SlotRegistry<BuildTask>)[];
111
112
  static runtime: import("@teambit/harmony").RuntimeDefinition;
112
113
  static dependencies: import("@teambit/harmony").Aspect[];
113
- static provider([cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql, generator, component]: [
114
+ static provider([cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql, generator, component, ui]: [
114
115
  CLIMain,
115
116
  EnvsMain,
116
117
  Workspace,
@@ -120,6 +121,7 @@ export declare class BuilderMain {
120
121
  AspectLoaderMain,
121
122
  GraphqlMain,
122
123
  GeneratorMain,
123
- ComponentMain
124
+ ComponentMain,
125
+ UiMain
124
126
  ], config: any, [buildTaskSlot, tagTaskSlot, snapTaskSlot]: [TaskSlot, TaskSlot, TaskSlot]): Promise<BuilderMain>;
125
127
  }
@@ -128,6 +128,13 @@ function _generator() {
128
128
  };
129
129
  return data;
130
130
  }
131
+ function _ui() {
132
+ const data = require("@teambit/ui");
133
+ _ui = function () {
134
+ return data;
135
+ };
136
+ return data;
137
+ }
131
138
  function _artifact() {
132
139
  const data = require("./artifact");
133
140
  _artifact = function () {
@@ -487,7 +494,7 @@ class BuilderMain {
487
494
  getDownloadUrlForArtifact(componentId, taskId, path) {
488
495
  return `/api/${componentId}/~aspect/builder/${taskId}/${path ? `${FILE_PATH_PARAM_DELIM}${path}` : ''}`;
489
496
  }
490
- static async provider([cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql, generator, component], config, [buildTaskSlot, tagTaskSlot, snapTaskSlot]) {
497
+ static async provider([cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql, generator, component, ui], config, [buildTaskSlot, tagTaskSlot, snapTaskSlot]) {
491
498
  const artifactFactory = new (_artifactFactory().ArtifactFactory)();
492
499
  const logger = loggerExt.createLogger(_builder().BuilderAspect.id);
493
500
  const buildService = new (_builder3().BuilderService)(isolator, logger, buildTaskSlot, 'getBuildPipe', 'build', artifactFactory, scope);
@@ -495,6 +502,7 @@ class BuilderMain {
495
502
  const tagService = new (_builder3().BuilderService)(isolator, logger, tagTaskSlot, 'getTagPipe', 'tag', artifactFactory, scope);
496
503
  const snapService = new (_builder3().BuilderService)(isolator, logger, snapTaskSlot, 'getSnapPipe', 'snap', artifactFactory, scope);
497
504
  const builder = new BuilderMain(envs, workspace, buildService, tagService, snapService, scope, isolator, aspectLoader, component, buildTaskSlot, tagTaskSlot, snapTaskSlot);
505
+ builder.registerBuildTasks([new (_ui().BundleUiTask)(ui, logger)]);
498
506
  component.registerRoute([new (_builder4().BuilderRoute)(builder, scope, logger)]);
499
507
  graphql.register((0, _builder2().builderSchema)(builder, logger));
500
508
  if (generator) generator.registerComponentTemplate([_buildTask2().buildTaskTemplate]);
@@ -506,7 +514,7 @@ class BuilderMain {
506
514
  exports.BuilderMain = BuilderMain;
507
515
  (0, _defineProperty2().default)(BuilderMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
508
516
  (0, _defineProperty2().default)(BuilderMain, "runtime", _cli().MainRuntime);
509
- (0, _defineProperty2().default)(BuilderMain, "dependencies", [_cli().CLIAspect, _envs().EnvsAspect, _workspace().WorkspaceAspect, _scope().ScopeAspect, _isolator().IsolatorAspect, _logger().LoggerAspect, _aspectLoader().AspectLoaderAspect, _graphql().GraphqlAspect, _generator().GeneratorAspect, _component().ComponentAspect]);
517
+ (0, _defineProperty2().default)(BuilderMain, "dependencies", [_cli().CLIAspect, _envs().EnvsAspect, _workspace().WorkspaceAspect, _scope().ScopeAspect, _isolator().IsolatorAspect, _logger().LoggerAspect, _aspectLoader().AspectLoaderAspect, _graphql().GraphqlAspect, _generator().GeneratorAspect, _component().ComponentAspect, _ui().UIAspect]);
510
518
  _builder().BuilderAspect.addRuntime(BuilderMain);
511
519
 
512
520
  //# sourceMappingURL=builder.main.runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["FILE_PATH_PARAM_DELIM","BuilderMain","constructor","envs","workspace","buildService","tagService","snapService","scope","isolator","aspectLoader","componentAspect","buildTaskSlot","tagTaskSlot","snapTaskSlot","storeArtifacts","tasksResults","artifacts","flatMap","t","storeP","map","artifactMap","Promise","all","toArray","component","artifactList","store","err","ArtifactStorageError","pipelineResultsToBuilderData","components","buildPipelineResults","buildPipelineResultList","BuildPipelineResultList","ComponentMap","as","aspectsData","getDataOfComponent","id","pipelineReport","getPipelineReportOfComponent","getArtifactsDataOfComponent","pipeline","bitVersion","getHarmonyVersion","tagListener","options","isolateOptions","pipeResults","allTasksResults","throwOnError","forceDeploy","disableTagAndSnapPipelines","isSnap","skipBuildPipeline","populateArtifactsFromParent","buildEnvsExecutionResults","build","emptyRootDir","skipTests","tasks","AspectAspect","undefined","throwErrorsIfExist","push","hasErrors","deployEnvsExecutionResults","runSnapTasks","runTagTasks","builderDataMap","combineBuildDataFromParent","validateBuilderDataMap","forEach","buildData","taskSerializedIds","BuildTaskHelper","serializeId","aspectId","taskId","name","taskName","duplications","findDuplications","length","Error","toString","join","promises","builderData","idStr","parents","head","parent","parentComp","getHost","get","changeVersion","parentBuilderData","getBuilderData","artifact","artifactObj","toObject","find","a","task","aspectData","p","flattenValue","getArtifactsVinylByAspect","aspectName","getArtifactsByAspect","vinyls","getVinylsAndImportIfMissing","_legacy","legacyScope","getArtifactsVinylByAspectAndName","getArtifactsByAspectAndName","getArtifactsVinylByAspectAndTaskName","getArtifactsbyAspectAndTaskName","getArtifactsByName","getArtifacts","byAspectNameAndName","byAspectNameAndTaskName","getDataByAspect","data","ArtifactList","fromArray","BuilderAspect","clonedData","cloneDeep","artifactFiles","files","ArtifactFiles","fromObject","Artifact","Object","assign","fromArtifactObject","builderOptions","ids","c","network","isolateComponents","createEnvironment","graphCapsules","getAllComponents","builderServiceOptions","seedersOnly","originalSeeders","buildResult","runOnce","previousTasksResults","listTasks","compEnv","getEnv","buildTasks","getCurrentPipeTasks","tagTasks","snapTasks","envId","registerBuildTasks","register","registerDeployTasks","registerTagTasks","registerSnapTasks","getDownloadUrlForArtifact","componentId","path","provider","cli","loggerExt","graphql","generator","config","artifactFactory","ArtifactFactory","logger","createLogger","BuilderService","registerService","builder","registerRoute","BuilderRoute","builderSchema","registerComponentTemplate","buildTaskTemplate","commands","BuilderCmd","ArtifactsCmd","Slot","withType","MainRuntime","CLIAspect","EnvsAspect","WorkspaceAspect","ScopeAspect","IsolatorAspect","LoggerAspect","AspectLoaderAspect","GraphqlAspect","GeneratorAspect","ComponentAspect","addRuntime"],"sources":["builder.main.runtime.ts"],"sourcesContent":["import { cloneDeep } from 'lodash';\nimport { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';\nimport { ArtifactFiles, ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Component, ComponentMap, IComponent, ComponentAspect, ComponentMain, ComponentID } from '@teambit/component';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport AspectAspect from '@teambit/aspect';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { IsolateComponentsOptions, IsolatorAspect, IsolatorMain } from '@teambit/isolator';\nimport { getHarmonyVersion } from '@teambit/legacy/dist/bootstrap';\nimport findDuplications from '@teambit/legacy/dist/utils/array/find-duplications';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { Artifact, ArtifactList, FsArtifact } from './artifact';\nimport { ArtifactFactory } from './artifact/artifact-factory'; // it gets undefined when importing it from './artifact'\nimport { BuilderAspect } from './builder.aspect';\nimport { builderSchema } from './builder.graphql';\nimport { BuilderService, BuilderServiceOptions } from './builder.service';\nimport { BuilderCmd } from './build.cmd';\nimport { BuildTask, BuildTaskHelper } from './build-task';\nimport { TaskResults } from './build-pipe';\nimport { TaskResultsList } from './task-results-list';\nimport { ArtifactStorageError } from './exceptions';\nimport { BuildPipelineResultList, AspectData, PipelineReport } from './build-pipeline-result-list';\nimport { Serializable } from './types';\nimport { ArtifactsCmd } from './artifact/artifacts.cmd';\nimport { buildTaskTemplate } from './templates/build-task';\nimport { BuilderRoute } from './builder.route';\n\nexport type TaskSlot = SlotRegistry<BuildTask[]>;\nexport type OnTagResults = { builderDataMap: ComponentMap<RawBuilderData>; pipeResults: TaskResultsList[] };\nexport type OnTagOpts = {\n disableTagAndSnapPipelines?: boolean;\n throwOnError?: boolean; // on the CI it helps to save the results on failure so this is set to false\n forceDeploy?: boolean; // whether run the deploy-pipeline although the build-pipeline has failed\n skipBuildPipeline?: boolean; // helpful for tagging from scope where we want to use the build-artifacts of previous snap.\n combineBuildDataFromParent?: boolean; // helpful for tagging from scope where we want to save the build-data of parent snap.\n skipTests?: boolean;\n isSnap?: boolean;\n};\nexport const FILE_PATH_PARAM_DELIM = '~';\n\n/**\n * builder data format for the bit object store\n */\nexport type RawBuilderData = {\n pipeline: PipelineReport[];\n artifacts?: ArtifactObject[];\n aspectsData: AspectData[];\n bitVersion?: string;\n};\n/**\n * builder data mapped to an ArtifactList instance\n */\nexport type BuilderData = Omit<RawBuilderData, 'artifacts'> & {\n artifacts: ArtifactList<Artifact>;\n};\n\nexport class BuilderMain {\n constructor(\n private envs: EnvsMain,\n private workspace: Workspace,\n private buildService: BuilderService,\n private tagService: BuilderService,\n private snapService: BuilderService,\n private scope: ScopeMain,\n private isolator: IsolatorMain,\n private aspectLoader: AspectLoaderMain,\n private componentAspect: ComponentMain,\n private buildTaskSlot: TaskSlot,\n private tagTaskSlot: TaskSlot,\n private snapTaskSlot: TaskSlot\n ) {}\n\n private async storeArtifacts(tasksResults: TaskResults[]) {\n const artifacts = tasksResults.flatMap((t) => (t.artifacts ? [t.artifacts] : []));\n const storeP = artifacts.map(async (artifactMap: ComponentMap<ArtifactList<FsArtifact>>) => {\n return Promise.all(\n artifactMap.toArray().map(async ([component, artifactList]) => {\n try {\n return await artifactList.store(component);\n } catch (err: any) {\n throw new ArtifactStorageError(err, component);\n }\n })\n );\n });\n await Promise.all(storeP);\n }\n\n private pipelineResultsToBuilderData(\n components: Component[],\n buildPipelineResults: TaskResults[]\n ): ComponentMap<RawBuilderData> {\n const buildPipelineResultList = new BuildPipelineResultList(buildPipelineResults, components);\n return ComponentMap.as<RawBuilderData>(components, (component) => {\n const aspectsData = buildPipelineResultList.getDataOfComponent(component.id);\n const pipelineReport = buildPipelineResultList.getPipelineReportOfComponent(component.id);\n const artifacts = buildPipelineResultList.getArtifactsDataOfComponent(component.id);\n return { pipeline: pipelineReport, artifacts, aspectsData, bitVersion: getHarmonyVersion(true) };\n });\n }\n\n async tagListener(\n components: Component[],\n options: OnTagOpts = {},\n isolateOptions: IsolateComponentsOptions = {}\n ): Promise<OnTagResults> {\n const pipeResults: TaskResultsList[] = [];\n const allTasksResults: TaskResults[] = [];\n const { throwOnError, forceDeploy, disableTagAndSnapPipelines, isSnap, skipBuildPipeline } = options;\n if (options.skipBuildPipeline) isolateOptions.populateArtifactsFromParent = true;\n const buildEnvsExecutionResults = await this.build(\n components,\n { emptyRootDir: true, ...isolateOptions },\n {\n skipTests: options.skipTests,\n // even when build is skipped (in case of tag-from-scope), the pre-build/post-build and teambit.harmony/aspect tasks are needed\n tasks: skipBuildPipeline ? [AspectAspect.id] : undefined,\n }\n );\n if (throwOnError && !forceDeploy) buildEnvsExecutionResults.throwErrorsIfExist();\n allTasksResults.push(...buildEnvsExecutionResults.tasksResults);\n pipeResults.push(buildEnvsExecutionResults);\n\n if (forceDeploy || (!disableTagAndSnapPipelines && !buildEnvsExecutionResults?.hasErrors())) {\n const deployEnvsExecutionResults = isSnap\n ? await this.runSnapTasks(components, isolateOptions, buildEnvsExecutionResults?.tasksResults)\n : await this.runTagTasks(components, isolateOptions, buildEnvsExecutionResults?.tasksResults);\n if (throwOnError && !forceDeploy) deployEnvsExecutionResults.throwErrorsIfExist();\n allTasksResults.push(...deployEnvsExecutionResults.tasksResults);\n pipeResults.push(deployEnvsExecutionResults);\n }\n await this.storeArtifacts(allTasksResults);\n const builderDataMap = this.pipelineResultsToBuilderData(components, allTasksResults);\n if (options.combineBuildDataFromParent) await this.combineBuildDataFromParent(builderDataMap);\n this.validateBuilderDataMap(builderDataMap);\n\n return { builderDataMap, pipeResults };\n }\n\n private validateBuilderDataMap(builderDataMap: ComponentMap<RawBuilderData>) {\n builderDataMap.forEach((buildData: RawBuilderData, component) => {\n const taskSerializedIds = buildData.pipeline.map((t) =>\n BuildTaskHelper.serializeId({ aspectId: t.taskId, name: t.taskName })\n );\n const duplications = findDuplications(taskSerializedIds);\n if (duplications.length) {\n throw new Error(\n `build-task-results validation has failed. the following task(s) of \"${component.id.toString()}\" are duplicated: ${duplications.join(\n ', '\n )}`\n );\n }\n });\n }\n\n private async combineBuildDataFromParent(builderDataMap: ComponentMap<RawBuilderData>) {\n const promises = builderDataMap.map(async (builderData, component) => {\n const idStr = component.id.toString();\n const parents = component.head?.parents;\n if (!parents || parents.length !== 1) {\n throw new Error(`expect parents of ${idStr} to be 1, got ${parents?.length || 'none'}`);\n }\n const parent = parents[0];\n const parentComp = await this.componentAspect.getHost().get(component.id.changeVersion(parent.toString()));\n if (!parentComp) throw new Error(`unable to load parent component of ${idStr}. hash: ${parent}`);\n const parentBuilderData = this.getBuilderData(parentComp);\n if (!parentBuilderData) throw new Error(`parent of ${idStr} was not built yet. unable to continue`);\n parentBuilderData.artifacts.forEach((artifact) => {\n const artifactObj = artifact.toObject();\n if (!builderData.artifacts) builderData.artifacts = [];\n if (\n builderData.artifacts.find((a) => a.task.id === artifactObj.task.id && a.task.name === artifactObj.task.name)\n ) {\n return;\n }\n builderData.artifacts.push(artifactObj);\n });\n parentBuilderData.aspectsData.forEach((aspectData) => {\n if (builderData.aspectsData.find((a) => a.aspectId === aspectData.aspectId)) return;\n builderData.aspectsData.push(aspectData);\n });\n parentBuilderData.pipeline.forEach((pipeline) => {\n if (builderData.pipeline.find((p) => p.taskId === pipeline.taskId && p.taskName === pipeline.taskName)) return;\n builderData.pipeline.push(pipeline);\n });\n });\n\n await Promise.all(promises.flattenValue());\n }\n\n // TODO: merge with getArtifactsVinylByExtensionAndName by getting aspect name and name as object with optional props\n async getArtifactsVinylByAspect(component: Component, aspectName: string): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsByAspect(component, aspectName);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n return vinyls;\n }\n\n async getArtifactsVinylByAspectAndName(\n component: Component,\n aspectName: string,\n name: string\n ): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsByAspectAndName(component, aspectName, name);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n return vinyls;\n }\n\n async getArtifactsVinylByAspectAndTaskName(\n component: Component,\n aspectName: string,\n name: string\n ): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsbyAspectAndTaskName(component, aspectName, name);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n return vinyls;\n }\n\n getArtifactsByName(component: Component, name: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(undefined, name);\n return artifacts;\n }\n\n getArtifactsByAspect(component: Component, aspectName: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(aspectName);\n return artifacts;\n }\n\n getArtifactsByAspectAndName(component: Component, aspectName: string, name: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(aspectName, name);\n return artifacts;\n }\n\n getArtifactsbyAspectAndTaskName(component: IComponent, aspectName: string, taskName: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndTaskName(aspectName, taskName);\n return artifacts;\n }\n\n getDataByAspect(component: IComponent, aspectName: string): Serializable | undefined {\n const aspectsData = this.getBuilderData(component)?.aspectsData;\n const data = aspectsData?.find((aspectData) => aspectData.aspectId === aspectName);\n return data?.data;\n }\n\n getArtifacts(component: IComponent): ArtifactList<Artifact> {\n const artifacts = this.getBuilderData(component)?.artifacts || ArtifactList.fromArray([]);\n return artifacts;\n }\n\n getBuilderData(component: IComponent): BuilderData | undefined {\n const data = component.get(BuilderAspect.id)?.data;\n if (!data) return undefined;\n const clonedData = cloneDeep(data) as BuilderData;\n let artifactFiles: ArtifactFiles;\n const artifacts = clonedData.artifacts?.map((artifact) => {\n if (!(artifact.files instanceof ArtifactFiles)) {\n artifactFiles = ArtifactFiles.fromObject(artifact.files);\n } else {\n artifactFiles = artifact.files;\n }\n if (artifact instanceof Artifact) {\n return artifact;\n }\n Object.assign(artifact, { files: artifactFiles });\n return Artifact.fromArtifactObject(artifact);\n });\n clonedData.artifacts = ArtifactList.fromArray(artifacts || []);\n return clonedData;\n }\n\n async build(\n components: Component[],\n isolateOptions?: IsolateComponentsOptions,\n builderOptions?: BuilderServiceOptions\n ): Promise<TaskResultsList> {\n const ids = components.map((c) => c.id);\n const network = await this.isolator.isolateComponents(ids, isolateOptions, this.scope.legacyScope);\n const envs = await this.envs.createEnvironment(network.graphCapsules.getAllComponents());\n const builderServiceOptions = {\n seedersOnly: isolateOptions?.seedersOnly,\n originalSeeders: ids,\n ...(builderOptions || {}),\n };\n const buildResult = await envs.runOnce(this.buildService, builderServiceOptions);\n return buildResult;\n }\n\n async runTagTasks(\n components: Component[],\n isolateOptions?: IsolateComponentsOptions,\n previousTasksResults?: TaskResults[]\n ): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.tagService, {\n seedersOnly: isolateOptions?.seedersOnly,\n previousTasksResults,\n });\n\n return buildResult;\n }\n\n async runSnapTasks(\n components: Component[],\n isolateOptions?: IsolateComponentsOptions,\n previousTasksResults?: TaskResults[]\n ): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.snapService, {\n seedersOnly: isolateOptions?.seedersOnly,\n previousTasksResults,\n });\n\n return buildResult;\n }\n\n listTasks(component: Component) {\n const compEnv = this.envs.getEnv(component);\n const buildTasks = this.buildService.getCurrentPipeTasks(compEnv);\n const tagTasks = this.tagService.getCurrentPipeTasks(compEnv);\n const snapTasks = this.snapService.getCurrentPipeTasks(compEnv);\n return { id: component.id, envId: compEnv.id, buildTasks, tagTasks, snapTasks };\n }\n\n /**\n * register a build task to apply on all component build pipelines.\n * build happens on `bit build` and as part of `bit tag --persist`.\n */\n registerBuildTasks(tasks: BuildTask[]) {\n this.buildTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * @deprecated use registerTagTasks or registerSnapTasks\n */\n registerDeployTasks(tasks: BuildTask[]) {\n this.tagTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * tag tasks that don't get executed on `bit build`, only on `bit tag'.\n * this pipeline is running once the build-pipeline has completed.\n */\n registerTagTasks(tasks: BuildTask[]) {\n this.tagTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * tag tasks that don't get executed on `bit build`, only on `bit snap'.\n * this pipeline is running once the build-pipeline has completed.\n */\n registerSnapTasks(tasks: BuildTask[]) {\n this.snapTaskSlot.register(tasks);\n return this;\n }\n\n getDownloadUrlForArtifact(componentId: ComponentID, taskId: string, path?: string) {\n return `/api/${componentId}/~aspect/builder/${taskId}/${path ? `${FILE_PATH_PARAM_DELIM}${path}` : ''}`;\n }\n\n static slots = [Slot.withType<BuildTask>(), Slot.withType<BuildTask>(), Slot.withType<BuildTask>()];\n\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n EnvsAspect,\n WorkspaceAspect,\n ScopeAspect,\n IsolatorAspect,\n LoggerAspect,\n AspectLoaderAspect,\n GraphqlAspect,\n GeneratorAspect,\n ComponentAspect,\n ];\n\n static async provider(\n [cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql, generator, component]: [\n CLIMain,\n EnvsMain,\n Workspace,\n ScopeMain,\n IsolatorMain,\n LoggerMain,\n AspectLoaderMain,\n GraphqlMain,\n GeneratorMain,\n ComponentMain\n ],\n config,\n [buildTaskSlot, tagTaskSlot, snapTaskSlot]: [TaskSlot, TaskSlot, TaskSlot]\n ) {\n const artifactFactory = new ArtifactFactory();\n const logger = loggerExt.createLogger(BuilderAspect.id);\n const buildService = new BuilderService(\n isolator,\n logger,\n buildTaskSlot,\n 'getBuildPipe',\n 'build',\n artifactFactory,\n scope\n );\n envs.registerService(buildService);\n const tagService = new BuilderService(isolator, logger, tagTaskSlot, 'getTagPipe', 'tag', artifactFactory, scope);\n const snapService = new BuilderService(\n isolator,\n logger,\n snapTaskSlot,\n 'getSnapPipe',\n 'snap',\n artifactFactory,\n scope\n );\n const builder = new BuilderMain(\n envs,\n workspace,\n buildService,\n tagService,\n snapService,\n scope,\n isolator,\n aspectLoader,\n component,\n buildTaskSlot,\n tagTaskSlot,\n snapTaskSlot\n );\n component.registerRoute([new BuilderRoute(builder, scope, logger)]);\n graphql.register(builderSchema(builder, logger));\n if (generator) generator.registerComponentTemplate([buildTaskTemplate]);\n const commands = [new BuilderCmd(builder, workspace, logger), new ArtifactsCmd(builder, scope)];\n cli.register(...commands);\n\n return builder;\n }\n}\n\nBuilderAspect.addRuntime(BuilderMain);\n"],"mappings":"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"}
1
+ {"version":3,"names":["FILE_PATH_PARAM_DELIM","BuilderMain","constructor","envs","workspace","buildService","tagService","snapService","scope","isolator","aspectLoader","componentAspect","buildTaskSlot","tagTaskSlot","snapTaskSlot","storeArtifacts","tasksResults","artifacts","flatMap","t","storeP","map","artifactMap","Promise","all","toArray","component","artifactList","store","err","ArtifactStorageError","pipelineResultsToBuilderData","components","buildPipelineResults","buildPipelineResultList","BuildPipelineResultList","ComponentMap","as","aspectsData","getDataOfComponent","id","pipelineReport","getPipelineReportOfComponent","getArtifactsDataOfComponent","pipeline","bitVersion","getHarmonyVersion","tagListener","options","isolateOptions","pipeResults","allTasksResults","throwOnError","forceDeploy","disableTagAndSnapPipelines","isSnap","skipBuildPipeline","populateArtifactsFromParent","buildEnvsExecutionResults","build","emptyRootDir","skipTests","tasks","AspectAspect","undefined","throwErrorsIfExist","push","hasErrors","deployEnvsExecutionResults","runSnapTasks","runTagTasks","builderDataMap","combineBuildDataFromParent","validateBuilderDataMap","forEach","buildData","taskSerializedIds","BuildTaskHelper","serializeId","aspectId","taskId","name","taskName","duplications","findDuplications","length","Error","toString","join","promises","builderData","idStr","parents","head","parent","parentComp","getHost","get","changeVersion","parentBuilderData","getBuilderData","artifact","artifactObj","toObject","find","a","task","aspectData","p","flattenValue","getArtifactsVinylByAspect","aspectName","getArtifactsByAspect","vinyls","getVinylsAndImportIfMissing","_legacy","legacyScope","getArtifactsVinylByAspectAndName","getArtifactsByAspectAndName","getArtifactsVinylByAspectAndTaskName","getArtifactsbyAspectAndTaskName","getArtifactsByName","getArtifacts","byAspectNameAndName","byAspectNameAndTaskName","getDataByAspect","data","ArtifactList","fromArray","BuilderAspect","clonedData","cloneDeep","artifactFiles","files","ArtifactFiles","fromObject","Artifact","Object","assign","fromArtifactObject","builderOptions","ids","c","network","isolateComponents","createEnvironment","graphCapsules","getAllComponents","builderServiceOptions","seedersOnly","originalSeeders","buildResult","runOnce","previousTasksResults","listTasks","compEnv","getEnv","buildTasks","getCurrentPipeTasks","tagTasks","snapTasks","envId","registerBuildTasks","register","registerDeployTasks","registerTagTasks","registerSnapTasks","getDownloadUrlForArtifact","componentId","path","provider","cli","loggerExt","graphql","generator","ui","config","artifactFactory","ArtifactFactory","logger","createLogger","BuilderService","registerService","builder","BundleUiTask","registerRoute","BuilderRoute","builderSchema","registerComponentTemplate","buildTaskTemplate","commands","BuilderCmd","ArtifactsCmd","Slot","withType","MainRuntime","CLIAspect","EnvsAspect","WorkspaceAspect","ScopeAspect","IsolatorAspect","LoggerAspect","AspectLoaderAspect","GraphqlAspect","GeneratorAspect","ComponentAspect","UIAspect","addRuntime"],"sources":["builder.main.runtime.ts"],"sourcesContent":["import { cloneDeep } from 'lodash';\nimport { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';\nimport { ArtifactFiles, ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Component, ComponentMap, IComponent, ComponentAspect, ComponentMain, ComponentID } from '@teambit/component';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport AspectAspect from '@teambit/aspect';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { IsolateComponentsOptions, IsolatorAspect, IsolatorMain } from '@teambit/isolator';\nimport { getHarmonyVersion } from '@teambit/legacy/dist/bootstrap';\nimport findDuplications from '@teambit/legacy/dist/utils/array/find-duplications';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { UIAspect, UiMain, BundleUiTask } from '@teambit/ui';\nimport { Artifact, ArtifactList, FsArtifact } from './artifact';\nimport { ArtifactFactory } from './artifact/artifact-factory'; // it gets undefined when importing it from './artifact'\nimport { BuilderAspect } from './builder.aspect';\nimport { builderSchema } from './builder.graphql';\nimport { BuilderService, BuilderServiceOptions } from './builder.service';\nimport { BuilderCmd } from './build.cmd';\nimport { BuildTask, BuildTaskHelper } from './build-task';\nimport { TaskResults } from './build-pipe';\nimport { TaskResultsList } from './task-results-list';\nimport { ArtifactStorageError } from './exceptions';\nimport { BuildPipelineResultList, AspectData, PipelineReport } from './build-pipeline-result-list';\nimport { Serializable } from './types';\nimport { ArtifactsCmd } from './artifact/artifacts.cmd';\nimport { buildTaskTemplate } from './templates/build-task';\nimport { BuilderRoute } from './builder.route';\n\nexport type TaskSlot = SlotRegistry<BuildTask[]>;\nexport type OnTagResults = { builderDataMap: ComponentMap<RawBuilderData>; pipeResults: TaskResultsList[] };\nexport type OnTagOpts = {\n disableTagAndSnapPipelines?: boolean;\n throwOnError?: boolean; // on the CI it helps to save the results on failure so this is set to false\n forceDeploy?: boolean; // whether run the deploy-pipeline although the build-pipeline has failed\n skipBuildPipeline?: boolean; // helpful for tagging from scope where we want to use the build-artifacts of previous snap.\n combineBuildDataFromParent?: boolean; // helpful for tagging from scope where we want to save the build-data of parent snap.\n skipTests?: boolean;\n isSnap?: boolean;\n};\nexport const FILE_PATH_PARAM_DELIM = '~';\n\n/**\n * builder data format for the bit object store\n */\nexport type RawBuilderData = {\n pipeline: PipelineReport[];\n artifacts?: ArtifactObject[];\n aspectsData: AspectData[];\n bitVersion?: string;\n};\n/**\n * builder data mapped to an ArtifactList instance\n */\nexport type BuilderData = Omit<RawBuilderData, 'artifacts'> & {\n artifacts: ArtifactList<Artifact>;\n};\n\nexport class BuilderMain {\n constructor(\n private envs: EnvsMain,\n private workspace: Workspace,\n private buildService: BuilderService,\n private tagService: BuilderService,\n private snapService: BuilderService,\n private scope: ScopeMain,\n private isolator: IsolatorMain,\n private aspectLoader: AspectLoaderMain,\n private componentAspect: ComponentMain,\n private buildTaskSlot: TaskSlot,\n private tagTaskSlot: TaskSlot,\n private snapTaskSlot: TaskSlot\n ) {}\n\n private async storeArtifacts(tasksResults: TaskResults[]) {\n const artifacts = tasksResults.flatMap((t) => (t.artifacts ? [t.artifacts] : []));\n const storeP = artifacts.map(async (artifactMap: ComponentMap<ArtifactList<FsArtifact>>) => {\n return Promise.all(\n artifactMap.toArray().map(async ([component, artifactList]) => {\n try {\n return await artifactList.store(component);\n } catch (err: any) {\n throw new ArtifactStorageError(err, component);\n }\n })\n );\n });\n await Promise.all(storeP);\n }\n\n private pipelineResultsToBuilderData(\n components: Component[],\n buildPipelineResults: TaskResults[]\n ): ComponentMap<RawBuilderData> {\n const buildPipelineResultList = new BuildPipelineResultList(buildPipelineResults, components);\n return ComponentMap.as<RawBuilderData>(components, (component) => {\n const aspectsData = buildPipelineResultList.getDataOfComponent(component.id);\n const pipelineReport = buildPipelineResultList.getPipelineReportOfComponent(component.id);\n const artifacts = buildPipelineResultList.getArtifactsDataOfComponent(component.id);\n return { pipeline: pipelineReport, artifacts, aspectsData, bitVersion: getHarmonyVersion(true) };\n });\n }\n\n async tagListener(\n components: Component[],\n options: OnTagOpts = {},\n isolateOptions: IsolateComponentsOptions = {}\n ): Promise<OnTagResults> {\n const pipeResults: TaskResultsList[] = [];\n const allTasksResults: TaskResults[] = [];\n const { throwOnError, forceDeploy, disableTagAndSnapPipelines, isSnap, skipBuildPipeline } = options;\n if (options.skipBuildPipeline) isolateOptions.populateArtifactsFromParent = true;\n const buildEnvsExecutionResults = await this.build(\n components,\n { emptyRootDir: true, ...isolateOptions },\n {\n skipTests: options.skipTests,\n // even when build is skipped (in case of tag-from-scope), the pre-build/post-build and teambit.harmony/aspect tasks are needed\n tasks: skipBuildPipeline ? [AspectAspect.id] : undefined,\n }\n );\n if (throwOnError && !forceDeploy) buildEnvsExecutionResults.throwErrorsIfExist();\n allTasksResults.push(...buildEnvsExecutionResults.tasksResults);\n pipeResults.push(buildEnvsExecutionResults);\n\n if (forceDeploy || (!disableTagAndSnapPipelines && !buildEnvsExecutionResults?.hasErrors())) {\n const deployEnvsExecutionResults = isSnap\n ? await this.runSnapTasks(components, isolateOptions, buildEnvsExecutionResults?.tasksResults)\n : await this.runTagTasks(components, isolateOptions, buildEnvsExecutionResults?.tasksResults);\n if (throwOnError && !forceDeploy) deployEnvsExecutionResults.throwErrorsIfExist();\n allTasksResults.push(...deployEnvsExecutionResults.tasksResults);\n pipeResults.push(deployEnvsExecutionResults);\n }\n await this.storeArtifacts(allTasksResults);\n const builderDataMap = this.pipelineResultsToBuilderData(components, allTasksResults);\n if (options.combineBuildDataFromParent) await this.combineBuildDataFromParent(builderDataMap);\n this.validateBuilderDataMap(builderDataMap);\n\n return { builderDataMap, pipeResults };\n }\n\n private validateBuilderDataMap(builderDataMap: ComponentMap<RawBuilderData>) {\n builderDataMap.forEach((buildData: RawBuilderData, component) => {\n const taskSerializedIds = buildData.pipeline.map((t) =>\n BuildTaskHelper.serializeId({ aspectId: t.taskId, name: t.taskName })\n );\n const duplications = findDuplications(taskSerializedIds);\n if (duplications.length) {\n throw new Error(\n `build-task-results validation has failed. the following task(s) of \"${component.id.toString()}\" are duplicated: ${duplications.join(\n ', '\n )}`\n );\n }\n });\n }\n\n private async combineBuildDataFromParent(builderDataMap: ComponentMap<RawBuilderData>) {\n const promises = builderDataMap.map(async (builderData, component) => {\n const idStr = component.id.toString();\n const parents = component.head?.parents;\n if (!parents || parents.length !== 1) {\n throw new Error(`expect parents of ${idStr} to be 1, got ${parents?.length || 'none'}`);\n }\n const parent = parents[0];\n const parentComp = await this.componentAspect.getHost().get(component.id.changeVersion(parent.toString()));\n if (!parentComp) throw new Error(`unable to load parent component of ${idStr}. hash: ${parent}`);\n const parentBuilderData = this.getBuilderData(parentComp);\n if (!parentBuilderData) throw new Error(`parent of ${idStr} was not built yet. unable to continue`);\n parentBuilderData.artifacts.forEach((artifact) => {\n const artifactObj = artifact.toObject();\n if (!builderData.artifacts) builderData.artifacts = [];\n if (\n builderData.artifacts.find((a) => a.task.id === artifactObj.task.id && a.task.name === artifactObj.task.name)\n ) {\n return;\n }\n builderData.artifacts.push(artifactObj);\n });\n parentBuilderData.aspectsData.forEach((aspectData) => {\n if (builderData.aspectsData.find((a) => a.aspectId === aspectData.aspectId)) return;\n builderData.aspectsData.push(aspectData);\n });\n parentBuilderData.pipeline.forEach((pipeline) => {\n if (builderData.pipeline.find((p) => p.taskId === pipeline.taskId && p.taskName === pipeline.taskName)) return;\n builderData.pipeline.push(pipeline);\n });\n });\n\n await Promise.all(promises.flattenValue());\n }\n\n // TODO: merge with getArtifactsVinylByExtensionAndName by getting aspect name and name as object with optional props\n async getArtifactsVinylByAspect(component: Component, aspectName: string): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsByAspect(component, aspectName);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n return vinyls;\n }\n\n async getArtifactsVinylByAspectAndName(\n component: Component,\n aspectName: string,\n name: string\n ): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsByAspectAndName(component, aspectName, name);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n return vinyls;\n }\n\n async getArtifactsVinylByAspectAndTaskName(\n component: Component,\n aspectName: string,\n name: string\n ): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsbyAspectAndTaskName(component, aspectName, name);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n return vinyls;\n }\n\n getArtifactsByName(component: Component, name: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(undefined, name);\n return artifacts;\n }\n\n getArtifactsByAspect(component: Component, aspectName: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(aspectName);\n return artifacts;\n }\n\n getArtifactsByAspectAndName(component: Component, aspectName: string, name: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(aspectName, name);\n return artifacts;\n }\n\n getArtifactsbyAspectAndTaskName(component: IComponent, aspectName: string, taskName: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndTaskName(aspectName, taskName);\n return artifacts;\n }\n\n getDataByAspect(component: IComponent, aspectName: string): Serializable | undefined {\n const aspectsData = this.getBuilderData(component)?.aspectsData;\n const data = aspectsData?.find((aspectData) => aspectData.aspectId === aspectName);\n return data?.data;\n }\n\n getArtifacts(component: IComponent): ArtifactList<Artifact> {\n const artifacts = this.getBuilderData(component)?.artifacts || ArtifactList.fromArray([]);\n return artifacts;\n }\n\n getBuilderData(component: IComponent): BuilderData | undefined {\n const data = component.get(BuilderAspect.id)?.data;\n if (!data) return undefined;\n const clonedData = cloneDeep(data) as BuilderData;\n let artifactFiles: ArtifactFiles;\n const artifacts = clonedData.artifacts?.map((artifact) => {\n if (!(artifact.files instanceof ArtifactFiles)) {\n artifactFiles = ArtifactFiles.fromObject(artifact.files);\n } else {\n artifactFiles = artifact.files;\n }\n if (artifact instanceof Artifact) {\n return artifact;\n }\n Object.assign(artifact, { files: artifactFiles });\n return Artifact.fromArtifactObject(artifact);\n });\n clonedData.artifacts = ArtifactList.fromArray(artifacts || []);\n return clonedData;\n }\n\n async build(\n components: Component[],\n isolateOptions?: IsolateComponentsOptions,\n builderOptions?: BuilderServiceOptions\n ): Promise<TaskResultsList> {\n const ids = components.map((c) => c.id);\n const network = await this.isolator.isolateComponents(ids, isolateOptions, this.scope.legacyScope);\n const envs = await this.envs.createEnvironment(network.graphCapsules.getAllComponents());\n const builderServiceOptions = {\n seedersOnly: isolateOptions?.seedersOnly,\n originalSeeders: ids,\n ...(builderOptions || {}),\n };\n const buildResult = await envs.runOnce(this.buildService, builderServiceOptions);\n return buildResult;\n }\n\n async runTagTasks(\n components: Component[],\n isolateOptions?: IsolateComponentsOptions,\n previousTasksResults?: TaskResults[]\n ): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.tagService, {\n seedersOnly: isolateOptions?.seedersOnly,\n previousTasksResults,\n });\n\n return buildResult;\n }\n\n async runSnapTasks(\n components: Component[],\n isolateOptions?: IsolateComponentsOptions,\n previousTasksResults?: TaskResults[]\n ): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.snapService, {\n seedersOnly: isolateOptions?.seedersOnly,\n previousTasksResults,\n });\n\n return buildResult;\n }\n\n listTasks(component: Component) {\n const compEnv = this.envs.getEnv(component);\n const buildTasks = this.buildService.getCurrentPipeTasks(compEnv);\n const tagTasks = this.tagService.getCurrentPipeTasks(compEnv);\n const snapTasks = this.snapService.getCurrentPipeTasks(compEnv);\n return { id: component.id, envId: compEnv.id, buildTasks, tagTasks, snapTasks };\n }\n\n /**\n * register a build task to apply on all component build pipelines.\n * build happens on `bit build` and as part of `bit tag --persist`.\n */\n registerBuildTasks(tasks: BuildTask[]) {\n this.buildTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * @deprecated use registerTagTasks or registerSnapTasks\n */\n registerDeployTasks(tasks: BuildTask[]) {\n this.tagTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * tag tasks that don't get executed on `bit build`, only on `bit tag'.\n * this pipeline is running once the build-pipeline has completed.\n */\n registerTagTasks(tasks: BuildTask[]) {\n this.tagTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * tag tasks that don't get executed on `bit build`, only on `bit snap'.\n * this pipeline is running once the build-pipeline has completed.\n */\n registerSnapTasks(tasks: BuildTask[]) {\n this.snapTaskSlot.register(tasks);\n return this;\n }\n\n getDownloadUrlForArtifact(componentId: ComponentID, taskId: string, path?: string) {\n return `/api/${componentId}/~aspect/builder/${taskId}/${path ? `${FILE_PATH_PARAM_DELIM}${path}` : ''}`;\n }\n\n static slots = [Slot.withType<BuildTask>(), Slot.withType<BuildTask>(), Slot.withType<BuildTask>()];\n\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n EnvsAspect,\n WorkspaceAspect,\n ScopeAspect,\n IsolatorAspect,\n LoggerAspect,\n AspectLoaderAspect,\n GraphqlAspect,\n GeneratorAspect,\n ComponentAspect,\n UIAspect,\n ];\n\n static async provider(\n [cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql, generator, component, ui]: [\n CLIMain,\n EnvsMain,\n Workspace,\n ScopeMain,\n IsolatorMain,\n LoggerMain,\n AspectLoaderMain,\n GraphqlMain,\n GeneratorMain,\n ComponentMain,\n UiMain\n ],\n config,\n [buildTaskSlot, tagTaskSlot, snapTaskSlot]: [TaskSlot, TaskSlot, TaskSlot]\n ) {\n const artifactFactory = new ArtifactFactory();\n const logger = loggerExt.createLogger(BuilderAspect.id);\n const buildService = new BuilderService(\n isolator,\n logger,\n buildTaskSlot,\n 'getBuildPipe',\n 'build',\n artifactFactory,\n scope\n );\n envs.registerService(buildService);\n const tagService = new BuilderService(isolator, logger, tagTaskSlot, 'getTagPipe', 'tag', artifactFactory, scope);\n const snapService = new BuilderService(\n isolator,\n logger,\n snapTaskSlot,\n 'getSnapPipe',\n 'snap',\n artifactFactory,\n scope\n );\n const builder = new BuilderMain(\n envs,\n workspace,\n buildService,\n tagService,\n snapService,\n scope,\n isolator,\n aspectLoader,\n component,\n buildTaskSlot,\n tagTaskSlot,\n snapTaskSlot\n );\n builder.registerBuildTasks([new BundleUiTask(ui, logger)]);\n component.registerRoute([new BuilderRoute(builder, scope, logger)]);\n graphql.register(builderSchema(builder, logger));\n if (generator) generator.registerComponentTemplate([buildTaskTemplate]);\n const commands = [new BuilderCmd(builder, workspace, logger), new ArtifactsCmd(builder, scope)];\n cli.register(...commands);\n\n return builder;\n }\n}\n\nBuilderAspect.addRuntime(BuilderMain);\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.1047/dist/builder.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.1047/dist/builder.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.1048/dist/builder.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.1048/dist/builder.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/builder",
3
- "version": "0.0.1047",
3
+ "version": "0.0.1048",
4
4
  "homepage": "https://bit.cloud/teambit/pipelines/builder",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.pipelines",
8
8
  "name": "builder",
9
- "version": "0.0.1047"
9
+ "version": "0.0.1048"
10
10
  },
11
11
  "dependencies": {
12
12
  "p-map-series": "2.1.0",
@@ -27,19 +27,20 @@
27
27
  "@teambit/graph.cleargraph": "0.0.1",
28
28
  "@teambit/harmony": "0.4.6",
29
29
  "@teambit/component-id": "0.0.427",
30
- "@teambit/component": "0.0.1047",
31
- "@teambit/envs": "0.0.1047",
30
+ "@teambit/component": "0.0.1048",
31
+ "@teambit/envs": "0.0.1048",
32
32
  "@teambit/logger": "0.0.798",
33
- "@teambit/tester": "0.0.1047",
34
- "@teambit/isolator": "0.0.1047",
33
+ "@teambit/tester": "0.0.1048",
34
+ "@teambit/isolator": "0.0.1048",
35
35
  "@teambit/lane-id": "0.0.222",
36
36
  "@teambit/cli": "0.0.705",
37
- "@teambit/workspace": "0.0.1047",
38
- "@teambit/aspect-loader": "0.0.1047",
39
- "@teambit/aspect": "0.0.1047",
40
- "@teambit/generator": "0.0.1047",
41
- "@teambit/graphql": "0.0.1047",
42
- "@teambit/scope": "0.0.1047",
37
+ "@teambit/workspace": "0.0.1048",
38
+ "@teambit/aspect-loader": "0.0.1048",
39
+ "@teambit/aspect": "0.0.1048",
40
+ "@teambit/generator": "0.0.1048",
41
+ "@teambit/graphql": "0.0.1048",
42
+ "@teambit/scope": "0.0.1048",
43
+ "@teambit/ui": "0.0.1048",
43
44
  "@teambit/express": "0.0.803",
44
45
  "@teambit/bit-error": "0.0.402"
45
46
  },