@teambit/builder 0.0.963 → 0.0.964

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.
@@ -145,25 +145,24 @@ export class BuilderService implements EnvService<BuildServiceResults, BuilderDe
145
145
  }
146
146
 
147
147
  transform(env: Env, envContext: EnvContext): BuilderTransformationMap | undefined {
148
- // Old env
149
148
  if (!env?.build) return undefined;
150
149
  return {
151
150
  getBuildPipe: () => {
152
151
  // TODO: refactor after defining for an env property
153
- const pipeline = env.build()(envContext);
152
+ const pipeline = env.build();
154
153
  if (!pipeline || !pipeline.compute) return [];
155
- return pipeline?.compute();
154
+ return pipeline?.compute(envContext);
156
155
  },
157
156
  getTagPipe: () => {
158
157
  // TODO: refactor after defining for an env property
159
- const pipeline = env.snap()(envContext);
158
+ const pipeline = env.snap();
160
159
  if (!pipeline || !pipeline.compute) return [];
161
- return pipeline?.compute();
160
+ return pipeline?.compute(envContext);
162
161
  },
163
162
  getSnapPipe: () => {
164
- const pipeline = env.tag()(envContext);
163
+ const pipeline = env.tag();
165
164
  if (!pipeline || !pipeline.compute) return [];
166
- return pipeline?.compute();
165
+ return pipeline?.compute(envContext);
167
166
  },
168
167
  }
169
168
  }
@@ -1,16 +1,15 @@
1
- import { EnvHandler } from "@teambit/envs";
2
1
  import { Pipeline } from "./pipeline";
3
2
  export interface BuilderEnv {
4
3
  /**
5
4
  * return a build pipeline instance.
6
5
  */
7
- build(): EnvHandler<Pipeline>;
6
+ build(): Pipeline;
8
7
  /**
9
8
  * return a snap pipeline instance.
10
9
  */
11
- snap(): EnvHandler<Pipeline>;
10
+ snap(): Pipeline;
12
11
  /**
13
12
  * return a tag pipeline instance.
14
13
  */
15
- tag(): EnvHandler<Pipeline>;
14
+ tag(): Pipeline;
16
15
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["builder-env-type.ts"],"sourcesContent":["import { EnvHandler } from \"@teambit/envs\";\nimport { Pipeline } from \"./pipeline\";\n\nexport interface BuilderEnv {\n /**\n * return a build pipeline instance.\n */\n build(): EnvHandler<Pipeline>;\n /**\n * return a snap pipeline instance.\n */\n snap(): EnvHandler<Pipeline>;\n /**\n * return a tag pipeline instance.\n */\n tag(): EnvHandler<Pipeline>;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["builder-env-type.ts"],"sourcesContent":["import { Pipeline } from \"./pipeline\";\n\nexport interface BuilderEnv {\n /**\n * return a build pipeline instance.\n */\n build(): Pipeline;\n /**\n * return a snap pipeline instance.\n */\n snap(): Pipeline;\n /**\n * return a tag pipeline instance.\n */\n tag(): Pipeline;\n}\n"],"mappings":""}
@@ -148,25 +148,24 @@ class BuilderService {
148
148
  }) => this.renderOnePipe(pipeName, tasks)));
149
149
  }
150
150
  transform(env, envContext) {
151
- // Old env
152
151
  if (!(env !== null && env !== void 0 && env.build)) return undefined;
153
152
  return {
154
153
  getBuildPipe: () => {
155
154
  // TODO: refactor after defining for an env property
156
- const pipeline = env.build()(envContext);
155
+ const pipeline = env.build();
157
156
  if (!pipeline || !pipeline.compute) return [];
158
- return pipeline === null || pipeline === void 0 ? void 0 : pipeline.compute();
157
+ return pipeline === null || pipeline === void 0 ? void 0 : pipeline.compute(envContext);
159
158
  },
160
159
  getTagPipe: () => {
161
160
  // TODO: refactor after defining for an env property
162
- const pipeline = env.snap()(envContext);
161
+ const pipeline = env.snap();
163
162
  if (!pipeline || !pipeline.compute) return [];
164
- return pipeline === null || pipeline === void 0 ? void 0 : pipeline.compute();
163
+ return pipeline === null || pipeline === void 0 ? void 0 : pipeline.compute(envContext);
165
164
  },
166
165
  getSnapPipe: () => {
167
- const pipeline = env.tag()(envContext);
166
+ const pipeline = env.tag();
168
167
  if (!pipeline || !pipeline.compute) return [];
169
- return pipeline === null || pipeline === void 0 ? void 0 : pipeline.compute();
168
+ return pipeline === null || pipeline === void 0 ? void 0 : pipeline.compute(envContext);
170
169
  }
171
170
  };
172
171
  }
@@ -1 +1 @@
1
- {"version":3,"names":["pipeNames","getBuildPipe","getTagPipe","getSnapPipe","BuilderService","constructor","isolator","logger","taskSlot","pipeNameOnEnv","displayPipeName","artifactFactory","scope","runOnce","envsExecutionContext","options","envs","map","executionContext","envDefinition","tasksQueue","calculatePipelineOrder","tasks","skipTests","validate","info","toString","title","length","longProcessLogger","createLongProcessLogger","consoleTitle","envsBuildContext","pMapSeries","componentIds","components","component","id","originalSeeders","originalSeedersOfThisEnv","filter","compId","find","seeder","isEqual","capsuleNetwork","isolateComponents","getExistingAsIs","seedersOnly","_originalSeeders","console","seedersCapsules","graphCapsules","buildContext","Object","assign","previousTasksResults","pipeName","dev","laneId","legacyScope","currentLaneId","buildPipe","BuildPipe","buildResults","execute","end","hasErrors","consoleFailure","consoleSuccess","render","env","pipes","getDescriptor","BuilderAspect","renderOnePipe","transform","envContext","build","undefined","pipeline","compute","snap","tag","task","index","keys","pipeFuncName","getTasksNamesByPipeFunc","BuildTaskHelper","serializeId","getCurrentPipeTasks"],"sources":["builder.service.tsx"],"sourcesContent":["import { 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 { 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};\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\ntype PipeFunctionNames = keyof typeof pipeNames;\nexport class BuilderService implements EnvService<BuildServiceResults, BuilderDescriptor> {\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 ) {}\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 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, {\n getExistingAsIs: true,\n seedersOnly: options.seedersOnly,\n });\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 );\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 render(env: EnvDefinition) {\n const pipes = this.getDescriptor(env);\n\n return (\n <Text key={BuilderAspect.id}>{pipes.map(({ pipeName, tasks }) => this.renderOnePipe(pipeName, tasks))}</Text>\n );\n }\n\n transform(env: Env, envContext: EnvContext): BuilderTransformationMap | undefined {\n // Old env\n if (!env?.build) return undefined;\n return {\n getBuildPipe: () => {\n // TODO: refactor after defining for an env property\n const pipeline = env.build()(envContext);\n if (!pipeline || !pipeline.compute) return [];\n return pipeline?.compute();\n },\n getTagPipe: () => {\n // TODO: refactor after defining for an env property\n const pipeline = env.snap()(envContext);\n if (!pipeline || !pipeline.compute) return [];\n return pipeline?.compute();\n },\n getSnapPipe: () => {\n const pipeline = env.tag()(envContext);\n if (!pipeline || !pipeline.compute) return [];\n return pipeline?.compute();\n },\n }\n }\n\n private renderOnePipe(pipeName, tasks) {\n if (!tasks || !tasks.length) return null;\n return (\n <Text key={pipeName}>\n <Text underline color=\"green\">\n {pipeName} pipe\n </Text>\n <Newline />\n <Text color=\"cyan\">total {tasks.length} tasks are configured to be executed in the following order</Text>\n <Newline />\n {tasks.map((task, index) => (\n <Text key={index}>\n <Text>\n {index + 1}. {task}\n </Text>\n <Newline />\n </Text>\n ))}\n <Newline />\n </Text>\n );\n }\n\n getDescriptor(env: EnvDefinition) {\n // @ts-ignore\n const tasks = Object.keys(pipeNames).map((pipeFuncName: PipeFunctionNames) => {\n const tasksQueue = this.getTasksNamesByPipeFunc(env, pipeFuncName);\n return { pipeName: pipeNames[pipeFuncName], tasks: tasksQueue };\n });\n return tasks as BuilderDescriptor;\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":["pipeNames","getBuildPipe","getTagPipe","getSnapPipe","BuilderService","constructor","isolator","logger","taskSlot","pipeNameOnEnv","displayPipeName","artifactFactory","scope","runOnce","envsExecutionContext","options","envs","map","executionContext","envDefinition","tasksQueue","calculatePipelineOrder","tasks","skipTests","validate","info","toString","title","length","longProcessLogger","createLongProcessLogger","consoleTitle","envsBuildContext","pMapSeries","componentIds","components","component","id","originalSeeders","originalSeedersOfThisEnv","filter","compId","find","seeder","isEqual","capsuleNetwork","isolateComponents","getExistingAsIs","seedersOnly","_originalSeeders","console","seedersCapsules","graphCapsules","buildContext","Object","assign","previousTasksResults","pipeName","dev","laneId","legacyScope","currentLaneId","buildPipe","BuildPipe","buildResults","execute","end","hasErrors","consoleFailure","consoleSuccess","render","env","pipes","getDescriptor","BuilderAspect","renderOnePipe","transform","envContext","build","undefined","pipeline","compute","snap","tag","task","index","keys","pipeFuncName","getTasksNamesByPipeFunc","BuildTaskHelper","serializeId","getCurrentPipeTasks"],"sources":["builder.service.tsx"],"sourcesContent":["import { 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 { 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};\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\ntype PipeFunctionNames = keyof typeof pipeNames;\nexport class BuilderService implements EnvService<BuildServiceResults, BuilderDescriptor> {\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 ) {}\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 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, {\n getExistingAsIs: true,\n seedersOnly: options.seedersOnly,\n });\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 );\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 render(env: EnvDefinition) {\n const pipes = this.getDescriptor(env);\n\n return (\n <Text key={BuilderAspect.id}>{pipes.map(({ pipeName, tasks }) => this.renderOnePipe(pipeName, tasks))}</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.snap();\n if (!pipeline || !pipeline.compute) return [];\n return pipeline?.compute(envContext);\n },\n getSnapPipe: () => {\n const pipeline = env.tag();\n if (!pipeline || !pipeline.compute) return [];\n return pipeline?.compute(envContext);\n },\n }\n }\n\n private renderOnePipe(pipeName, tasks) {\n if (!tasks || !tasks.length) return null;\n return (\n <Text key={pipeName}>\n <Text underline color=\"green\">\n {pipeName} pipe\n </Text>\n <Newline />\n <Text color=\"cyan\">total {tasks.length} tasks are configured to be executed in the following order</Text>\n <Newline />\n {tasks.map((task, index) => (\n <Text key={index}>\n <Text>\n {index + 1}. {task}\n </Text>\n <Newline />\n </Text>\n ))}\n <Newline />\n </Text>\n );\n }\n\n getDescriptor(env: EnvDefinition) {\n // @ts-ignore\n const tasks = Object.keys(pipeNames).map((pipeFuncName: PipeFunctionNames) => {\n const tasksQueue = this.getTasksNamesByPipeFunc(env, pipeFuncName);\n return { pipeName: pipeNames[pipeFuncName], tasks: tasksQueue };\n });\n return tasks as BuilderDescriptor;\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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"}
package/dist/index.d.ts CHANGED
@@ -1,13 +1,14 @@
1
+ export { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';
1
2
  export { BuildPipe, TaskResults } from './build-pipe';
2
3
  export { ComponentResult, TaskMetadata } from './types';
3
4
  export { BuildContext, BuildTask, BuiltTaskResult, TaskLocation, BuildTaskHelper, CAPSULE_ARTIFACTS_DIR, } from './build-task';
4
5
  export type { PipeName } from './builder.service';
5
6
  export type { BuilderMain, RawBuilderData, BuilderData, OnTagOpts } from './builder.main.runtime';
6
- export { Pipeline, Task } from './pipeline';
7
+ export { Pipeline, TaskHandler } from './pipeline';
7
8
  export type { PipelineReport } from './build-pipeline-result-list';
8
9
  export type { BuilderEnv } from './builder-env-type';
9
10
  export { BuilderAspect } from './builder.aspect';
10
11
  export { WholeArtifactStorageResolver, FileStorageResolver, ArtifactStorageResolver } from './storage';
11
12
  export { Artifact, ArtifactList, ArtifactFactory, ArtifactDefinition, ArtifactModelDefinition } from './artifact';
13
+ export { Task } from './task';
12
14
  export { TaskResultsList } from './task-results-list';
13
- export { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';
package/dist/index.js CHANGED
@@ -6,31 +6,31 @@ Object.defineProperty(exports, "__esModule", {
6
6
  Object.defineProperty(exports, "Artifact", {
7
7
  enumerable: true,
8
8
  get: function () {
9
- return _artifact().Artifact;
9
+ return _artifact2().Artifact;
10
10
  }
11
11
  });
12
12
  Object.defineProperty(exports, "ArtifactDefinition", {
13
13
  enumerable: true,
14
14
  get: function () {
15
- return _artifact().ArtifactDefinition;
15
+ return _artifact2().ArtifactDefinition;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "ArtifactFactory", {
19
19
  enumerable: true,
20
20
  get: function () {
21
- return _artifact().ArtifactFactory;
21
+ return _artifact2().ArtifactFactory;
22
22
  }
23
23
  });
24
24
  Object.defineProperty(exports, "ArtifactList", {
25
25
  enumerable: true,
26
26
  get: function () {
27
- return _artifact().ArtifactList;
27
+ return _artifact2().ArtifactList;
28
28
  }
29
29
  });
30
30
  Object.defineProperty(exports, "ArtifactModelDefinition", {
31
31
  enumerable: true,
32
32
  get: function () {
33
- return _artifact().ArtifactModelDefinition;
33
+ return _artifact2().ArtifactModelDefinition;
34
34
  }
35
35
  });
36
36
  Object.defineProperty(exports, "ArtifactStorageResolver", {
@@ -42,7 +42,7 @@ Object.defineProperty(exports, "ArtifactStorageResolver", {
42
42
  Object.defineProperty(exports, "ArtifactVinyl", {
43
43
  enumerable: true,
44
44
  get: function () {
45
- return _artifact2().ArtifactVinyl;
45
+ return _artifact().ArtifactVinyl;
46
46
  }
47
47
  });
48
48
  Object.defineProperty(exports, "BuildContext", {
@@ -108,7 +108,13 @@ Object.defineProperty(exports, "Pipeline", {
108
108
  Object.defineProperty(exports, "Task", {
109
109
  enumerable: true,
110
110
  get: function () {
111
- return _pipeline().Task;
111
+ return _task().Task;
112
+ }
113
+ });
114
+ Object.defineProperty(exports, "TaskHandler", {
115
+ enumerable: true,
116
+ get: function () {
117
+ return _pipeline().TaskHandler;
112
118
  }
113
119
  });
114
120
  Object.defineProperty(exports, "TaskLocation", {
@@ -141,6 +147,13 @@ Object.defineProperty(exports, "WholeArtifactStorageResolver", {
141
147
  return _storage().WholeArtifactStorageResolver;
142
148
  }
143
149
  });
150
+ function _artifact() {
151
+ const data = require("@teambit/legacy/dist/consumer/component/sources/artifact");
152
+ _artifact = function () {
153
+ return data;
154
+ };
155
+ return data;
156
+ }
144
157
  function _buildPipe() {
145
158
  const data = require("./build-pipe");
146
159
  _buildPipe = function () {
@@ -183,23 +196,23 @@ function _storage() {
183
196
  };
184
197
  return data;
185
198
  }
186
- function _artifact() {
199
+ function _artifact2() {
187
200
  const data = require("./artifact");
188
- _artifact = function () {
201
+ _artifact2 = function () {
189
202
  return data;
190
203
  };
191
204
  return data;
192
205
  }
193
- function _taskResultsList() {
194
- const data = require("./task-results-list");
195
- _taskResultsList = function () {
206
+ function _task() {
207
+ const data = require("./task");
208
+ _task = function () {
196
209
  return data;
197
210
  };
198
211
  return data;
199
212
  }
200
- function _artifact2() {
201
- const data = require("@teambit/legacy/dist/consumer/component/sources/artifact");
202
- _artifact2 = function () {
213
+ function _taskResultsList() {
214
+ const data = require("./task-results-list");
215
+ _taskResultsList = function () {
203
216
  return data;
204
217
  };
205
218
  return data;
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, OnTagOpts } from './builder.main.runtime';\nexport { Pipeline, Task } from './pipeline';\nexport type { PipelineReport } from './build-pipeline-result-list';\nexport type { BuilderEnv } from './builder-env-type';\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;AAUA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;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 { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';\nexport { 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 { Pipeline, TaskHandler } from './pipeline';\nexport type { PipelineReport } from './build-pipeline-result-list';\nexport type { BuilderEnv } from './builder-env-type';\nexport { BuilderAspect } from './builder.aspect';\nexport { WholeArtifactStorageResolver, FileStorageResolver, ArtifactStorageResolver } from './storage';\nexport { Artifact, ArtifactList, ArtifactFactory, ArtifactDefinition, ArtifactModelDefinition } from './artifact';\nexport { Task } from './task';\nexport { TaskResultsList } from './task-results-list';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;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;AAUA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;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,23 +1,26 @@
1
1
  import { BuildTask } from "@teambit/builder";
2
2
  import { EnvContext, EnvHandler } from "@teambit/envs";
3
- export declare type Task = EnvHandler<BuildTask>;
3
+ import { Task } from './task';
4
+ export declare type TaskHandler = {
5
+ handler: EnvHandler<Task>;
6
+ name: string;
7
+ };
4
8
  /**
5
9
  * create and maintain build pipelines for component
6
10
  * dev environments.
7
11
  */
8
12
  export declare class Pipeline {
9
13
  private _tasks;
10
- private context;
11
- constructor(_tasks: BuildTask[], context: EnvContext);
14
+ constructor(_tasks: TaskHandler[]);
12
15
  /**
13
16
  * list all tasks in the build pipeline.
14
17
  */
15
- get tasks(): BuildTask[];
18
+ get tasks(): TaskHandler[];
16
19
  private initiateTasks;
17
20
  /**
18
21
  * add a build task to the pipeline.
19
22
  */
20
- add(tasks: Task[]): this;
23
+ add(tasks: TaskHandler[]): this;
21
24
  /**
22
25
  * remove a build task from the pipeline.
23
26
  */
@@ -25,7 +28,7 @@ export declare class Pipeline {
25
28
  /**
26
29
  * replace a build task in the pipeline.
27
30
  */
28
- replace(tasks: Task[]): this;
31
+ replace(tasks: TaskHandler[]): this;
29
32
  /**
30
33
  * return a new pipeline with the tasks from the pipeline args added.
31
34
  * @param pipeline
@@ -35,7 +38,6 @@ export declare class Pipeline {
35
38
  /**
36
39
  * compute the pipeline.
37
40
  */
38
- compute(): BuildTask[];
39
- static from(tasks: Task[]): (context: EnvContext) => Pipeline;
40
- static concat(...pipelines: EnvHandler<Pipeline>[]): EnvHandler<Pipeline>;
41
+ compute(context: EnvContext): BuildTask[];
42
+ static from(tasks: TaskHandler[]): Pipeline;
41
43
  }
package/dist/pipeline.js CHANGED
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Pipeline = void 0;
7
- function _envs() {
8
- const data = require("@teambit/envs");
9
- _envs = function () {
7
+ function _lodash() {
8
+ const data = require("lodash");
9
+ _lodash = function () {
10
10
  return data;
11
11
  };
12
12
  return data;
@@ -16,9 +16,8 @@ function _envs() {
16
16
  * dev environments.
17
17
  */
18
18
  class Pipeline {
19
- constructor(_tasks, context) {
19
+ constructor(_tasks) {
20
20
  this._tasks = _tasks;
21
- this.context = context;
22
21
  }
23
22
 
24
23
  /**
@@ -27,18 +26,26 @@ class Pipeline {
27
26
  get tasks() {
28
27
  return this._tasks;
29
28
  }
30
- initiateTasks(tasks) {
31
- return tasks.map(task => {
32
- return task(this.context);
29
+ initiateTasks(tasks, context, envId) {
30
+ const _tasks = tasks.map(task => {
31
+ return task.handler(context);
33
32
  });
33
+ const buildTasks = _tasks.map(task => {
34
+ // @ts-ignore
35
+ const aspectId = task.aspectId || envId;
36
+ const buildTask = Object.assign((0, _lodash().clone)(task), {
37
+ aspectId
38
+ });
39
+ return buildTask;
40
+ });
41
+ return buildTasks;
34
42
  }
35
43
 
36
44
  /**
37
45
  * add a build task to the pipeline.
38
46
  */
39
47
  add(tasks) {
40
- const buildTasks = this.initiateTasks(tasks);
41
- this._tasks = this._tasks.concat(buildTasks);
48
+ this._tasks = this._tasks.concat(tasks);
42
49
  return this;
43
50
  }
44
51
 
@@ -55,8 +62,7 @@ class Pipeline {
55
62
  * replace a build task in the pipeline.
56
63
  */
57
64
  replace(tasks) {
58
- const buildTasks = this.initiateTasks(tasks);
59
- this.remove(buildTasks.map(task => task.name));
65
+ this.remove(tasks.map(task => task.name));
60
66
  this.add(tasks);
61
67
  return this;
62
68
  }
@@ -67,28 +73,25 @@ class Pipeline {
67
73
  * @returns
68
74
  */
69
75
  concat(pipeline) {
70
- return new Pipeline(this._tasks.concat(pipeline.tasks), this.context);
76
+ return new Pipeline(this._tasks.concat(pipeline.tasks));
71
77
  }
72
78
 
73
79
  /**
74
80
  * compute the pipeline.
75
81
  */
76
- compute() {
77
- return this._tasks;
82
+ compute(context) {
83
+ const buildTasks = this.initiateTasks(this._tasks, context, context.envId.toString());
84
+ return buildTasks;
78
85
  }
79
86
  static from(tasks) {
80
- return context => {
81
- const buildTasks = tasks.map(taskFn => {
82
- return taskFn(context);
83
- });
84
- return new Pipeline(buildTasks, context);
85
- };
86
- }
87
- static concat(...pipelines) {
88
- return (0, _envs().reduceServiceHandlersFactories)(pipelines, (acc, pipeline) => {
89
- return acc.concat(pipeline);
90
- });
87
+ return new Pipeline(tasks);
91
88
  }
89
+
90
+ // static concat(...pipelines: EnvHandler<Pipeline>[]) {
91
+ // return reduceServiceHandlersFactories(pipelines, (acc, pipeline) => {
92
+ // return acc.concat(pipeline);
93
+ // });
94
+ // }
92
95
  }
93
96
  exports.Pipeline = Pipeline;
94
97
 
@@ -1 +1 @@
1
- {"version":3,"names":["Pipeline","constructor","_tasks","context","tasks","initiateTasks","map","task","add","buildTasks","concat","remove","taskNames","filter","includes","name","replace","pipeline","compute","from","taskFn","pipelines","reduceServiceHandlersFactories","acc"],"sources":["pipeline.ts"],"sourcesContent":["import { BuildTask } from \"@teambit/builder\";\nimport { EnvContext, EnvHandler, reduceServiceHandlersFactories } from \"@teambit/envs\";\n\nexport type Task = EnvHandler<BuildTask>;\n\n/**\n * create and maintain build pipelines for component\n * dev environments.\n */\nexport class Pipeline {\n constructor(\n private _tasks: BuildTask[],\n private context: EnvContext\n ) {}\n\n /**\n * list all tasks in the build pipeline.\n */\n get tasks() {\n return this._tasks;\n }\n\n private initiateTasks(tasks: Task[]) {\n return tasks.map((task) => {\n return task(this.context);\n });\n }\n\n /**\n * add a build task to the pipeline.\n */\n add(tasks: Task[]) {\n const buildTasks = this.initiateTasks(tasks);\n this._tasks = this._tasks.concat(buildTasks);\n return this;\n }\n\n /**\n * remove a build task from the pipeline.\n */\n remove(taskNames: string[]) {\n this._tasks = this._tasks.filter((task) => {\n return taskNames.includes(task.name);\n });\n }\n\n /**\n * replace a build task in the pipeline.\n */\n replace(tasks: Task[]) {\n const buildTasks = this.initiateTasks(tasks);\n this.remove(buildTasks.map((task) => task.name));\n this.add(tasks);\n return this;\n }\n\n /**\n * return a new pipeline with the tasks from the pipeline args added.\n * @param pipeline\n * @returns\n */\n concat(pipeline: Pipeline) {\n return new Pipeline(this._tasks.concat(pipeline.tasks), this.context);\n }\n\n /**\n * compute the pipeline.\n */\n compute() {\n return this._tasks;\n }\n\n static from(tasks: Task[]) {\n return (context: EnvContext) => {\n const buildTasks = tasks.map((taskFn) => {\n return taskFn(context);\n });\n\n return new Pipeline(buildTasks, context);\n }\n }\n\n static concat(...pipelines: EnvHandler<Pipeline>[]) {\n return reduceServiceHandlersFactories(pipelines, (acc, pipeline) => {\n return acc.concat(pipeline);\n });\n }\n}\n"],"mappings":";;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAIA;AACA;AACA;AACA;AACO,MAAMA,QAAQ,CAAC;EACpBC,WAAW,CACDC,MAAmB,EACnBC,OAAmB,EAC3B;IAAA,KAFQD,MAAmB,GAAnBA,MAAmB;IAAA,KACnBC,OAAmB,GAAnBA,OAAmB;EAC1B;;EAEH;AACF;AACA;EACE,IAAIC,KAAK,GAAG;IACV,OAAO,IAAI,CAACF,MAAM;EACpB;EAEQG,aAAa,CAACD,KAAa,EAAE;IACnC,OAAOA,KAAK,CAACE,GAAG,CAAEC,IAAI,IAAK;MACzB,OAAOA,IAAI,CAAC,IAAI,CAACJ,OAAO,CAAC;IAC3B,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACEK,GAAG,CAACJ,KAAa,EAAE;IACjB,MAAMK,UAAU,GAAG,IAAI,CAACJ,aAAa,CAACD,KAAK,CAAC;IAC5C,IAAI,CAACF,MAAM,GAAG,IAAI,CAACA,MAAM,CAACQ,MAAM,CAACD,UAAU,CAAC;IAC5C,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEE,MAAM,CAACC,SAAmB,EAAE;IAC1B,IAAI,CAACV,MAAM,GAAG,IAAI,CAACA,MAAM,CAACW,MAAM,CAAEN,IAAI,IAAK;MACzC,OAAOK,SAAS,CAACE,QAAQ,CAACP,IAAI,CAACQ,IAAI,CAAC;IACtC,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACEC,OAAO,CAACZ,KAAa,EAAE;IACrB,MAAMK,UAAU,GAAG,IAAI,CAACJ,aAAa,CAACD,KAAK,CAAC;IAC5C,IAAI,CAACO,MAAM,CAACF,UAAU,CAACH,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACQ,IAAI,CAAC,CAAC;IAChD,IAAI,CAACP,GAAG,CAACJ,KAAK,CAAC;IACf,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;EACEM,MAAM,CAACO,QAAkB,EAAE;IACzB,OAAO,IAAIjB,QAAQ,CAAC,IAAI,CAACE,MAAM,CAACQ,MAAM,CAACO,QAAQ,CAACb,KAAK,CAAC,EAAE,IAAI,CAACD,OAAO,CAAC;EACvE;;EAEA;AACF;AACA;EACEe,OAAO,GAAG;IACR,OAAO,IAAI,CAAChB,MAAM;EACpB;EAEA,OAAOiB,IAAI,CAACf,KAAa,EAAE;IACzB,OAAQD,OAAmB,IAAK;MAC9B,MAAMM,UAAU,GAAGL,KAAK,CAACE,GAAG,CAAEc,MAAM,IAAK;QACvC,OAAOA,MAAM,CAACjB,OAAO,CAAC;MACxB,CAAC,CAAC;MAEF,OAAO,IAAIH,QAAQ,CAACS,UAAU,EAAEN,OAAO,CAAC;IAC1C,CAAC;EACH;EAEA,OAAOO,MAAM,CAAC,GAAGW,SAAiC,EAAE;IAClD,OAAO,IAAAC,sCAA8B,EAACD,SAAS,EAAE,CAACE,GAAG,EAAEN,QAAQ,KAAK;MAClE,OAAOM,GAAG,CAACb,MAAM,CAACO,QAAQ,CAAC;IAC7B,CAAC,CAAC;EACJ;AACF;AAAC"}
1
+ {"version":3,"names":["Pipeline","constructor","_tasks","tasks","initiateTasks","context","envId","map","task","handler","buildTasks","aspectId","buildTask","Object","assign","clone","add","concat","remove","taskNames","filter","includes","name","replace","pipeline","compute","toString","from"],"sources":["pipeline.ts"],"sourcesContent":["import { BuildTask } from \"@teambit/builder\";\nimport { EnvContext, EnvHandler } from \"@teambit/envs\";\nimport { clone } from \"lodash\";\nimport { Task } from './task';\n\nexport type TaskHandler = {\n handler: EnvHandler<Task>;\n name: string;\n}\n\n/**\n * create and maintain build pipelines for component\n * dev environments.\n */\nexport class Pipeline {\n constructor(\n private _tasks: TaskHandler[],\n ) {}\n\n /**\n * list all tasks in the build pipeline.\n */\n get tasks() {\n return this._tasks;\n }\n\n private initiateTasks(tasks: TaskHandler[], context: EnvContext, envId: string) {\n const _tasks = tasks.map((task) => {\n return task.handler(context);\n });\n\n const buildTasks: BuildTask[] = _tasks.map((task) => {\n // @ts-ignore\n const aspectId = task.aspectId || envId;\n const buildTask: BuildTask = Object.assign(clone(task), {aspectId});\n return buildTask;\n });\n\n return buildTasks;\n }\n\n /**\n * add a build task to the pipeline.\n */\n add(tasks: TaskHandler[]) {\n this._tasks = this._tasks.concat(tasks);\n return this;\n }\n\n /**\n * remove a build task from the pipeline.\n */\n remove(taskNames: string[]) {\n this._tasks = this._tasks.filter((task) => {\n return taskNames.includes(task.name);\n });\n }\n\n /**\n * replace a build task in the pipeline.\n */\n replace(tasks: TaskHandler[]) {\n this.remove(tasks.map((task) => task.name));\n this.add(tasks);\n return this;\n }\n\n /**\n * return a new pipeline with the tasks from the pipeline args added.\n * @param pipeline\n * @returns\n */\n concat(pipeline: Pipeline) {\n return new Pipeline(this._tasks.concat(pipeline.tasks));\n }\n\n /**\n * compute the pipeline.\n */\n compute(context: EnvContext): BuildTask[] {\n const buildTasks = this.initiateTasks(this._tasks, context, context.envId.toString());\n return buildTasks;\n }\n\n static from(tasks: TaskHandler[]) {\n return new Pipeline(tasks);\n }\n\n // static concat(...pipelines: EnvHandler<Pipeline>[]) {\n // return reduceServiceHandlersFactories(pipelines, (acc, pipeline) => {\n // return acc.concat(pipeline);\n // });\n // }\n}\n"],"mappings":";;;;;;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAQA;AACA;AACA;AACA;AACO,MAAMA,QAAQ,CAAC;EACpBC,WAAW,CACDC,MAAqB,EAC7B;IAAA,KADQA,MAAqB,GAArBA,MAAqB;EAC5B;;EAEH;AACF;AACA;EACE,IAAIC,KAAK,GAAG;IACV,OAAO,IAAI,CAACD,MAAM;EACpB;EAEQE,aAAa,CAACD,KAAoB,EAAEE,OAAmB,EAAEC,KAAa,EAAE;IAC9E,MAAMJ,MAAM,GAAGC,KAAK,CAACI,GAAG,CAAEC,IAAI,IAAK;MACjC,OAAOA,IAAI,CAACC,OAAO,CAACJ,OAAO,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAMK,UAAuB,GAAGR,MAAM,CAACK,GAAG,CAAEC,IAAI,IAAK;MACnD;MACA,MAAMG,QAAQ,GAAGH,IAAI,CAACG,QAAQ,IAAIL,KAAK;MACvC,MAAMM,SAAoB,GAAGC,MAAM,CAACC,MAAM,CAAC,IAAAC,eAAK,EAACP,IAAI,CAAC,EAAE;QAACG;MAAQ,CAAC,CAAC;MACnE,OAAOC,SAAS;IAClB,CAAC,CAAC;IAEF,OAAOF,UAAU;EACnB;;EAEA;AACF;AACA;EACEM,GAAG,CAACb,KAAoB,EAAE;IACxB,IAAI,CAACD,MAAM,GAAG,IAAI,CAACA,MAAM,CAACe,MAAM,CAACd,KAAK,CAAC;IACvC,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEe,MAAM,CAACC,SAAmB,EAAE;IAC1B,IAAI,CAACjB,MAAM,GAAG,IAAI,CAACA,MAAM,CAACkB,MAAM,CAAEZ,IAAI,IAAK;MACzC,OAAOW,SAAS,CAACE,QAAQ,CAACb,IAAI,CAACc,IAAI,CAAC;IACtC,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACEC,OAAO,CAACpB,KAAoB,EAAE;IAC5B,IAAI,CAACe,MAAM,CAACf,KAAK,CAACI,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACc,IAAI,CAAC,CAAC;IAC3C,IAAI,CAACN,GAAG,CAACb,KAAK,CAAC;IACf,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;EACEc,MAAM,CAACO,QAAkB,EAAE;IACzB,OAAO,IAAIxB,QAAQ,CAAC,IAAI,CAACE,MAAM,CAACe,MAAM,CAACO,QAAQ,CAACrB,KAAK,CAAC,CAAC;EACzD;;EAEA;AACF;AACA;EACEsB,OAAO,CAACpB,OAAmB,EAAe;IACxC,MAAMK,UAAU,GAAG,IAAI,CAACN,aAAa,CAAC,IAAI,CAACF,MAAM,EAAEG,OAAO,EAAEA,OAAO,CAACC,KAAK,CAACoB,QAAQ,EAAE,CAAC;IACrF,OAAOhB,UAAU;EACnB;EAEA,OAAOiB,IAAI,CAACxB,KAAoB,EAAE;IAChC,OAAO,IAAIH,QAAQ,CAACG,KAAK,CAAC;EAC5B;;EAEA;EACA;EACA;EACA;EACA;AACF;AAAC"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.963/dist/builder.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.963/dist/builder.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.964/dist/builder.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.964/dist/builder.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/dist/task.d.ts ADDED
@@ -0,0 +1,44 @@
1
+ import { BuildContext, BuiltTaskResult } from "./build-task";
2
+ import { TaskResultsList } from "./task-results-list";
3
+ /**
4
+ * this is the external interface for task. please make
5
+ * sure to use only this interface outside of this builder
6
+ * aspect.
7
+ */
8
+ export interface Task {
9
+ /**
10
+ * names ideally with dashes 'typescript'
11
+ */
12
+ name: string;
13
+ /**
14
+ * description of what the task does.
15
+ */
16
+ description?: string;
17
+ /**
18
+ * execute a task in a build context
19
+ */
20
+ execute(context: BuildContext): Promise<BuiltTaskResult>;
21
+ /**
22
+ * run before the build pipeline has started. this is useful when some preparation are needed to
23
+ * be done on all envs before the build starts.
24
+ * e.g. typescript compiler needs to write the tsconfig file. doing it during the task, will
25
+ * cause dependencies from other envs to get this tsconfig written.
26
+ */
27
+ preBuild?(context: BuildContext): Promise<void>;
28
+ /**
29
+ * run after the build pipeline completed for all envs. useful for doing some cleanup on the
30
+ * capsules before the deployment starts.
31
+ */
32
+ postBuild?(context: BuildContext, tasksResults: TaskResultsList): Promise<void>;
33
+ /**
34
+ * needed if you want the task to be running only after the dependencies were completed
35
+ * for *all* envs.
36
+ * normally this is not needed because the build-pipeline runs the tasks in the same order
37
+ * they're located in the `getBuildPipe()` array and according to the task.location.
38
+ * the case where this is useful is when a task not only needs to be after another task, but also
39
+ * after all environments were running that task.
40
+ * a dependency is task.aspectId. if an aspect has multiple tasks, to be more specific, use
41
+ * "aspectId:name", e.g. "teambit.compilation/compiler:TypescriptCompiler".
42
+ */
43
+ dependencies?: string[];
44
+ }
package/dist/task.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ //# sourceMappingURL=task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["task.ts"],"sourcesContent":["import { BuildContext, BuiltTaskResult } from \"./build-task\";\nimport { TaskResultsList } from \"./task-results-list\";\n\n/**\n * this is the external interface for task. please make\n * sure to use only this interface outside of this builder\n * aspect.\n */\nexport interface Task {\n /**\n * names ideally with dashes 'typescript'\n */\n name: string;\n\n /**\n * description of what the task does.\n */\n description?: string;\n\n /**\n * execute a task in a build context\n */\n execute(context: BuildContext): Promise<BuiltTaskResult>;\n\n /**\n * run before the build pipeline has started. this is useful when some preparation are needed to\n * be done on all envs before the build starts.\n * e.g. typescript compiler needs to write the tsconfig file. doing it during the task, will\n * cause dependencies from other envs to get this tsconfig written.\n */\n preBuild?(context: BuildContext): Promise<void>;\n\n /**\n * run after the build pipeline completed for all envs. useful for doing some cleanup on the\n * capsules before the deployment starts.\n */\n postBuild?(context: BuildContext, tasksResults: TaskResultsList): Promise<void>;\n\n /**\n * needed if you want the task to be running only after the dependencies were completed\n * for *all* envs.\n * normally this is not needed because the build-pipeline runs the tasks in the same order\n * they're located in the `getBuildPipe()` array and according to the task.location.\n * the case where this is useful is when a task not only needs to be after another task, but also\n * after all environments were running that task.\n * a dependency is task.aspectId. if an aspect has multiple tasks, to be more specific, use\n * \"aspectId:name\", e.g. \"teambit.compilation/compiler:TypescriptCompiler\".\n */\n dependencies?: string[];\n}\n"],"mappings":""}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/builder",
3
- "version": "0.0.963",
3
+ "version": "0.0.964",
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.963"
9
+ "version": "0.0.964"
10
10
  },
11
11
  "dependencies": {
12
12
  "p-map-series": "2.1.0",
@@ -26,20 +26,20 @@
26
26
  "@babel/runtime": "7.20.0",
27
27
  "@teambit/graph.cleargraph": "0.0.1",
28
28
  "@teambit/harmony": "0.4.6",
29
- "@teambit/component": "0.0.963",
30
- "@teambit/envs": "0.0.963",
31
- "@teambit/logger": "0.0.739",
32
- "@teambit/tester": "0.0.963",
33
- "@teambit/isolator": "0.0.963",
34
- "@teambit/lane-id": "0.0.163",
35
- "@teambit/cli": "0.0.646",
36
- "@teambit/workspace": "0.0.963",
37
- "@teambit/aspect-loader": "0.0.963",
38
- "@teambit/aspect": "0.0.963",
39
- "@teambit/generator": "0.0.963",
40
- "@teambit/graphql": "0.0.963",
41
- "@teambit/scope": "0.0.963",
42
- "@teambit/express": "0.0.744",
29
+ "@teambit/component": "0.0.964",
30
+ "@teambit/envs": "0.0.964",
31
+ "@teambit/logger": "0.0.740",
32
+ "@teambit/tester": "0.0.964",
33
+ "@teambit/isolator": "0.0.964",
34
+ "@teambit/lane-id": "0.0.164",
35
+ "@teambit/cli": "0.0.647",
36
+ "@teambit/workspace": "0.0.964",
37
+ "@teambit/aspect-loader": "0.0.964",
38
+ "@teambit/aspect": "0.0.964",
39
+ "@teambit/generator": "0.0.964",
40
+ "@teambit/graphql": "0.0.964",
41
+ "@teambit/scope": "0.0.964",
42
+ "@teambit/express": "0.0.745",
43
43
  "@teambit/bit-error": "0.0.402",
44
44
  "@teambit/component-id": "0.0.425"
45
45
  },
@@ -58,7 +58,7 @@
58
58
  "@teambit/pipelines.aspect-docs.builder": "0.0.151"
59
59
  },
60
60
  "peerDependencies": {
61
- "@teambit/legacy": "1.0.426",
61
+ "@teambit/legacy": "1.0.427",
62
62
  "react": "^16.8.0 || ^17.0.0",
63
63
  "react-dom": "^16.8.0 || ^17.0.0"
64
64
  },