@teambit/builder 0.0.885 → 0.0.887
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/dist/build.cmd.js.map +1 -1
- package/dist/builder.main.runtime.d.ts +3 -6
- package/dist/builder.main.runtime.js +61 -22
- package/dist/builder.main.runtime.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/package-tar/teambit-builder-0.0.887.tgz +0 -0
- package/package.json +21 -20
- package/{preview-1666755696699.js → preview-1667014802517.js} +2 -2
- package/package-tar/teambit-builder-0.0.885.tgz +0 -0
package/dist/build.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BuilderCmd","constructor","builder","workspace","logger","name","description","COMPONENT_PATTERN_HELP","report","pattern","all","unmodified","dev","install","cachePackagesOnCapsulesRoot","reuseCapsules","tasks","listTasks","skipTests","ConsumerNotFound","consoleWarning","getListTasks","longProcessLogger","createLongProcessLogger","components","getComponentsByUserInput","length","chalk","bold","consoleSuccess","envsExecutionResults","build","installOptions","installTeambitBit","packageManagerConfigRootDir","path","linkingOptions","linkTeambitBit","emptyRootDir","getExistingAsIs","split","map","task","trim","end","throwErrorsIfExist","green","tasksQueue","componentIdStr","compId","resolveComponentId","component","get","results","id","toString","envId","buildTasks","join","tagTasks","snapTasks"],"sources":["build.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { Logger } from '@teambit/logger';\nimport { Workspace } from '@teambit/workspace';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\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};\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 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 ] 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 }: BuildOpts\n ): Promise<string> {\n if (!this.workspace) throw new ConsumerNotFound();\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 this.logger.consoleSuccess(`found ${components.length} components to build`);\n
|
|
1
|
+
{"version":3,"names":["BuilderCmd","constructor","builder","workspace","logger","name","description","COMPONENT_PATTERN_HELP","report","pattern","all","unmodified","dev","install","cachePackagesOnCapsulesRoot","reuseCapsules","tasks","listTasks","skipTests","ConsumerNotFound","consoleWarning","getListTasks","longProcessLogger","createLongProcessLogger","components","getComponentsByUserInput","length","chalk","bold","consoleSuccess","envsExecutionResults","build","installOptions","installTeambitBit","packageManagerConfigRootDir","path","linkingOptions","linkTeambitBit","emptyRootDir","getExistingAsIs","split","map","task","trim","end","throwErrorsIfExist","green","tasksQueue","componentIdStr","compId","resolveComponentId","component","get","results","id","toString","envId","buildTasks","join","tagTasks","snapTasks"],"sources":["build.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { Logger } from '@teambit/logger';\nimport { Workspace } from '@teambit/workspace';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\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};\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 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 ] 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 }: BuildOpts\n ): Promise<string> {\n if (!this.workspace) throw new ConsumerNotFound();\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 this.logger.consoleSuccess(`found ${components.length} components to build`);\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 }\n );\n longProcessLogger.end();\n envsExecutionResults.throwErrorsIfExist();\n this.logger.consoleSuccess();\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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"}
|
|
@@ -27,6 +27,8 @@ export declare type OnTagOpts = {
|
|
|
27
27
|
disableTagAndSnapPipelines?: boolean;
|
|
28
28
|
throwOnError?: boolean;
|
|
29
29
|
forceDeploy?: boolean;
|
|
30
|
+
skipBuildPipeline?: boolean;
|
|
31
|
+
combineBuildDataFromParent?: boolean;
|
|
30
32
|
skipTests?: boolean;
|
|
31
33
|
isSnap?: boolean;
|
|
32
34
|
};
|
|
@@ -64,6 +66,7 @@ export declare class BuilderMain {
|
|
|
64
66
|
private pipelineResultsToBuilderData;
|
|
65
67
|
tagListener(components: Component[], options?: OnTagOpts, isolateOptions?: IsolateComponentsOptions): Promise<OnTagResults>;
|
|
66
68
|
private validateBuilderDataMap;
|
|
69
|
+
private combineBuildDataFromParent;
|
|
67
70
|
getArtifactsVinylByAspect(component: Component, aspectName: string): Promise<ArtifactVinyl[]>;
|
|
68
71
|
getArtifactsVinylByAspectAndName(component: Component, aspectName: string, name: string): Promise<ArtifactVinyl[]>;
|
|
69
72
|
getArtifactsVinylByAspectAndTaskName(component: Component, aspectName: string, name: string): Promise<ArtifactVinyl[]>;
|
|
@@ -74,12 +77,6 @@ export declare class BuilderMain {
|
|
|
74
77
|
getDataByAspect(component: IComponent, aspectName: string): Serializable | undefined;
|
|
75
78
|
getArtifacts(component: Component): ArtifactList<Artifact>;
|
|
76
79
|
getBuilderData(component: IComponent): BuilderData | undefined;
|
|
77
|
-
/**
|
|
78
|
-
* build given components for release.
|
|
79
|
-
* for each one of the envs it runs a series of tasks.
|
|
80
|
-
* in case of an error in a task, it stops the execution of that env and continue to the next
|
|
81
|
-
* env. at the end, the results contain the data and errors per env.
|
|
82
|
-
*/
|
|
83
80
|
build(components: Component[], isolateOptions?: IsolateComponentsOptions, builderOptions?: BuilderServiceOptions): Promise<TaskResultsList>;
|
|
84
81
|
runTagTasks(components: Component[], isolateOptions?: IsolateComponentsOptions, previousTasksResults?: TaskResults[]): Promise<TaskResultsList>;
|
|
85
82
|
runSnapTasks(components: Component[], isolateOptions?: IsolateComponentsOptions, previousTasksResults?: TaskResults[]): Promise<TaskResultsList>;
|
|
@@ -79,6 +79,13 @@ function _logger() {
|
|
|
79
79
|
};
|
|
80
80
|
return data;
|
|
81
81
|
}
|
|
82
|
+
function _aspect() {
|
|
83
|
+
const data = _interopRequireDefault(require("@teambit/aspect"));
|
|
84
|
+
_aspect = function () {
|
|
85
|
+
return data;
|
|
86
|
+
};
|
|
87
|
+
return data;
|
|
88
|
+
}
|
|
82
89
|
function _scope() {
|
|
83
90
|
const data = require("@teambit/scope");
|
|
84
91
|
_scope = function () {
|
|
@@ -257,28 +264,34 @@ class BuilderMain {
|
|
|
257
264
|
}
|
|
258
265
|
async tagListener(components, options = {}, isolateOptions = {}) {
|
|
259
266
|
const pipeResults = [];
|
|
267
|
+
const allTasksResults = [];
|
|
260
268
|
const {
|
|
261
269
|
throwOnError,
|
|
262
270
|
forceDeploy,
|
|
263
271
|
disableTagAndSnapPipelines,
|
|
264
|
-
isSnap
|
|
272
|
+
isSnap,
|
|
273
|
+
skipBuildPipeline
|
|
265
274
|
} = options;
|
|
266
|
-
|
|
275
|
+
if (options.skipBuildPipeline) isolateOptions.populateArtifactsFromParent = true;
|
|
276
|
+
const buildEnvsExecutionResults = await this.build(components, _objectSpread({
|
|
267
277
|
emptyRootDir: true
|
|
268
278
|
}, isolateOptions), {
|
|
269
|
-
skipTests: options.skipTests
|
|
279
|
+
skipTests: options.skipTests,
|
|
280
|
+
// even when build is skipped (in case of tag-from-scope), the pre-build/post-build and teambit.harmony/aspect tasks are needed
|
|
281
|
+
tasks: skipBuildPipeline ? [_aspect().default.id] : undefined
|
|
270
282
|
});
|
|
271
|
-
if (throwOnError && !forceDeploy)
|
|
272
|
-
|
|
273
|
-
pipeResults.push(
|
|
274
|
-
if (forceDeploy || !disableTagAndSnapPipelines && !
|
|
275
|
-
const deployEnvsExecutionResults = isSnap ? await this.runSnapTasks(components, isolateOptions,
|
|
283
|
+
if (throwOnError && !forceDeploy) buildEnvsExecutionResults.throwErrorsIfExist();
|
|
284
|
+
allTasksResults.push(...buildEnvsExecutionResults.tasksResults);
|
|
285
|
+
pipeResults.push(buildEnvsExecutionResults);
|
|
286
|
+
if (forceDeploy || !disableTagAndSnapPipelines && !(buildEnvsExecutionResults !== null && buildEnvsExecutionResults !== void 0 && buildEnvsExecutionResults.hasErrors())) {
|
|
287
|
+
const deployEnvsExecutionResults = isSnap ? await this.runSnapTasks(components, isolateOptions, buildEnvsExecutionResults === null || buildEnvsExecutionResults === void 0 ? void 0 : buildEnvsExecutionResults.tasksResults) : await this.runTagTasks(components, isolateOptions, buildEnvsExecutionResults === null || buildEnvsExecutionResults === void 0 ? void 0 : buildEnvsExecutionResults.tasksResults);
|
|
276
288
|
if (throwOnError && !forceDeploy) deployEnvsExecutionResults.throwErrorsIfExist();
|
|
277
289
|
allTasksResults.push(...deployEnvsExecutionResults.tasksResults);
|
|
278
290
|
pipeResults.push(deployEnvsExecutionResults);
|
|
279
291
|
}
|
|
280
292
|
await this.storeArtifacts(allTasksResults);
|
|
281
293
|
const builderDataMap = this.pipelineResultsToBuilderData(components, allTasksResults);
|
|
294
|
+
if (options.combineBuildDataFromParent) await this.combineBuildDataFromParent(builderDataMap);
|
|
282
295
|
this.validateBuilderDataMap(builderDataMap);
|
|
283
296
|
return {
|
|
284
297
|
builderDataMap,
|
|
@@ -297,6 +310,38 @@ class BuilderMain {
|
|
|
297
310
|
}
|
|
298
311
|
});
|
|
299
312
|
}
|
|
313
|
+
async combineBuildDataFromParent(builderDataMap) {
|
|
314
|
+
const promises = builderDataMap.map(async (builderData, component) => {
|
|
315
|
+
var _component$head;
|
|
316
|
+
const idStr = component.id.toString();
|
|
317
|
+
const parents = (_component$head = component.head) === null || _component$head === void 0 ? void 0 : _component$head.parents;
|
|
318
|
+
if (!parents || parents.length !== 1) {
|
|
319
|
+
throw new Error(`expect parents of ${idStr} to be 1, got ${(parents === null || parents === void 0 ? void 0 : parents.length) || 'none'}`);
|
|
320
|
+
}
|
|
321
|
+
const parent = parents[0];
|
|
322
|
+
const parentComp = await this.componentAspect.getHost().get(component.id.changeVersion(parent.toString()));
|
|
323
|
+
if (!parentComp) throw new Error(`unable to load parent component of ${idStr}. hash: ${parent}`);
|
|
324
|
+
const parentBuilderData = this.getBuilderData(parentComp);
|
|
325
|
+
if (!parentBuilderData) throw new Error(`parent of ${idStr} was not built yet. unable to continue`);
|
|
326
|
+
parentBuilderData.artifacts.forEach(artifact => {
|
|
327
|
+
const artifactObj = artifact.toObject();
|
|
328
|
+
if (!builderData.artifacts) builderData.artifacts = [];
|
|
329
|
+
if (builderData.artifacts.find(a => a.task.id === artifactObj.task.id && a.task.name === artifactObj.task.name)) {
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
builderData.artifacts.push(artifactObj);
|
|
333
|
+
});
|
|
334
|
+
parentBuilderData.aspectsData.forEach(aspectData => {
|
|
335
|
+
if (builderData.aspectsData.find(a => a.aspectId === aspectData.aspectId)) return;
|
|
336
|
+
builderData.aspectsData.push(aspectData);
|
|
337
|
+
});
|
|
338
|
+
parentBuilderData.pipeline.forEach(pipeline => {
|
|
339
|
+
if (builderData.pipeline.find(p => p.taskId === pipeline.taskId && p.taskName === pipeline.taskName)) return;
|
|
340
|
+
builderData.pipeline.push(pipeline);
|
|
341
|
+
});
|
|
342
|
+
});
|
|
343
|
+
await Promise.all(promises.flattenValue());
|
|
344
|
+
}
|
|
300
345
|
|
|
301
346
|
// TODO: merge with getArtifactsVinylByExtensionAndName by getting aspect name and name as object with optional props
|
|
302
347
|
async getArtifactsVinylByAspect(component, aspectName) {
|
|
@@ -347,29 +392,23 @@ class BuilderMain {
|
|
|
347
392
|
if (!data) return undefined;
|
|
348
393
|
const clonedData = (0, _lodash().cloneDeep)(data);
|
|
349
394
|
let artifactFiles;
|
|
350
|
-
(_clonedData$artifacts = clonedData.artifacts) === null || _clonedData$artifacts === void 0 ? void 0 : _clonedData$artifacts.
|
|
395
|
+
const artifacts = (_clonedData$artifacts = clonedData.artifacts) === null || _clonedData$artifacts === void 0 ? void 0 : _clonedData$artifacts.map(artifact => {
|
|
351
396
|
if (!(artifact.files instanceof _artifactFiles().ArtifactFiles)) {
|
|
352
397
|
artifactFiles = _artifactFiles().ArtifactFiles.fromObject(artifact.files);
|
|
353
398
|
} else {
|
|
354
399
|
artifactFiles = artifact.files;
|
|
355
400
|
}
|
|
356
|
-
if (
|
|
357
|
-
|
|
358
|
-
files: artifactFiles
|
|
359
|
-
});
|
|
360
|
-
Object.assign(artifact, _artifact().Artifact.fromArtifactObject(artifact));
|
|
401
|
+
if (artifact instanceof _artifact().Artifact) {
|
|
402
|
+
return artifact;
|
|
361
403
|
}
|
|
404
|
+
Object.assign(artifact, {
|
|
405
|
+
files: artifactFiles
|
|
406
|
+
});
|
|
407
|
+
return _artifact().Artifact.fromArtifactObject(artifact);
|
|
362
408
|
});
|
|
363
|
-
clonedData.artifacts = _artifact().ArtifactList.fromArray(
|
|
409
|
+
clonedData.artifacts = _artifact().ArtifactList.fromArray(artifacts || []);
|
|
364
410
|
return clonedData;
|
|
365
411
|
}
|
|
366
|
-
|
|
367
|
-
/**
|
|
368
|
-
* build given components for release.
|
|
369
|
-
* for each one of the envs it runs a series of tasks.
|
|
370
|
-
* in case of an error in a task, it stops the execution of that env and continue to the next
|
|
371
|
-
* env. at the end, the results contain the data and errors per env.
|
|
372
|
-
*/
|
|
373
412
|
async build(components, isolateOptions, builderOptions) {
|
|
374
413
|
const ids = components.map(c => c.id);
|
|
375
414
|
const network = await this.isolator.isolateComponents(ids, isolateOptions, this.scope.legacyScope);
|
|
@@ -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","throwOnError","forceDeploy","disableTagAndSnapPipelines","isSnap","envsExecutionResults","build","emptyRootDir","skipTests","throwErrorsIfExist","allTasksResults","push","hasErrors","deployEnvsExecutionResults","runSnapTasks","runTagTasks","builderDataMap","validateBuilderDataMap","forEach","buildData","taskSerializedIds","BuildTaskHelper","serializeId","aspectId","taskId","name","taskName","duplications","findDuplications","length","Error","toString","join","getArtifactsVinylByAspect","aspectName","getArtifactsByAspect","vinyls","getVinylsAndImportIfMissing","_legacy","legacyScope","getArtifactsVinylByAspectAndName","getArtifactsByAspectAndName","getArtifactsVinylByAspectAndTaskName","getArtifactsbyAspectAndTaskName","getArtifactsByName","getArtifacts","byAspectNameAndName","undefined","byAspectNameAndTaskName","getDataByAspect","getBuilderData","data","find","aspectData","ArtifactList","fromArray","get","BuilderAspect","clonedData","cloneDeep","artifactFiles","artifact","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","tasks","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 { 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 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 { throwOnError, forceDeploy, disableTagAndSnapPipelines, isSnap } = options;\n const envsExecutionResults = await this.build(\n components,\n { emptyRootDir: true, ...isolateOptions },\n { skipTests: options.skipTests }\n );\n if (throwOnError && !forceDeploy) envsExecutionResults.throwErrorsIfExist();\n const allTasksResults = [...envsExecutionResults.tasksResults];\n pipeResults.push(envsExecutionResults);\n if (forceDeploy || (!disableTagAndSnapPipelines && !envsExecutionResults.hasErrors())) {\n const deployEnvsExecutionResults = isSnap\n ? await this.runSnapTasks(components, isolateOptions, envsExecutionResults.tasksResults)\n : await this.runTagTasks(components, isolateOptions, envsExecutionResults.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 this.validateBuilderDataMap(builderDataMap);\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 // 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: Component, 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: Component): 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 clonedData.artifacts?.forEach((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 Object.assign(artifact, { files: artifactFiles });\n Object.assign(artifact, Artifact.fromArtifactObject(artifact));\n }\n });\n clonedData.artifacts = ArtifactList.fromArray(clonedData.artifacts || []);\n return clonedData;\n }\n\n /**\n * build given components for release.\n * for each one of the envs it runs a series of tasks.\n * in case of an error in a task, it stops the execution of that env and continue to the next\n * env. at the end, the results contain the data and errors per env.\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));\n 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","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: Component, 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: Component): 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));\n 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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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { BuildPipe, TaskResults } from './build-pipe';
|
|
|
2
2
|
export { ComponentResult, TaskMetadata } from './types';
|
|
3
3
|
export { BuildContext, BuildTask, BuiltTaskResult, TaskLocation, BuildTaskHelper, CAPSULE_ARTIFACTS_DIR, } from './build-task';
|
|
4
4
|
export type { PipeName } from './builder.service';
|
|
5
|
-
export type { BuilderMain, RawBuilderData, BuilderData } from './builder.main.runtime';
|
|
5
|
+
export type { BuilderMain, RawBuilderData, BuilderData, OnTagOpts } from './builder.main.runtime';
|
|
6
6
|
export type { PipelineReport } from './build-pipeline-result-list';
|
|
7
7
|
export { BuilderAspect } from './builder.aspect';
|
|
8
8
|
export { WholeArtifactStorageResolver, FileStorageResolver, ArtifactStorageResolver } from './storage';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { BuildPipe, TaskResults } from './build-pipe';\nexport { ComponentResult, TaskMetadata } from './types';\nexport {\n BuildContext,\n BuildTask,\n BuiltTaskResult,\n TaskLocation,\n BuildTaskHelper,\n CAPSULE_ARTIFACTS_DIR,\n} from './build-task';\nexport type { PipeName } from './builder.service';\nexport type { BuilderMain, RawBuilderData, BuilderData } from './builder.main.runtime';\nexport type { PipelineReport } from './build-pipeline-result-list';\nexport { BuilderAspect } from './builder.aspect';\nexport { WholeArtifactStorageResolver, FileStorageResolver, ArtifactStorageResolver } from './storage';\nexport { Artifact, ArtifactList, ArtifactFactory, ArtifactDefinition, ArtifactModelDefinition } from './artifact';\nexport { TaskResultsList } from './task-results-list';\nexport { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAWA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { BuildPipe, TaskResults } from './build-pipe';\nexport { ComponentResult, TaskMetadata } from './types';\nexport {\n BuildContext,\n BuildTask,\n BuiltTaskResult,\n TaskLocation,\n BuildTaskHelper,\n CAPSULE_ARTIFACTS_DIR,\n} from './build-task';\nexport type { PipeName } from './builder.service';\nexport type { BuilderMain, RawBuilderData, BuilderData, OnTagOpts } from './builder.main.runtime';\nexport type { PipelineReport } from './build-pipeline-result-list';\nexport { BuilderAspect } from './builder.aspect';\nexport { WholeArtifactStorageResolver, FileStorageResolver, ArtifactStorageResolver } from './storage';\nexport { Artifact, ArtifactList, ArtifactFactory, ArtifactDefinition, ArtifactModelDefinition } from './artifact';\nexport { TaskResultsList } from './task-results-list';\nexport { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAWA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
|
|
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.887",
|
|
4
4
|
"homepage": "https://bit.dev/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.887"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"p-map-series": "2.1.0",
|
|
@@ -22,25 +22,26 @@
|
|
|
22
22
|
"fs-extra": "10.0.0",
|
|
23
23
|
"minimatch": "3.0.5",
|
|
24
24
|
"globby": "11.0.1",
|
|
25
|
-
"@babel/runtime": "7.
|
|
25
|
+
"@babel/runtime": "7.20.0",
|
|
26
26
|
"core-js": "^3.0.0",
|
|
27
27
|
"@teambit/graph.cleargraph": "0.0.1",
|
|
28
28
|
"@teambit/harmony": "0.3.3",
|
|
29
|
-
"@teambit/component": "0.0.
|
|
30
|
-
"@teambit/envs": "0.0.
|
|
31
|
-
"@teambit/logger": "0.0.
|
|
32
|
-
"@teambit/tester": "0.0.
|
|
33
|
-
"@teambit/isolator": "0.0.
|
|
34
|
-
"@teambit/lane-id": "0.0.
|
|
35
|
-
"@teambit/cli": "0.0.
|
|
36
|
-
"@teambit/workspace": "0.0.
|
|
37
|
-
"@teambit/aspect-loader": "0.0.
|
|
38
|
-
"@teambit/
|
|
39
|
-
"@teambit/
|
|
40
|
-
"@teambit/
|
|
41
|
-
"@teambit/
|
|
42
|
-
"@teambit/
|
|
43
|
-
"@teambit/
|
|
29
|
+
"@teambit/component": "0.0.887",
|
|
30
|
+
"@teambit/envs": "0.0.887",
|
|
31
|
+
"@teambit/logger": "0.0.688",
|
|
32
|
+
"@teambit/tester": "0.0.887",
|
|
33
|
+
"@teambit/isolator": "0.0.887",
|
|
34
|
+
"@teambit/lane-id": "0.0.113",
|
|
35
|
+
"@teambit/cli": "0.0.595",
|
|
36
|
+
"@teambit/workspace": "0.0.887",
|
|
37
|
+
"@teambit/aspect-loader": "0.0.887",
|
|
38
|
+
"@teambit/aspect": "0.0.887",
|
|
39
|
+
"@teambit/generator": "0.0.887",
|
|
40
|
+
"@teambit/graphql": "0.0.887",
|
|
41
|
+
"@teambit/scope": "0.0.887",
|
|
42
|
+
"@teambit/express": "0.0.693",
|
|
43
|
+
"@teambit/bit-error": "0.0.401",
|
|
44
|
+
"@teambit/component-id": "0.0.419"
|
|
44
45
|
},
|
|
45
46
|
"devDependencies": {
|
|
46
47
|
"@types/lodash": "4.14.165",
|
|
@@ -54,10 +55,10 @@
|
|
|
54
55
|
"@types/jest": "^26.0.0",
|
|
55
56
|
"@types/react-dom": "^17.0.5",
|
|
56
57
|
"@types/node": "12.20.4",
|
|
57
|
-
"@teambit/pipelines.aspect-docs.builder": "0.0.
|
|
58
|
+
"@teambit/pipelines.aspect-docs.builder": "0.0.147"
|
|
58
59
|
},
|
|
59
60
|
"peerDependencies": {
|
|
60
|
-
"@teambit/legacy": "1.0.
|
|
61
|
+
"@teambit/legacy": "1.0.379",
|
|
61
62
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
62
63
|
"react": "^16.8.0 || ^17.0.0"
|
|
63
64
|
},
|
|
@@ -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.887/dist/builder.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.887/dist/builder.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
Binary file
|