@teambit/builder 0.0.1126 → 0.0.1128
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 +11 -6
- package/dist/build-pipe.d.ts +4 -0
- package/dist/build-pipe.js +46 -8
- package/dist/build-pipe.js.map +1 -1
- package/dist/build.cmd.js +1 -2
- package/dist/build.cmd.js.map +1 -1
- package/dist/builder.service.js +16 -6
- package/dist/builder.service.js.map +1 -1
- package/dist/{preview-1691523857630.js → preview-1691637443382.js} +2 -2
- package/package-tar/teambit-builder-0.0.1128.tgz +0 -0
- package/package.json +21 -20
- package/package-tar/teambit-builder-0.0.1126.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 { uniq } from 'lodash';
|
|
4
5
|
import { ScopeMain } from '@teambit/scope';
|
|
5
6
|
import pMapSeries from 'p-map-series';
|
|
6
7
|
import { GlobalConfigMain } from '@teambit/global-config';
|
|
@@ -100,9 +101,9 @@ export class BuilderService implements EnvService<BuildServiceResults, string> {
|
|
|
100
101
|
);
|
|
101
102
|
tasksQueue.validate();
|
|
102
103
|
this.logger.info(`going to run tasks in the following order:\n${tasksQueue.toString()}`);
|
|
103
|
-
const
|
|
104
|
-
const
|
|
105
|
-
this.logger.
|
|
104
|
+
const envsStr = envs.map((env) => env.id).join(', ');
|
|
105
|
+
const title = `Running ${this.displayPipeName} pipeline using ${envs.length} environment(s) (${envsStr}), total ${tasksQueue.length} tasks`;
|
|
106
|
+
const longProcessLogger = this.logger.createLongProcessLogger(title, undefined, 'title');
|
|
106
107
|
const envsBuildContext: EnvsBuildContext = {};
|
|
107
108
|
const capsulesBaseDir = this.getComponentsCapsulesBaseDir();
|
|
108
109
|
|
|
@@ -135,17 +136,21 @@ export class BuilderService implements EnvService<BuildServiceResults, string> {
|
|
|
135
136
|
});
|
|
136
137
|
envsBuildContext[executionContext.id] = buildContext;
|
|
137
138
|
});
|
|
139
|
+
const envIdsWithoutVersion = envs.map((env) => env.id.split('@')[0]);
|
|
138
140
|
const buildPipe = new BuildPipe(
|
|
139
141
|
tasksQueue,
|
|
140
142
|
envsBuildContext,
|
|
141
143
|
this.logger,
|
|
142
144
|
this.artifactFactory,
|
|
143
145
|
options.previousTasksResults,
|
|
144
|
-
{
|
|
146
|
+
{
|
|
147
|
+
exitOnFirstFailedTask: options.exitOnFirstFailedTask,
|
|
148
|
+
showEnvNameInOutput: envs.length > 1,
|
|
149
|
+
showEnvVersionInOutput: envIdsWithoutVersion.length > uniq(envIdsWithoutVersion).length,
|
|
150
|
+
}
|
|
145
151
|
);
|
|
146
152
|
const buildResults = await buildPipe.execute();
|
|
147
|
-
longProcessLogger.end();
|
|
148
|
-
buildResults.hasErrors() ? this.logger.consoleFailure() : this.logger.consoleSuccess();
|
|
153
|
+
longProcessLogger.end(buildResults.hasErrors() ? 'error' : 'success');
|
|
149
154
|
|
|
150
155
|
return buildResults;
|
|
151
156
|
}
|
package/dist/build-pipe.d.ts
CHANGED
|
@@ -36,6 +36,8 @@ export declare type TaskResults = {
|
|
|
36
36
|
};
|
|
37
37
|
declare type PipeOptions = {
|
|
38
38
|
exitOnFirstFailedTask?: boolean;
|
|
39
|
+
showEnvNameInOutput?: boolean;
|
|
40
|
+
showEnvVersionInOutput?: boolean;
|
|
39
41
|
};
|
|
40
42
|
export declare class BuildPipe {
|
|
41
43
|
/**
|
|
@@ -67,6 +69,8 @@ export declare class BuildPipe {
|
|
|
67
69
|
private addSignalListener;
|
|
68
70
|
private executePreBuild;
|
|
69
71
|
private executeTask;
|
|
72
|
+
private getPrettyAspectName;
|
|
73
|
+
private getPrettyEnvName;
|
|
70
74
|
private executePostBuild;
|
|
71
75
|
private updateFailedDependencyTask;
|
|
72
76
|
private shouldSkipTask;
|
package/dist/build-pipe.js
CHANGED
|
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
require("core-js/modules/es.symbol.description.js");
|
|
5
5
|
require("core-js/modules/es.array.iterator.js");
|
|
6
6
|
require("core-js/modules/es.promise.js");
|
|
7
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
7
8
|
Object.defineProperty(exports, "__esModule", {
|
|
8
9
|
value: true
|
|
9
10
|
});
|
|
@@ -15,6 +16,13 @@ function _defineProperty2() {
|
|
|
15
16
|
};
|
|
16
17
|
return data;
|
|
17
18
|
}
|
|
19
|
+
function _component() {
|
|
20
|
+
const data = require("@teambit/component");
|
|
21
|
+
_component = function () {
|
|
22
|
+
return data;
|
|
23
|
+
};
|
|
24
|
+
return data;
|
|
25
|
+
}
|
|
18
26
|
function _pMapSeries() {
|
|
19
27
|
const data = _interopRequireDefault(require("p-map-series"));
|
|
20
28
|
_pMapSeries = function () {
|
|
@@ -29,6 +37,20 @@ function _prettyTime() {
|
|
|
29
37
|
};
|
|
30
38
|
return data;
|
|
31
39
|
}
|
|
40
|
+
function _toolboxString() {
|
|
41
|
+
const data = require("@teambit/toolbox.string.capitalize");
|
|
42
|
+
_toolboxString = function () {
|
|
43
|
+
return data;
|
|
44
|
+
};
|
|
45
|
+
return data;
|
|
46
|
+
}
|
|
47
|
+
function _chalk() {
|
|
48
|
+
const data = _interopRequireDefault(require("chalk"));
|
|
49
|
+
_chalk = function () {
|
|
50
|
+
return data;
|
|
51
|
+
};
|
|
52
|
+
return data;
|
|
53
|
+
}
|
|
32
54
|
function _buildTask() {
|
|
33
55
|
const data = require("./build-task");
|
|
34
56
|
_buildTask = function () {
|
|
@@ -94,6 +116,7 @@ class BuildPipe {
|
|
|
94
116
|
}
|
|
95
117
|
async executePreBuild() {
|
|
96
118
|
this.logger.setStatusLine('executing pre-build for all tasks');
|
|
119
|
+
const longProcessLogger = this.logger.createLongProcessLogger('running pre-build for all tasks');
|
|
97
120
|
await (0, _pMapSeries().default)(this.tasksQueue, async ({
|
|
98
121
|
task,
|
|
99
122
|
env
|
|
@@ -101,12 +124,14 @@ class BuildPipe {
|
|
|
101
124
|
if (!task.preBuild) return;
|
|
102
125
|
await task.preBuild(this.getBuildContext(env.id));
|
|
103
126
|
});
|
|
104
|
-
|
|
127
|
+
longProcessLogger.end();
|
|
105
128
|
}
|
|
106
129
|
async executeTask(task, env) {
|
|
130
|
+
var _this$options;
|
|
107
131
|
const taskId = _buildTask().BuildTaskHelper.serializeId(task);
|
|
108
|
-
const
|
|
109
|
-
|
|
132
|
+
const envName = (_this$options = this.options) !== null && _this$options !== void 0 && _this$options.showEnvNameInOutput ? `(${this.getPrettyEnvName(env.id)}) ` : '';
|
|
133
|
+
const taskLogPrefix = `${envName}[${this.getPrettyAspectName(task.aspectId)}: ${task.name}]`;
|
|
134
|
+
this.longProcessLogger.logProgress(`${taskLogPrefix}${task.description ? ` ${task.description}` : ''}`, false);
|
|
110
135
|
this.updateFailedDependencyTask(task);
|
|
111
136
|
if (this.shouldSkipTask(taskId, env.id)) {
|
|
112
137
|
return;
|
|
@@ -127,12 +152,13 @@ class BuildPipe {
|
|
|
127
152
|
return (_c$errors = c.errors) === null || _c$errors === void 0 ? void 0 : _c$errors.length;
|
|
128
153
|
});
|
|
129
154
|
let artifacts;
|
|
155
|
+
const duration = (0, _prettyTime().default)(process.hrtime(startTask));
|
|
130
156
|
if (compsWithErrors.length) {
|
|
131
157
|
this.logger.consoleFailure(`env: ${env.id}, task "${taskId}" has failed`);
|
|
158
|
+
this.logger.consoleFailure(_chalk().default.red(`${this.longProcessLogger.getProgress()} env: ${env.id}, task "${taskId}" has failed in ${duration}`));
|
|
132
159
|
this.failedTasks.push(task);
|
|
133
160
|
} else {
|
|
134
|
-
|
|
135
|
-
this.logger.consoleSuccess(`env "${env.id}", task "${taskName}" has completed successfully in ${duration}`);
|
|
161
|
+
this.logger.consoleSuccess(_chalk().default.green(`${this.longProcessLogger.getProgress()} ${taskLogPrefix} Completed successfully in ${duration}`));
|
|
136
162
|
const defs = buildTaskResult.artifacts || [];
|
|
137
163
|
artifacts = this.artifactFactory.generate(buildContext, defs, task);
|
|
138
164
|
}
|
|
@@ -146,7 +172,19 @@ class BuildPipe {
|
|
|
146
172
|
};
|
|
147
173
|
this.taskResults.push(taskResults);
|
|
148
174
|
}
|
|
175
|
+
getPrettyAspectName(aspectId) {
|
|
176
|
+
const resolvedId = _component().ComponentID.fromString(aspectId);
|
|
177
|
+
const tokens = resolvedId.name.split('-').map(token => (0, _toolboxString().capitalize)(token));
|
|
178
|
+
return tokens.join(' ');
|
|
179
|
+
}
|
|
180
|
+
getPrettyEnvName(envId) {
|
|
181
|
+
var _this$options2;
|
|
182
|
+
const resolvedId = _component().ComponentID.fromString(envId);
|
|
183
|
+
const ver = (_this$options2 = this.options) !== null && _this$options2 !== void 0 && _this$options2.showEnvVersionInOutput ? `@${resolvedId.version}` : '';
|
|
184
|
+
return `${resolvedId.fullName}${ver}`;
|
|
185
|
+
}
|
|
149
186
|
async executePostBuild(tasksResults) {
|
|
187
|
+
const longProcessLogger = this.logger.createLongProcessLogger('running post-build for all tasks');
|
|
150
188
|
this.logger.setStatusLine('executing post-build for all tasks');
|
|
151
189
|
await (0, _pMapSeries().default)(this.tasksQueue, async ({
|
|
152
190
|
task,
|
|
@@ -155,7 +193,7 @@ class BuildPipe {
|
|
|
155
193
|
if (!task.postBuild) return;
|
|
156
194
|
await task.postBuild(this.getBuildContext(env.id), tasksResults);
|
|
157
195
|
});
|
|
158
|
-
|
|
196
|
+
longProcessLogger.end();
|
|
159
197
|
}
|
|
160
198
|
updateFailedDependencyTask(task) {
|
|
161
199
|
if (!this.failedDependencyTask && this.failedTasks.length && task.dependencies) {
|
|
@@ -172,8 +210,8 @@ class BuildPipe {
|
|
|
172
210
|
}
|
|
173
211
|
}
|
|
174
212
|
shouldSkipTask(taskId, envId) {
|
|
175
|
-
var _this$
|
|
176
|
-
if ((_this$
|
|
213
|
+
var _this$options3;
|
|
214
|
+
if ((_this$options3 = this.options) !== null && _this$options3 !== void 0 && _this$options3.exitOnFirstFailedTask && this.failedTasks.length) {
|
|
177
215
|
const failedTaskId = _buildTask().BuildTaskHelper.serializeId(this.failedTasks[0]);
|
|
178
216
|
this.logger.consoleWarning(`env: ${envId}, task "${taskId}" has skipped due to "${failedTaskId}" failure`);
|
|
179
217
|
return true;
|
package/dist/build-pipe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_prettyTime","_buildTask","_taskResultsList","BuildPipe","constructor","tasksQueue","envsBuildContext","logger","artifactFactory","previousTaskResults","options","_defineProperty2","default","allTasksResults","taskResults","execute","addSignalListener","executePreBuild","longProcessLogger","createLongProcessLogger","length","mapSeries","task","env","executeTask","end","tasksResultsList","TaskResultsList","executePostBuild","process","on","exit","setStatusLine","preBuild","getBuildContext","id","consoleSuccess","taskId","BuildTaskHelper","serializeId","taskName","description","logProgress","updateFailedDependencyTask","shouldSkipTask","startTask","hrtime","taskStartTime","Date","now","buildContext","buildTaskResult","err","consoleFailure","endTime","compsWithErrors","componentsResults","filter","c","_c$errors","errors","artifacts","failedTasks","push","duration","prettyTime","defs","generate","startTime","tasksResults","postBuild","failedDependencyTask","dependencies","forEach","dependency","aspectId","name","deserializeIdAllowEmptyName","find","failedTask","envId","_this$options","exitOnFirstFailedTask","failedTaskId","consoleWarning","Error","previousTasksResults","exports"],"sources":["build-pipe.ts"],"sourcesContent":["import { EnvDefinition } from '@teambit/envs';\nimport { ComponentMap } from '@teambit/component';\nimport { Logger, LongProcessLogger } from '@teambit/logger';\nimport mapSeries from 'p-map-series';\nimport prettyTime from 'pretty-time';\nimport { ArtifactFactory, ArtifactList, FsArtifact } from './artifact';\nimport { BuildContext, BuildTask, BuildTaskHelper, BuiltTaskResult } from './build-task';\nimport { ComponentResult } from './types';\nimport { TasksQueue } from './tasks-queue';\nimport { EnvsBuildContext } from './builder.service';\nimport { TaskResultsList } from './task-results-list';\n\nexport type TaskResults = {\n /**\n * task itself. useful for getting its id/description later on.\n */\n task: BuildTask;\n\n /**\n * environment were the task was running\n */\n env: EnvDefinition;\n\n /**\n * component build results.\n */\n componentsResults: ComponentResult[];\n\n /**\n * artifacts generated by the build pipeline.\n * in case the task finished with errors, this prop is undefined.\n */\n artifacts: ComponentMap<ArtifactList<FsArtifact>> | undefined;\n\n /**\n * timestamp of start initiation.\n */\n startTime: number;\n\n /**\n * timestamp of task completion.\n */\n endTime: number;\n};\n\ntype PipeOptions = {\n exitOnFirstFailedTask?: boolean; // by default it skips only when a dependent failed.\n};\n\nexport class BuildPipe {\n private failedTasks: BuildTask[] = [];\n private failedDependencyTask: BuildTask | undefined;\n private longProcessLogger: LongProcessLogger;\n private taskResults: TaskResults[] = [];\n constructor(\n /**\n * array of services to apply on the components.\n */\n readonly tasksQueue: TasksQueue,\n readonly envsBuildContext: EnvsBuildContext,\n readonly logger: Logger,\n readonly artifactFactory: ArtifactFactory,\n private previousTaskResults?: TaskResults[],\n private options?: PipeOptions\n ) {}\n\n get allTasksResults(): TaskResults[] {\n return [...(this.previousTaskResults || []), ...(this.taskResults || [])];\n }\n\n /**\n * execute a pipeline of build tasks.\n */\n async execute(): Promise<TaskResultsList> {\n this.addSignalListener();\n await this.executePreBuild();\n this.longProcessLogger = this.logger.createLongProcessLogger('running tasks', this.tasksQueue.length);\n await mapSeries(this.tasksQueue, async ({ task, env }) => this.executeTask(task, env));\n this.longProcessLogger.end();\n const tasksResultsList = new TaskResultsList(this.tasksQueue, this.taskResults);\n await this.executePostBuild(tasksResultsList);\n\n return tasksResultsList;\n }\n\n /**\n * for some reason, some tasks (such as typescript compilation) ignore ctrl+C. this fixes it.\n */\n private addSignalListener() {\n process.on('SIGTERM', () => {\n process.exit();\n });\n\n process.on('SIGINT', () => {\n process.exit();\n });\n }\n\n private async executePreBuild() {\n this.logger.setStatusLine('executing pre-build for all tasks');\n await mapSeries(this.tasksQueue, async ({ task, env }) => {\n if (!task.preBuild) return;\n await task.preBuild(this.getBuildContext(env.id));\n });\n this.logger.consoleSuccess();\n }\n\n private async executeTask(task: BuildTask, env: EnvDefinition): Promise<void> {\n const taskId = BuildTaskHelper.serializeId(task);\n const taskName = `${taskId}${task.description ? ` (${task.description})` : ''}`;\n this.longProcessLogger.logProgress(`env \"${env.id}\", task \"${taskName}\"`);\n this.updateFailedDependencyTask(task);\n if (this.shouldSkipTask(taskId, env.id)) {\n return;\n }\n const startTask = process.hrtime();\n const taskStartTime = Date.now();\n const buildContext = this.getBuildContext(env.id);\n let buildTaskResult: BuiltTaskResult;\n try {\n buildTaskResult = await task.execute(buildContext);\n } catch (err) {\n this.logger.consoleFailure(`env: ${env.id}, task \"${taskId}\" threw an error`);\n throw err;\n }\n\n const endTime = Date.now();\n const compsWithErrors = buildTaskResult.componentsResults.filter((c) => c.errors?.length);\n let artifacts: ComponentMap<ArtifactList<FsArtifact>> | undefined;\n if (compsWithErrors.length) {\n this.logger.consoleFailure(`env: ${env.id}, task \"${taskId}\" has failed`);\n this.failedTasks.push(task);\n } else {\n const duration = prettyTime(process.hrtime(startTask));\n this.logger.consoleSuccess(`env \"${env.id}\", task \"${taskName}\" has completed successfully in ${duration}`);\n const defs = buildTaskResult.artifacts || [];\n artifacts = this.artifactFactory.generate(buildContext, defs, task);\n }\n\n const taskResults: TaskResults = {\n task,\n env,\n componentsResults: buildTaskResult.componentsResults,\n artifacts,\n startTime: taskStartTime,\n endTime,\n };\n\n this.taskResults.push(taskResults);\n }\n\n private async executePostBuild(tasksResults: TaskResultsList) {\n this.logger.setStatusLine('executing post-build for all tasks');\n await mapSeries(this.tasksQueue, async ({ task, env }) => {\n if (!task.postBuild) return;\n await task.postBuild(this.getBuildContext(env.id), tasksResults);\n });\n this.logger.consoleSuccess();\n }\n\n private updateFailedDependencyTask(task: BuildTask) {\n if (!this.failedDependencyTask && this.failedTasks.length && task.dependencies) {\n task.dependencies.forEach((dependency) => {\n const { aspectId, name } = BuildTaskHelper.deserializeIdAllowEmptyName(dependency);\n this.failedDependencyTask = this.failedTasks.find((failedTask) => {\n if (name && name !== failedTask.name) return false;\n return aspectId === failedTask.aspectId;\n });\n });\n }\n }\n\n private shouldSkipTask(taskId: string, envId: string): boolean {\n if (this.options?.exitOnFirstFailedTask && this.failedTasks.length) {\n const failedTaskId = BuildTaskHelper.serializeId(this.failedTasks[0]);\n this.logger.consoleWarning(`env: ${envId}, task \"${taskId}\" has skipped due to \"${failedTaskId}\" failure`);\n return true;\n }\n if (!this.failedDependencyTask) return false;\n const failedTaskId = BuildTaskHelper.serializeId(this.failedDependencyTask);\n this.logger.consoleWarning(`env: ${envId}, task \"${taskId}\" has skipped due to \"${failedTaskId}\" failure`);\n return true;\n }\n\n private getBuildContext(envId: string): BuildContext {\n const buildContext = this.envsBuildContext[envId];\n if (!buildContext) throw new Error(`unable to find buildContext for ${envId}`);\n buildContext.previousTasksResults = this.allTasksResults;\n return buildContext;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_component","data","require","_pMapSeries","_interopRequireDefault","_prettyTime","_toolboxString","_chalk","_buildTask","_taskResultsList","BuildPipe","constructor","tasksQueue","envsBuildContext","logger","artifactFactory","previousTaskResults","options","_defineProperty2","default","allTasksResults","taskResults","execute","addSignalListener","executePreBuild","longProcessLogger","createLongProcessLogger","length","mapSeries","task","env","executeTask","end","tasksResultsList","TaskResultsList","executePostBuild","process","on","exit","setStatusLine","preBuild","getBuildContext","id","_this$options","taskId","BuildTaskHelper","serializeId","envName","showEnvNameInOutput","getPrettyEnvName","taskLogPrefix","getPrettyAspectName","aspectId","name","logProgress","description","updateFailedDependencyTask","shouldSkipTask","startTask","hrtime","taskStartTime","Date","now","buildContext","buildTaskResult","err","consoleFailure","endTime","compsWithErrors","componentsResults","filter","c","_c$errors","errors","artifacts","duration","prettyTime","chalk","red","getProgress","failedTasks","push","consoleSuccess","green","defs","generate","startTime","resolvedId","ComponentID","fromString","tokens","split","map","token","capitalize","join","envId","_this$options2","ver","showEnvVersionInOutput","version","fullName","tasksResults","postBuild","failedDependencyTask","dependencies","forEach","dependency","deserializeIdAllowEmptyName","find","failedTask","_this$options3","exitOnFirstFailedTask","failedTaskId","consoleWarning","Error","previousTasksResults","exports"],"sources":["build-pipe.ts"],"sourcesContent":["import { EnvDefinition } from '@teambit/envs';\nimport { ComponentMap, ComponentID } from '@teambit/component';\nimport { Logger, LongProcessLogger } from '@teambit/logger';\nimport mapSeries from 'p-map-series';\nimport prettyTime from 'pretty-time';\nimport { capitalize } from '@teambit/toolbox.string.capitalize';\nimport chalk from 'chalk';\nimport { ArtifactFactory, ArtifactList, FsArtifact } from './artifact';\nimport { BuildContext, BuildTask, BuildTaskHelper, BuiltTaskResult } from './build-task';\nimport { ComponentResult } from './types';\nimport { TasksQueue } from './tasks-queue';\nimport { EnvsBuildContext } from './builder.service';\nimport { TaskResultsList } from './task-results-list';\n\nexport type TaskResults = {\n /**\n * task itself. useful for getting its id/description later on.\n */\n task: BuildTask;\n\n /**\n * environment were the task was running\n */\n env: EnvDefinition;\n\n /**\n * component build results.\n */\n componentsResults: ComponentResult[];\n\n /**\n * artifacts generated by the build pipeline.\n * in case the task finished with errors, this prop is undefined.\n */\n artifacts: ComponentMap<ArtifactList<FsArtifact>> | undefined;\n\n /**\n * timestamp of start initiation.\n */\n startTime: number;\n\n /**\n * timestamp of task completion.\n */\n endTime: number;\n};\n\ntype PipeOptions = {\n exitOnFirstFailedTask?: boolean; // by default it skips only when a dependent failed.\n showEnvNameInOutput?: boolean;\n showEnvVersionInOutput?: boolean; // in case it shows the env-name, whether should show also the version\n};\n\nexport class BuildPipe {\n private failedTasks: BuildTask[] = [];\n private failedDependencyTask: BuildTask | undefined;\n private longProcessLogger: LongProcessLogger;\n private taskResults: TaskResults[] = [];\n constructor(\n /**\n * array of services to apply on the components.\n */\n readonly tasksQueue: TasksQueue,\n readonly envsBuildContext: EnvsBuildContext,\n readonly logger: Logger,\n readonly artifactFactory: ArtifactFactory,\n private previousTaskResults?: TaskResults[],\n private options?: PipeOptions\n ) {}\n\n get allTasksResults(): TaskResults[] {\n return [...(this.previousTaskResults || []), ...(this.taskResults || [])];\n }\n\n /**\n * execute a pipeline of build tasks.\n */\n async execute(): Promise<TaskResultsList> {\n this.addSignalListener();\n await this.executePreBuild();\n this.longProcessLogger = this.logger.createLongProcessLogger('running tasks', this.tasksQueue.length);\n await mapSeries(this.tasksQueue, async ({ task, env }) => this.executeTask(task, env));\n this.longProcessLogger.end();\n const tasksResultsList = new TaskResultsList(this.tasksQueue, this.taskResults);\n await this.executePostBuild(tasksResultsList);\n\n return tasksResultsList;\n }\n\n /**\n * for some reason, some tasks (such as typescript compilation) ignore ctrl+C. this fixes it.\n */\n private addSignalListener() {\n process.on('SIGTERM', () => {\n process.exit();\n });\n\n process.on('SIGINT', () => {\n process.exit();\n });\n }\n\n private async executePreBuild() {\n this.logger.setStatusLine('executing pre-build for all tasks');\n const longProcessLogger = this.logger.createLongProcessLogger('running pre-build for all tasks');\n await mapSeries(this.tasksQueue, async ({ task, env }) => {\n if (!task.preBuild) return;\n await task.preBuild(this.getBuildContext(env.id));\n });\n longProcessLogger.end();\n }\n\n private async executeTask(task: BuildTask, env: EnvDefinition): Promise<void> {\n const taskId = BuildTaskHelper.serializeId(task);\n const envName = this.options?.showEnvNameInOutput ? `(${this.getPrettyEnvName(env.id)}) ` : '';\n const taskLogPrefix = `${envName}[${this.getPrettyAspectName(task.aspectId)}: ${task.name}]`;\n this.longProcessLogger.logProgress(`${taskLogPrefix}${task.description ? ` ${task.description}` : ''}`, false);\n this.updateFailedDependencyTask(task);\n if (this.shouldSkipTask(taskId, env.id)) {\n return;\n }\n const startTask = process.hrtime();\n const taskStartTime = Date.now();\n const buildContext = this.getBuildContext(env.id);\n let buildTaskResult: BuiltTaskResult;\n try {\n buildTaskResult = await task.execute(buildContext);\n } catch (err) {\n this.logger.consoleFailure(`env: ${env.id}, task \"${taskId}\" threw an error`);\n throw err;\n }\n\n const endTime = Date.now();\n const compsWithErrors = buildTaskResult.componentsResults.filter((c) => c.errors?.length);\n let artifacts: ComponentMap<ArtifactList<FsArtifact>> | undefined;\n const duration = prettyTime(process.hrtime(startTask));\n if (compsWithErrors.length) {\n this.logger.consoleFailure(`env: ${env.id}, task \"${taskId}\" has failed`);\n this.logger.consoleFailure(\n chalk.red(`${this.longProcessLogger.getProgress()} env: ${env.id}, task \"${taskId}\" has failed in ${duration}`)\n );\n this.failedTasks.push(task);\n } else {\n this.logger.consoleSuccess(\n chalk.green(`${this.longProcessLogger.getProgress()} ${taskLogPrefix} Completed successfully in ${duration}`)\n );\n const defs = buildTaskResult.artifacts || [];\n artifacts = this.artifactFactory.generate(buildContext, defs, task);\n }\n\n const taskResults: TaskResults = {\n task,\n env,\n componentsResults: buildTaskResult.componentsResults,\n artifacts,\n startTime: taskStartTime,\n endTime,\n };\n\n this.taskResults.push(taskResults);\n }\n\n private getPrettyAspectName(aspectId: string): string {\n const resolvedId = ComponentID.fromString(aspectId);\n const tokens = resolvedId.name.split('-').map((token) => capitalize(token));\n return tokens.join(' ');\n }\n\n private getPrettyEnvName(envId: string) {\n const resolvedId = ComponentID.fromString(envId);\n const ver = this.options?.showEnvVersionInOutput ? `@${resolvedId.version}` : '';\n return `${resolvedId.fullName}${ver}`;\n }\n\n private async executePostBuild(tasksResults: TaskResultsList) {\n const longProcessLogger = this.logger.createLongProcessLogger('running post-build for all tasks');\n this.logger.setStatusLine('executing post-build for all tasks');\n await mapSeries(this.tasksQueue, async ({ task, env }) => {\n if (!task.postBuild) return;\n await task.postBuild(this.getBuildContext(env.id), tasksResults);\n });\n longProcessLogger.end();\n }\n\n private updateFailedDependencyTask(task: BuildTask) {\n if (!this.failedDependencyTask && this.failedTasks.length && task.dependencies) {\n task.dependencies.forEach((dependency) => {\n const { aspectId, name } = BuildTaskHelper.deserializeIdAllowEmptyName(dependency);\n this.failedDependencyTask = this.failedTasks.find((failedTask) => {\n if (name && name !== failedTask.name) return false;\n return aspectId === failedTask.aspectId;\n });\n });\n }\n }\n\n private shouldSkipTask(taskId: string, envId: string): boolean {\n if (this.options?.exitOnFirstFailedTask && this.failedTasks.length) {\n const failedTaskId = BuildTaskHelper.serializeId(this.failedTasks[0]);\n this.logger.consoleWarning(`env: ${envId}, task \"${taskId}\" has skipped due to \"${failedTaskId}\" failure`);\n return true;\n }\n if (!this.failedDependencyTask) return false;\n const failedTaskId = BuildTaskHelper.serializeId(this.failedDependencyTask);\n this.logger.consoleWarning(`env: ${envId}, task \"${taskId}\" has skipped due to \"${failedTaskId}\" failure`);\n return true;\n }\n\n private getBuildContext(envId: string): BuildContext {\n const buildContext = this.envsBuildContext[envId];\n if (!buildContext) throw new Error(`unable to find buildContext for ${envId}`);\n buildContext.previousTasksResults = this.allTasksResults;\n return buildContext;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AACA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAG,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,eAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,cAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,OAAA;EAAA,MAAAN,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAK,MAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,WAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,UAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAQ,iBAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,gBAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAyCO,MAAMS,SAAS,CAAC;EAKrBC,WAAWA;EACT;AACJ;AACA;EACaC,UAAsB,EACtBC,gBAAkC,EAClCC,MAAc,EACdC,eAAgC,EACjCC,mBAAmC,EACnCC,OAAqB,EAC7B;IAAA,KANSL,UAAsB,GAAtBA,UAAsB;IAAA,KACtBC,gBAAkC,GAAlCA,gBAAkC;IAAA,KAClCC,MAAc,GAAdA,MAAc;IAAA,KACdC,eAAgC,GAAhCA,eAAgC;IAAA,KACjCC,mBAAmC,GAAnCA,mBAAmC;IAAA,KACnCC,OAAqB,GAArBA,OAAqB;IAAA,IAAAC,gBAAA,GAAAC,OAAA,uBAbI,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA;IAAA,IAAAD,gBAAA,GAAAC,OAAA;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBAGA,EAAE;EAWpC;EAEH,IAAIC,eAAeA,CAAA,EAAkB;IACnC,OAAO,CAAC,IAAI,IAAI,CAACJ,mBAAmB,IAAI,EAAE,CAAC,EAAE,IAAI,IAAI,CAACK,WAAW,IAAI,EAAE,CAAC,CAAC;EAC3E;;EAEA;AACF;AACA;EACE,MAAMC,OAAOA,CAAA,EAA6B;IACxC,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACxB,MAAM,IAAI,CAACC,eAAe,CAAC,CAAC;IAC5B,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACX,MAAM,CAACY,uBAAuB,CAAC,eAAe,EAAE,IAAI,CAACd,UAAU,CAACe,MAAM,CAAC;IACrG,MAAM,IAAAC,qBAAS,EAAC,IAAI,CAAChB,UAAU,EAAE,OAAO;MAAEiB,IAAI;MAAEC;IAAI,CAAC,KAAK,IAAI,CAACC,WAAW,CAACF,IAAI,EAAEC,GAAG,CAAC,CAAC;IACtF,IAAI,CAACL,iBAAiB,CAACO,GAAG,CAAC,CAAC;IAC5B,MAAMC,gBAAgB,GAAG,KAAIC,kCAAe,EAAC,IAAI,CAACtB,UAAU,EAAE,IAAI,CAACS,WAAW,CAAC;IAC/E,MAAM,IAAI,CAACc,gBAAgB,CAACF,gBAAgB,CAAC;IAE7C,OAAOA,gBAAgB;EACzB;;EAEA;AACF;AACA;EACUV,iBAAiBA,CAAA,EAAG;IAC1Ba,OAAO,CAACC,EAAE,CAAC,SAAS,EAAE,MAAM;MAC1BD,OAAO,CAACE,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC;IAEFF,OAAO,CAACC,EAAE,CAAC,QAAQ,EAAE,MAAM;MACzBD,OAAO,CAACE,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC;EACJ;EAEA,MAAcd,eAAeA,CAAA,EAAG;IAC9B,IAAI,CAACV,MAAM,CAACyB,aAAa,CAAC,mCAAmC,CAAC;IAC9D,MAAMd,iBAAiB,GAAG,IAAI,CAACX,MAAM,CAACY,uBAAuB,CAAC,iCAAiC,CAAC;IAChG,MAAM,IAAAE,qBAAS,EAAC,IAAI,CAAChB,UAAU,EAAE,OAAO;MAAEiB,IAAI;MAAEC;IAAI,CAAC,KAAK;MACxD,IAAI,CAACD,IAAI,CAACW,QAAQ,EAAE;MACpB,MAAMX,IAAI,CAACW,QAAQ,CAAC,IAAI,CAACC,eAAe,CAACX,GAAG,CAACY,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC;IACFjB,iBAAiB,CAACO,GAAG,CAAC,CAAC;EACzB;EAEA,MAAcD,WAAWA,CAACF,IAAe,EAAEC,GAAkB,EAAiB;IAAA,IAAAa,aAAA;IAC5E,MAAMC,MAAM,GAAGC,4BAAe,CAACC,WAAW,CAACjB,IAAI,CAAC;IAChD,MAAMkB,OAAO,GAAG,CAAAJ,aAAA,OAAI,CAAC1B,OAAO,cAAA0B,aAAA,eAAZA,aAAA,CAAcK,mBAAmB,GAAI,IAAG,IAAI,CAACC,gBAAgB,CAACnB,GAAG,CAACY,EAAE,CAAE,IAAG,GAAG,EAAE;IAC9F,MAAMQ,aAAa,GAAI,GAAEH,OAAQ,IAAG,IAAI,CAACI,mBAAmB,CAACtB,IAAI,CAACuB,QAAQ,CAAE,KAAIvB,IAAI,CAACwB,IAAK,GAAE;IAC5F,IAAI,CAAC5B,iBAAiB,CAAC6B,WAAW,CAAE,GAAEJ,aAAc,GAAErB,IAAI,CAAC0B,WAAW,GAAI,IAAG1B,IAAI,CAAC0B,WAAY,EAAC,GAAG,EAAG,EAAC,EAAE,KAAK,CAAC;IAC9G,IAAI,CAACC,0BAA0B,CAAC3B,IAAI,CAAC;IACrC,IAAI,IAAI,CAAC4B,cAAc,CAACb,MAAM,EAAEd,GAAG,CAACY,EAAE,CAAC,EAAE;MACvC;IACF;IACA,MAAMgB,SAAS,GAAGtB,OAAO,CAACuB,MAAM,CAAC,CAAC;IAClC,MAAMC,aAAa,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IAChC,MAAMC,YAAY,GAAG,IAAI,CAACtB,eAAe,CAACX,GAAG,CAACY,EAAE,CAAC;IACjD,IAAIsB,eAAgC;IACpC,IAAI;MACFA,eAAe,GAAG,MAAMnC,IAAI,CAACP,OAAO,CAACyC,YAAY,CAAC;IACpD,CAAC,CAAC,OAAOE,GAAG,EAAE;MACZ,IAAI,CAACnD,MAAM,CAACoD,cAAc,CAAE,QAAOpC,GAAG,CAACY,EAAG,WAAUE,MAAO,kBAAiB,CAAC;MAC7E,MAAMqB,GAAG;IACX;IAEA,MAAME,OAAO,GAAGN,IAAI,CAACC,GAAG,CAAC,CAAC;IAC1B,MAAMM,eAAe,GAAGJ,eAAe,CAACK,iBAAiB,CAACC,MAAM,CAAEC,CAAC;MAAA,IAAAC,SAAA;MAAA,QAAAA,SAAA,GAAKD,CAAC,CAACE,MAAM,cAAAD,SAAA,uBAARA,SAAA,CAAU7C,MAAM;IAAA,EAAC;IACzF,IAAI+C,SAA6D;IACjE,MAAMC,QAAQ,GAAG,IAAAC,qBAAU,EAACxC,OAAO,CAACuB,MAAM,CAACD,SAAS,CAAC,CAAC;IACtD,IAAIU,eAAe,CAACzC,MAAM,EAAE;MAC1B,IAAI,CAACb,MAAM,CAACoD,cAAc,CAAE,QAAOpC,GAAG,CAACY,EAAG,WAAUE,MAAO,cAAa,CAAC;MACzE,IAAI,CAAC9B,MAAM,CAACoD,cAAc,CACxBW,gBAAK,CAACC,GAAG,CAAE,GAAE,IAAI,CAACrD,iBAAiB,CAACsD,WAAW,CAAC,CAAE,SAAQjD,GAAG,CAACY,EAAG,WAAUE,MAAO,mBAAkB+B,QAAS,EAAC,CAChH,CAAC;MACD,IAAI,CAACK,WAAW,CAACC,IAAI,CAACpD,IAAI,CAAC;IAC7B,CAAC,MAAM;MACL,IAAI,CAACf,MAAM,CAACoE,cAAc,CACxBL,gBAAK,CAACM,KAAK,CAAE,GAAE,IAAI,CAAC1D,iBAAiB,CAACsD,WAAW,CAAC,CAAE,IAAG7B,aAAc,8BAA6ByB,QAAS,EAAC,CAC9G,CAAC;MACD,MAAMS,IAAI,GAAGpB,eAAe,CAACU,SAAS,IAAI,EAAE;MAC5CA,SAAS,GAAG,IAAI,CAAC3D,eAAe,CAACsE,QAAQ,CAACtB,YAAY,EAAEqB,IAAI,EAAEvD,IAAI,CAAC;IACrE;IAEA,MAAMR,WAAwB,GAAG;MAC/BQ,IAAI;MACJC,GAAG;MACHuC,iBAAiB,EAAEL,eAAe,CAACK,iBAAiB;MACpDK,SAAS;MACTY,SAAS,EAAE1B,aAAa;MACxBO;IACF,CAAC;IAED,IAAI,CAAC9C,WAAW,CAAC4D,IAAI,CAAC5D,WAAW,CAAC;EACpC;EAEQ8B,mBAAmBA,CAACC,QAAgB,EAAU;IACpD,MAAMmC,UAAU,GAAGC,wBAAW,CAACC,UAAU,CAACrC,QAAQ,CAAC;IACnD,MAAMsC,MAAM,GAAGH,UAAU,CAAClC,IAAI,CAACsC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAEC,KAAK,IAAK,IAAAC,2BAAU,EAACD,KAAK,CAAC,CAAC;IAC3E,OAAOH,MAAM,CAACK,IAAI,CAAC,GAAG,CAAC;EACzB;EAEQ9C,gBAAgBA,CAAC+C,KAAa,EAAE;IAAA,IAAAC,cAAA;IACtC,MAAMV,UAAU,GAAGC,wBAAW,CAACC,UAAU,CAACO,KAAK,CAAC;IAChD,MAAME,GAAG,GAAG,CAAAD,cAAA,OAAI,CAAChF,OAAO,cAAAgF,cAAA,eAAZA,cAAA,CAAcE,sBAAsB,GAAI,IAAGZ,UAAU,CAACa,OAAQ,EAAC,GAAG,EAAE;IAChF,OAAQ,GAAEb,UAAU,CAACc,QAAS,GAAEH,GAAI,EAAC;EACvC;EAEA,MAAc/D,gBAAgBA,CAACmE,YAA6B,EAAE;IAC5D,MAAM7E,iBAAiB,GAAG,IAAI,CAACX,MAAM,CAACY,uBAAuB,CAAC,kCAAkC,CAAC;IACjG,IAAI,CAACZ,MAAM,CAACyB,aAAa,CAAC,oCAAoC,CAAC;IAC/D,MAAM,IAAAX,qBAAS,EAAC,IAAI,CAAChB,UAAU,EAAE,OAAO;MAAEiB,IAAI;MAAEC;IAAI,CAAC,KAAK;MACxD,IAAI,CAACD,IAAI,CAAC0E,SAAS,EAAE;MACrB,MAAM1E,IAAI,CAAC0E,SAAS,CAAC,IAAI,CAAC9D,eAAe,CAACX,GAAG,CAACY,EAAE,CAAC,EAAE4D,YAAY,CAAC;IAClE,CAAC,CAAC;IACF7E,iBAAiB,CAACO,GAAG,CAAC,CAAC;EACzB;EAEQwB,0BAA0BA,CAAC3B,IAAe,EAAE;IAClD,IAAI,CAAC,IAAI,CAAC2E,oBAAoB,IAAI,IAAI,CAACxB,WAAW,CAACrD,MAAM,IAAIE,IAAI,CAAC4E,YAAY,EAAE;MAC9E5E,IAAI,CAAC4E,YAAY,CAACC,OAAO,CAAEC,UAAU,IAAK;QACxC,MAAM;UAAEvD,QAAQ;UAAEC;QAAK,CAAC,GAAGR,4BAAe,CAAC+D,2BAA2B,CAACD,UAAU,CAAC;QAClF,IAAI,CAACH,oBAAoB,GAAG,IAAI,CAACxB,WAAW,CAAC6B,IAAI,CAAEC,UAAU,IAAK;UAChE,IAAIzD,IAAI,IAAIA,IAAI,KAAKyD,UAAU,CAACzD,IAAI,EAAE,OAAO,KAAK;UAClD,OAAOD,QAAQ,KAAK0D,UAAU,CAAC1D,QAAQ;QACzC,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EACF;EAEQK,cAAcA,CAACb,MAAc,EAAEoD,KAAa,EAAW;IAAA,IAAAe,cAAA;IAC7D,IAAI,CAAAA,cAAA,OAAI,CAAC9F,OAAO,cAAA8F,cAAA,eAAZA,cAAA,CAAcC,qBAAqB,IAAI,IAAI,CAAChC,WAAW,CAACrD,MAAM,EAAE;MAClE,MAAMsF,YAAY,GAAGpE,4BAAe,CAACC,WAAW,CAAC,IAAI,CAACkC,WAAW,CAAC,CAAC,CAAC,CAAC;MACrE,IAAI,CAAClE,MAAM,CAACoG,cAAc,CAAE,QAAOlB,KAAM,WAAUpD,MAAO,yBAAwBqE,YAAa,WAAU,CAAC;MAC1G,OAAO,IAAI;IACb;IACA,IAAI,CAAC,IAAI,CAACT,oBAAoB,EAAE,OAAO,KAAK;IAC5C,MAAMS,YAAY,GAAGpE,4BAAe,CAACC,WAAW,CAAC,IAAI,CAAC0D,oBAAoB,CAAC;IAC3E,IAAI,CAAC1F,MAAM,CAACoG,cAAc,CAAE,QAAOlB,KAAM,WAAUpD,MAAO,yBAAwBqE,YAAa,WAAU,CAAC;IAC1G,OAAO,IAAI;EACb;EAEQxE,eAAeA,CAACuD,KAAa,EAAgB;IACnD,MAAMjC,YAAY,GAAG,IAAI,CAAClD,gBAAgB,CAACmF,KAAK,CAAC;IACjD,IAAI,CAACjC,YAAY,EAAE,MAAM,IAAIoD,KAAK,CAAE,mCAAkCnB,KAAM,EAAC,CAAC;IAC9EjC,YAAY,CAACqD,oBAAoB,GAAG,IAAI,CAAChG,eAAe;IACxD,OAAO2C,YAAY;EACrB;AACF;AAACsD,OAAA,CAAA3G,SAAA,GAAAA,SAAA"}
|
package/dist/build.cmd.js
CHANGED
|
@@ -97,9 +97,8 @@ specify the task-name (e.g. "TypescriptCompiler") or the task-aspect-id (e.g. te
|
|
|
97
97
|
skipTests,
|
|
98
98
|
exitOnFirstFailedTask: failFast
|
|
99
99
|
});
|
|
100
|
-
longProcessLogger.end();
|
|
100
|
+
longProcessLogger.end(envsExecutionResults.hasErrors() ? 'error' : 'success');
|
|
101
101
|
envsExecutionResults.throwErrorsIfExist();
|
|
102
|
-
this.logger.consoleSuccess();
|
|
103
102
|
return _chalk().default.green(`the build has been completed. total: ${envsExecutionResults.tasksQueue.length} tasks`);
|
|
104
103
|
}
|
|
105
104
|
async getListTasks(componentIdStr) {
|
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","consoleSuccess","envsExecutionResults","build","installOptions","installTeambitBit","packageManagerConfigRootDir","path","linkingOptions","linkTeambitBit","emptyRootDir","getExistingAsIs","split","map","task","trim","exitOnFirstFailedTask","end","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 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 exitOnFirstFailedTask: failFast,\n }\n );\n longProcessLogger.end(
|
|
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","consoleSuccess","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 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 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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"}
|
package/dist/builder.service.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
require("core-js/modules/es.promise.js");
|
|
5
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
5
6
|
Object.defineProperty(exports, "__esModule", {
|
|
6
7
|
value: true
|
|
7
8
|
});
|
|
@@ -27,6 +28,13 @@ function _react() {
|
|
|
27
28
|
};
|
|
28
29
|
return data;
|
|
29
30
|
}
|
|
31
|
+
function _lodash() {
|
|
32
|
+
const data = require("lodash");
|
|
33
|
+
_lodash = function () {
|
|
34
|
+
return data;
|
|
35
|
+
};
|
|
36
|
+
return data;
|
|
37
|
+
}
|
|
30
38
|
function _pMapSeries() {
|
|
31
39
|
const data = _interopRequireDefault(require("p-map-series"));
|
|
32
40
|
_pMapSeries = function () {
|
|
@@ -115,9 +123,9 @@ class BuilderService {
|
|
|
115
123
|
const tasksQueue = (0, _buildPipelineOrder().calculatePipelineOrder)(this.taskSlot, envs, this.pipeNameOnEnv, options.tasks, options.skipTests);
|
|
116
124
|
tasksQueue.validate();
|
|
117
125
|
this.logger.info(`going to run tasks in the following order:\n${tasksQueue.toString()}`);
|
|
118
|
-
const
|
|
119
|
-
const
|
|
120
|
-
this.logger.
|
|
126
|
+
const envsStr = envs.map(env => env.id).join(', ');
|
|
127
|
+
const title = `Running ${this.displayPipeName} pipeline using ${envs.length} environment(s) (${envsStr}), total ${tasksQueue.length} tasks`;
|
|
128
|
+
const longProcessLogger = this.logger.createLongProcessLogger(title, undefined, 'title');
|
|
121
129
|
const envsBuildContext = {};
|
|
122
130
|
const capsulesBaseDir = this.getComponentsCapsulesBaseDir();
|
|
123
131
|
const baseDir = options.capsulesBaseDir || capsulesBaseDir;
|
|
@@ -146,12 +154,14 @@ class BuilderService {
|
|
|
146
154
|
});
|
|
147
155
|
envsBuildContext[executionContext.id] = buildContext;
|
|
148
156
|
});
|
|
157
|
+
const envIdsWithoutVersion = envs.map(env => env.id.split('@')[0]);
|
|
149
158
|
const buildPipe = new (_buildPipe().BuildPipe)(tasksQueue, envsBuildContext, this.logger, this.artifactFactory, options.previousTasksResults, {
|
|
150
|
-
exitOnFirstFailedTask: options.exitOnFirstFailedTask
|
|
159
|
+
exitOnFirstFailedTask: options.exitOnFirstFailedTask,
|
|
160
|
+
showEnvNameInOutput: envs.length > 1,
|
|
161
|
+
showEnvVersionInOutput: envIdsWithoutVersion.length > (0, _lodash().uniq)(envIdsWithoutVersion).length
|
|
151
162
|
});
|
|
152
163
|
const buildResults = await buildPipe.execute();
|
|
153
|
-
longProcessLogger.end();
|
|
154
|
-
buildResults.hasErrors() ? this.logger.consoleFailure() : this.logger.consoleSuccess();
|
|
164
|
+
longProcessLogger.end(buildResults.hasErrors() ? 'error' : 'success');
|
|
155
165
|
return buildResults;
|
|
156
166
|
}
|
|
157
167
|
getComponentsCapsulesBaseDir() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","data","require","_react","_interopRequireDefault","_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","title","length","longProcessLogger","createLongProcessLogger","consoleTitle","envsBuildContext","capsulesBaseDir","getComponentsCapsulesBaseDir","baseDir","useHash","isolateOptions","getExistingAsIs","seedersOnly","pMapSeries","componentIds","components","component","id","originalSeeders","originalSeedersOfThisEnv","filter","compId","find","seeder","isEqual","capsuleNetwork","isolateComponents","_originalSeeders","console","seedersCapsules","graphCapsules","buildContext","Object","assign","previousTasksResults","pipeName","dev","laneId","legacyScope","currentLaneId","buildPipe","BuildPipe","exitOnFirstFailedTask","buildResults","execute","end","hasErrors","consoleFailure","consoleSuccess","getSync","CFG_CAPSULES_BUILD_COMPONENTS_BASE_DIR","render","descriptor","getDescriptor","createElement","Text","key","BuilderAspect","Newline","transform","env","envContext","build","undefined","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 { 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 title = `running ${this.displayPipeName} pipe for ${envs.length} environments, total ${tasksQueue.length} tasks`;\n const longProcessLogger = this.logger.createLongProcessLogger(title);\n this.logger.consoleTitle(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 buildPipe = new BuildPipe(\n tasksQueue,\n envsBuildContext,\n this.logger,\n this.artifactFactory,\n options.previousTasksResults,\n { exitOnFirstFailedTask: options.exitOnFirstFailedTask }\n );\n const buildResults = await buildPipe.execute();\n longProcessLogger.end();\n buildResults.hasErrors() ? this.logger.consoleFailure() : this.logger.consoleSuccess();\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","_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,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.1128/dist/builder.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.1128/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,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/builder",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.1128",
|
|
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.1128"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
+
"chalk": "2.4.2",
|
|
12
13
|
"p-map-series": "2.1.0",
|
|
13
14
|
"pretty-time": "1.1.0",
|
|
14
15
|
"lodash": "4.17.21",
|
|
15
|
-
"chalk": "2.4.2",
|
|
16
16
|
"graphql-tag": "2.12.1",
|
|
17
17
|
"is-binary-path": "2.1.0",
|
|
18
18
|
"archiver": "5.3.1",
|
|
@@ -27,22 +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.
|
|
33
|
-
"@teambit/
|
|
34
|
-
"@teambit/
|
|
35
|
-
"@teambit/
|
|
36
|
-
"@teambit/
|
|
37
|
-
"@teambit/
|
|
38
|
-
"@teambit/
|
|
39
|
-
"@teambit/aspect": "0.0.
|
|
40
|
-
"@teambit/
|
|
41
|
-
"@teambit/
|
|
42
|
-
"@teambit/
|
|
43
|
-
"@teambit/
|
|
44
|
-
"@teambit/
|
|
45
|
-
"@teambit/
|
|
30
|
+
"@teambit/component": "0.0.1128",
|
|
31
|
+
"@teambit/envs": "0.0.1128",
|
|
32
|
+
"@teambit/logger": "0.0.847",
|
|
33
|
+
"@teambit/toolbox.string.capitalize": "0.0.490",
|
|
34
|
+
"@teambit/tester": "0.0.1128",
|
|
35
|
+
"@teambit/isolator": "0.0.1128",
|
|
36
|
+
"@teambit/lane-id": "0.0.269",
|
|
37
|
+
"@teambit/cli": "0.0.754",
|
|
38
|
+
"@teambit/workspace": "0.0.1128",
|
|
39
|
+
"@teambit/aspect-loader": "0.0.1128",
|
|
40
|
+
"@teambit/aspect": "0.0.1128",
|
|
41
|
+
"@teambit/generator": "0.0.1128",
|
|
42
|
+
"@teambit/global-config": "0.0.756",
|
|
43
|
+
"@teambit/graphql": "0.0.1128",
|
|
44
|
+
"@teambit/scope": "0.0.1128",
|
|
45
|
+
"@teambit/ui": "0.0.1128",
|
|
46
|
+
"@teambit/express": "0.0.852",
|
|
46
47
|
"@teambit/bit-error": "0.0.402"
|
|
47
48
|
},
|
|
48
49
|
"devDependencies": {
|
|
@@ -60,7 +61,7 @@
|
|
|
60
61
|
"@teambit/pipelines.aspect-docs.builder": "0.0.154"
|
|
61
62
|
},
|
|
62
63
|
"peerDependencies": {
|
|
63
|
-
"@teambit/legacy": "1.0.
|
|
64
|
+
"@teambit/legacy": "1.0.536",
|
|
64
65
|
"react": "^16.8.0 || ^17.0.0",
|
|
65
66
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
66
67
|
},
|
|
Binary file
|