@teambit/builder 0.0.1113 → 0.0.1115
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/artifact/artifact-extractor.js.map +1 -1
- package/dist/artifact/artifact-factory.js.map +1 -1
- package/dist/artifact/artifact-list.js.map +1 -1
- package/dist/artifact/artifact.js.map +1 -1
- package/dist/artifact/artifacts.cmd.js.map +1 -1
- package/dist/artifact/extension-artifact.js.map +1 -1
- package/dist/artifact/fs-artifact.js.map +1 -1
- package/dist/artifact/index.js.map +1 -1
- package/dist/build-pipe.js.map +1 -1
- package/dist/build-pipeline-order.js.map +1 -1
- package/dist/build-pipeline-result-list.js.map +1 -1
- package/dist/build-task.js +2 -0
- package/dist/build-task.js.map +1 -1
- package/dist/build.cmd.js.map +1 -1
- package/dist/builder.aspect.js.map +1 -1
- package/dist/builder.composition.js.map +1 -1
- package/dist/builder.graphql.js.map +1 -1
- package/dist/builder.main.runtime.js +5 -1
- package/dist/builder.main.runtime.js.map +1 -1
- package/dist/builder.route.js.map +1 -1
- package/dist/builder.service.js.map +1 -1
- package/dist/exceptions/artifact-definition-no-glob.js.map +1 -1
- package/dist/exceptions/artifact-storage-error.js.map +1 -1
- package/dist/exceptions/capsule-not-found.js.map +1 -1
- package/dist/exceptions/index.js.map +1 -1
- package/dist/exceptions/invalid-task.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/pipeline/index.js.map +1 -1
- package/dist/pipeline/pipeline-results.js.map +1 -1
- package/dist/pipeline.js.map +1 -1
- package/dist/{preview-1689995873460.js → preview-1690254961496.js} +2 -2
- package/dist/storage/default-resolver.js.map +1 -1
- package/dist/storage/index.js.map +1 -1
- package/dist/task-results-list.js.map +1 -1
- package/dist/tasks-queue.js.map +1 -1
- package/dist/templates/build-task/files/index-file.js.map +1 -1
- package/dist/templates/build-task/files/task-file.js.map +1 -1
- package/dist/templates/build-task/index.js.map +1 -1
- package/package-tar/teambit-builder-0.0.1115.tgz +0 -0
- package/package.json +19 -19
- package/package-tar/teambit-builder-0.0.1113.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["builderSchema","builder","logger","typeDefs","gql","resolvers","Component","pipelineReport","component","taskId","builderData","getBuilderData","pipeline","artifacts","getArtifactsByAspect","getArtifacts","artifactsWithVinyl","Promise","all","map","artifact","id","task","aspectId","name","artifactFiles","getArtifactsVinylByAspectAndTaskName","vinyl","basename","path","contents","isBinary","isBinaryPath","content","toString","undefined","size","byteLength","downloadUrl","encodeURI","getDownloadUrlForArtifact","externalUrl","url","description","storage","generatedBy","files","e","error","result","filter","find","data","taskName","TaskReport","taskReport","taskDescription","errors","warnings","pathFilter","file"],"sources":["builder.graphql.ts"],"sourcesContent":["import { Component, ComponentID } from '@teambit/component';\nimport gql from 'graphql-tag';\nimport { Logger } from '@teambit/logger';\nimport isBinaryPath from 'is-binary-path';\nimport { BuilderMain } from './builder.main.runtime';\nimport { PipelineReport } from './build-pipeline-result-list';\n\ntype ArtifactGQLFile = {\n /**\n * same as the path - used for GQL caching\n */\n id: string;\n /**\n * name of the artifact file\n */\n name: string;\n /**\n * path of the artifact file\n */\n path: string;\n /**\n * artifact file content (only for text files). Use /api/<component-id>/~aspect/builder/<extension-id>/~<path> to fetch binary file data\n */\n content?: string;\n /**\n * REST endpoint to fetch artifact data from. /api/<component-id>/~aspect/builder/<extension-id>/~<pat\n */\n downloadUrl?: string;\n /**\n * Remote storage url to resolve artifact file from\n */\n externalUrl?: string;\n /**\n * Size in bytes\n */\n size: number;\n};\n\ntype ArtifactGQLData = {\n name: string;\n description?: string;\n storage?: string;\n generatedBy: string;\n files: ArtifactGQLFile[];\n};\ntype TaskReport = PipelineReport & {\n artifact?: ArtifactGQLData;\n componentId: ComponentID;\n};\n\nexport function builderSchema(builder: BuilderMain, logger: Logger) {\n return {\n typeDefs: gql`\n type TaskReport {\n # for GQL caching - taskId + taskName\n id: String!\n taskId: String!\n taskName: String!\n description: String\n startTime: String\n endTime: String\n errors: [String!]\n warnings: [String!]\n artifact(path: String): Artifact\n }\n\n type ArtifactFile {\n # for GQL caching - same as the path\n id: String!\n # name of the artifact file\n name: String\n # path of the artifact file\n path: String!\n # artifact file content (only for text files). Use /api/<component-id>/~aspect/builder/<extension-id>/~<path> to fetch binary file data\n content: String\n # REST endpoint to fetch artifact data from. /api/<component-id>/~aspect/builder/<extension-id>/~<path>\n downloadUrl: String\n # Remote storage url to resolve artifact file from\n externalUrl: String\n # size in bytes\n size: Int!\n }\n\n type Artifact {\n # for GQL caching - PipelineId + Artifact Name\n id: String!\n # artifact name\n name: String!\n description: String\n storage: String\n generatedBy: String\n files: [ArtifactFile!]!\n }\n\n extend type Component {\n pipelineReport(taskId: String): [TaskReport!]!\n }\n `,\n\n resolvers: {\n Component: {\n pipelineReport: async (component: Component, { taskId }: { taskId?: string }) => {\n try {\n const builderData = builder.getBuilderData(component);\n const pipeline = builderData?.pipeline || [];\n const artifacts = taskId\n ? builder.getArtifactsByAspect(component, taskId)\n : builder.getArtifacts(component);\n const artifactsWithVinyl = await Promise.all(\n artifacts.map(async (artifact) => {\n const id = artifact.task.aspectId;\n const name = artifact.task.name as string;\n try {\n const artifactFiles = (await builder.getArtifactsVinylByAspectAndTaskName(component, id, name)).map(\n (vinyl) => {\n const { basename, path, contents } = vinyl || {};\n const isBinary = path && isBinaryPath(path);\n const content = !isBinary ? contents?.toString('utf-8') : undefined;\n const size = contents.byteLength;\n const downloadUrl = encodeURI(\n builder.getDownloadUrlForArtifact(component.id, artifact.task.aspectId, path)\n );\n const externalUrl = vinyl.url;\n return { id: path, name: basename, path, content, downloadUrl, externalUrl, size };\n }\n );\n return {\n id: `${id}-${name}-${artifact.name}`,\n name: artifact.name,\n description: artifact.description,\n task: artifact.task,\n storage: artifact.storage,\n generatedBy: artifact.generatedBy,\n files: artifactFiles,\n };\n } catch (e: any) {\n logger.error(e.toString());\n return {\n id: `${id}-${name}-${artifact.name}`,\n name: artifact.name,\n description: artifact.description,\n task: artifact.task,\n storage: artifact.storage,\n generatedBy: artifact.generatedBy,\n files: [],\n };\n }\n })\n );\n\n const result = pipeline\n .filter((task) => !taskId || task.taskId === taskId)\n .map((task) => ({\n ...task,\n id: `filter-${taskId || ''}`,\n artifact: artifactsWithVinyl.find(\n (data) => data.task.aspectId === task.taskId && data.task.name === task.taskName\n ),\n }));\n\n return result;\n } catch (e: any) {\n logger.error(e.toString());\n return [];\n }\n },\n },\n TaskReport: {\n id: (taskReport: TaskReport & { id?: string }) =>\n `${(taskReport.id && `${taskReport.id}-`) || ''}${taskReport.taskId}-${taskReport.taskName}`,\n description: (taskReport: TaskReport) => taskReport.taskDescription,\n errors: (taskReport: TaskReport) => taskReport.errors?.map((e) => e.toString()) || [],\n warnings: (taskReport: TaskReport) => taskReport.warnings || [],\n artifact: async (taskReport: TaskReport, { path: pathFilter }: { path?: string }) => {\n if (!taskReport.artifact) return undefined;\n return {\n id: `${taskReport.taskId}-${taskReport.taskName}-${taskReport.artifact?.name}-${pathFilter || ''}`,\n ...taskReport.artifact,\n files: taskReport.artifact.files.filter((file) => !pathFilter || file.path === pathFilter),\n };\n },\n },\n },\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_graphqlTag","data","_interopRequireDefault","require","_isBinaryPath","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","builderSchema","builder","logger","typeDefs","gql","resolvers","Component","pipelineReport","component","taskId","builderData","getBuilderData","pipeline","artifacts","getArtifactsByAspect","getArtifacts","artifactsWithVinyl","Promise","all","map","artifact","id","task","aspectId","name","artifactFiles","getArtifactsVinylByAspectAndTaskName","vinyl","basename","path","contents","isBinary","isBinaryPath","content","toString","undefined","size","byteLength","downloadUrl","encodeURI","getDownloadUrlForArtifact","externalUrl","url","description","storage","generatedBy","files","e","error","result","find","taskName","TaskReport","taskReport","taskDescription","errors","_taskReport$errors","warnings","pathFilter","_taskReport$artifact","file"],"sources":["builder.graphql.ts"],"sourcesContent":["import { Component, ComponentID } from '@teambit/component';\nimport gql from 'graphql-tag';\nimport { Logger } from '@teambit/logger';\nimport isBinaryPath from 'is-binary-path';\nimport { BuilderMain } from './builder.main.runtime';\nimport { PipelineReport } from './build-pipeline-result-list';\n\ntype ArtifactGQLFile = {\n /**\n * same as the path - used for GQL caching\n */\n id: string;\n /**\n * name of the artifact file\n */\n name: string;\n /**\n * path of the artifact file\n */\n path: string;\n /**\n * artifact file content (only for text files). Use /api/<component-id>/~aspect/builder/<extension-id>/~<path> to fetch binary file data\n */\n content?: string;\n /**\n * REST endpoint to fetch artifact data from. /api/<component-id>/~aspect/builder/<extension-id>/~<pat\n */\n downloadUrl?: string;\n /**\n * Remote storage url to resolve artifact file from\n */\n externalUrl?: string;\n /**\n * Size in bytes\n */\n size: number;\n};\n\ntype ArtifactGQLData = {\n name: string;\n description?: string;\n storage?: string;\n generatedBy: string;\n files: ArtifactGQLFile[];\n};\ntype TaskReport = PipelineReport & {\n artifact?: ArtifactGQLData;\n componentId: ComponentID;\n};\n\nexport function builderSchema(builder: BuilderMain, logger: Logger) {\n return {\n typeDefs: gql`\n type TaskReport {\n # for GQL caching - taskId + taskName\n id: String!\n taskId: String!\n taskName: String!\n description: String\n startTime: String\n endTime: String\n errors: [String!]\n warnings: [String!]\n artifact(path: String): Artifact\n }\n\n type ArtifactFile {\n # for GQL caching - same as the path\n id: String!\n # name of the artifact file\n name: String\n # path of the artifact file\n path: String!\n # artifact file content (only for text files). Use /api/<component-id>/~aspect/builder/<extension-id>/~<path> to fetch binary file data\n content: String\n # REST endpoint to fetch artifact data from. /api/<component-id>/~aspect/builder/<extension-id>/~<path>\n downloadUrl: String\n # Remote storage url to resolve artifact file from\n externalUrl: String\n # size in bytes\n size: Int!\n }\n\n type Artifact {\n # for GQL caching - PipelineId + Artifact Name\n id: String!\n # artifact name\n name: String!\n description: String\n storage: String\n generatedBy: String\n files: [ArtifactFile!]!\n }\n\n extend type Component {\n pipelineReport(taskId: String): [TaskReport!]!\n }\n `,\n\n resolvers: {\n Component: {\n pipelineReport: async (component: Component, { taskId }: { taskId?: string }) => {\n try {\n const builderData = builder.getBuilderData(component);\n const pipeline = builderData?.pipeline || [];\n const artifacts = taskId\n ? builder.getArtifactsByAspect(component, taskId)\n : builder.getArtifacts(component);\n const artifactsWithVinyl = await Promise.all(\n artifacts.map(async (artifact) => {\n const id = artifact.task.aspectId;\n const name = artifact.task.name as string;\n try {\n const artifactFiles = (await builder.getArtifactsVinylByAspectAndTaskName(component, id, name)).map(\n (vinyl) => {\n const { basename, path, contents } = vinyl || {};\n const isBinary = path && isBinaryPath(path);\n const content = !isBinary ? contents?.toString('utf-8') : undefined;\n const size = contents.byteLength;\n const downloadUrl = encodeURI(\n builder.getDownloadUrlForArtifact(component.id, artifact.task.aspectId, path)\n );\n const externalUrl = vinyl.url;\n return { id: path, name: basename, path, content, downloadUrl, externalUrl, size };\n }\n );\n return {\n id: `${id}-${name}-${artifact.name}`,\n name: artifact.name,\n description: artifact.description,\n task: artifact.task,\n storage: artifact.storage,\n generatedBy: artifact.generatedBy,\n files: artifactFiles,\n };\n } catch (e: any) {\n logger.error(e.toString());\n return {\n id: `${id}-${name}-${artifact.name}`,\n name: artifact.name,\n description: artifact.description,\n task: artifact.task,\n storage: artifact.storage,\n generatedBy: artifact.generatedBy,\n files: [],\n };\n }\n })\n );\n\n const result = pipeline\n .filter((task) => !taskId || task.taskId === taskId)\n .map((task) => ({\n ...task,\n id: `filter-${taskId || ''}`,\n artifact: artifactsWithVinyl.find(\n (data) => data.task.aspectId === task.taskId && data.task.name === task.taskName\n ),\n }));\n\n return result;\n } catch (e: any) {\n logger.error(e.toString());\n return [];\n }\n },\n },\n TaskReport: {\n id: (taskReport: TaskReport & { id?: string }) =>\n `${(taskReport.id && `${taskReport.id}-`) || ''}${taskReport.taskId}-${taskReport.taskName}`,\n description: (taskReport: TaskReport) => taskReport.taskDescription,\n errors: (taskReport: TaskReport) => taskReport.errors?.map((e) => e.toString()) || [],\n warnings: (taskReport: TaskReport) => taskReport.warnings || [],\n artifact: async (taskReport: TaskReport, { path: pathFilter }: { path?: string }) => {\n if (!taskReport.artifact) return undefined;\n return {\n id: `${taskReport.taskId}-${taskReport.taskName}-${taskReport.artifact?.name}-${pathFilter || ''}`,\n ...taskReport.artifact,\n files: taskReport.artifact.files.filter((file) => !pathFilter || file.path === pathFilter),\n };\n },\n },\n },\n };\n}\n"],"mappings":"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"}
|
|
@@ -227,12 +227,16 @@ function _builder4() {
|
|
|
227
227
|
return data;
|
|
228
228
|
}
|
|
229
229
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
230
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
230
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } // it gets undefined when importing it from './artifact'
|
|
231
231
|
const FILE_PATH_PARAM_DELIM = '~';
|
|
232
232
|
|
|
233
233
|
/**
|
|
234
234
|
* builder data format for the bit object store
|
|
235
235
|
*/
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* builder data mapped to an ArtifactList instance
|
|
239
|
+
*/
|
|
236
240
|
exports.FILE_PATH_PARAM_DELIM = FILE_PATH_PARAM_DELIM;
|
|
237
241
|
class BuilderMain {
|
|
238
242
|
constructor(envs, workspace, buildService, tagService, snapService, scope, isolator, aspectLoader, componentAspect, globalConfig, buildTaskSlot, tagTaskSlot, snapTaskSlot) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FILE_PATH_PARAM_DELIM","BuilderMain","constructor","envs","workspace","buildService","tagService","snapService","scope","isolator","aspectLoader","componentAspect","globalConfig","buildTaskSlot","tagTaskSlot","snapTaskSlot","storeArtifacts","tasksResults","artifacts","flatMap","t","storeP","map","artifactMap","Promise","all","toArray","component","artifactList","store","err","ArtifactStorageError","pipelineResultsToBuilderData","components","buildPipelineResults","buildPipelineResultList","BuildPipelineResultList","ComponentMap","as","aspectsData","getDataOfComponent","id","pipelineReport","getPipelineReportOfComponent","getArtifactsDataOfComponent","pipeline","bitVersion","getHarmonyVersion","tagListener","options","isolateOptions","builderOptions","pipeResults","allTasksResults","throwOnError","forceDeploy","disableTagAndSnapPipelines","isSnap","populateArtifactsFrom","buildEnvsExecutionResults","build","emptyRootDir","tasks","AspectAspect","undefined","throwErrorsIfExist","push","hasErrors","builderOptionsForTagSnap","seedersOnly","previousTasksResults","deployEnvsExecutionResults","runSnapTasks","runTagTasks","builderDataMap","combineBuildDataFrom","validateBuilderDataMap","forEach","buildData","taskSerializedIds","BuildTaskHelper","serializeId","aspectId","taskId","name","taskName","duplications","findDuplications","length","Error","toString","join","promises","builderData","populateFrom","find","isEqual","ignoreVersion","idStr","populateFromComp","getHost","get","version","populateFromBuilderData","getBuilderData","artifact","artifactObj","toObject","a","task","aspectData","p","flattenValue","getArtifactsVinylByAspect","aspectName","getArtifactsByAspect","vinyls","getVinylsAndImportIfMissing","_legacy","legacyScope","getArtifactsVinylByAspectAndName","getArtifactsByAspectAndName","getArtifactsVinylByAspectAndTaskName","getArtifactsbyAspectAndTaskName","getArtifactsByName","getArtifacts","byAspectNameAndName","byAspectNameAndTaskName","getDataByAspect","data","ArtifactList","fromArray","BuilderAspect","clonedData","cloneDeep","artifactFiles","files","ArtifactFiles","fromObject","Artifact","Object","assign","fromArtifactObject","ids","c","capsulesBaseDir","getComponentsCapsulesBaseDir","baseIsolateOpts","baseDir","useHash","mergedIsolateOpts","network","isolateComponents","createEnvironment","graphCapsules","getAllComponents","builderServiceOptions","originalSeeders","buildResult","runOnce","listTasks","compEnv","getEnv","buildTasks","getCurrentPipeTasks","tagTasks","snapTasks","envId","registerBuildTasks","register","registerDeployTasks","registerTagTasks","registerSnapTasks","getDownloadUrlForArtifact","componentId","path","provider","cli","loggerExt","graphql","generator","ui","config","artifactFactory","ArtifactFactory","logger","createLogger","BuilderService","registerService","builder","BundleUiTask","registerRoute","BuilderRoute","builderSchema","registerComponentTemplate","buildTaskTemplate","commands","BuilderCmd","ArtifactsCmd","Slot","withType","MainRuntime","CLIAspect","EnvsAspect","WorkspaceAspect","ScopeAspect","IsolatorAspect","LoggerAspect","AspectLoaderAspect","GraphqlAspect","GeneratorAspect","ComponentAspect","UIAspect","GlobalConfigAspect","addRuntime"],"sources":["builder.main.runtime.ts"],"sourcesContent":["import { cloneDeep } from 'lodash';\nimport { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';\nimport { ArtifactFiles, ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Component, ComponentMap, IComponent, ComponentAspect, ComponentMain, ComponentID } from '@teambit/component';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport GlobalConfigAspect, { GlobalConfigMain } from '@teambit/global-config';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport AspectAspect from '@teambit/aspect';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { IsolateComponentsOptions, IsolatorAspect, IsolatorMain } from '@teambit/isolator';\nimport { getHarmonyVersion } from '@teambit/legacy/dist/bootstrap';\nimport findDuplications from '@teambit/legacy/dist/utils/array/find-duplications';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { UIAspect, UiMain, BundleUiTask } from '@teambit/ui';\nimport { Artifact, ArtifactList, FsArtifact } from './artifact';\nimport { ArtifactFactory } from './artifact/artifact-factory'; // it gets undefined when importing it from './artifact'\nimport { BuilderAspect } from './builder.aspect';\nimport { builderSchema } from './builder.graphql';\nimport { BuilderService, BuilderServiceOptions } from './builder.service';\nimport { BuilderCmd } from './build.cmd';\nimport { BuildTask, BuildTaskHelper } from './build-task';\nimport { TaskResults } from './build-pipe';\nimport { TaskResultsList } from './task-results-list';\nimport { ArtifactStorageError } from './exceptions';\nimport { BuildPipelineResultList, AspectData, PipelineReport } from './build-pipeline-result-list';\nimport { Serializable } from './types';\nimport { ArtifactsCmd } from './artifact/artifacts.cmd';\nimport { buildTaskTemplate } from './templates/build-task';\nimport { BuilderRoute } from './builder.route';\n\nexport type TaskSlot = SlotRegistry<BuildTask[]>;\nexport type OnTagResults = { builderDataMap: ComponentMap<RawBuilderData>; pipeResults: TaskResultsList[] };\nexport type OnTagOpts = {\n disableTagAndSnapPipelines?: boolean;\n throwOnError?: boolean; // on the CI it helps to save the results on failure so this is set to false\n forceDeploy?: boolean; // whether run the deploy-pipeline although the build-pipeline has failed\n populateArtifactsFrom?: ComponentID[]; // helpful for tagging from scope where we want to use the build-artifacts of previous snap.\n isSnap?: boolean;\n};\nexport const FILE_PATH_PARAM_DELIM = '~';\n\n/**\n * builder data format for the bit object store\n */\nexport type RawBuilderData = {\n pipeline: PipelineReport[];\n artifacts?: ArtifactObject[];\n aspectsData: AspectData[];\n bitVersion?: string;\n};\n/**\n * builder data mapped to an ArtifactList instance\n */\nexport type BuilderData = Omit<RawBuilderData, 'artifacts'> & {\n artifacts: ArtifactList<Artifact>;\n};\n\nexport class BuilderMain {\n constructor(\n private envs: EnvsMain,\n private workspace: Workspace,\n private buildService: BuilderService,\n private tagService: BuilderService,\n private snapService: BuilderService,\n private scope: ScopeMain,\n private isolator: IsolatorMain,\n private aspectLoader: AspectLoaderMain,\n private componentAspect: ComponentMain,\n private globalConfig: GlobalConfigMain,\n private buildTaskSlot: TaskSlot,\n private tagTaskSlot: TaskSlot,\n private snapTaskSlot: TaskSlot\n ) {}\n\n private async storeArtifacts(tasksResults: TaskResults[]) {\n const artifacts = tasksResults.flatMap((t) => (t.artifacts ? [t.artifacts] : []));\n const storeP = artifacts.map(async (artifactMap: ComponentMap<ArtifactList<FsArtifact>>) => {\n return Promise.all(\n artifactMap.toArray().map(async ([component, artifactList]) => {\n try {\n return await artifactList.store(component);\n } catch (err: any) {\n throw new ArtifactStorageError(err, component);\n }\n })\n );\n });\n await Promise.all(storeP);\n }\n\n private pipelineResultsToBuilderData(\n components: Component[],\n buildPipelineResults: TaskResults[]\n ): ComponentMap<RawBuilderData> {\n const buildPipelineResultList = new BuildPipelineResultList(buildPipelineResults, components);\n return ComponentMap.as<RawBuilderData>(components, (component) => {\n const aspectsData = buildPipelineResultList.getDataOfComponent(component.id);\n const pipelineReport = buildPipelineResultList.getPipelineReportOfComponent(component.id);\n const artifacts = buildPipelineResultList.getArtifactsDataOfComponent(component.id);\n return { pipeline: pipelineReport, artifacts, aspectsData, bitVersion: getHarmonyVersion(true) };\n });\n }\n\n async tagListener(\n components: Component[],\n options: OnTagOpts = {},\n isolateOptions: IsolateComponentsOptions = {},\n builderOptions: BuilderServiceOptions = {}\n ): Promise<OnTagResults> {\n const pipeResults: TaskResultsList[] = [];\n const allTasksResults: TaskResults[] = [];\n const { throwOnError, forceDeploy, disableTagAndSnapPipelines, isSnap, populateArtifactsFrom } = options;\n if (populateArtifactsFrom) isolateOptions.populateArtifactsFrom = populateArtifactsFrom;\n const buildEnvsExecutionResults = await this.build(\n components,\n { emptyRootDir: true, ...isolateOptions },\n {\n ...builderOptions,\n // even when build is skipped (in case of tag-from-scope), the pre-build/post-build and teambit.harmony/aspect tasks are needed\n tasks: populateArtifactsFrom ? [AspectAspect.id] : undefined,\n }\n );\n if (throwOnError && !forceDeploy) buildEnvsExecutionResults.throwErrorsIfExist();\n allTasksResults.push(...buildEnvsExecutionResults.tasksResults);\n pipeResults.push(buildEnvsExecutionResults);\n\n if (forceDeploy || (!disableTagAndSnapPipelines && !buildEnvsExecutionResults?.hasErrors())) {\n const builderOptionsForTagSnap: BuilderServiceOptions = {\n ...builderOptions,\n seedersOnly: isolateOptions.seedersOnly,\n previousTasksResults: buildEnvsExecutionResults?.tasksResults,\n };\n const deployEnvsExecutionResults = isSnap\n ? await this.runSnapTasks(components, builderOptionsForTagSnap)\n : await this.runTagTasks(components, builderOptionsForTagSnap);\n if (throwOnError && !forceDeploy) deployEnvsExecutionResults.throwErrorsIfExist();\n allTasksResults.push(...deployEnvsExecutionResults.tasksResults);\n pipeResults.push(deployEnvsExecutionResults);\n }\n await this.storeArtifacts(allTasksResults);\n const builderDataMap = this.pipelineResultsToBuilderData(components, allTasksResults);\n if (populateArtifactsFrom) await this.combineBuildDataFrom(builderDataMap, populateArtifactsFrom);\n this.validateBuilderDataMap(builderDataMap);\n\n return { builderDataMap, pipeResults };\n }\n\n private validateBuilderDataMap(builderDataMap: ComponentMap<RawBuilderData>) {\n builderDataMap.forEach((buildData: RawBuilderData, component) => {\n const taskSerializedIds = buildData.pipeline.map((t) =>\n BuildTaskHelper.serializeId({ aspectId: t.taskId, name: t.taskName })\n );\n const duplications = findDuplications(taskSerializedIds);\n if (duplications.length) {\n throw new Error(\n `build-task-results validation has failed. the following task(s) of \"${component.id.toString()}\" are duplicated: ${duplications.join(\n ', '\n )}`\n );\n }\n });\n }\n\n private async combineBuildDataFrom(\n builderDataMap: ComponentMap<RawBuilderData>,\n populateArtifactsFrom: ComponentID[]\n ) {\n const promises = builderDataMap.map(async (builderData, component) => {\n const populateFrom = populateArtifactsFrom.find((id) => id.isEqual(component.id, { ignoreVersion: true }));\n const idStr = component.id.toString();\n if (!populateFrom) {\n throw new Error(`combineBuildDataFromParent: unable to find where to populate the artifacts from for ${idStr}`);\n }\n const populateFromComp = await this.componentAspect.getHost().get(populateFrom);\n if (!populateFromComp)\n throw new Error(\n `combineBuildDataFromParent, unable to load parent component of ${idStr}. hash: ${populateFrom.version}`\n );\n const populateFromBuilderData = this.getBuilderData(populateFromComp);\n if (!populateFromBuilderData) throw new Error(`parent of ${idStr} was not built yet. unable to continue`);\n populateFromBuilderData.artifacts.forEach((artifact) => {\n const artifactObj = artifact.toObject();\n if (!builderData.artifacts) builderData.artifacts = [];\n if (\n builderData.artifacts.find((a) => a.task.id === artifactObj.task.id && a.task.name === artifactObj.task.name)\n ) {\n return;\n }\n builderData.artifacts.push(artifactObj);\n });\n populateFromBuilderData.aspectsData.forEach((aspectData) => {\n if (builderData.aspectsData.find((a) => a.aspectId === aspectData.aspectId)) return;\n builderData.aspectsData.push(aspectData);\n });\n populateFromBuilderData.pipeline.forEach((pipeline) => {\n if (builderData.pipeline.find((p) => p.taskId === pipeline.taskId && p.taskName === pipeline.taskName)) return;\n builderData.pipeline.push(pipeline);\n });\n });\n\n await Promise.all(promises.flattenValue());\n }\n\n // TODO: merge with getArtifactsVinylByExtensionAndName by getting aspect name and name as object with optional props\n async getArtifactsVinylByAspect(component: Component, aspectName: string): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsByAspect(component, aspectName);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n return vinyls;\n }\n\n async getArtifactsVinylByAspectAndName(\n component: Component,\n aspectName: string,\n name: string\n ): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsByAspectAndName(component, aspectName, name);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n return vinyls;\n }\n\n async getArtifactsVinylByAspectAndTaskName(\n component: Component,\n aspectName: string,\n name: string\n ): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsbyAspectAndTaskName(component, aspectName, name);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n return vinyls;\n }\n\n getArtifactsByName(component: Component, name: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(undefined, name);\n return artifacts;\n }\n\n getArtifactsByAspect(component: Component, aspectName: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(aspectName);\n return artifacts;\n }\n\n getArtifactsByAspectAndName(component: Component, aspectName: string, name: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(aspectName, name);\n return artifacts;\n }\n\n getArtifactsbyAspectAndTaskName(component: IComponent, aspectName: string, taskName: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndTaskName(aspectName, taskName);\n return artifacts;\n }\n\n getDataByAspect(component: IComponent, aspectName: string): Serializable | undefined {\n const aspectsData = this.getBuilderData(component)?.aspectsData;\n const data = aspectsData?.find((aspectData) => aspectData.aspectId === aspectName);\n return data?.data;\n }\n\n getArtifacts(component: IComponent): ArtifactList<Artifact> {\n const artifacts = this.getBuilderData(component)?.artifacts || ArtifactList.fromArray([]);\n return artifacts;\n }\n\n getBuilderData(component: IComponent): BuilderData | undefined {\n const data = component.get(BuilderAspect.id)?.data;\n if (!data) return undefined;\n const clonedData = cloneDeep(data) as BuilderData;\n let artifactFiles: ArtifactFiles;\n const artifacts = clonedData.artifacts?.map((artifact) => {\n if (!(artifact.files instanceof ArtifactFiles)) {\n artifactFiles = ArtifactFiles.fromObject(artifact.files);\n } else {\n artifactFiles = artifact.files;\n }\n if (artifact instanceof Artifact) {\n return artifact;\n }\n Object.assign(artifact, { files: artifactFiles });\n return Artifact.fromArtifactObject(artifact);\n });\n clonedData.artifacts = ArtifactList.fromArray(artifacts || []);\n return clonedData;\n }\n\n async build(\n components: Component[],\n isolateOptions?: IsolateComponentsOptions,\n builderOptions?: BuilderServiceOptions\n ): Promise<TaskResultsList> {\n const ids = components.map((c) => c.id);\n const capsulesBaseDir = this.buildService.getComponentsCapsulesBaseDir();\n const baseIsolateOpts = {\n baseDir: capsulesBaseDir,\n useHash: !capsulesBaseDir,\n };\n const mergedIsolateOpts = {\n ...baseIsolateOpts,\n ...isolateOptions,\n };\n\n const network = await this.isolator.isolateComponents(ids, mergedIsolateOpts, this.scope.legacyScope);\n const envs = await this.envs.createEnvironment(network.graphCapsules.getAllComponents());\n const builderServiceOptions = {\n seedersOnly: isolateOptions?.seedersOnly,\n originalSeeders: ids,\n capsulesBaseDir,\n ...(builderOptions || {}),\n };\n const buildResult = await envs.runOnce(this.buildService, builderServiceOptions);\n return buildResult;\n }\n\n async runTagTasks(components: Component[], builderOptions: BuilderServiceOptions): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.tagService, builderOptions);\n\n return buildResult;\n }\n\n async runSnapTasks(components: Component[], builderOptions: BuilderServiceOptions): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.snapService, builderOptions);\n\n return buildResult;\n }\n\n listTasks(component: Component) {\n const compEnv = this.envs.getEnv(component);\n const buildTasks = this.buildService.getCurrentPipeTasks(compEnv);\n const tagTasks = this.tagService.getCurrentPipeTasks(compEnv);\n const snapTasks = this.snapService.getCurrentPipeTasks(compEnv);\n return { id: component.id, envId: compEnv.id, buildTasks, tagTasks, snapTasks };\n }\n\n /**\n * register a build task to apply on all component build pipelines.\n * build happens on `bit build` and as part of `bit tag --persist`.\n */\n registerBuildTasks(tasks: BuildTask[]) {\n this.buildTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * @deprecated use registerTagTasks or registerSnapTasks\n */\n registerDeployTasks(tasks: BuildTask[]) {\n this.tagTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * tag tasks that don't get executed on `bit build`, only on `bit tag'.\n * this pipeline is running once the build-pipeline has completed.\n */\n registerTagTasks(tasks: BuildTask[]) {\n this.tagTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * tag tasks that don't get executed on `bit build`, only on `bit snap'.\n * this pipeline is running once the build-pipeline has completed.\n */\n registerSnapTasks(tasks: BuildTask[]) {\n this.snapTaskSlot.register(tasks);\n return this;\n }\n\n getDownloadUrlForArtifact(componentId: ComponentID, taskId: string, path?: string) {\n return `/api/${componentId}/~aspect/builder/${taskId}/${path ? `${FILE_PATH_PARAM_DELIM}${path}` : ''}`;\n }\n\n static slots = [Slot.withType<BuildTask>(), Slot.withType<BuildTask>(), Slot.withType<BuildTask>()];\n\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n EnvsAspect,\n WorkspaceAspect,\n ScopeAspect,\n IsolatorAspect,\n LoggerAspect,\n AspectLoaderAspect,\n GraphqlAspect,\n GeneratorAspect,\n ComponentAspect,\n UIAspect,\n GlobalConfigAspect,\n ];\n\n static async provider(\n [cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql, generator, component, ui, globalConfig]: [\n CLIMain,\n EnvsMain,\n Workspace,\n ScopeMain,\n IsolatorMain,\n LoggerMain,\n AspectLoaderMain,\n GraphqlMain,\n GeneratorMain,\n ComponentMain,\n UiMain,\n GlobalConfigMain\n ],\n config,\n [buildTaskSlot, tagTaskSlot, snapTaskSlot]: [TaskSlot, TaskSlot, TaskSlot]\n ) {\n const artifactFactory = new ArtifactFactory();\n const logger = loggerExt.createLogger(BuilderAspect.id);\n const buildService = new BuilderService(\n isolator,\n logger,\n buildTaskSlot,\n 'getBuildPipe',\n 'build',\n artifactFactory,\n scope,\n globalConfig\n );\n envs.registerService(buildService);\n const tagService = new BuilderService(\n isolator,\n logger,\n tagTaskSlot,\n 'getTagPipe',\n 'tag',\n artifactFactory,\n scope,\n globalConfig\n );\n const snapService = new BuilderService(\n isolator,\n logger,\n snapTaskSlot,\n 'getSnapPipe',\n 'snap',\n artifactFactory,\n scope,\n globalConfig\n );\n const builder = new BuilderMain(\n envs,\n workspace,\n buildService,\n tagService,\n snapService,\n scope,\n isolator,\n aspectLoader,\n component,\n globalConfig,\n buildTaskSlot,\n tagTaskSlot,\n snapTaskSlot\n );\n builder.registerBuildTasks([new BundleUiTask(ui, logger)]);\n component.registerRoute([new BuilderRoute(builder, scope, logger)]);\n graphql.register(builderSchema(builder, logger));\n if (generator) generator.registerComponentTemplate([buildTaskTemplate]);\n const commands = [new BuilderCmd(builder, workspace, logger), new ArtifactsCmd(builder, component)];\n cli.register(...commands);\n\n return builder;\n }\n}\n\nBuilderAspect.addRuntime(BuilderMain);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_lodash","data","require","_artifactFiles","_aspectLoader","_cli","_component","_envs","_graphql","_harmony","_globalConfig","_interopRequireDefault","_logger","_aspect","_scope","_workspace","_isolator","_bootstrap","_findDuplications","_generator","_ui","_artifact","_artifactFactory","_builder","_builder2","_builder3","_build","_buildTask","_exceptions","_buildPipelineResultList","_artifacts","_buildTask2","_builder4","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","FILE_PATH_PARAM_DELIM","exports","BuilderMain","constructor","envs","workspace","buildService","tagService","snapService","scope","isolator","aspectLoader","componentAspect","globalConfig","buildTaskSlot","tagTaskSlot","snapTaskSlot","storeArtifacts","tasksResults","artifacts","flatMap","t","storeP","map","artifactMap","Promise","all","toArray","component","artifactList","store","err","ArtifactStorageError","pipelineResultsToBuilderData","components","buildPipelineResults","buildPipelineResultList","BuildPipelineResultList","ComponentMap","as","aspectsData","getDataOfComponent","id","pipelineReport","getPipelineReportOfComponent","getArtifactsDataOfComponent","pipeline","bitVersion","getHarmonyVersion","tagListener","options","isolateOptions","builderOptions","pipeResults","allTasksResults","throwOnError","forceDeploy","disableTagAndSnapPipelines","isSnap","populateArtifactsFrom","buildEnvsExecutionResults","build","emptyRootDir","tasks","AspectAspect","undefined","throwErrorsIfExist","hasErrors","builderOptionsForTagSnap","seedersOnly","previousTasksResults","deployEnvsExecutionResults","runSnapTasks","runTagTasks","builderDataMap","combineBuildDataFrom","validateBuilderDataMap","buildData","taskSerializedIds","BuildTaskHelper","serializeId","aspectId","taskId","name","taskName","duplications","findDuplications","Error","toString","join","promises","builderData","populateFrom","find","isEqual","ignoreVersion","idStr","populateFromComp","getHost","get","version","populateFromBuilderData","getBuilderData","artifact","artifactObj","toObject","a","task","aspectData","p","flattenValue","getArtifactsVinylByAspect","aspectName","getArtifactsByAspect","vinyls","getVinylsAndImportIfMissing","_legacy","legacyScope","getArtifactsVinylByAspectAndName","getArtifactsByAspectAndName","getArtifactsVinylByAspectAndTaskName","getArtifactsbyAspectAndTaskName","getArtifactsByName","getArtifacts","byAspectNameAndName","byAspectNameAndTaskName","getDataByAspect","_this$getBuilderData","_this$getBuilderData2","ArtifactList","fromArray","_component$get","_clonedData$artifacts","BuilderAspect","clonedData","cloneDeep","artifactFiles","files","ArtifactFiles","fromObject","Artifact","assign","fromArtifactObject","ids","c","capsulesBaseDir","getComponentsCapsulesBaseDir","baseIsolateOpts","baseDir","useHash","mergedIsolateOpts","network","isolateComponents","createEnvironment","graphCapsules","getAllComponents","builderServiceOptions","originalSeeders","buildResult","runOnce","listTasks","compEnv","getEnv","buildTasks","getCurrentPipeTasks","tagTasks","snapTasks","envId","registerBuildTasks","register","registerDeployTasks","registerTagTasks","registerSnapTasks","getDownloadUrlForArtifact","componentId","path","provider","cli","loggerExt","graphql","generator","ui","config","artifactFactory","ArtifactFactory","logger","createLogger","BuilderService","registerService","builder","BundleUiTask","registerRoute","BuilderRoute","builderSchema","registerComponentTemplate","buildTaskTemplate","commands","BuilderCmd","ArtifactsCmd","Slot","withType","MainRuntime","CLIAspect","EnvsAspect","WorkspaceAspect","ScopeAspect","IsolatorAspect","LoggerAspect","AspectLoaderAspect","GraphqlAspect","GeneratorAspect","ComponentAspect","UIAspect","GlobalConfigAspect","addRuntime"],"sources":["builder.main.runtime.ts"],"sourcesContent":["import { cloneDeep } from 'lodash';\nimport { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';\nimport { ArtifactFiles, ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Component, ComponentMap, IComponent, ComponentAspect, ComponentMain, ComponentID } from '@teambit/component';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport GlobalConfigAspect, { GlobalConfigMain } from '@teambit/global-config';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport AspectAspect from '@teambit/aspect';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { IsolateComponentsOptions, IsolatorAspect, IsolatorMain } from '@teambit/isolator';\nimport { getHarmonyVersion } from '@teambit/legacy/dist/bootstrap';\nimport findDuplications from '@teambit/legacy/dist/utils/array/find-duplications';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { UIAspect, UiMain, BundleUiTask } from '@teambit/ui';\nimport { Artifact, ArtifactList, FsArtifact } from './artifact';\nimport { ArtifactFactory } from './artifact/artifact-factory'; // it gets undefined when importing it from './artifact'\nimport { BuilderAspect } from './builder.aspect';\nimport { builderSchema } from './builder.graphql';\nimport { BuilderService, BuilderServiceOptions } from './builder.service';\nimport { BuilderCmd } from './build.cmd';\nimport { BuildTask, BuildTaskHelper } from './build-task';\nimport { TaskResults } from './build-pipe';\nimport { TaskResultsList } from './task-results-list';\nimport { ArtifactStorageError } from './exceptions';\nimport { BuildPipelineResultList, AspectData, PipelineReport } from './build-pipeline-result-list';\nimport { Serializable } from './types';\nimport { ArtifactsCmd } from './artifact/artifacts.cmd';\nimport { buildTaskTemplate } from './templates/build-task';\nimport { BuilderRoute } from './builder.route';\n\nexport type TaskSlot = SlotRegistry<BuildTask[]>;\nexport type OnTagResults = { builderDataMap: ComponentMap<RawBuilderData>; pipeResults: TaskResultsList[] };\nexport type OnTagOpts = {\n disableTagAndSnapPipelines?: boolean;\n throwOnError?: boolean; // on the CI it helps to save the results on failure so this is set to false\n forceDeploy?: boolean; // whether run the deploy-pipeline although the build-pipeline has failed\n populateArtifactsFrom?: ComponentID[]; // helpful for tagging from scope where we want to use the build-artifacts of previous snap.\n isSnap?: boolean;\n};\nexport const FILE_PATH_PARAM_DELIM = '~';\n\n/**\n * builder data format for the bit object store\n */\nexport type RawBuilderData = {\n pipeline: PipelineReport[];\n artifacts?: ArtifactObject[];\n aspectsData: AspectData[];\n bitVersion?: string;\n};\n/**\n * builder data mapped to an ArtifactList instance\n */\nexport type BuilderData = Omit<RawBuilderData, 'artifacts'> & {\n artifacts: ArtifactList<Artifact>;\n};\n\nexport class BuilderMain {\n constructor(\n private envs: EnvsMain,\n private workspace: Workspace,\n private buildService: BuilderService,\n private tagService: BuilderService,\n private snapService: BuilderService,\n private scope: ScopeMain,\n private isolator: IsolatorMain,\n private aspectLoader: AspectLoaderMain,\n private componentAspect: ComponentMain,\n private globalConfig: GlobalConfigMain,\n private buildTaskSlot: TaskSlot,\n private tagTaskSlot: TaskSlot,\n private snapTaskSlot: TaskSlot\n ) {}\n\n private async storeArtifacts(tasksResults: TaskResults[]) {\n const artifacts = tasksResults.flatMap((t) => (t.artifacts ? [t.artifacts] : []));\n const storeP = artifacts.map(async (artifactMap: ComponentMap<ArtifactList<FsArtifact>>) => {\n return Promise.all(\n artifactMap.toArray().map(async ([component, artifactList]) => {\n try {\n return await artifactList.store(component);\n } catch (err: any) {\n throw new ArtifactStorageError(err, component);\n }\n })\n );\n });\n await Promise.all(storeP);\n }\n\n private pipelineResultsToBuilderData(\n components: Component[],\n buildPipelineResults: TaskResults[]\n ): ComponentMap<RawBuilderData> {\n const buildPipelineResultList = new BuildPipelineResultList(buildPipelineResults, components);\n return ComponentMap.as<RawBuilderData>(components, (component) => {\n const aspectsData = buildPipelineResultList.getDataOfComponent(component.id);\n const pipelineReport = buildPipelineResultList.getPipelineReportOfComponent(component.id);\n const artifacts = buildPipelineResultList.getArtifactsDataOfComponent(component.id);\n return { pipeline: pipelineReport, artifacts, aspectsData, bitVersion: getHarmonyVersion(true) };\n });\n }\n\n async tagListener(\n components: Component[],\n options: OnTagOpts = {},\n isolateOptions: IsolateComponentsOptions = {},\n builderOptions: BuilderServiceOptions = {}\n ): Promise<OnTagResults> {\n const pipeResults: TaskResultsList[] = [];\n const allTasksResults: TaskResults[] = [];\n const { throwOnError, forceDeploy, disableTagAndSnapPipelines, isSnap, populateArtifactsFrom } = options;\n if (populateArtifactsFrom) isolateOptions.populateArtifactsFrom = populateArtifactsFrom;\n const buildEnvsExecutionResults = await this.build(\n components,\n { emptyRootDir: true, ...isolateOptions },\n {\n ...builderOptions,\n // even when build is skipped (in case of tag-from-scope), the pre-build/post-build and teambit.harmony/aspect tasks are needed\n tasks: populateArtifactsFrom ? [AspectAspect.id] : undefined,\n }\n );\n if (throwOnError && !forceDeploy) buildEnvsExecutionResults.throwErrorsIfExist();\n allTasksResults.push(...buildEnvsExecutionResults.tasksResults);\n pipeResults.push(buildEnvsExecutionResults);\n\n if (forceDeploy || (!disableTagAndSnapPipelines && !buildEnvsExecutionResults?.hasErrors())) {\n const builderOptionsForTagSnap: BuilderServiceOptions = {\n ...builderOptions,\n seedersOnly: isolateOptions.seedersOnly,\n previousTasksResults: buildEnvsExecutionResults?.tasksResults,\n };\n const deployEnvsExecutionResults = isSnap\n ? await this.runSnapTasks(components, builderOptionsForTagSnap)\n : await this.runTagTasks(components, builderOptionsForTagSnap);\n if (throwOnError && !forceDeploy) deployEnvsExecutionResults.throwErrorsIfExist();\n allTasksResults.push(...deployEnvsExecutionResults.tasksResults);\n pipeResults.push(deployEnvsExecutionResults);\n }\n await this.storeArtifacts(allTasksResults);\n const builderDataMap = this.pipelineResultsToBuilderData(components, allTasksResults);\n if (populateArtifactsFrom) await this.combineBuildDataFrom(builderDataMap, populateArtifactsFrom);\n this.validateBuilderDataMap(builderDataMap);\n\n return { builderDataMap, pipeResults };\n }\n\n private validateBuilderDataMap(builderDataMap: ComponentMap<RawBuilderData>) {\n builderDataMap.forEach((buildData: RawBuilderData, component) => {\n const taskSerializedIds = buildData.pipeline.map((t) =>\n BuildTaskHelper.serializeId({ aspectId: t.taskId, name: t.taskName })\n );\n const duplications = findDuplications(taskSerializedIds);\n if (duplications.length) {\n throw new Error(\n `build-task-results validation has failed. the following task(s) of \"${component.id.toString()}\" are duplicated: ${duplications.join(\n ', '\n )}`\n );\n }\n });\n }\n\n private async combineBuildDataFrom(\n builderDataMap: ComponentMap<RawBuilderData>,\n populateArtifactsFrom: ComponentID[]\n ) {\n const promises = builderDataMap.map(async (builderData, component) => {\n const populateFrom = populateArtifactsFrom.find((id) => id.isEqual(component.id, { ignoreVersion: true }));\n const idStr = component.id.toString();\n if (!populateFrom) {\n throw new Error(`combineBuildDataFromParent: unable to find where to populate the artifacts from for ${idStr}`);\n }\n const populateFromComp = await this.componentAspect.getHost().get(populateFrom);\n if (!populateFromComp)\n throw new Error(\n `combineBuildDataFromParent, unable to load parent component of ${idStr}. hash: ${populateFrom.version}`\n );\n const populateFromBuilderData = this.getBuilderData(populateFromComp);\n if (!populateFromBuilderData) throw new Error(`parent of ${idStr} was not built yet. unable to continue`);\n populateFromBuilderData.artifacts.forEach((artifact) => {\n const artifactObj = artifact.toObject();\n if (!builderData.artifacts) builderData.artifacts = [];\n if (\n builderData.artifacts.find((a) => a.task.id === artifactObj.task.id && a.task.name === artifactObj.task.name)\n ) {\n return;\n }\n builderData.artifacts.push(artifactObj);\n });\n populateFromBuilderData.aspectsData.forEach((aspectData) => {\n if (builderData.aspectsData.find((a) => a.aspectId === aspectData.aspectId)) return;\n builderData.aspectsData.push(aspectData);\n });\n populateFromBuilderData.pipeline.forEach((pipeline) => {\n if (builderData.pipeline.find((p) => p.taskId === pipeline.taskId && p.taskName === pipeline.taskName)) return;\n builderData.pipeline.push(pipeline);\n });\n });\n\n await Promise.all(promises.flattenValue());\n }\n\n // TODO: merge with getArtifactsVinylByExtensionAndName by getting aspect name and name as object with optional props\n async getArtifactsVinylByAspect(component: Component, aspectName: string): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsByAspect(component, aspectName);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n return vinyls;\n }\n\n async getArtifactsVinylByAspectAndName(\n component: Component,\n aspectName: string,\n name: string\n ): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsByAspectAndName(component, aspectName, name);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n return vinyls;\n }\n\n async getArtifactsVinylByAspectAndTaskName(\n component: Component,\n aspectName: string,\n name: string\n ): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsbyAspectAndTaskName(component, aspectName, name);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n return vinyls;\n }\n\n getArtifactsByName(component: Component, name: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(undefined, name);\n return artifacts;\n }\n\n getArtifactsByAspect(component: Component, aspectName: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(aspectName);\n return artifacts;\n }\n\n getArtifactsByAspectAndName(component: Component, aspectName: string, name: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(aspectName, name);\n return artifacts;\n }\n\n getArtifactsbyAspectAndTaskName(component: IComponent, aspectName: string, taskName: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndTaskName(aspectName, taskName);\n return artifacts;\n }\n\n getDataByAspect(component: IComponent, aspectName: string): Serializable | undefined {\n const aspectsData = this.getBuilderData(component)?.aspectsData;\n const data = aspectsData?.find((aspectData) => aspectData.aspectId === aspectName);\n return data?.data;\n }\n\n getArtifacts(component: IComponent): ArtifactList<Artifact> {\n const artifacts = this.getBuilderData(component)?.artifacts || ArtifactList.fromArray([]);\n return artifacts;\n }\n\n getBuilderData(component: IComponent): BuilderData | undefined {\n const data = component.get(BuilderAspect.id)?.data;\n if (!data) return undefined;\n const clonedData = cloneDeep(data) as BuilderData;\n let artifactFiles: ArtifactFiles;\n const artifacts = clonedData.artifacts?.map((artifact) => {\n if (!(artifact.files instanceof ArtifactFiles)) {\n artifactFiles = ArtifactFiles.fromObject(artifact.files);\n } else {\n artifactFiles = artifact.files;\n }\n if (artifact instanceof Artifact) {\n return artifact;\n }\n Object.assign(artifact, { files: artifactFiles });\n return Artifact.fromArtifactObject(artifact);\n });\n clonedData.artifacts = ArtifactList.fromArray(artifacts || []);\n return clonedData;\n }\n\n async build(\n components: Component[],\n isolateOptions?: IsolateComponentsOptions,\n builderOptions?: BuilderServiceOptions\n ): Promise<TaskResultsList> {\n const ids = components.map((c) => c.id);\n const capsulesBaseDir = this.buildService.getComponentsCapsulesBaseDir();\n const baseIsolateOpts = {\n baseDir: capsulesBaseDir,\n useHash: !capsulesBaseDir,\n };\n const mergedIsolateOpts = {\n ...baseIsolateOpts,\n ...isolateOptions,\n };\n\n const network = await this.isolator.isolateComponents(ids, mergedIsolateOpts, this.scope.legacyScope);\n const envs = await this.envs.createEnvironment(network.graphCapsules.getAllComponents());\n const builderServiceOptions = {\n seedersOnly: isolateOptions?.seedersOnly,\n originalSeeders: ids,\n capsulesBaseDir,\n ...(builderOptions || {}),\n };\n const buildResult = await envs.runOnce(this.buildService, builderServiceOptions);\n return buildResult;\n }\n\n async runTagTasks(components: Component[], builderOptions: BuilderServiceOptions): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.tagService, builderOptions);\n\n return buildResult;\n }\n\n async runSnapTasks(components: Component[], builderOptions: BuilderServiceOptions): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.snapService, builderOptions);\n\n return buildResult;\n }\n\n listTasks(component: Component) {\n const compEnv = this.envs.getEnv(component);\n const buildTasks = this.buildService.getCurrentPipeTasks(compEnv);\n const tagTasks = this.tagService.getCurrentPipeTasks(compEnv);\n const snapTasks = this.snapService.getCurrentPipeTasks(compEnv);\n return { id: component.id, envId: compEnv.id, buildTasks, tagTasks, snapTasks };\n }\n\n /**\n * register a build task to apply on all component build pipelines.\n * build happens on `bit build` and as part of `bit tag --persist`.\n */\n registerBuildTasks(tasks: BuildTask[]) {\n this.buildTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * @deprecated use registerTagTasks or registerSnapTasks\n */\n registerDeployTasks(tasks: BuildTask[]) {\n this.tagTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * tag tasks that don't get executed on `bit build`, only on `bit tag'.\n * this pipeline is running once the build-pipeline has completed.\n */\n registerTagTasks(tasks: BuildTask[]) {\n this.tagTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * tag tasks that don't get executed on `bit build`, only on `bit snap'.\n * this pipeline is running once the build-pipeline has completed.\n */\n registerSnapTasks(tasks: BuildTask[]) {\n this.snapTaskSlot.register(tasks);\n return this;\n }\n\n getDownloadUrlForArtifact(componentId: ComponentID, taskId: string, path?: string) {\n return `/api/${componentId}/~aspect/builder/${taskId}/${path ? `${FILE_PATH_PARAM_DELIM}${path}` : ''}`;\n }\n\n static slots = [Slot.withType<BuildTask>(), Slot.withType<BuildTask>(), Slot.withType<BuildTask>()];\n\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n EnvsAspect,\n WorkspaceAspect,\n ScopeAspect,\n IsolatorAspect,\n LoggerAspect,\n AspectLoaderAspect,\n GraphqlAspect,\n GeneratorAspect,\n ComponentAspect,\n UIAspect,\n GlobalConfigAspect,\n ];\n\n static async provider(\n [cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql, generator, component, ui, globalConfig]: [\n CLIMain,\n EnvsMain,\n Workspace,\n ScopeMain,\n IsolatorMain,\n LoggerMain,\n AspectLoaderMain,\n GraphqlMain,\n GeneratorMain,\n ComponentMain,\n UiMain,\n GlobalConfigMain\n ],\n config,\n [buildTaskSlot, tagTaskSlot, snapTaskSlot]: [TaskSlot, TaskSlot, TaskSlot]\n ) {\n const artifactFactory = new ArtifactFactory();\n const logger = loggerExt.createLogger(BuilderAspect.id);\n const buildService = new BuilderService(\n isolator,\n logger,\n buildTaskSlot,\n 'getBuildPipe',\n 'build',\n artifactFactory,\n scope,\n globalConfig\n );\n envs.registerService(buildService);\n const tagService = new BuilderService(\n isolator,\n logger,\n tagTaskSlot,\n 'getTagPipe',\n 'tag',\n artifactFactory,\n scope,\n globalConfig\n );\n const snapService = new BuilderService(\n isolator,\n logger,\n snapTaskSlot,\n 'getSnapPipe',\n 'snap',\n artifactFactory,\n scope,\n globalConfig\n );\n const builder = new BuilderMain(\n envs,\n workspace,\n buildService,\n tagService,\n snapService,\n scope,\n isolator,\n aspectLoader,\n component,\n globalConfig,\n buildTaskSlot,\n tagTaskSlot,\n snapTaskSlot\n );\n builder.registerBuildTasks([new BundleUiTask(ui, logger)]);\n component.registerRoute([new BuilderRoute(builder, scope, logger)]);\n graphql.register(builderSchema(builder, logger));\n if (generator) generator.registerComponentTemplate([buildTaskTemplate]);\n const commands = [new BuilderCmd(builder, workspace, logger), new ArtifactsCmd(builder, component)];\n cli.register(...commands);\n\n return builder;\n }\n}\n\nBuilderAspect.addRuntime(BuilderMain);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["routePath","defaultExtension","BuilderRoute","constructor","builder","scope","logger","req","res","component","params","aspectIdStr","filePath","split","aspectId","replace","artifacts","getArtifactsByAspect","getArtifacts","status","jsonp","error","id","extensionsWithArtifacts","Promise","all","map","artifact","files","getVinylsAndImportIfMissing","_legacy","legacyScope","extensionId","task","filter","file","path","artifactFilesCount","reduce","accum","next","length","extensionWithArtifact","find","e","fileName","fileContent","contents","fileExt","extname","contentType","mime","getType","set","send","archive","archiver","gzip","on","warn","message","err","forEach","extensionWithArtifacts","append","name","pipe","finalize","attachment","toString"],"sources":["builder.route.ts"],"sourcesContent":["import { Request, Response, Route } from '@teambit/express';\nimport { Component } from '@teambit/component';\nimport archiver from 'archiver';\nimport { Logger } from '@teambit/logger';\nimport { ScopeMain } from '@teambit/scope';\nimport mime from 'mime';\nimport { BuilderMain } from './builder.main.runtime';\n\nexport const routePath = `builder`;\n\nexport type BuilderUrlParams = {\n aspectId?: string;\n filePath?: string;\n};\nexport const defaultExtension = '.tgz';\nexport class BuilderRoute implements Route {\n constructor(private builder: BuilderMain, private scope: ScopeMain, private logger: Logger) {}\n route = `/${routePath}/*`;\n method = 'get';\n\n middlewares = [\n async (req: Request<BuilderUrlParams>, res: Response) => {\n // @ts-ignore TODO: @guy please fix.\n const component = req.component as Component;\n const { params } = req;\n const [aspectIdStr, filePath] = params[1].split('~');\n // remove trailing slash\n const aspectId = aspectIdStr.replace(/\\/$/, '');\n const artifacts = aspectId\n ? this.builder.getArtifactsByAspect(component, aspectId)\n : this.builder.getArtifacts(component);\n if (!artifacts)\n return res\n .status(404)\n .jsonp({ error: `no artifacts found for component ${component.id} by aspect ${aspectId}` });\n const extensionsWithArtifacts = await Promise.all(\n artifacts.map(async (artifact) => {\n const files = await artifact.files.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n if (!filePath) return { extensionId: artifact.task.aspectId, files };\n return { extensionId: artifact.task.aspectId, files: files.filter((file) => file.path === filePath) };\n })\n );\n\n const artifactFilesCount = extensionsWithArtifacts.reduce((accum, next) => accum + next.files.length, 0);\n\n if (artifactFilesCount === 0)\n return res\n .status(404)\n .jsonp({ error: `no artifacts found for component ${component.id} by aspect ${aspectId}` });\n\n if (artifactFilesCount === 1) {\n const extensionWithArtifact = extensionsWithArtifacts.find((e) => e.files.length > 0);\n const fileName = `${extensionWithArtifact?.extensionId}_${extensionWithArtifact?.files[0].path}`;\n const fileContent = extensionWithArtifact?.files[0].contents;\n const fileExt = extensionWithArtifact?.files[0].extname || defaultExtension;\n const contentType = mime.getType(fileExt);\n res.set('Content-disposition', `attachment; filename=${fileName}`);\n if (contentType) res.set('Content-Type', contentType);\n return res.send(fileContent);\n }\n\n /**\n * if more than 1 file requested, zip them before sending\n */\n const archive = archiver('tar', { gzip: true });\n\n archive.on('warning', (warn) => {\n this.logger.warn(warn.message);\n });\n\n archive.on('error', (err) => {\n this.logger.error(err.message);\n });\n\n extensionsWithArtifacts.forEach((extensionWithArtifacts) => {\n extensionWithArtifacts.files.forEach((artifact) => {\n archive.append(artifact.contents, { name: `${extensionWithArtifacts.extensionId}_${artifact.path}` });\n });\n });\n\n try {\n archive.pipe(res);\n /**\n * promise that is returned from the await zip.finalize(); is resolved before the archive is actually finalized\n * resolving it results in setting the headers before the stream is finished\n */\n // eslint-disable-next-line no-void\n void archive.finalize();\n return res.attachment(`${aspectId.replace('/', '_')}.tar`);\n } catch (e: any) {\n return res.send({ error: e.toString() });\n }\n },\n ];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAEA;EAAA;
|
|
1
|
+
{"version":3,"names":["_archiver","data","_interopRequireDefault","require","_mime","routePath","exports","defaultExtension","BuilderRoute","constructor","builder","scope","logger","_defineProperty2","default","req","res","component","params","aspectIdStr","filePath","split","aspectId","replace","artifacts","getArtifactsByAspect","getArtifacts","status","jsonp","error","id","extensionsWithArtifacts","Promise","all","map","artifact","files","getVinylsAndImportIfMissing","_legacy","legacyScope","extensionId","task","filter","file","path","artifactFilesCount","reduce","accum","next","length","extensionWithArtifact","find","e","fileName","fileContent","contents","fileExt","extname","contentType","mime","getType","set","send","archive","archiver","gzip","on","warn","message","err","forEach","extensionWithArtifacts","append","name","pipe","finalize","attachment","toString"],"sources":["builder.route.ts"],"sourcesContent":["import { Request, Response, Route } from '@teambit/express';\nimport { Component } from '@teambit/component';\nimport archiver from 'archiver';\nimport { Logger } from '@teambit/logger';\nimport { ScopeMain } from '@teambit/scope';\nimport mime from 'mime';\nimport { BuilderMain } from './builder.main.runtime';\n\nexport const routePath = `builder`;\n\nexport type BuilderUrlParams = {\n aspectId?: string;\n filePath?: string;\n};\nexport const defaultExtension = '.tgz';\nexport class BuilderRoute implements Route {\n constructor(private builder: BuilderMain, private scope: ScopeMain, private logger: Logger) {}\n route = `/${routePath}/*`;\n method = 'get';\n\n middlewares = [\n async (req: Request<BuilderUrlParams>, res: Response) => {\n // @ts-ignore TODO: @guy please fix.\n const component = req.component as Component;\n const { params } = req;\n const [aspectIdStr, filePath] = params[1].split('~');\n // remove trailing slash\n const aspectId = aspectIdStr.replace(/\\/$/, '');\n const artifacts = aspectId\n ? this.builder.getArtifactsByAspect(component, aspectId)\n : this.builder.getArtifacts(component);\n if (!artifacts)\n return res\n .status(404)\n .jsonp({ error: `no artifacts found for component ${component.id} by aspect ${aspectId}` });\n const extensionsWithArtifacts = await Promise.all(\n artifacts.map(async (artifact) => {\n const files = await artifact.files.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n if (!filePath) return { extensionId: artifact.task.aspectId, files };\n return { extensionId: artifact.task.aspectId, files: files.filter((file) => file.path === filePath) };\n })\n );\n\n const artifactFilesCount = extensionsWithArtifacts.reduce((accum, next) => accum + next.files.length, 0);\n\n if (artifactFilesCount === 0)\n return res\n .status(404)\n .jsonp({ error: `no artifacts found for component ${component.id} by aspect ${aspectId}` });\n\n if (artifactFilesCount === 1) {\n const extensionWithArtifact = extensionsWithArtifacts.find((e) => e.files.length > 0);\n const fileName = `${extensionWithArtifact?.extensionId}_${extensionWithArtifact?.files[0].path}`;\n const fileContent = extensionWithArtifact?.files[0].contents;\n const fileExt = extensionWithArtifact?.files[0].extname || defaultExtension;\n const contentType = mime.getType(fileExt);\n res.set('Content-disposition', `attachment; filename=${fileName}`);\n if (contentType) res.set('Content-Type', contentType);\n return res.send(fileContent);\n }\n\n /**\n * if more than 1 file requested, zip them before sending\n */\n const archive = archiver('tar', { gzip: true });\n\n archive.on('warning', (warn) => {\n this.logger.warn(warn.message);\n });\n\n archive.on('error', (err) => {\n this.logger.error(err.message);\n });\n\n extensionsWithArtifacts.forEach((extensionWithArtifacts) => {\n extensionWithArtifacts.files.forEach((artifact) => {\n archive.append(artifact.contents, { name: `${extensionWithArtifacts.extensionId}_${artifact.path}` });\n });\n });\n\n try {\n archive.pipe(res);\n /**\n * promise that is returned from the await zip.finalize(); is resolved before the archive is actually finalized\n * resolving it results in setting the headers before the stream is finished\n */\n // eslint-disable-next-line no-void\n void archive.finalize();\n return res.attachment(`${aspectId.replace('/', '_')}.tar`);\n } catch (e: any) {\n return res.send({ error: e.toString() });\n }\n },\n ];\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pipeNames","getBuildPipe","getTagPipe","getSnapPipe","BuilderService","constructor","isolator","logger","taskSlot","pipeNameOnEnv","displayPipeName","artifactFactory","scope","globalConfig","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","env","pipes","getDescriptor","BuilderAspect","renderOnePipe","transform","envContext","build","undefined","pipeline","compute","tag","snap","task","index","keys","pipeFuncName","getTasksNamesByPipeFunc","err","message","BuildTaskHelper","serializeId","getCurrentPipeTasks"],"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\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 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(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.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 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 let tasksQueue: string[];\n try {\n tasksQueue = this.getTasksNamesByPipeFunc(env, pipeFuncName);\n } catch (err: any) {\n tasksQueue = [`<failed getting task-queue, error: ${err.message}>`];\n }\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":["_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","env","pipes","getDescriptor","createElement","Text","key","BuilderAspect","renderOnePipe","transform","envContext","build","undefined","pipeline","compute","tag","snap","underline","color","Newline","task","index","keys","pipeFuncName","getTasksNamesByPipeFunc","err","message","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\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 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(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.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 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 let tasksQueue: string[];\n try {\n tasksQueue = this.getTasksNamesByPipeFunc(env, pipeFuncName);\n } catch (err: any) {\n tasksQueue = [`<failed getting task-queue, error: ${err.message}>`];\n }\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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ArtifactDefinitionError","Error","constructor"],"sources":["artifact-definition-no-glob.ts"],"sourcesContent":["export class ArtifactDefinitionError extends Error {\n constructor() {\n super(`must include glob or directories`);\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,uBAAuB,SAASC,KAAK,CAAC;EACjDC,
|
|
1
|
+
{"version":3,"names":["ArtifactDefinitionError","Error","constructor","exports"],"sources":["artifact-definition-no-glob.ts"],"sourcesContent":["export class ArtifactDefinitionError extends Error {\n constructor() {\n super(`must include glob or directories`);\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,uBAAuB,SAASC,KAAK,CAAC;EACjDC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAE,kCAAiC,CAAC;EAC3C;AACF;AAACC,OAAA,CAAAH,uBAAA,GAAAA,uBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ArtifactStorageError","BitError","constructor","originalError","component","id","toString","message"],"sources":["artifact-storage-error.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { Component } from '@teambit/component';\n\nexport class ArtifactStorageError extends BitError {\n constructor(private originalError: Error, private component: Component) {\n super(`failed to store artifacts for component ${component.id.toString()}.\nError: ${originalError.message}`);\n }\n}\n"],"mappings":";;;;;;AAAA;EAAA;
|
|
1
|
+
{"version":3,"names":["_bitError","data","require","ArtifactStorageError","BitError","constructor","originalError","component","id","toString","message","exports"],"sources":["artifact-storage-error.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { Component } from '@teambit/component';\n\nexport class ArtifactStorageError extends BitError {\n constructor(private originalError: Error, private component: Component) {\n super(`failed to store artifacts for component ${component.id.toString()}.\nError: ${originalError.message}`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGO,MAAME,oBAAoB,SAASC,oBAAQ,CAAC;EACjDC,WAAWA,CAASC,aAAoB,EAAUC,SAAoB,EAAE;IACtE,KAAK,CAAE,2CAA0CA,SAAS,CAACC,EAAE,CAACC,QAAQ,CAAC,CAAE;AAC7E,SAASH,aAAa,CAACI,OAAQ,EAAC,CAAC;IAAC,KAFZJ,aAAoB,GAApBA,aAAoB;IAAA,KAAUC,SAAoB,GAApBA,SAAoB;EAGtE;AACF;AAACI,OAAA,CAAAR,oBAAA,GAAAA,oBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CapsuleNotFound","Error","constructor","id","toString"],"sources":["capsule-not-found.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component';\n\nexport class CapsuleNotFound extends Error {\n constructor(private id: ComponentID) {\n super(`unable to find capsule for component ${id.toString()}`);\n }\n}\n"],"mappings":";;;;;;AAEO,MAAMA,eAAe,SAASC,KAAK,CAAC;EACzCC,
|
|
1
|
+
{"version":3,"names":["CapsuleNotFound","Error","constructor","id","toString","exports"],"sources":["capsule-not-found.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component';\n\nexport class CapsuleNotFound extends Error {\n constructor(private id: ComponentID) {\n super(`unable to find capsule for component ${id.toString()}`);\n }\n}\n"],"mappings":";;;;;;AAEO,MAAMA,eAAe,SAASC,KAAK,CAAC;EACzCC,WAAWA,CAASC,EAAe,EAAE;IACnC,KAAK,CAAE,wCAAuCA,EAAE,CAACC,QAAQ,CAAC,CAAE,EAAC,CAAC;IAAC,KAD7CD,EAAe,GAAfA,EAAe;EAEnC;AACF;AAACE,OAAA,CAAAL,eAAA,GAAAA,eAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { InvalidTask } from './invalid-task';\nexport { CapsuleNotFound } from './capsule-not-found';\nexport { ArtifactStorageError } from './artifact-storage-error';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;
|
|
1
|
+
{"version":3,"names":["_invalidTask","data","require","_capsuleNotFound","_artifactStorageError"],"sources":["index.ts"],"sourcesContent":["export { InvalidTask } from './invalid-task';\nexport { CapsuleNotFound } from './capsule-not-found';\nexport { ArtifactStorageError } from './artifact-storage-error';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,aAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,YAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,iBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,gBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,sBAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,qBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InvalidTask","BitError","constructor","taskAspectId","reason"],"sources":["invalid-task.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class InvalidTask extends BitError {\n constructor(readonly taskAspectId: string, reason: string) {\n super(`task of ${taskAspectId} is invalid, ${reason}`);\n }\n}\n"],"mappings":";;;;;;AAAA;EAAA;
|
|
1
|
+
{"version":3,"names":["_bitError","data","require","InvalidTask","BitError","constructor","taskAspectId","reason","exports"],"sources":["invalid-task.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class InvalidTask extends BitError {\n constructor(readonly taskAspectId: string, reason: string) {\n super(`task of ${taskAspectId} is invalid, ${reason}`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,WAAW,SAASC,oBAAQ,CAAC;EACxCC,WAAWA,CAAUC,YAAoB,EAAEC,MAAc,EAAE;IACzD,KAAK,CAAE,WAAUD,YAAa,gBAAeC,MAAO,EAAC,CAAC;IAAC,KADpCD,YAAoB,GAApBA,YAAoB;EAEzC;AACF;AAACE,OAAA,CAAAL,WAAA,GAAAA,WAAA"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["import { BuilderAspect } from './builder.aspect';\n\nexport { 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 { WholeArtifactStorageResolver, FileStorageResolver, ArtifactStorageResolver } from './storage';\nexport { Artifact, ArtifactList, ArtifactFactory, ArtifactDefinition, ArtifactModelDefinition } from './artifact';\nexport { Task } from './task';\nexport { TaskResultsList } from './task-results-list';\nexport { BuilderAspect, BuilderAspect as default };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;
|
|
1
|
+
{"version":3,"names":["_builder","data","require","_artifact","_buildPipe","_types","_buildTask","_pipeline","_storage","_artifact2","_task","_taskResultsList"],"sources":["index.ts"],"sourcesContent":["import { BuilderAspect } from './builder.aspect';\n\nexport { 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 { WholeArtifactStorageResolver, FileStorageResolver, ArtifactStorageResolver } from './storage';\nexport { Artifact, ArtifactList, ArtifactFactory, ArtifactDefinition, ArtifactModelDefinition } from './artifact';\nexport { Task } from './task';\nexport { TaskResultsList } from './task-results-list';\nexport { BuilderAspect, BuilderAspect as default };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,UAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,WAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,UAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,OAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,MAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,WAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,UAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAUA,SAAAM,UAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,SAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,WAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,UAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,MAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,KAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,iBAAA;EAAA,MAAAV,IAAA,GAAAC,OAAA;EAAAS,gBAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { PipelineResults } from './pipeline-results';\n"],"mappings":";;;;;;;;;;;AAAA;EAAA;
|
|
1
|
+
{"version":3,"names":["_pipelineResults","data","require"],"sources":["index.ts"],"sourcesContent":["export { PipelineResults } from './pipeline-results';\n"],"mappings":";;;;;;;;;;;AAAA,SAAAA,iBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,gBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PipelineResults"],"sources":["pipeline-results.ts"],"sourcesContent":["export class PipelineResults {}\n"],"mappings":";;;;;;AAAO,MAAMA,eAAe,CAAC;
|
|
1
|
+
{"version":3,"names":["PipelineResults","exports"],"sources":["pipeline-results.ts"],"sourcesContent":["export class PipelineResults {}\n"],"mappings":";;;;;;AAAO,MAAMA,eAAe,CAAC;AAAEC,OAAA,CAAAD,eAAA,GAAAA,eAAA"}
|
package/dist/pipeline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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","forEach","matchIndex","findIndex","origTask","splice","pipeline","compute","toString","from"],"sources":["pipeline.ts"],"sourcesContent":["import { BuildTask } from '@teambit/builder';\nimport { EnvContext, EnvHandler } from '@teambit/envs';\nimport { clone, findIndex } 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(private _tasks: TaskHandler[]) {}\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 return this;\n }\n\n /**\n * replace a build task in the pipeline.\n */\n replace(tasks: TaskHandler[]) {\n tasks.forEach((task) => {\n // Find task index using _.findIndex\n const matchIndex = findIndex(this._tasks, (origTask) => {\n return origTask.name === task.name;\n });\n if (matchIndex !== -1) {\n // Replace task at index using native splice\n this._tasks.splice(matchIndex, 1, task);\n }\n });\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;
|
|
1
|
+
{"version":3,"names":["_lodash","data","require","Pipeline","constructor","_tasks","tasks","initiateTasks","context","envId","map","task","handler","buildTasks","aspectId","buildTask","Object","assign","clone","add","concat","remove","taskNames","filter","includes","name","replace","forEach","matchIndex","findIndex","origTask","splice","pipeline","compute","toString","from","exports"],"sources":["pipeline.ts"],"sourcesContent":["import { BuildTask } from '@teambit/builder';\nimport { EnvContext, EnvHandler } from '@teambit/envs';\nimport { clone, findIndex } 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(private _tasks: TaskHandler[]) {}\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 return this;\n }\n\n /**\n * replace a build task in the pipeline.\n */\n replace(tasks: TaskHandler[]) {\n tasks.forEach((task) => {\n // Find task index using _.findIndex\n const matchIndex = findIndex(this._tasks, (origTask) => {\n return origTask.name === task.name;\n });\n if (matchIndex !== -1) {\n // Replace task at index using native splice\n this._tasks.splice(matchIndex, 1, task);\n }\n });\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,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAQA;AACA;AACA;AACA;AACO,MAAME,QAAQ,CAAC;EACpBC,WAAWA,CAASC,MAAqB,EAAE;IAAA,KAAvBA,MAAqB,GAArBA,MAAqB;EAAG;;EAE5C;AACF;AACA;EACE,IAAIC,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACD,MAAM;EACpB;EAEQE,aAAaA,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;QAAEG;MAAS,CAAC,CAAC;MACrE,OAAOC,SAAS;IAClB,CAAC,CAAC;IAEF,OAAOF,UAAU;EACnB;;EAEA;AACF;AACA;EACEM,GAAGA,CAACb,KAAoB,EAAE;IACxB,IAAI,CAACD,MAAM,GAAG,IAAI,CAACA,MAAM,CAACe,MAAM,CAACd,KAAK,CAAC;IACvC,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEe,MAAMA,CAACC,SAAmB,EAAE;IAC1B,IAAI,CAACjB,MAAM,GAAG,IAAI,CAACA,MAAM,CAACkB,MAAM,CAAEZ,IAAI,IAAK;MACzC,OAAO,CAACW,SAAS,CAACE,QAAQ,CAACb,IAAI,CAACc,IAAI,CAAC;IACvC,CAAC,CAAC;IACF,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEC,OAAOA,CAACpB,KAAoB,EAAE;IAC5BA,KAAK,CAACqB,OAAO,CAAEhB,IAAI,IAAK;MACtB;MACA,MAAMiB,UAAU,GAAG,IAAAC,mBAAS,EAAC,IAAI,CAACxB,MAAM,EAAGyB,QAAQ,IAAK;QACtD,OAAOA,QAAQ,CAACL,IAAI,KAAKd,IAAI,CAACc,IAAI;MACpC,CAAC,CAAC;MACF,IAAIG,UAAU,KAAK,CAAC,CAAC,EAAE;QACrB;QACA,IAAI,CAACvB,MAAM,CAAC0B,MAAM,CAACH,UAAU,EAAE,CAAC,EAAEjB,IAAI,CAAC;MACzC;IACF,CAAC,CAAC;IACF,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;EACES,MAAMA,CAACY,QAAkB,EAAE;IACzB,OAAO,IAAI7B,QAAQ,CAAC,IAAI,CAACE,MAAM,CAACe,MAAM,CAACY,QAAQ,CAAC1B,KAAK,CAAC,CAAC;EACzD;;EAEA;AACF;AACA;EACE2B,OAAOA,CAACzB,OAAmB,EAAe;IACxC,MAAMK,UAAU,GAAG,IAAI,CAACN,aAAa,CAAC,IAAI,CAACF,MAAM,EAAEG,OAAO,EAAEA,OAAO,CAACC,KAAK,CAACyB,QAAQ,CAAC,CAAC,CAAC;IACrF,OAAOrB,UAAU;EACnB;EAEA,OAAOsB,IAAIA,CAAC7B,KAAoB,EAAE;IAChC,OAAO,IAAIH,QAAQ,CAACG,KAAK,CAAC;EAC5B;;EAEA;EACA;EACA;EACA;EACA;AACF;AAAC8B,OAAA,CAAAjC,QAAA,GAAAA,QAAA"}
|
|
@@ -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.1115/dist/builder.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.1115/dist/builder.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DefaultResolver","store","component","artifact","files","populateVinylsFromPaths","rootDir"],"sources":["default-resolver.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport { FsArtifact } from '../artifact';\nimport { WholeArtifactStorageResolver } from './storage-resolver';\n\nexport class DefaultResolver implements WholeArtifactStorageResolver {\n name = 'default';\n\n async store(component: Component, artifact: FsArtifact) {\n artifact.files.populateVinylsFromPaths(artifact.rootDir);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAIO,MAAMA,eAAe,CAAyC;
|
|
1
|
+
{"version":3,"names":["DefaultResolver","constructor","_defineProperty2","default","store","component","artifact","files","populateVinylsFromPaths","rootDir","exports"],"sources":["default-resolver.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport { FsArtifact } from '../artifact';\nimport { WholeArtifactStorageResolver } from './storage-resolver';\n\nexport class DefaultResolver implements WholeArtifactStorageResolver {\n name = 'default';\n\n async store(component: Component, artifact: FsArtifact) {\n artifact.files.populateVinylsFromPaths(artifact.rootDir);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAIO,MAAMA,eAAe,CAAyC;EAAAC,YAAA;IAAA,IAAAC,gBAAA,GAAAC,OAAA,gBAC5D,SAAS;EAAA;EAEhB,MAAMC,KAAKA,CAACC,SAAoB,EAAEC,QAAoB,EAAE;IACtDA,QAAQ,CAACC,KAAK,CAACC,uBAAuB,CAACF,QAAQ,CAACG,OAAO,CAAC;EAC1D;AACF;AAACC,OAAA,CAAAV,eAAA,GAAAA,eAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { WholeArtifactStorageResolver, ArtifactStorageResolver, FileStorageResolver } from './storage-resolver';\nexport { DefaultResolver } from './default-resolver';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;
|
|
1
|
+
{"version":3,"names":["_storageResolver","data","require","_defaultResolver"],"sources":["index.ts"],"sourcesContent":["export { WholeArtifactStorageResolver, ArtifactStorageResolver, FileStorageResolver } from './storage-resolver';\nexport { DefaultResolver } from './default-resolver';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,iBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,gBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,iBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,gBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TaskResultsList","constructor","tasksQueue","tasksResults","hasErrors","some","taskResult","componentsResults","find","c","errors","length","throwErrorsIfExist","errorMessage","getErrorMessageFormatted","BitError","tasksErrors","totalErrors","forEach","compsWithErrors","filter","title","chalk","bold","BuildTaskHelper","serializeId","task","env","id","errorsStr","map","compWithErrors","aggregateTaskErrorsToOneString","join","taskErrors","reduce","acc","current","summery","push","totalTasks","totalFailed","totalSucceed","totalSkipped","componentResult","rawErrors","e","toString","component"],"sources":["task-results-list.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { BitError } from '@teambit/bit-error';\nimport { BuildTaskHelper } from './build-task';\nimport { TasksQueue } from './tasks-queue';\nimport { TaskResults } from './build-pipe';\nimport { ComponentResult } from './types';\n\nexport class TaskResultsList {\n constructor(\n public tasksQueue: TasksQueue,\n /**\n * results of all tasks executed in the build pipeline.\n */\n public tasksResults: TaskResults[]\n ) {}\n\n hasErrors(): boolean {\n return this.tasksResults.some((taskResult) => taskResult.componentsResults.find((c) => c.errors?.length));\n }\n\n throwErrorsIfExist() {\n const errorMessage = this.getErrorMessageFormatted();\n if (errorMessage) {\n throw new BitError(errorMessage);\n }\n }\n\n /**\n * group errors from all tasks and show them nicely to the user\n */\n public getErrorMessageFormatted(): string | null {\n const tasksErrors: string[] = [];\n let totalErrors = 0;\n this.tasksResults.forEach((taskResult) => {\n const compsWithErrors = taskResult.componentsResults.filter((c) => c.errors?.length);\n if (!compsWithErrors.length) return;\n const title = chalk.bold(\n `Failed task ${tasksErrors.length + 1}: \"${BuildTaskHelper.serializeId(taskResult.task)}\" of env \"${\n taskResult.env.id\n }\"\\n`\n );\n const errorsStr = compsWithErrors\n .map((compWithErrors) => this.aggregateTaskErrorsToOneString(compWithErrors))\n .join('\\n\\n');\n const taskErrors = compsWithErrors.reduce((acc, current) => acc + (current.errors || []).length, 0);\n const summery = `\\n\\nFound ${taskErrors} errors in ${compsWithErrors.length} components`;\n totalErrors += taskErrors;\n tasksErrors.push(title + errorsStr + summery);\n });\n if (!tasksErrors.length) return null;\n const title = `\\nThe following errors were found while running the build pipeline\\n`;\n const errorsStr = tasksErrors.join('\\n\\n');\n const totalTasks = this.tasksQueue.length;\n const totalFailed = tasksErrors.length;\n const totalSucceed = this.tasksResults.length - totalFailed;\n const totalSkipped = totalTasks - this.tasksResults.length;\n const summery = `\\n\\n\\n✖ Total ${totalTasks} tasks. ${totalSucceed} succeeded. ${totalFailed} failed. ${totalSkipped} skipped. Total errors: ${totalErrors}.`;\n return title + errorsStr + summery;\n }\n\n private aggregateTaskErrorsToOneString(componentResult: ComponentResult) {\n const rawErrors = componentResult.errors || [];\n const errors = rawErrors.map((e) => (typeof e === 'string' ? e : e.toString()));\n return `component: ${componentResult.component.id.toString()}\\n${errors.join('\\n')}`;\n }\n}\n"],"mappings":";;;;;;;AAAA;EAAA;
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_bitError","_buildTask","TaskResultsList","constructor","tasksQueue","tasksResults","hasErrors","some","taskResult","componentsResults","find","c","_c$errors","errors","length","throwErrorsIfExist","errorMessage","getErrorMessageFormatted","BitError","tasksErrors","totalErrors","forEach","compsWithErrors","filter","_c$errors2","title","chalk","bold","BuildTaskHelper","serializeId","task","env","id","errorsStr","map","compWithErrors","aggregateTaskErrorsToOneString","join","taskErrors","reduce","acc","current","summery","push","totalTasks","totalFailed","totalSucceed","totalSkipped","componentResult","rawErrors","e","toString","component","exports"],"sources":["task-results-list.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { BitError } from '@teambit/bit-error';\nimport { BuildTaskHelper } from './build-task';\nimport { TasksQueue } from './tasks-queue';\nimport { TaskResults } from './build-pipe';\nimport { ComponentResult } from './types';\n\nexport class TaskResultsList {\n constructor(\n public tasksQueue: TasksQueue,\n /**\n * results of all tasks executed in the build pipeline.\n */\n public tasksResults: TaskResults[]\n ) {}\n\n hasErrors(): boolean {\n return this.tasksResults.some((taskResult) => taskResult.componentsResults.find((c) => c.errors?.length));\n }\n\n throwErrorsIfExist() {\n const errorMessage = this.getErrorMessageFormatted();\n if (errorMessage) {\n throw new BitError(errorMessage);\n }\n }\n\n /**\n * group errors from all tasks and show them nicely to the user\n */\n public getErrorMessageFormatted(): string | null {\n const tasksErrors: string[] = [];\n let totalErrors = 0;\n this.tasksResults.forEach((taskResult) => {\n const compsWithErrors = taskResult.componentsResults.filter((c) => c.errors?.length);\n if (!compsWithErrors.length) return;\n const title = chalk.bold(\n `Failed task ${tasksErrors.length + 1}: \"${BuildTaskHelper.serializeId(taskResult.task)}\" of env \"${\n taskResult.env.id\n }\"\\n`\n );\n const errorsStr = compsWithErrors\n .map((compWithErrors) => this.aggregateTaskErrorsToOneString(compWithErrors))\n .join('\\n\\n');\n const taskErrors = compsWithErrors.reduce((acc, current) => acc + (current.errors || []).length, 0);\n const summery = `\\n\\nFound ${taskErrors} errors in ${compsWithErrors.length} components`;\n totalErrors += taskErrors;\n tasksErrors.push(title + errorsStr + summery);\n });\n if (!tasksErrors.length) return null;\n const title = `\\nThe following errors were found while running the build pipeline\\n`;\n const errorsStr = tasksErrors.join('\\n\\n');\n const totalTasks = this.tasksQueue.length;\n const totalFailed = tasksErrors.length;\n const totalSucceed = this.tasksResults.length - totalFailed;\n const totalSkipped = totalTasks - this.tasksResults.length;\n const summery = `\\n\\n\\n✖ Total ${totalTasks} tasks. ${totalSucceed} succeeded. ${totalFailed} failed. ${totalSkipped} skipped. Total errors: ${totalErrors}.`;\n return title + errorsStr + summery;\n }\n\n private aggregateTaskErrorsToOneString(componentResult: ComponentResult) {\n const rawErrors = componentResult.errors || [];\n const errors = rawErrors.map((e) => (typeof e === 'string' ? e : e.toString()));\n return `component: ${componentResult.component.id.toString()}\\n${errors.join('\\n')}`;\n }\n}\n"],"mappings":"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"}
|