@teambit/builder 0.0.1131 → 0.0.1133
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.
- package/builder.service.tsx +6 -5
- package/dist/build.cmd.js +0 -1
- package/dist/build.cmd.js.map +1 -1
- package/dist/builder.main.runtime.d.ts +3 -2
- package/dist/builder.main.runtime.js +4 -2
- package/dist/builder.main.runtime.js.map +1 -1
- package/dist/builder.service.js +12 -3
- package/dist/builder.service.js.map +1 -1
- package/dist/{preview-1691983057527.js → preview-1692155876143.js} +2 -2
- package/package-tar/teambit-builder-0.0.1133.tgz +0 -0
- package/package.json +20 -20
- package/package-tar/teambit-builder-0.0.1131.tgz +0 -0
package/builder.service.tsx
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CFG_CAPSULES_BUILD_COMPONENTS_BASE_DIR } from '@teambit/legacy/dist/constants';
|
|
2
2
|
import { EnvService, ExecutionContext, EnvDefinition, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs';
|
|
3
3
|
import React from 'react';
|
|
4
|
+
import chalk from 'chalk';
|
|
4
5
|
import { uniq } from 'lodash';
|
|
5
6
|
import { ScopeMain } from '@teambit/scope';
|
|
6
7
|
import pMapSeries from 'p-map-series';
|
|
@@ -101,8 +102,8 @@ export class BuilderService implements EnvService<BuildServiceResults, string> {
|
|
|
101
102
|
);
|
|
102
103
|
tasksQueue.validate();
|
|
103
104
|
this.logger.info(`going to run tasks in the following order:\n${tasksQueue.toString()}`);
|
|
104
|
-
|
|
105
|
-
const title = `Running ${this.displayPipeName} pipeline using ${envs.length} environment(s)
|
|
105
|
+
this.logger.console('\n'); // this is to make is clear separation between the various pipelines (build/snap/tag)
|
|
106
|
+
const title = `Running ${this.displayPipeName} pipeline using ${envs.length} environment(s), total ${tasksQueue.length} tasks`;
|
|
106
107
|
const longProcessLogger = this.logger.createLongProcessLogger(title, undefined, 'title');
|
|
107
108
|
const envsBuildContext: EnvsBuildContext = {};
|
|
108
109
|
const capsulesBaseDir = this.getComponentsCapsulesBaseDir();
|
|
@@ -124,9 +125,9 @@ export class BuilderService implements EnvService<BuildServiceResults, string> {
|
|
|
124
125
|
);
|
|
125
126
|
const capsuleNetwork = await this.isolator.isolateComponents(componentIds, isolateOptions);
|
|
126
127
|
capsuleNetwork._originalSeeders = originalSeedersOfThisEnv;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
);
|
|
128
|
+
const msg = `building ${originalSeedersOfThisEnv.length} components of env "${executionContext.id}"`;
|
|
129
|
+
const extraDetails = `original seeders of this env: ${originalSeedersOfThisEnv.length}, graph of this env: ${capsuleNetwork.seedersCapsules.length}, graph total (include other envs): ${capsuleNetwork.graphCapsules.length}`;
|
|
130
|
+
this.logger.console(`${msg}. ${chalk.dim(extraDetails)}`);
|
|
130
131
|
const buildContext = Object.assign(executionContext, {
|
|
131
132
|
capsuleNetwork,
|
|
132
133
|
previousTasksResults: [],
|
package/dist/build.cmd.js
CHANGED
|
@@ -79,7 +79,6 @@ specify the task-name (e.g. "TypescriptCompiler") or the task-aspect-id (e.g. te
|
|
|
79
79
|
if (!components.length) {
|
|
80
80
|
return _chalk().default.bold(`no components found to build. use "--unmodified" flag to build all components or specify the ids to build, otherwise, only new and modified components will be built`);
|
|
81
81
|
}
|
|
82
|
-
this.logger.consoleSuccess(`found ${components.length} components to build`);
|
|
83
82
|
const envsExecutionResults = await this.builder.build(components, {
|
|
84
83
|
installOptions: {
|
|
85
84
|
installTeambitBit: install,
|
package/dist/build.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_workspace","data","require","_constants","_chalk","_interopRequireDefault","BuilderCmd","constructor","builder","workspace","logger","_defineProperty2","default","name","description","COMPONENT_PATTERN_HELP","report","pattern","all","unmodified","dev","install","cachePackagesOnCapsulesRoot","reuseCapsules","tasks","listTasks","skipTests","failFast","OutsideWorkspaceError","consoleWarning","getListTasks","longProcessLogger","createLongProcessLogger","components","getComponentsByUserInput","length","chalk","bold","
|
|
1
|
+
{"version":3,"names":["_workspace","data","require","_constants","_chalk","_interopRequireDefault","BuilderCmd","constructor","builder","workspace","logger","_defineProperty2","default","name","description","COMPONENT_PATTERN_HELP","report","pattern","all","unmodified","dev","install","cachePackagesOnCapsulesRoot","reuseCapsules","tasks","listTasks","skipTests","failFast","OutsideWorkspaceError","consoleWarning","getListTasks","longProcessLogger","createLongProcessLogger","components","getComponentsByUserInput","length","chalk","bold","envsExecutionResults","build","installOptions","installTeambitBit","packageManagerConfigRootDir","path","linkingOptions","linkTeambitBit","emptyRootDir","getExistingAsIs","split","map","task","trim","exitOnFirstFailedTask","end","hasErrors","throwErrorsIfExist","green","tasksQueue","componentIdStr","compId","resolveComponentId","component","get","results","id","toString","envId","buildTasks","join","tagTasks","snapTasks","exports"],"sources":["build.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { Logger } from '@teambit/logger';\nimport { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport chalk from 'chalk';\nimport { BuilderMain } from './builder.main.runtime';\n\ntype BuildOpts = {\n all: boolean; // deprecated. use unmodified\n unmodified?: boolean;\n dev: boolean;\n rebuild: boolean;\n install: boolean;\n cachePackagesOnCapsulesRoot: boolean;\n reuseCapsules: boolean;\n tasks: string;\n listTasks?: string;\n skipTests?: boolean;\n failFast?: boolean;\n};\n\nexport class BuilderCmd implements Command {\n name = 'build [component-pattern]';\n description = 'run set of tasks for build';\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n helpUrl = 'reference/build-pipeline/builder-overview';\n alias = '';\n group = 'development';\n options = [\n ['a', 'all', 'DEPRECATED. use --unmodified'],\n ['u', 'unmodified', 'include unmodified components (by default, only new and modified components are built)'],\n ['d', 'dev', 'run the pipeline in dev mode'],\n ['', 'install', 'install core aspects in capsules'],\n ['', 'reuse-capsules', 'avoid deleting the capsules root-dir before starting the build'],\n [\n '',\n 'tasks <string>',\n `build the specified task(s) only. for multiple tasks, separate by a comma and wrap with quotes.\nspecify the task-name (e.g. \"TypescriptCompiler\") or the task-aspect-id (e.g. teambit.compilation/compiler)`,\n ],\n ['', 'cache-packages-on-capsule-root', 'set the package-manager cache on the capsule root'],\n [\n '',\n 'list-tasks <string>',\n 'list tasks of an env or a component-id for each one of the pipelines: build, tag and snap',\n ],\n ['', 'skip-tests', 'skip running component tests during tag process'],\n [\n '',\n 'fail-fast',\n 'stop pipeline execution on the first failed task (by default a task is skipped only when its dependent failed)',\n ],\n ] as CommandOptions;\n\n constructor(private builder: BuilderMain, private workspace: Workspace, private logger: Logger) {}\n\n async report(\n [pattern]: [string],\n {\n all = false,\n unmodified = false,\n dev = false,\n install = false,\n cachePackagesOnCapsulesRoot = false,\n reuseCapsules = false,\n tasks,\n listTasks,\n skipTests,\n failFast,\n }: BuildOpts\n ): Promise<string> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (all) {\n this.logger.consoleWarning(`--all is deprecated, please use --unmodified instead`);\n unmodified = true;\n }\n if (listTasks) {\n return this.getListTasks(listTasks);\n }\n\n const longProcessLogger = this.logger.createLongProcessLogger('build');\n const components = await this.workspace.getComponentsByUserInput(unmodified, pattern, true);\n if (!components.length) {\n return chalk.bold(\n `no components found to build. use \"--unmodified\" flag to build all components or specify the ids to build, otherwise, only new and modified components will be built`\n );\n }\n\n const envsExecutionResults = await this.builder.build(\n components,\n {\n installOptions: {\n installTeambitBit: install,\n packageManagerConfigRootDir: this.workspace.path,\n },\n linkingOptions: { linkTeambitBit: !install },\n emptyRootDir: !reuseCapsules,\n getExistingAsIs: reuseCapsules,\n cachePackagesOnCapsulesRoot,\n },\n {\n dev,\n tasks: tasks ? tasks.split(',').map((task) => task.trim()) : [],\n skipTests,\n exitOnFirstFailedTask: failFast,\n }\n );\n longProcessLogger.end(envsExecutionResults.hasErrors() ? 'error' : 'success');\n envsExecutionResults.throwErrorsIfExist();\n return chalk.green(`the build has been completed. total: ${envsExecutionResults.tasksQueue.length} tasks`);\n }\n\n private async getListTasks(componentIdStr: string): Promise<string> {\n const compId = await this.workspace.resolveComponentId(componentIdStr);\n const component = await this.workspace.get(compId);\n const results = this.builder.listTasks(component);\n return `${chalk.green('Tasks List')}\nid: ${results.id.toString()}\nenvId: ${results.envId}\n\n${chalk.bold('Build Pipeline Tasks:')}\n${results.buildTasks.join('\\n')}\n\n${chalk.bold('Tag Pipeline Tasks:')}\n${results.tagTasks.join('\\n')}\n\n${chalk.bold('Snap Pipeline Tasks:')}\n${results.snapTasks.join('\\n') || '<N/A>'}`;\n }\n}\n"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { EnvsMain } from '@teambit/envs';
|
|
|
7
7
|
import { GraphqlMain } from '@teambit/graphql';
|
|
8
8
|
import { SlotRegistry } from '@teambit/harmony';
|
|
9
9
|
import { GlobalConfigMain } from '@teambit/global-config';
|
|
10
|
-
import { LoggerMain } from '@teambit/logger';
|
|
10
|
+
import { Logger, LoggerMain } from '@teambit/logger';
|
|
11
11
|
import { ScopeMain } from '@teambit/scope';
|
|
12
12
|
import { Workspace } from '@teambit/workspace';
|
|
13
13
|
import { IsolateComponentsOptions, IsolatorMain } from '@teambit/isolator';
|
|
@@ -61,7 +61,8 @@ export declare class BuilderMain {
|
|
|
61
61
|
private buildTaskSlot;
|
|
62
62
|
private tagTaskSlot;
|
|
63
63
|
private snapTaskSlot;
|
|
64
|
-
|
|
64
|
+
private logger;
|
|
65
|
+
constructor(envs: EnvsMain, workspace: Workspace, buildService: BuilderService, tagService: BuilderService, snapService: BuilderService, scope: ScopeMain, isolator: IsolatorMain, aspectLoader: AspectLoaderMain, componentAspect: ComponentMain, globalConfig: GlobalConfigMain, buildTaskSlot: TaskSlot, tagTaskSlot: TaskSlot, snapTaskSlot: TaskSlot, logger: Logger);
|
|
65
66
|
private storeArtifacts;
|
|
66
67
|
private pipelineResultsToBuilderData;
|
|
67
68
|
tagListener(components: Component[], options?: OnTagOpts, isolateOptions?: IsolateComponentsOptions, builderOptions?: BuilderServiceOptions): Promise<OnTagResults>;
|
|
@@ -239,7 +239,7 @@ const FILE_PATH_PARAM_DELIM = '~';
|
|
|
239
239
|
*/
|
|
240
240
|
exports.FILE_PATH_PARAM_DELIM = FILE_PATH_PARAM_DELIM;
|
|
241
241
|
class BuilderMain {
|
|
242
|
-
constructor(envs, workspace, buildService, tagService, snapService, scope, isolator, aspectLoader, componentAspect, globalConfig, buildTaskSlot, tagTaskSlot, snapTaskSlot) {
|
|
242
|
+
constructor(envs, workspace, buildService, tagService, snapService, scope, isolator, aspectLoader, componentAspect, globalConfig, buildTaskSlot, tagTaskSlot, snapTaskSlot, logger) {
|
|
243
243
|
this.envs = envs;
|
|
244
244
|
this.workspace = workspace;
|
|
245
245
|
this.buildService = buildService;
|
|
@@ -253,6 +253,7 @@ class BuilderMain {
|
|
|
253
253
|
this.buildTaskSlot = buildTaskSlot;
|
|
254
254
|
this.tagTaskSlot = tagTaskSlot;
|
|
255
255
|
this.snapTaskSlot = snapTaskSlot;
|
|
256
|
+
this.logger = logger;
|
|
256
257
|
}
|
|
257
258
|
async storeArtifacts(tasksResults) {
|
|
258
259
|
const artifacts = tasksResults.flatMap(t => t.artifacts ? [t.artifacts] : []);
|
|
@@ -446,6 +447,7 @@ class BuilderMain {
|
|
|
446
447
|
originalSeeders: ids,
|
|
447
448
|
capsulesBaseDir
|
|
448
449
|
}, builderOptions || {});
|
|
450
|
+
this.logger.consoleTitle(`Total ${components.length} components to build`);
|
|
449
451
|
const buildResult = await envs.runOnce(this.buildService, builderServiceOptions);
|
|
450
452
|
return buildResult;
|
|
451
453
|
}
|
|
@@ -517,7 +519,7 @@ class BuilderMain {
|
|
|
517
519
|
envs.registerService(buildService);
|
|
518
520
|
const tagService = new (_builder3().BuilderService)(isolator, logger, tagTaskSlot, 'getTagPipe', 'tag', artifactFactory, scope, globalConfig);
|
|
519
521
|
const snapService = new (_builder3().BuilderService)(isolator, logger, snapTaskSlot, 'getSnapPipe', 'snap', artifactFactory, scope, globalConfig);
|
|
520
|
-
const builder = new BuilderMain(envs, workspace, buildService, tagService, snapService, scope, isolator, aspectLoader, component, globalConfig, buildTaskSlot, tagTaskSlot, snapTaskSlot);
|
|
522
|
+
const builder = new BuilderMain(envs, workspace, buildService, tagService, snapService, scope, isolator, aspectLoader, component, globalConfig, buildTaskSlot, tagTaskSlot, snapTaskSlot, logger);
|
|
521
523
|
builder.registerBuildTasks([new (_ui().BundleUiTask)(ui, logger)]);
|
|
522
524
|
component.registerRoute([new (_builder4().BuilderRoute)(builder, scope, logger)]);
|
|
523
525
|
graphql.register((0, _builder2().builderSchema)(builder, logger));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","data","require","_artifactFiles","_aspectLoader","_cli","_component","_envs","_graphql","_harmony","_globalConfig","_interopRequireDefault","_logger","_aspect","_scope","_workspace","_isolator","_bootstrap","_findDuplications","_generator","_ui","_artifact","_artifactFactory","_builder","_builder2","_builder3","_build","_buildTask","_exceptions","_buildPipelineResultList","_artifacts","_buildTask2","_builder4","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","FILE_PATH_PARAM_DELIM","exports","BuilderMain","constructor","envs","workspace","buildService","tagService","snapService","scope","isolator","aspectLoader","componentAspect","globalConfig","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","builderOptions","pipeResults","allTasksResults","throwOnError","forceDeploy","disableTagAndSnapPipelines","isSnap","populateArtifactsFrom","buildEnvsExecutionResults","build","emptyRootDir","tasks","AspectAspect","undefined","throwErrorsIfExist","hasErrors","builderOptionsForTagSnap","seedersOnly","previousTasksResults","deployEnvsExecutionResults","runSnapTasks","runTagTasks","builderDataMap","combineBuildDataFrom","validateBuilderDataMap","buildData","taskSerializedIds","BuildTaskHelper","serializeId","aspectId","taskId","name","taskName","duplications","findDuplications","Error","toString","join","promises","builderData","populateFrom","find","isEqual","ignoreVersion","idStr","populateFromComp","getHost","get","version","populateFromBuilderData","getBuilderData","artifact","artifactObj","toObject","a","task","aspectData","p","flattenValue","getArtifactsVinylByAspect","aspectName","getArtifactsByAspect","vinyls","getVinylsAndImportIfMissing","_legacy","legacyScope","getArtifactsVinylByAspectAndName","getArtifactsByAspectAndName","getArtifactsVinylByAspectAndTaskName","getArtifactsbyAspectAndTaskName","getArtifactsByName","getArtifacts","byAspectNameAndName","byAspectNameAndTaskName","getDataByAspect","_this$getBuilderData","_this$getBuilderData2","ArtifactList","fromArray","_component$get","_clonedData$artifacts","BuilderAspect","clonedData","cloneDeep","artifactFiles","files","ArtifactFiles","fromObject","Artifact","assign","fromArtifactObject","ids","c","capsulesBaseDir","getComponentsCapsulesBaseDir","baseIsolateOpts","baseDir","useHash","mergedIsolateOpts","network","isolateComponents","createEnvironment","graphCapsules","getAllComponents","builderServiceOptions","originalSeeders","buildResult","runOnce","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","GlobalConfigAspect","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 GlobalConfigAspect, { GlobalConfigMain } from '@teambit/global-config';\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 populateArtifactsFrom?: ComponentID[]; // helpful for tagging from scope where we want to use the build-artifacts of previous snap.\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 globalConfig: GlobalConfigMain,\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 builderOptions: BuilderServiceOptions = {}\n ): Promise<OnTagResults> {\n const pipeResults: TaskResultsList[] = [];\n const allTasksResults: TaskResults[] = [];\n const { throwOnError, forceDeploy, disableTagAndSnapPipelines, isSnap, populateArtifactsFrom } = options;\n if (populateArtifactsFrom) isolateOptions.populateArtifactsFrom = populateArtifactsFrom;\n const buildEnvsExecutionResults = await this.build(\n components,\n { emptyRootDir: true, ...isolateOptions },\n {\n ...builderOptions,\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: populateArtifactsFrom ? [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 builderOptionsForTagSnap: BuilderServiceOptions = {\n ...builderOptions,\n seedersOnly: isolateOptions.seedersOnly,\n previousTasksResults: buildEnvsExecutionResults?.tasksResults,\n };\n const deployEnvsExecutionResults = isSnap\n ? await this.runSnapTasks(components, builderOptionsForTagSnap)\n : await this.runTagTasks(components, builderOptionsForTagSnap);\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 (populateArtifactsFrom) await this.combineBuildDataFrom(builderDataMap, populateArtifactsFrom);\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 combineBuildDataFrom(\n builderDataMap: ComponentMap<RawBuilderData>,\n populateArtifactsFrom: ComponentID[]\n ) {\n const promises = builderDataMap.map(async (builderData, component) => {\n const populateFrom = populateArtifactsFrom.find((id) => id.isEqual(component.id, { ignoreVersion: true }));\n const idStr = component.id.toString();\n if (!populateFrom) {\n throw new Error(`combineBuildDataFromParent: unable to find where to populate the artifacts from for ${idStr}`);\n }\n const populateFromComp = await this.componentAspect.getHost().get(populateFrom);\n if (!populateFromComp)\n throw new Error(\n `combineBuildDataFromParent, unable to load parent component of ${idStr}. hash: ${populateFrom.version}`\n );\n const populateFromBuilderData = this.getBuilderData(populateFromComp);\n if (!populateFromBuilderData) throw new Error(`parent of ${idStr} was not built yet. unable to continue`);\n populateFromBuilderData.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 populateFromBuilderData.aspectsData.forEach((aspectData) => {\n if (builderData.aspectsData.find((a) => a.aspectId === aspectData.aspectId)) return;\n builderData.aspectsData.push(aspectData);\n });\n populateFromBuilderData.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 capsulesBaseDir = this.buildService.getComponentsCapsulesBaseDir();\n const baseIsolateOpts = {\n baseDir: capsulesBaseDir,\n useHash: !capsulesBaseDir,\n };\n const mergedIsolateOpts = {\n ...baseIsolateOpts,\n ...isolateOptions,\n };\n\n const network = await this.isolator.isolateComponents(ids, mergedIsolateOpts, this.scope.legacyScope);\n const envs = await this.envs.createEnvironment(network.graphCapsules.getAllComponents());\n const builderServiceOptions = {\n seedersOnly: isolateOptions?.seedersOnly,\n originalSeeders: ids,\n capsulesBaseDir,\n ...(builderOptions || {}),\n };\n const buildResult = await envs.runOnce(this.buildService, builderServiceOptions);\n return buildResult;\n }\n\n async runTagTasks(components: Component[], builderOptions: BuilderServiceOptions): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.tagService, builderOptions);\n\n return buildResult;\n }\n\n async runSnapTasks(components: Component[], builderOptions: BuilderServiceOptions): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.snapService, builderOptions);\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 GlobalConfigAspect,\n ];\n\n static async provider(\n [cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql, generator, component, ui, globalConfig]: [\n CLIMain,\n EnvsMain,\n Workspace,\n ScopeMain,\n IsolatorMain,\n LoggerMain,\n AspectLoaderMain,\n GraphqlMain,\n GeneratorMain,\n ComponentMain,\n UiMain,\n GlobalConfigMain\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 globalConfig\n );\n envs.registerService(buildService);\n const tagService = new BuilderService(\n isolator,\n logger,\n tagTaskSlot,\n 'getTagPipe',\n 'tag',\n artifactFactory,\n scope,\n globalConfig\n );\n const snapService = new BuilderService(\n isolator,\n logger,\n snapTaskSlot,\n 'getSnapPipe',\n 'snap',\n artifactFactory,\n scope,\n globalConfig\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 globalConfig,\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, component)];\n cli.register(...commands);\n\n return builder;\n }\n}\n\nBuilderAspect.addRuntime(BuilderMain);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_lodash","data","require","_artifactFiles","_aspectLoader","_cli","_component","_envs","_graphql","_harmony","_globalConfig","_interopRequireDefault","_logger","_aspect","_scope","_workspace","_isolator","_bootstrap","_findDuplications","_generator","_ui","_artifact","_artifactFactory","_builder","_builder2","_builder3","_build","_buildTask","_exceptions","_buildPipelineResultList","_artifacts","_buildTask2","_builder4","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","FILE_PATH_PARAM_DELIM","exports","BuilderMain","constructor","envs","workspace","buildService","tagService","snapService","scope","isolator","aspectLoader","componentAspect","globalConfig","buildTaskSlot","tagTaskSlot","snapTaskSlot","logger","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","builderOptions","pipeResults","allTasksResults","throwOnError","forceDeploy","disableTagAndSnapPipelines","isSnap","populateArtifactsFrom","buildEnvsExecutionResults","build","emptyRootDir","tasks","AspectAspect","undefined","throwErrorsIfExist","hasErrors","builderOptionsForTagSnap","seedersOnly","previousTasksResults","deployEnvsExecutionResults","runSnapTasks","runTagTasks","builderDataMap","combineBuildDataFrom","validateBuilderDataMap","buildData","taskSerializedIds","BuildTaskHelper","serializeId","aspectId","taskId","name","taskName","duplications","findDuplications","Error","toString","join","promises","builderData","populateFrom","find","isEqual","ignoreVersion","idStr","populateFromComp","getHost","get","version","populateFromBuilderData","getBuilderData","artifact","artifactObj","toObject","a","task","aspectData","p","flattenValue","getArtifactsVinylByAspect","aspectName","getArtifactsByAspect","vinyls","getVinylsAndImportIfMissing","_legacy","legacyScope","getArtifactsVinylByAspectAndName","getArtifactsByAspectAndName","getArtifactsVinylByAspectAndTaskName","getArtifactsbyAspectAndTaskName","getArtifactsByName","getArtifacts","byAspectNameAndName","byAspectNameAndTaskName","getDataByAspect","_this$getBuilderData","_this$getBuilderData2","ArtifactList","fromArray","_component$get","_clonedData$artifacts","BuilderAspect","clonedData","cloneDeep","artifactFiles","files","ArtifactFiles","fromObject","Artifact","assign","fromArtifactObject","ids","c","capsulesBaseDir","getComponentsCapsulesBaseDir","baseIsolateOpts","baseDir","useHash","mergedIsolateOpts","network","isolateComponents","createEnvironment","graphCapsules","getAllComponents","builderServiceOptions","originalSeeders","consoleTitle","buildResult","runOnce","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","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","GlobalConfigAspect","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 GlobalConfigAspect, { GlobalConfigMain } from '@teambit/global-config';\nimport { Logger, 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 populateArtifactsFrom?: ComponentID[]; // helpful for tagging from scope where we want to use the build-artifacts of previous snap.\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 globalConfig: GlobalConfigMain,\n private buildTaskSlot: TaskSlot,\n private tagTaskSlot: TaskSlot,\n private snapTaskSlot: TaskSlot,\n private logger: Logger\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 builderOptions: BuilderServiceOptions = {}\n ): Promise<OnTagResults> {\n const pipeResults: TaskResultsList[] = [];\n const allTasksResults: TaskResults[] = [];\n const { throwOnError, forceDeploy, disableTagAndSnapPipelines, isSnap, populateArtifactsFrom } = options;\n if (populateArtifactsFrom) isolateOptions.populateArtifactsFrom = populateArtifactsFrom;\n const buildEnvsExecutionResults = await this.build(\n components,\n { emptyRootDir: true, ...isolateOptions },\n {\n ...builderOptions,\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: populateArtifactsFrom ? [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 builderOptionsForTagSnap: BuilderServiceOptions = {\n ...builderOptions,\n seedersOnly: isolateOptions.seedersOnly,\n previousTasksResults: buildEnvsExecutionResults?.tasksResults,\n };\n const deployEnvsExecutionResults = isSnap\n ? await this.runSnapTasks(components, builderOptionsForTagSnap)\n : await this.runTagTasks(components, builderOptionsForTagSnap);\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 (populateArtifactsFrom) await this.combineBuildDataFrom(builderDataMap, populateArtifactsFrom);\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 combineBuildDataFrom(\n builderDataMap: ComponentMap<RawBuilderData>,\n populateArtifactsFrom: ComponentID[]\n ) {\n const promises = builderDataMap.map(async (builderData, component) => {\n const populateFrom = populateArtifactsFrom.find((id) => id.isEqual(component.id, { ignoreVersion: true }));\n const idStr = component.id.toString();\n if (!populateFrom) {\n throw new Error(`combineBuildDataFromParent: unable to find where to populate the artifacts from for ${idStr}`);\n }\n const populateFromComp = await this.componentAspect.getHost().get(populateFrom);\n if (!populateFromComp)\n throw new Error(\n `combineBuildDataFromParent, unable to load parent component of ${idStr}. hash: ${populateFrom.version}`\n );\n const populateFromBuilderData = this.getBuilderData(populateFromComp);\n if (!populateFromBuilderData) throw new Error(`parent of ${idStr} was not built yet. unable to continue`);\n populateFromBuilderData.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 populateFromBuilderData.aspectsData.forEach((aspectData) => {\n if (builderData.aspectsData.find((a) => a.aspectId === aspectData.aspectId)) return;\n builderData.aspectsData.push(aspectData);\n });\n populateFromBuilderData.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 capsulesBaseDir = this.buildService.getComponentsCapsulesBaseDir();\n const baseIsolateOpts = {\n baseDir: capsulesBaseDir,\n useHash: !capsulesBaseDir,\n };\n const mergedIsolateOpts = {\n ...baseIsolateOpts,\n ...isolateOptions,\n };\n\n const network = await this.isolator.isolateComponents(ids, mergedIsolateOpts, this.scope.legacyScope);\n const envs = await this.envs.createEnvironment(network.graphCapsules.getAllComponents());\n const builderServiceOptions = {\n seedersOnly: isolateOptions?.seedersOnly,\n originalSeeders: ids,\n capsulesBaseDir,\n ...(builderOptions || {}),\n };\n this.logger.consoleTitle(`Total ${components.length} components to build`);\n const buildResult = await envs.runOnce(this.buildService, builderServiceOptions);\n return buildResult;\n }\n\n async runTagTasks(components: Component[], builderOptions: BuilderServiceOptions): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.tagService, builderOptions);\n\n return buildResult;\n }\n\n async runSnapTasks(components: Component[], builderOptions: BuilderServiceOptions): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.snapService, builderOptions);\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 GlobalConfigAspect,\n ];\n\n static async provider(\n [cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql, generator, component, ui, globalConfig]: [\n CLIMain,\n EnvsMain,\n Workspace,\n ScopeMain,\n IsolatorMain,\n LoggerMain,\n AspectLoaderMain,\n GraphqlMain,\n GeneratorMain,\n ComponentMain,\n UiMain,\n GlobalConfigMain\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 globalConfig\n );\n envs.registerService(buildService);\n const tagService = new BuilderService(\n isolator,\n logger,\n tagTaskSlot,\n 'getTagPipe',\n 'tag',\n artifactFactory,\n scope,\n globalConfig\n );\n const snapService = new BuilderService(\n isolator,\n logger,\n snapTaskSlot,\n 'getSnapPipe',\n 'snap',\n artifactFactory,\n scope,\n globalConfig\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 globalConfig,\n buildTaskSlot,\n tagTaskSlot,\n snapTaskSlot,\n logger\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, component)];\n cli.register(...commands);\n\n return builder;\n }\n}\n\nBuilderAspect.addRuntime(BuilderMain);\n"],"mappings":"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"}
|
package/dist/builder.service.js
CHANGED
|
@@ -28,6 +28,13 @@ function _react() {
|
|
|
28
28
|
};
|
|
29
29
|
return data;
|
|
30
30
|
}
|
|
31
|
+
function _chalk() {
|
|
32
|
+
const data = _interopRequireDefault(require("chalk"));
|
|
33
|
+
_chalk = function () {
|
|
34
|
+
return data;
|
|
35
|
+
};
|
|
36
|
+
return data;
|
|
37
|
+
}
|
|
31
38
|
function _lodash() {
|
|
32
39
|
const data = require("lodash");
|
|
33
40
|
_lodash = function () {
|
|
@@ -123,8 +130,8 @@ class BuilderService {
|
|
|
123
130
|
const tasksQueue = (0, _buildPipelineOrder().calculatePipelineOrder)(this.taskSlot, envs, this.pipeNameOnEnv, options.tasks, options.skipTests);
|
|
124
131
|
tasksQueue.validate();
|
|
125
132
|
this.logger.info(`going to run tasks in the following order:\n${tasksQueue.toString()}`);
|
|
126
|
-
|
|
127
|
-
const title = `Running ${this.displayPipeName} pipeline using ${envs.length} environment(s)
|
|
133
|
+
this.logger.console('\n'); // this is to make is clear separation between the various pipelines (build/snap/tag)
|
|
134
|
+
const title = `Running ${this.displayPipeName} pipeline using ${envs.length} environment(s), total ${tasksQueue.length} tasks`;
|
|
128
135
|
const longProcessLogger = this.logger.createLongProcessLogger(title, undefined, 'title');
|
|
129
136
|
const envsBuildContext = {};
|
|
130
137
|
const capsulesBaseDir = this.getComponentsCapsulesBaseDir();
|
|
@@ -144,7 +151,9 @@ class BuilderService {
|
|
|
144
151
|
const originalSeedersOfThisEnv = componentIds.filter(compId => originalSeeders ? originalSeeders.find(seeder => compId.isEqual(seeder)) : true);
|
|
145
152
|
const capsuleNetwork = await this.isolator.isolateComponents(componentIds, isolateOptions);
|
|
146
153
|
capsuleNetwork._originalSeeders = originalSeedersOfThisEnv;
|
|
147
|
-
|
|
154
|
+
const msg = `building ${originalSeedersOfThisEnv.length} components of env "${executionContext.id}"`;
|
|
155
|
+
const extraDetails = `original seeders of this env: ${originalSeedersOfThisEnv.length}, graph of this env: ${capsuleNetwork.seedersCapsules.length}, graph total (include other envs): ${capsuleNetwork.graphCapsules.length}`;
|
|
156
|
+
this.logger.console(`${msg}. ${_chalk().default.dim(extraDetails)}`);
|
|
148
157
|
const buildContext = Object.assign(executionContext, {
|
|
149
158
|
capsuleNetwork,
|
|
150
159
|
previousTasksResults: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","data","require","_react","_interopRequireDefault","_lodash","_pMapSeries","_ink","_buildPipe","_buildTask","_buildPipelineOrder","_builder","pipeNames","getBuildPipe","getTagPipe","getSnapPipe","BuilderService","constructor","isolator","logger","taskSlot","pipeNameOnEnv","displayPipeName","artifactFactory","scope","globalConfig","_defineProperty2","default","runOnce","envsExecutionContext","options","envs","map","executionContext","envDefinition","tasksQueue","calculatePipelineOrder","tasks","skipTests","validate","info","toString","envsStr","env","id","join","title","length","longProcessLogger","createLongProcessLogger","undefined","envsBuildContext","capsulesBaseDir","getComponentsCapsulesBaseDir","baseDir","useHash","isolateOptions","getExistingAsIs","seedersOnly","pMapSeries","componentIds","components","component","originalSeeders","originalSeedersOfThisEnv","filter","compId","find","seeder","isEqual","capsuleNetwork","isolateComponents","_originalSeeders","console","seedersCapsules","graphCapsules","buildContext","Object","assign","previousTasksResults","pipeName","dev","laneId","legacyScope","currentLaneId","envIdsWithoutVersion","split","buildPipe","BuildPipe","exitOnFirstFailedTask","showEnvNameInOutput","showEnvVersionInOutput","uniq","buildResults","execute","end","hasErrors","getSync","CFG_CAPSULES_BUILD_COMPONENTS_BASE_DIR","render","descriptor","getDescriptor","createElement","Text","key","BuilderAspect","Newline","transform","envContext","build","pipeline","compute","tag","snap","getTasksNamesByPipeFunc","pipeFuncName","task","BuildTaskHelper","serializeId","getCurrentPipeTasks","exports"],"sources":["builder.service.tsx"],"sourcesContent":["import { CFG_CAPSULES_BUILD_COMPONENTS_BASE_DIR } from '@teambit/legacy/dist/constants';\nimport { EnvService, ExecutionContext, EnvDefinition, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs';\nimport React from 'react';\nimport { uniq } from 'lodash';\nimport { ScopeMain } from '@teambit/scope';\nimport pMapSeries from 'p-map-series';\nimport { GlobalConfigMain } from '@teambit/global-config';\nimport { Text, Newline } from 'ink';\nimport { Logger } from '@teambit/logger';\nimport { IsolatorMain } from '@teambit/isolator';\nimport { Component, ComponentID } from '@teambit/component';\nimport { BuildPipe, TaskResults } from './build-pipe';\nimport { TaskResultsList } from './task-results-list';\nimport { TaskSlot } from './builder.main.runtime';\nimport { BuildContext, BuildTask, BuildTaskHelper } from './build-task';\nimport { ArtifactFactory } from './artifact';\nimport { calculatePipelineOrder } from './build-pipeline-order';\nimport { BuilderAspect } from './builder.aspect';\n\nexport type BuildServiceResults = {\n id: string;\n buildResults: TaskResultsList;\n components: Component[];\n errors?: [];\n};\n\nexport type BuilderServiceOptions = {\n seedersOnly?: boolean;\n originalSeeders?: ComponentID[];\n tasks?: string[];\n skipTests?: boolean;\n previousTasksResults?: TaskResults[];\n dev?: boolean;\n exitOnFirstFailedTask?: boolean;\n capsulesBaseDir?: string;\n};\n\ntype BuilderTransformationMap = ServiceTransformationMap & {\n getBuildPipe: () => BuildTask[];\n getTagPipe: () => BuildTask[];\n getSnapPipe: () => BuildTask[];\n};\n\nexport type EnvsBuildContext = { [envId: string]: BuildContext };\n\nconst pipeNames = {\n getBuildPipe: 'build',\n getTagPipe: 'tag',\n getSnapPipe: 'snap',\n};\n\nexport type PipeName = 'build' | 'tag' | 'snap';\n\nexport type BuilderDescriptor = Array<{ pipeName: PipeName; tasks: string[] }>;\n\nexport type PipeFunctionNames = keyof typeof pipeNames;\nexport class BuilderService implements EnvService<BuildServiceResults, string> {\n name = 'builder';\n\n constructor(\n /**\n * isolator extension.\n */\n private isolator: IsolatorMain,\n\n /**\n * logger extension.\n */\n private logger: Logger,\n\n /**\n * task slot (e.g tasks registered by other extensions.).\n */\n private taskSlot: TaskSlot,\n\n /**\n * a method with such name should be implemented on the env in order to run the pipe tasks.\n */\n private pipeNameOnEnv: PipeFunctionNames,\n\n /**\n * pipe name to display on the console during the execution\n */\n private displayPipeName: PipeName,\n private artifactFactory: ArtifactFactory,\n private scope: ScopeMain,\n private globalConfig: GlobalConfigMain\n ) {}\n\n /**\n * runs all tasks for all envs\n */\n async runOnce(envsExecutionContext: ExecutionContext[], options: BuilderServiceOptions): Promise<TaskResultsList> {\n const envs = envsExecutionContext.map((executionContext) => executionContext.envDefinition);\n const tasksQueue = calculatePipelineOrder(\n this.taskSlot,\n envs,\n this.pipeNameOnEnv,\n options.tasks,\n options.skipTests\n );\n tasksQueue.validate();\n this.logger.info(`going to run tasks in the following order:\\n${tasksQueue.toString()}`);\n const envsStr = envs.map((env) => env.id).join(', ');\n const title = `Running ${this.displayPipeName} pipeline using ${envs.length} environment(s) (${envsStr}), total ${tasksQueue.length} tasks`;\n const longProcessLogger = this.logger.createLongProcessLogger(title, undefined, 'title');\n const envsBuildContext: EnvsBuildContext = {};\n const capsulesBaseDir = this.getComponentsCapsulesBaseDir();\n\n const baseDir = options.capsulesBaseDir || capsulesBaseDir;\n const useHash = !baseDir;\n const isolateOptions = {\n baseDir,\n useHash,\n getExistingAsIs: true,\n seedersOnly: options.seedersOnly,\n };\n\n await pMapSeries(envsExecutionContext, async (executionContext) => {\n const componentIds = executionContext.components.map((component) => component.id);\n const { originalSeeders } = options;\n const originalSeedersOfThisEnv = componentIds.filter((compId) =>\n originalSeeders ? originalSeeders.find((seeder) => compId.isEqual(seeder)) : true\n );\n const capsuleNetwork = await this.isolator.isolateComponents(componentIds, isolateOptions);\n capsuleNetwork._originalSeeders = originalSeedersOfThisEnv;\n this.logger.console(\n `generated graph for env \"${executionContext.id}\", originalSeedersOfThisEnv: ${originalSeedersOfThisEnv.length}, graphOfThisEnv: ${capsuleNetwork.seedersCapsules.length}, graph total: ${capsuleNetwork.graphCapsules.length}`\n );\n const buildContext = Object.assign(executionContext, {\n capsuleNetwork,\n previousTasksResults: [],\n pipeName: this.displayPipeName,\n dev: options.dev,\n laneId: this.scope.legacyScope.currentLaneId,\n });\n envsBuildContext[executionContext.id] = buildContext;\n });\n const envIdsWithoutVersion = envs.map((env) => env.id.split('@')[0]);\n const buildPipe = new BuildPipe(\n tasksQueue,\n envsBuildContext,\n this.logger,\n this.artifactFactory,\n options.previousTasksResults,\n {\n exitOnFirstFailedTask: options.exitOnFirstFailedTask,\n showEnvNameInOutput: envs.length > 1,\n showEnvVersionInOutput: envIdsWithoutVersion.length > uniq(envIdsWithoutVersion).length,\n }\n );\n const buildResults = await buildPipe.execute();\n longProcessLogger.end(buildResults.hasErrors() ? 'error' : 'success');\n\n return buildResults;\n }\n\n getComponentsCapsulesBaseDir(): string | undefined {\n return this.globalConfig.getSync(CFG_CAPSULES_BUILD_COMPONENTS_BASE_DIR);\n }\n\n render() {\n const descriptor = this.getDescriptor();\n\n return (\n <Text key={BuilderAspect.id}>\n {descriptor}\n <Newline />\n <Newline />\n </Text>\n );\n }\n\n transform(env: Env, envContext: EnvContext): BuilderTransformationMap | undefined {\n if (!env?.build) return undefined;\n return {\n getBuildPipe: () => {\n // TODO: refactor after defining for an env property\n const pipeline = env.build();\n if (!pipeline || !pipeline.compute) return [];\n return pipeline?.compute(envContext);\n },\n getTagPipe: () => {\n // TODO: refactor after defining for an env property\n const pipeline = env.tag();\n if (!pipeline || !pipeline.compute) return [];\n return pipeline?.compute(envContext);\n },\n getSnapPipe: () => {\n const pipeline = env.snap();\n if (!pipeline || !pipeline.compute) return [];\n return pipeline?.compute(envContext);\n },\n };\n }\n\n getDescriptor() {\n return 'run `bit build --list-tasks <component-id>` to see the tasks list for the pipelines: build, tag and snap';\n }\n\n private getTasksNamesByPipeFunc(env: EnvDefinition, pipeFuncName: PipeFunctionNames): string[] {\n const tasksQueue = calculatePipelineOrder(this.taskSlot, [env], pipeFuncName).map(({ task }) =>\n BuildTaskHelper.serializeId(task)\n );\n return tasksQueue;\n }\n\n getCurrentPipeTasks(env: EnvDefinition) {\n return this.getTasksNamesByPipeFunc(env, this.pipeNameOnEnv);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_constants","data","require","_react","_interopRequireDefault","_chalk","_lodash","_pMapSeries","_ink","_buildPipe","_buildTask","_buildPipelineOrder","_builder","pipeNames","getBuildPipe","getTagPipe","getSnapPipe","BuilderService","constructor","isolator","logger","taskSlot","pipeNameOnEnv","displayPipeName","artifactFactory","scope","globalConfig","_defineProperty2","default","runOnce","envsExecutionContext","options","envs","map","executionContext","envDefinition","tasksQueue","calculatePipelineOrder","tasks","skipTests","validate","info","toString","console","title","length","longProcessLogger","createLongProcessLogger","undefined","envsBuildContext","capsulesBaseDir","getComponentsCapsulesBaseDir","baseDir","useHash","isolateOptions","getExistingAsIs","seedersOnly","pMapSeries","componentIds","components","component","id","originalSeeders","originalSeedersOfThisEnv","filter","compId","find","seeder","isEqual","capsuleNetwork","isolateComponents","_originalSeeders","msg","extraDetails","seedersCapsules","graphCapsules","chalk","dim","buildContext","Object","assign","previousTasksResults","pipeName","dev","laneId","legacyScope","currentLaneId","envIdsWithoutVersion","env","split","buildPipe","BuildPipe","exitOnFirstFailedTask","showEnvNameInOutput","showEnvVersionInOutput","uniq","buildResults","execute","end","hasErrors","getSync","CFG_CAPSULES_BUILD_COMPONENTS_BASE_DIR","render","descriptor","getDescriptor","createElement","Text","key","BuilderAspect","Newline","transform","envContext","build","pipeline","compute","tag","snap","getTasksNamesByPipeFunc","pipeFuncName","task","BuildTaskHelper","serializeId","getCurrentPipeTasks","exports"],"sources":["builder.service.tsx"],"sourcesContent":["import { CFG_CAPSULES_BUILD_COMPONENTS_BASE_DIR } from '@teambit/legacy/dist/constants';\nimport { EnvService, ExecutionContext, EnvDefinition, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs';\nimport React from 'react';\nimport chalk from 'chalk';\nimport { uniq } from 'lodash';\nimport { ScopeMain } from '@teambit/scope';\nimport pMapSeries from 'p-map-series';\nimport { GlobalConfigMain } from '@teambit/global-config';\nimport { Text, Newline } from 'ink';\nimport { Logger } from '@teambit/logger';\nimport { IsolatorMain } from '@teambit/isolator';\nimport { Component, ComponentID } from '@teambit/component';\nimport { BuildPipe, TaskResults } from './build-pipe';\nimport { TaskResultsList } from './task-results-list';\nimport { TaskSlot } from './builder.main.runtime';\nimport { BuildContext, BuildTask, BuildTaskHelper } from './build-task';\nimport { ArtifactFactory } from './artifact';\nimport { calculatePipelineOrder } from './build-pipeline-order';\nimport { BuilderAspect } from './builder.aspect';\n\nexport type BuildServiceResults = {\n id: string;\n buildResults: TaskResultsList;\n components: Component[];\n errors?: [];\n};\n\nexport type BuilderServiceOptions = {\n seedersOnly?: boolean;\n originalSeeders?: ComponentID[];\n tasks?: string[];\n skipTests?: boolean;\n previousTasksResults?: TaskResults[];\n dev?: boolean;\n exitOnFirstFailedTask?: boolean;\n capsulesBaseDir?: string;\n};\n\ntype BuilderTransformationMap = ServiceTransformationMap & {\n getBuildPipe: () => BuildTask[];\n getTagPipe: () => BuildTask[];\n getSnapPipe: () => BuildTask[];\n};\n\nexport type EnvsBuildContext = { [envId: string]: BuildContext };\n\nconst pipeNames = {\n getBuildPipe: 'build',\n getTagPipe: 'tag',\n getSnapPipe: 'snap',\n};\n\nexport type PipeName = 'build' | 'tag' | 'snap';\n\nexport type BuilderDescriptor = Array<{ pipeName: PipeName; tasks: string[] }>;\n\nexport type PipeFunctionNames = keyof typeof pipeNames;\nexport class BuilderService implements EnvService<BuildServiceResults, string> {\n name = 'builder';\n\n constructor(\n /**\n * isolator extension.\n */\n private isolator: IsolatorMain,\n\n /**\n * logger extension.\n */\n private logger: Logger,\n\n /**\n * task slot (e.g tasks registered by other extensions.).\n */\n private taskSlot: TaskSlot,\n\n /**\n * a method with such name should be implemented on the env in order to run the pipe tasks.\n */\n private pipeNameOnEnv: PipeFunctionNames,\n\n /**\n * pipe name to display on the console during the execution\n */\n private displayPipeName: PipeName,\n private artifactFactory: ArtifactFactory,\n private scope: ScopeMain,\n private globalConfig: GlobalConfigMain\n ) {}\n\n /**\n * runs all tasks for all envs\n */\n async runOnce(envsExecutionContext: ExecutionContext[], options: BuilderServiceOptions): Promise<TaskResultsList> {\n const envs = envsExecutionContext.map((executionContext) => executionContext.envDefinition);\n const tasksQueue = calculatePipelineOrder(\n this.taskSlot,\n envs,\n this.pipeNameOnEnv,\n options.tasks,\n options.skipTests\n );\n tasksQueue.validate();\n this.logger.info(`going to run tasks in the following order:\\n${tasksQueue.toString()}`);\n this.logger.console('\\n'); // this is to make is clear separation between the various pipelines (build/snap/tag)\n const title = `Running ${this.displayPipeName} pipeline using ${envs.length} environment(s), total ${tasksQueue.length} tasks`;\n const longProcessLogger = this.logger.createLongProcessLogger(title, undefined, 'title');\n const envsBuildContext: EnvsBuildContext = {};\n const capsulesBaseDir = this.getComponentsCapsulesBaseDir();\n\n const baseDir = options.capsulesBaseDir || capsulesBaseDir;\n const useHash = !baseDir;\n const isolateOptions = {\n baseDir,\n useHash,\n getExistingAsIs: true,\n seedersOnly: options.seedersOnly,\n };\n\n await pMapSeries(envsExecutionContext, async (executionContext) => {\n const componentIds = executionContext.components.map((component) => component.id);\n const { originalSeeders } = options;\n const originalSeedersOfThisEnv = componentIds.filter((compId) =>\n originalSeeders ? originalSeeders.find((seeder) => compId.isEqual(seeder)) : true\n );\n const capsuleNetwork = await this.isolator.isolateComponents(componentIds, isolateOptions);\n capsuleNetwork._originalSeeders = originalSeedersOfThisEnv;\n const msg = `building ${originalSeedersOfThisEnv.length} components of env \"${executionContext.id}\"`;\n const extraDetails = `original seeders of this env: ${originalSeedersOfThisEnv.length}, graph of this env: ${capsuleNetwork.seedersCapsules.length}, graph total (include other envs): ${capsuleNetwork.graphCapsules.length}`;\n this.logger.console(`${msg}. ${chalk.dim(extraDetails)}`);\n const buildContext = Object.assign(executionContext, {\n capsuleNetwork,\n previousTasksResults: [],\n pipeName: this.displayPipeName,\n dev: options.dev,\n laneId: this.scope.legacyScope.currentLaneId,\n });\n envsBuildContext[executionContext.id] = buildContext;\n });\n const envIdsWithoutVersion = envs.map((env) => env.id.split('@')[0]);\n const buildPipe = new BuildPipe(\n tasksQueue,\n envsBuildContext,\n this.logger,\n this.artifactFactory,\n options.previousTasksResults,\n {\n exitOnFirstFailedTask: options.exitOnFirstFailedTask,\n showEnvNameInOutput: envs.length > 1,\n showEnvVersionInOutput: envIdsWithoutVersion.length > uniq(envIdsWithoutVersion).length,\n }\n );\n const buildResults = await buildPipe.execute();\n longProcessLogger.end(buildResults.hasErrors() ? 'error' : 'success');\n\n return buildResults;\n }\n\n getComponentsCapsulesBaseDir(): string | undefined {\n return this.globalConfig.getSync(CFG_CAPSULES_BUILD_COMPONENTS_BASE_DIR);\n }\n\n render() {\n const descriptor = this.getDescriptor();\n\n return (\n <Text key={BuilderAspect.id}>\n {descriptor}\n <Newline />\n <Newline />\n </Text>\n );\n }\n\n transform(env: Env, envContext: EnvContext): BuilderTransformationMap | undefined {\n if (!env?.build) return undefined;\n return {\n getBuildPipe: () => {\n // TODO: refactor after defining for an env property\n const pipeline = env.build();\n if (!pipeline || !pipeline.compute) return [];\n return pipeline?.compute(envContext);\n },\n getTagPipe: () => {\n // TODO: refactor after defining for an env property\n const pipeline = env.tag();\n if (!pipeline || !pipeline.compute) return [];\n return pipeline?.compute(envContext);\n },\n getSnapPipe: () => {\n const pipeline = env.snap();\n if (!pipeline || !pipeline.compute) return [];\n return pipeline?.compute(envContext);\n },\n };\n }\n\n getDescriptor() {\n return 'run `bit build --list-tasks <component-id>` to see the tasks list for the pipelines: build, tag and snap';\n }\n\n private getTasksNamesByPipeFunc(env: EnvDefinition, pipeFuncName: PipeFunctionNames): string[] {\n const tasksQueue = calculatePipelineOrder(this.taskSlot, [env], pipeFuncName).map(({ task }) =>\n BuildTaskHelper.serializeId(task)\n );\n return tasksQueue;\n }\n\n getCurrentPipeTasks(env: EnvDefinition) {\n return this.getTasksNamesByPipeFunc(env, this.pipeNameOnEnv);\n }\n}\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.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.1133/dist/builder.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.1133/dist/builder.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/builder",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.1133",
|
|
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.
|
|
9
|
+
"version": "0.0.1133"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
@@ -27,23 +27,23 @@
|
|
|
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.
|
|
31
|
-
"@teambit/envs": "0.0.
|
|
32
|
-
"@teambit/logger": "0.0.
|
|
30
|
+
"@teambit/component": "0.0.1133",
|
|
31
|
+
"@teambit/envs": "0.0.1133",
|
|
32
|
+
"@teambit/logger": "0.0.852",
|
|
33
33
|
"@teambit/toolbox.string.capitalize": "0.0.490",
|
|
34
|
-
"@teambit/tester": "0.0.
|
|
35
|
-
"@teambit/isolator": "0.0.
|
|
36
|
-
"@teambit/lane-id": "0.0.
|
|
37
|
-
"@teambit/cli": "0.0.
|
|
38
|
-
"@teambit/workspace": "0.0.
|
|
39
|
-
"@teambit/aspect-loader": "0.0.
|
|
40
|
-
"@teambit/aspect": "0.0.
|
|
41
|
-
"@teambit/generator": "0.0.
|
|
42
|
-
"@teambit/global-config": "0.0.
|
|
43
|
-
"@teambit/graphql": "0.0.
|
|
44
|
-
"@teambit/scope": "0.0.
|
|
45
|
-
"@teambit/ui": "0.0.
|
|
46
|
-
"@teambit/express": "0.0.
|
|
34
|
+
"@teambit/tester": "0.0.1133",
|
|
35
|
+
"@teambit/isolator": "0.0.1133",
|
|
36
|
+
"@teambit/lane-id": "0.0.274",
|
|
37
|
+
"@teambit/cli": "0.0.759",
|
|
38
|
+
"@teambit/workspace": "0.0.1133",
|
|
39
|
+
"@teambit/aspect-loader": "0.0.1133",
|
|
40
|
+
"@teambit/aspect": "0.0.1133",
|
|
41
|
+
"@teambit/generator": "0.0.1133",
|
|
42
|
+
"@teambit/global-config": "0.0.761",
|
|
43
|
+
"@teambit/graphql": "0.0.1133",
|
|
44
|
+
"@teambit/scope": "0.0.1133",
|
|
45
|
+
"@teambit/ui": "0.0.1133",
|
|
46
|
+
"@teambit/express": "0.0.857",
|
|
47
47
|
"@teambit/bit-error": "0.0.402"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
@@ -58,10 +58,10 @@
|
|
|
58
58
|
"@types/react-dom": "^17.0.5",
|
|
59
59
|
"@types/jest": "^26.0.0",
|
|
60
60
|
"@types/testing-library__jest-dom": "5.9.5",
|
|
61
|
-
"@teambit/pipelines.aspect-docs.builder": "0.0.
|
|
61
|
+
"@teambit/pipelines.aspect-docs.builder": "0.0.156"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
|
-
"@teambit/legacy": "1.0.
|
|
64
|
+
"@teambit/legacy": "1.0.542",
|
|
65
65
|
"react": "^16.8.0 || ^17.0.0",
|
|
66
66
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
67
67
|
},
|
|
Binary file
|