@teambit/builder 1.0.226 → 1.0.228

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.
Files changed (49) hide show
  1. package/artifacts/__bit_junit.xml +1 -1
  2. package/artifacts/preview/teambit_pipelines_builder-preview.js +1 -1
  3. package/artifacts/schema.json +180 -706
  4. package/dist/build-pipe.js +0 -13
  5. package/dist/build-pipe.js.map +1 -1
  6. package/dist/{preview-1712632644937.js → preview-1712805335812.js} +2 -2
  7. package/package.json +18 -18
  8. package/tsconfig.json +49 -1
  9. package/dist/artifact/artifact-definition.d.ts +0 -65
  10. package/dist/artifact/artifact-extractor.d.ts +0 -35
  11. package/dist/artifact/artifact-factory.d.ts +0 -20
  12. package/dist/artifact/artifact-list.d.ts +0 -52
  13. package/dist/artifact/artifact.d.ts +0 -59
  14. package/dist/artifact/artifacts.cmd.d.ts +0 -26
  15. package/dist/artifact/extension-artifact.d.ts +0 -10
  16. package/dist/artifact/fs-artifact.d.ts +0 -18
  17. package/dist/artifact/index.d.ts +0 -6
  18. package/dist/build-pipe.d.ts +0 -79
  19. package/dist/build-pipeline-order.d.ts +0 -35
  20. package/dist/build-pipeline-result-list.d.ts +0 -34
  21. package/dist/build-task.d.ts +0 -128
  22. package/dist/build.cmd.d.ts +0 -39
  23. package/dist/builder-env-type.d.ts +0 -15
  24. package/dist/builder.aspect.d.ts +0 -2
  25. package/dist/builder.composition.d.ts +0 -1
  26. package/dist/builder.graphql.d.ts +0 -102
  27. package/dist/builder.main.runtime.d.ts +0 -153
  28. package/dist/builder.route.d.ts +0 -20
  29. package/dist/builder.service.d.ts +0 -105
  30. package/dist/exceptions/artifact-definition-no-glob.d.ts +0 -3
  31. package/dist/exceptions/artifact-storage-error.d.ts +0 -7
  32. package/dist/exceptions/capsule-not-found.d.ts +0 -5
  33. package/dist/exceptions/index.d.ts +0 -3
  34. package/dist/exceptions/invalid-task.d.ts +0 -5
  35. package/dist/index.d.ts +0 -19
  36. package/dist/pipeline/index.d.ts +0 -1
  37. package/dist/pipeline/pipeline-results.d.ts +0 -2
  38. package/dist/pipeline.d.ts +0 -43
  39. package/dist/storage/default-resolver.d.ts +0 -7
  40. package/dist/storage/index.d.ts +0 -2
  41. package/dist/storage/s3-resolver.d.ts +0 -0
  42. package/dist/storage/storage-resolver.d.ts +0 -26
  43. package/dist/task-results-list.d.ts +0 -22
  44. package/dist/task.d.ts +0 -44
  45. package/dist/tasks-queue.d.ts +0 -16
  46. package/dist/templates/build-task/files/index-file.d.ts +0 -2
  47. package/dist/templates/build-task/files/task-file.d.ts +0 -2
  48. package/dist/templates/build-task/index.d.ts +0 -2
  49. package/dist/types.d.ts +0 -32
@@ -82,7 +82,6 @@ class BuildPipe {
82
82
  * execute a pipeline of build tasks.
83
83
  */
84
84
  async execute() {
85
- this.addSignalListener();
86
85
  await this.executePreBuild();
87
86
  this.longProcessLogger = this.logger.createLongProcessLogger('running tasks', this.tasksQueue.length);
88
87
  await (0, _pMapSeries().default)(this.tasksQueue, async ({
@@ -95,18 +94,6 @@ class BuildPipe {
95
94
  await this.executePostBuild(tasksResultsList);
96
95
  return tasksResultsList;
97
96
  }
98
-
99
- /**
100
- * for some reason, some tasks (such as typescript compilation) ignore ctrl+C. this fixes it.
101
- */
102
- addSignalListener() {
103
- process.on('SIGTERM', () => {
104
- process.exit();
105
- });
106
- process.on('SIGINT', () => {
107
- process.exit();
108
- });
109
- }
110
97
  async executePreBuild() {
111
98
  this.logger.setStatusLine('executing pre-build for all tasks');
112
99
  const longProcessLogger = this.logger.createLongProcessLogger('running pre-build for all tasks');
@@ -1 +1 @@
1
- {"version":3,"names":["_component","data","require","_pMapSeries","_interopRequireDefault","_prettyTime","_toolboxString","_chalk","_buildTask","_taskResultsList","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","BuildPipe","constructor","tasksQueue","envsBuildContext","logger","artifactFactory","previousTaskResults","options","allTasksResults","taskResults","execute","addSignalListener","executePreBuild","longProcessLogger","createLongProcessLogger","length","mapSeries","task","env","executeTask","end","capsuleRootDir","values","capsuleNetwork","capsulesRootDir","tasksResultsList","TaskResultsList","executePostBuild","process","on","exit","setStatusLine","preBuild","getBuildContext","id","taskId","BuildTaskHelper","serializeId","envName","showEnvNameInOutput","getPrettyEnvName","buildContext","hasOriginalSeeders","Boolean","_originalSeeders","dependencyStr","taskLogPrefix","getPrettyAspectName","aspectId","name","logProgress","description","updateFailedDependencyTask","shouldSkipTask","startTask","hrtime","taskStartTime","Date","now","buildTaskResult","err","consoleFailure","endTime","compsWithErrors","componentsResults","filter","c","errors","artifacts","duration","prettyTime","chalk","red","getProgress","failedTasks","push","color","green","dim","consoleSuccess","defs","generate","startTime","resolvedId","ComponentID","fromString","tokens","split","map","token","capitalize","join","envId","ver","showEnvVersionInOutput","version","fullName","tasksResults","postBuild","failedDependencyTask","dependencies","forEach","dependency","deserializeIdAllowEmptyName","find","failedTask","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 capsuleRootDir = Object.values(this.envsBuildContext)[0]?.capsuleNetwork.capsulesRootDir;\n const tasksResultsList = new TaskResultsList(this.tasksQueue, this.taskResults, capsuleRootDir);\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 buildContext = this.getBuildContext(env.id);\n const hasOriginalSeeders = Boolean(buildContext.capsuleNetwork._originalSeeders?.length);\n const dependencyStr = hasOriginalSeeders ? '' : `[dependency] `;\n const taskLogPrefix = `${dependencyStr}${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 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 const color = hasOriginalSeeders ? chalk.green : chalk.green.dim;\n this.logger.consoleSuccess(\n color(`${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":"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","ignoreList":[]}
1
+ {"version":3,"names":["_component","data","require","_pMapSeries","_interopRequireDefault","_prettyTime","_toolboxString","_chalk","_buildTask","_taskResultsList","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","BuildPipe","constructor","tasksQueue","envsBuildContext","logger","artifactFactory","previousTaskResults","options","allTasksResults","taskResults","execute","executePreBuild","longProcessLogger","createLongProcessLogger","length","mapSeries","task","env","executeTask","end","capsuleRootDir","values","capsuleNetwork","capsulesRootDir","tasksResultsList","TaskResultsList","executePostBuild","setStatusLine","preBuild","getBuildContext","id","taskId","BuildTaskHelper","serializeId","envName","showEnvNameInOutput","getPrettyEnvName","buildContext","hasOriginalSeeders","Boolean","_originalSeeders","dependencyStr","taskLogPrefix","getPrettyAspectName","aspectId","name","logProgress","description","updateFailedDependencyTask","shouldSkipTask","startTask","process","hrtime","taskStartTime","Date","now","buildTaskResult","err","consoleFailure","endTime","compsWithErrors","componentsResults","filter","c","errors","artifacts","duration","prettyTime","chalk","red","getProgress","failedTasks","push","color","green","dim","consoleSuccess","defs","generate","startTime","resolvedId","ComponentID","fromString","tokens","split","map","token","capitalize","join","envId","ver","showEnvVersionInOutput","version","fullName","tasksResults","postBuild","failedDependencyTask","dependencies","forEach","dependency","deserializeIdAllowEmptyName","find","failedTask","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 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 capsuleRootDir = Object.values(this.envsBuildContext)[0]?.capsuleNetwork.capsulesRootDir;\n const tasksResultsList = new TaskResultsList(this.tasksQueue, this.taskResults, capsuleRootDir);\n await this.executePostBuild(tasksResultsList);\n\n return tasksResultsList;\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 buildContext = this.getBuildContext(env.id);\n const hasOriginalSeeders = Boolean(buildContext.capsuleNetwork._originalSeeders?.length);\n const dependencyStr = hasOriginalSeeders ? '' : `[dependency] `;\n const taskLogPrefix = `${dependencyStr}${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 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 const color = hasOriginalSeeders ? chalk.green : chalk.green.dim;\n this.logger.consoleSuccess(\n color(`${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":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@1.0.226/dist/builder.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@1.0.226/dist/builder.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@1.0.228/dist/builder.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@1.0.228/dist/builder.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/builder",
3
- "version": "1.0.226",
3
+ "version": "1.0.228",
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": "1.0.226"
9
+ "version": "1.0.228"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -26,23 +26,23 @@
26
26
  "@teambit/harmony": "0.4.6",
27
27
  "@teambit/bit-error": "0.0.404",
28
28
  "@teambit/component-id": "1.2.0",
29
- "@teambit/component": "1.0.226",
30
- "@teambit/envs": "1.0.226",
31
- "@teambit/logger": "0.0.952",
29
+ "@teambit/component": "1.0.228",
30
+ "@teambit/envs": "1.0.228",
31
+ "@teambit/logger": "0.0.954",
32
32
  "@teambit/toolbox.string.capitalize": "0.0.496",
33
- "@teambit/tester": "1.0.226",
34
- "@teambit/isolator": "1.0.226",
35
- "@teambit/cli": "0.0.859",
36
- "@teambit/workspace": "1.0.226",
37
- "@teambit/aspect-loader": "1.0.226",
38
- "@teambit/aspect": "1.0.226",
39
- "@teambit/generator": "1.0.227",
40
- "@teambit/global-config": "0.0.862",
41
- "@teambit/graphql": "1.0.226",
42
- "@teambit/scope": "1.0.226",
33
+ "@teambit/tester": "1.0.228",
34
+ "@teambit/isolator": "1.0.228",
35
+ "@teambit/cli": "0.0.861",
36
+ "@teambit/workspace": "1.0.228",
37
+ "@teambit/aspect-loader": "1.0.228",
38
+ "@teambit/aspect": "1.0.228",
39
+ "@teambit/generator": "1.0.229",
40
+ "@teambit/global-config": "0.0.864",
41
+ "@teambit/graphql": "1.0.228",
42
+ "@teambit/scope": "1.0.228",
43
43
  "@teambit/toolbox.array.duplications-finder": "0.0.1",
44
- "@teambit/ui": "1.0.226",
45
- "@teambit/express": "0.0.958"
44
+ "@teambit/ui": "1.0.228",
45
+ "@teambit/express": "0.0.960"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/lodash": "4.14.165",
@@ -52,7 +52,7 @@
52
52
  "@types/minimatch": "3.0.4",
53
53
  "@types/mocha": "9.1.0",
54
54
  "chai": "4.3.0",
55
- "@teambit/harmony.envs.core-aspect-env": "0.0.27",
55
+ "@teambit/harmony.envs.core-aspect-env": "0.0.30",
56
56
  "@teambit/pipelines.aspect-docs.builder": "0.0.167"
57
57
  },
58
58
  "peerDependencies": {
package/tsconfig.json CHANGED
@@ -20,7 +20,8 @@
20
20
  "emitDeclarationOnly": true,
21
21
  "strict": true,
22
22
  "strictPropertyInitialization": false,
23
- "noImplicitAny": false
23
+ "noImplicitAny": false,
24
+ "composite": true
24
25
  },
25
26
  "exclude": [
26
27
  "artifacts",
@@ -35,5 +36,52 @@
35
36
  "include": [
36
37
  "**/*",
37
38
  "**/*.json"
39
+ ],
40
+ "references": [
41
+ {
42
+ "path": "/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@1.0.228"
43
+ },
44
+ {
45
+ "path": "/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.envs_envs@1.0.228"
46
+ },
47
+ {
48
+ "path": "/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_logger@0.0.954"
49
+ },
50
+ {
51
+ "path": "/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.defender_tester@1.0.228"
52
+ },
53
+ {
54
+ "path": "/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_isolator@1.0.228"
55
+ },
56
+ {
57
+ "path": "/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_cli@0.0.861"
58
+ },
59
+ {
60
+ "path": "/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@1.0.228"
61
+ },
62
+ {
63
+ "path": "/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_aspect-loader@1.0.228"
64
+ },
65
+ {
66
+ "path": "/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_aspect@1.0.228"
67
+ },
68
+ {
69
+ "path": "/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@1.0.229"
70
+ },
71
+ {
72
+ "path": "/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_global-config@0.0.864"
73
+ },
74
+ {
75
+ "path": "/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_graphql@1.0.228"
76
+ },
77
+ {
78
+ "path": "/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_scope@1.0.228"
79
+ },
80
+ {
81
+ "path": "/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.ui-foundation_ui@1.0.228"
82
+ },
83
+ {
84
+ "path": "/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_express@0.0.960"
85
+ }
38
86
  ]
39
87
  }
@@ -1,65 +0,0 @@
1
- import { ArtifactStorageResolver } from '..';
2
- export type ArtifactDefinition = {
3
- /**
4
- * name of the artifact.
5
- * e.g. a project might utilize two different artifacts for the same typescript compiler, one
6
- * that generates ES5 files and another for ES6, this prop helps to distinguish between the two.
7
- */
8
- name: string;
9
- /**
10
- * aspect id that created the artifact. sometimes it's not the same as the task.id.
11
- * e.g. teambit.compilation/compiler executes teambit.typescript/typescript code that generates dists artifacts
12
- * the generatedBy in this case is the teambit.typescript/typescript while the task.id is
13
- * teambit.compilation/compiler
14
- */
15
- generatedBy?: string;
16
- /**
17
- * description of the artifact.
18
- */
19
- description?: string;
20
- /**
21
- * glob patterns of files to include upon artifact creation.
22
- * examples:
23
- * ['*.ts', '!foo.ts'] - matches all ts files but ignores foo.ts.
24
- * ['dist'] - matches all files recursively from dist dir. (similar to 'dist/**').
25
- *
26
- * the glob array are passed to [globby](https://www.npmjs.com/package/globby), which interprets the patterns
27
- * according to [minimatch](https://github.com/isaacs/minimatch#usage).
28
- */
29
- globPatterns?: string[];
30
- /**
31
- * @deprecated use globPatterns instead.
32
- *
33
- * directories of files to include upon artifact creation. minimatch is used to match the patterns.
34
- * e.g. ['/tmp'] will include all files from tmp dir
35
- */
36
- directories?: string[];
37
- /**
38
- * @deprecated use globPatterns instead.
39
- *
40
- * define the root directory for reading the artifacts from the capsule file system.
41
- * the rootDir must be unique per artifacts, otherwise we risk overriding data between artifacts.
42
- */
43
- rootDir?: string;
44
- /**
45
- * @deprecated use globPatterns instead.
46
- *
47
- * adds a directory prefix for all artifact files.
48
- */
49
- dirPrefix?: string;
50
- /**
51
- * determine the context of the artifact.
52
- * default artifact context is `component`.
53
- * "env" is useful when the same file is generated for all components, for example, "preview"
54
- * task may create the same webpack file for all components of that env.
55
- */
56
- context?: 'component' | 'env';
57
- /**
58
- * storage resolver. can be used to replace where artifacts are stored.
59
- * default resolver persists artifacts on scope. (not recommended for large files!)
60
- */
61
- storageResolver?: ArtifactStorageResolver;
62
- };
63
- export type ArtifactModelDefinition = Omit<ArtifactDefinition, 'storageResolver'> & {
64
- storageResolver?: string;
65
- };
@@ -1,35 +0,0 @@
1
- import { ComponentMain } from '@teambit/component';
2
- import { ComponentID } from '@teambit/component-id';
3
- import { BuilderMain } from '../builder.main.runtime';
4
- import { ArtifactsOpts } from './artifacts.cmd';
5
- export type ExtractorResult = {
6
- id: ComponentID;
7
- artifacts: ExtractorArtifactResult[];
8
- };
9
- export type ExtractorArtifactResult = {
10
- artifactName: string;
11
- aspectId: string;
12
- taskName: string;
13
- files: string[];
14
- };
15
- export type ExtractorResultGrouped = {
16
- id: ComponentID;
17
- artifacts: {
18
- [aspectId: string]: ExtractorArtifactResult[];
19
- };
20
- };
21
- export declare class ArtifactExtractor {
22
- private componentMain;
23
- private builder;
24
- private pattern;
25
- private options;
26
- constructor(componentMain: ComponentMain, builder: BuilderMain, pattern: string, options: ArtifactsOpts);
27
- list(): Promise<ExtractorResult[]>;
28
- groupResultsByAspect(extractorResult: ExtractorResult[]): {
29
- id: ComponentID;
30
- artifacts: {};
31
- }[];
32
- private saveFilesInFileSystemIfAsked;
33
- private artifactsObjectsToExtractorResults;
34
- private filterByOptions;
35
- }
@@ -1,20 +0,0 @@
1
- import { Component, ComponentMap } from '@teambit/component';
2
- import { ArtifactDefinition } from './artifact-definition';
3
- import { ArtifactList } from './artifact-list';
4
- import type { BuildContext, BuildTask } from '../build-task';
5
- import { FsArtifact } from './fs-artifact';
6
- export declare const DEFAULT_CONTEXT = "component";
7
- export type ArtifactMap = ComponentMap<ArtifactList<FsArtifact>>;
8
- export declare class ArtifactFactory {
9
- resolvePaths(root: string, def: ArtifactDefinition): string[];
10
- private getArtifactContextPath;
11
- private getArtifactContext;
12
- createFromComponent(context: BuildContext, component: Component, def: ArtifactDefinition, task: BuildTask): FsArtifact | undefined;
13
- private getStorageResolver;
14
- private toComponentMap;
15
- getRootDir(rootDir: string, def: ArtifactDefinition): string;
16
- /**
17
- * generate artifacts from a build context according to the spec defined in the artifact definitions.
18
- */
19
- generate(context: BuildContext, defs: ArtifactDefinition[], task: BuildTask): ComponentMap<ArtifactList<FsArtifact>>;
20
- }
@@ -1,52 +0,0 @@
1
- import { Component } from '@teambit/component';
2
- import type { ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';
3
- import { ComponentID } from '@teambit/component-id';
4
- import { Scope } from '@teambit/legacy/dist/scope';
5
- import { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';
6
- import { Artifact } from './artifact';
7
- export type ResolverMap<T extends Artifact> = {
8
- [key: string]: T[];
9
- };
10
- export declare class ArtifactList<T extends Artifact> extends Array<T> {
11
- byAspectNameAndName(aspectName?: string, name?: string): ArtifactList<T>;
12
- byAspectNameAndTaskName(aspectName?: string, name?: string): ArtifactList<T>;
13
- /**
14
- * find by the artifact name. it's possible to have multiple artifacts with the same name, in which case it returns the first.
15
- */
16
- findByName(name: string): Artifact | undefined;
17
- /**
18
- * find by the task name. it's possible to have multiple tasks with the same name (different aspects), in which case it returns the first.
19
- */
20
- findByTaskName(name: string): Artifact | undefined;
21
- isEmpty(): boolean;
22
- /**
23
- * group artifacts by the storage resolver.
24
- */
25
- groupByResolver(): ResolverMap<T>;
26
- toObject(): ArtifactObject[];
27
- groupByTaskId(): {
28
- [key: string]: T;
29
- };
30
- getVinylsAndImportIfMissing(id: ComponentID, scope: Scope): Promise<ArtifactVinyl[]>;
31
- /**
32
- * store all artifacts using the configured storage resolvers.
33
- */
34
- store(component: Component): Promise<void[]>;
35
- private storeArtifact;
36
- /**
37
- * Send the entire artifact to the resolver then get back the result for all files from the resolver
38
- * @param storageResolver
39
- * @param artifact
40
- * @param component
41
- */
42
- private storeWholeArtifactByResolver;
43
- /**
44
- * Go over the artifact files and send them to the resolver one by one
45
- * @param storageResolver
46
- * @param artifact
47
- * @param component
48
- */
49
- private storeArtifactFilesByResolver;
50
- static fromArtifactObjects(artifactObjects: ArtifactObject[]): ArtifactList<Artifact>;
51
- static fromArray<T extends Artifact>(artifacts: T[]): ArtifactList<T>;
52
- }
@@ -1,59 +0,0 @@
1
- import type { ArtifactFiles, ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';
2
- import type { TaskDescriptor } from '../build-task';
3
- import type { ArtifactDefinition } from './artifact-definition';
4
- export declare class Artifact {
5
- /**
6
- * definition of the artifact.
7
- */
8
- readonly def: ArtifactDefinition;
9
- readonly files: ArtifactFiles;
10
- /**
11
- * the declaring task.
12
- */
13
- readonly task: TaskDescriptor;
14
- /**
15
- * timestamp of the artifact creation.
16
- */
17
- readonly timestamp: number;
18
- constructor(
19
- /**
20
- * definition of the artifact.
21
- */
22
- def: ArtifactDefinition, files: ArtifactFiles,
23
- /**
24
- * the declaring task.
25
- */
26
- task: TaskDescriptor,
27
- /**
28
- * timestamp of the artifact creation.
29
- */
30
- timestamp?: number);
31
- get storage(): string;
32
- get storageResolver(): import("..").ArtifactStorageResolver;
33
- /**
34
- * name of the artifact.
35
- */
36
- get name(): string;
37
- /**
38
- * description of the artifact.
39
- */
40
- get description(): string | undefined;
41
- /**
42
- * aspect id (string) that generated the artifact
43
- */
44
- get generatedBy(): string;
45
- /**
46
- * calculate what could possibly be the root directory of the artifact.
47
- * in case the deprecated rootDir is set, use it.
48
- * otherwise, get the common first directory of all files.
49
- * if there is no common directory, or there are multiple directories return undefined.
50
- */
51
- get artifactDir(): string | undefined;
52
- isEmpty(): boolean;
53
- /**
54
- * archive all artifact files into a tar.
55
- */
56
- tar(): void;
57
- toObject(): ArtifactObject;
58
- static fromArtifactObject(object: ArtifactObject): Artifact;
59
- }
@@ -1,26 +0,0 @@
1
- import { Command, CommandOptions } from '@teambit/cli';
2
- import { ComponentMain } from '@teambit/component';
3
- import { BuilderMain } from '../builder.main.runtime';
4
- export type ArtifactsOpts = {
5
- aspect?: string;
6
- task?: string;
7
- files?: string;
8
- outDir?: string;
9
- };
10
- export declare class ArtifactsCmd implements Command {
11
- private builder;
12
- private componentMain;
13
- name: string;
14
- description: string;
15
- extendedDescription: string;
16
- arguments: {
17
- name: string;
18
- description: string;
19
- }[];
20
- alias: string;
21
- group: string;
22
- helpUrl: string;
23
- options: CommandOptions;
24
- constructor(builder: BuilderMain, componentMain: ComponentMain);
25
- report([componentPattern]: [string], artifactsOpts: ArtifactsOpts): Promise<string>;
26
- }
@@ -1,10 +0,0 @@
1
- import type { AspectDescriptor } from '@teambit/aspect-loader';
2
- import { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';
3
- export declare class ExtensionArtifact {
4
- readonly files: AbstractVinyl[];
5
- readonly extensionDescriptor: AspectDescriptor;
6
- constructor(files: AbstractVinyl[], extensionDescriptor: AspectDescriptor);
7
- toObject(): {
8
- extensionDescriptor: AspectDescriptor;
9
- };
10
- }
@@ -1,18 +0,0 @@
1
- import type { ArtifactFiles } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';
2
- import type { ArtifactDefinition } from './artifact-definition';
3
- import { Artifact } from './artifact';
4
- import { TaskDescriptor } from '../build-task';
5
- export declare class FsArtifact extends Artifact {
6
- /**
7
- * definition of the artifact.
8
- */
9
- readonly def: ArtifactDefinition;
10
- readonly files: ArtifactFiles;
11
- readonly task: TaskDescriptor;
12
- readonly rootDir: string;
13
- constructor(
14
- /**
15
- * definition of the artifact.
16
- */
17
- def: ArtifactDefinition, files: ArtifactFiles, task: TaskDescriptor, rootDir: string);
18
- }
@@ -1,6 +0,0 @@
1
- export { ArtifactDefinition, ArtifactModelDefinition } from './artifact-definition';
2
- export { ExtensionArtifact } from './extension-artifact';
3
- export { Artifact } from './artifact';
4
- export { ArtifactList } from './artifact-list';
5
- export { ArtifactFactory, ArtifactMap } from './artifact-factory';
6
- export { FsArtifact } from './fs-artifact';
@@ -1,79 +0,0 @@
1
- import { EnvDefinition } from '@teambit/envs';
2
- import { ComponentMap } from '@teambit/component';
3
- import { Logger } from '@teambit/logger';
4
- import { ArtifactFactory, ArtifactList, FsArtifact } from './artifact';
5
- import { BuildTask } from './build-task';
6
- import { ComponentResult } from './types';
7
- import { TasksQueue } from './tasks-queue';
8
- import { EnvsBuildContext } from './builder.service';
9
- import { TaskResultsList } from './task-results-list';
10
- export type TaskResults = {
11
- /**
12
- * task itself. useful for getting its id/description later on.
13
- */
14
- task: BuildTask;
15
- /**
16
- * environment were the task was running
17
- */
18
- env: EnvDefinition;
19
- /**
20
- * component build results.
21
- */
22
- componentsResults: ComponentResult[];
23
- /**
24
- * artifacts generated by the build pipeline.
25
- * in case the task finished with errors, this prop is undefined.
26
- */
27
- artifacts: ComponentMap<ArtifactList<FsArtifact>> | undefined;
28
- /**
29
- * timestamp of start initiation.
30
- */
31
- startTime: number;
32
- /**
33
- * timestamp of task completion.
34
- */
35
- endTime: number;
36
- };
37
- type PipeOptions = {
38
- exitOnFirstFailedTask?: boolean;
39
- showEnvNameInOutput?: boolean;
40
- showEnvVersionInOutput?: boolean;
41
- };
42
- export declare class BuildPipe {
43
- /**
44
- * array of services to apply on the components.
45
- */
46
- readonly tasksQueue: TasksQueue;
47
- readonly envsBuildContext: EnvsBuildContext;
48
- readonly logger: Logger;
49
- readonly artifactFactory: ArtifactFactory;
50
- private previousTaskResults?;
51
- private options?;
52
- private failedTasks;
53
- private failedDependencyTask;
54
- private longProcessLogger;
55
- private taskResults;
56
- constructor(
57
- /**
58
- * array of services to apply on the components.
59
- */
60
- tasksQueue: TasksQueue, envsBuildContext: EnvsBuildContext, logger: Logger, artifactFactory: ArtifactFactory, previousTaskResults?: TaskResults[] | undefined, options?: PipeOptions | undefined);
61
- get allTasksResults(): TaskResults[];
62
- /**
63
- * execute a pipeline of build tasks.
64
- */
65
- execute(): Promise<TaskResultsList>;
66
- /**
67
- * for some reason, some tasks (such as typescript compilation) ignore ctrl+C. this fixes it.
68
- */
69
- private addSignalListener;
70
- private executePreBuild;
71
- private executeTask;
72
- private getPrettyAspectName;
73
- private getPrettyEnvName;
74
- private executePostBuild;
75
- private updateFailedDependencyTask;
76
- private shouldSkipTask;
77
- private getBuildContext;
78
- }
79
- export {};