@teambit/builder 1.0.41 → 1.0.43

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.
@@ -68,8 +68,7 @@ function _fsArtifact() {
68
68
  return data;
69
69
  }
70
70
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
71
- const DEFAULT_CONTEXT = 'component';
72
- exports.DEFAULT_CONTEXT = DEFAULT_CONTEXT;
71
+ const DEFAULT_CONTEXT = exports.DEFAULT_CONTEXT = 'component';
73
72
  class ArtifactFactory {
74
73
  resolvePaths(root, def) {
75
74
  const patternsFlattened = (0, _lodash().flatten)(def.globPatterns);
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","require","_globby","_interopRequireDefault","_lodash","_artifactFiles","_component","_storage","_artifactList","_exceptions","_fsArtifact","obj","__esModule","default","DEFAULT_CONTEXT","exports","ArtifactFactory","resolvePaths","root","def","patternsFlattened","flatten","globPatterns","paths","globby","sync","cwd","getArtifactContextPath","context","component","artifactContext","getArtifactContext","_context$capsuleNetwo","capsulePath","capsuleNetwork","graphCapsules","getCapsule","id","path","CapsuleNotFound","capsulesRootDir","createFromComponent","task","contextPath","rootDir","getRootDir","length","undefined","FsArtifact","ArtifactFiles","getStorageResolver","storageResolver","DefaultResolver","toComponentMap","artifactMap","ComponentMap","as","components","toString","artifacts","filter","targetId","map","artifact","ArtifactList","fromArray","join","generate","defs","tupleArr","forEach","capsuleDir","push"],"sources":["artifact-factory.ts"],"sourcesContent":["import { join } from 'path';\nimport globby from 'globby';\nimport { flatten } from 'lodash';\nimport { ArtifactFiles } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { Component, ComponentMap } from '@teambit/component';\nimport { ArtifactDefinition } from './artifact-definition';\nimport { DefaultResolver } from '../storage';\nimport { ArtifactList } from './artifact-list';\nimport type { BuildContext, BuildTask } from '../build-task';\nimport { CapsuleNotFound } from '../exceptions';\nimport { FsArtifact } from './fs-artifact';\n\nexport const DEFAULT_CONTEXT = 'component';\n\nexport type ArtifactMap = ComponentMap<ArtifactList<FsArtifact>>;\n\nexport class ArtifactFactory {\n resolvePaths(root: string, def: ArtifactDefinition): string[] {\n const patternsFlattened = flatten(def.globPatterns);\n const paths = globby.sync(patternsFlattened, { cwd: root });\n return paths;\n }\n\n private getArtifactContextPath(context: BuildContext, component: Component, def: ArtifactDefinition) {\n const artifactContext = this.getArtifactContext(def);\n if (artifactContext === 'component') {\n const capsulePath = context.capsuleNetwork.graphCapsules.getCapsule(component.id)?.path;\n if (!capsulePath) throw new CapsuleNotFound(component.id);\n return capsulePath;\n }\n\n return context.capsuleNetwork.capsulesRootDir;\n }\n\n private getArtifactContext(def: ArtifactDefinition) {\n return def.context || DEFAULT_CONTEXT;\n }\n\n createFromComponent(\n context: BuildContext,\n component: Component,\n def: ArtifactDefinition,\n task: BuildTask\n ): FsArtifact | undefined {\n const contextPath = this.getArtifactContextPath(context, component, def);\n const rootDir = this.getRootDir(contextPath, def);\n const paths = this.resolvePaths(rootDir, def);\n if (!paths || !paths.length) {\n return undefined;\n }\n return new FsArtifact(def, new ArtifactFiles(paths), task, rootDir);\n }\n\n private getStorageResolver(def: ArtifactDefinition) {\n return def.storageResolver || new DefaultResolver();\n }\n\n private toComponentMap(context: BuildContext, artifactMap: [string, FsArtifact][]) {\n return ComponentMap.as<ArtifactList<FsArtifact>>(context.components, (component) => {\n const id = component.id.toString();\n const artifacts = artifactMap.filter(([targetId]) => targetId === id).map(([, artifact]) => artifact);\n\n return ArtifactList.fromArray(artifacts);\n });\n }\n\n getRootDir(rootDir: string, def: ArtifactDefinition) {\n if (!def.rootDir) return rootDir;\n return join(rootDir, def.rootDir);\n }\n\n /**\n * generate artifacts from a build context according to the spec defined in the artifact definitions.\n */\n generate(context: BuildContext, defs: ArtifactDefinition[], task: BuildTask): ComponentMap<ArtifactList<FsArtifact>> {\n const tupleArr: [string, FsArtifact][] = [];\n\n defs.forEach((def) => {\n const artifactContext = this.getArtifactContext(def);\n if (artifactContext === 'env') {\n const capsuleDir = context.capsuleNetwork.capsulesRootDir;\n const rootDir = this.getRootDir(capsuleDir, def);\n const paths = this.resolvePaths(rootDir, def);\n if (paths && paths.length) {\n const artifact = new FsArtifact(def, new ArtifactFiles(this.resolvePaths(rootDir, def)), task, rootDir);\n\n return context.components.forEach((component) => {\n tupleArr.push([component.id.toString(), artifact]);\n });\n }\n }\n\n return context.components.forEach((component) => {\n const artifact = this.createFromComponent(context, component, def, task);\n if (artifact) {\n tupleArr.push([component.id.toString(), artifact]);\n }\n });\n });\n\n return this.toComponentMap(context, tupleArr);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,eAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,cAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,WAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,UAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,cAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,aAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAS,YAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,WAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,YAAA;EAAA,MAAAV,IAAA,GAAAC,OAAA;EAAAS,WAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,SAAAG,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEpC,MAAMG,eAAe,GAAG,WAAW;AAACC,OAAA,CAAAD,eAAA,GAAAA,eAAA;AAIpC,MAAME,eAAe,CAAC;EAC3BC,YAAYA,CAACC,IAAY,EAAEC,GAAuB,EAAY;IAC5D,MAAMC,iBAAiB,GAAG,IAAAC,iBAAO,EAACF,GAAG,CAACG,YAAY,CAAC;IACnD,MAAMC,KAAK,GAAGC,iBAAM,CAACC,IAAI,CAACL,iBAAiB,EAAE;MAAEM,GAAG,EAAER;IAAK,CAAC,CAAC;IAC3D,OAAOK,KAAK;EACd;EAEQI,sBAAsBA,CAACC,OAAqB,EAAEC,SAAoB,EAAEV,GAAuB,EAAE;IACnG,MAAMW,eAAe,GAAG,IAAI,CAACC,kBAAkB,CAACZ,GAAG,CAAC;IACpD,IAAIW,eAAe,KAAK,WAAW,EAAE;MAAA,IAAAE,qBAAA;MACnC,MAAMC,WAAW,IAAAD,qBAAA,GAAGJ,OAAO,CAACM,cAAc,CAACC,aAAa,CAACC,UAAU,CAACP,SAAS,CAACQ,EAAE,CAAC,cAAAL,qBAAA,uBAA7DA,qBAAA,CAA+DM,IAAI;MACvF,IAAI,CAACL,WAAW,EAAE,MAAM,KAAIM,6BAAe,EAACV,SAAS,CAACQ,EAAE,CAAC;MACzD,OAAOJ,WAAW;IACpB;IAEA,OAAOL,OAAO,CAACM,cAAc,CAACM,eAAe;EAC/C;EAEQT,kBAAkBA,CAACZ,GAAuB,EAAE;IAClD,OAAOA,GAAG,CAACS,OAAO,IAAId,eAAe;EACvC;EAEA2B,mBAAmBA,CACjBb,OAAqB,EACrBC,SAAoB,EACpBV,GAAuB,EACvBuB,IAAe,EACS;IACxB,MAAMC,WAAW,GAAG,IAAI,CAAChB,sBAAsB,CAACC,OAAO,EAAEC,SAAS,EAAEV,GAAG,CAAC;IACxE,MAAMyB,OAAO,GAAG,IAAI,CAACC,UAAU,CAACF,WAAW,EAAExB,GAAG,CAAC;IACjD,MAAMI,KAAK,GAAG,IAAI,CAACN,YAAY,CAAC2B,OAAO,EAAEzB,GAAG,CAAC;IAC7C,IAAI,CAACI,KAAK,IAAI,CAACA,KAAK,CAACuB,MAAM,EAAE;MAC3B,OAAOC,SAAS;IAClB;IACA,OAAO,KAAIC,wBAAU,EAAC7B,GAAG,EAAE,KAAI8B,8BAAa,EAAC1B,KAAK,CAAC,EAAEmB,IAAI,EAAEE,OAAO,CAAC;EACrE;EAEQM,kBAAkBA,CAAC/B,GAAuB,EAAE;IAClD,OAAOA,GAAG,CAACgC,eAAe,IAAI,KAAIC,0BAAe,EAAC,CAAC;EACrD;EAEQC,cAAcA,CAACzB,OAAqB,EAAE0B,WAAmC,EAAE;IACjF,OAAOC,yBAAY,CAACC,EAAE,CAA2B5B,OAAO,CAAC6B,UAAU,EAAG5B,SAAS,IAAK;MAClF,MAAMQ,EAAE,GAAGR,SAAS,CAACQ,EAAE,CAACqB,QAAQ,CAAC,CAAC;MAClC,MAAMC,SAAS,GAAGL,WAAW,CAACM,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,KAAKA,QAAQ,KAAKxB,EAAE,CAAC,CAACyB,GAAG,CAAC,CAAC,GAAGC,QAAQ,CAAC,KAAKA,QAAQ,CAAC;MAErG,OAAOC,4BAAY,CAACC,SAAS,CAACN,SAAS,CAAC;IAC1C,CAAC,CAAC;EACJ;EAEAd,UAAUA,CAACD,OAAe,EAAEzB,GAAuB,EAAE;IACnD,IAAI,CAACA,GAAG,CAACyB,OAAO,EAAE,OAAOA,OAAO;IAChC,OAAO,IAAAsB,YAAI,EAACtB,OAAO,EAAEzB,GAAG,CAACyB,OAAO,CAAC;EACnC;;EAEA;AACF;AACA;EACEuB,QAAQA,CAACvC,OAAqB,EAAEwC,IAA0B,EAAE1B,IAAe,EAA0C;IACnH,MAAM2B,QAAgC,GAAG,EAAE;IAE3CD,IAAI,CAACE,OAAO,CAAEnD,GAAG,IAAK;MACpB,MAAMW,eAAe,GAAG,IAAI,CAACC,kBAAkB,CAACZ,GAAG,CAAC;MACpD,IAAIW,eAAe,KAAK,KAAK,EAAE;QAC7B,MAAMyC,UAAU,GAAG3C,OAAO,CAACM,cAAc,CAACM,eAAe;QACzD,MAAMI,OAAO,GAAG,IAAI,CAACC,UAAU,CAAC0B,UAAU,EAAEpD,GAAG,CAAC;QAChD,MAAMI,KAAK,GAAG,IAAI,CAACN,YAAY,CAAC2B,OAAO,EAAEzB,GAAG,CAAC;QAC7C,IAAII,KAAK,IAAIA,KAAK,CAACuB,MAAM,EAAE;UACzB,MAAMiB,QAAQ,GAAG,KAAIf,wBAAU,EAAC7B,GAAG,EAAE,KAAI8B,8BAAa,EAAC,IAAI,CAAChC,YAAY,CAAC2B,OAAO,EAAEzB,GAAG,CAAC,CAAC,EAAEuB,IAAI,EAAEE,OAAO,CAAC;UAEvG,OAAOhB,OAAO,CAAC6B,UAAU,CAACa,OAAO,CAAEzC,SAAS,IAAK;YAC/CwC,QAAQ,CAACG,IAAI,CAAC,CAAC3C,SAAS,CAACQ,EAAE,CAACqB,QAAQ,CAAC,CAAC,EAAEK,QAAQ,CAAC,CAAC;UACpD,CAAC,CAAC;QACJ;MACF;MAEA,OAAOnC,OAAO,CAAC6B,UAAU,CAACa,OAAO,CAAEzC,SAAS,IAAK;QAC/C,MAAMkC,QAAQ,GAAG,IAAI,CAACtB,mBAAmB,CAACb,OAAO,EAAEC,SAAS,EAAEV,GAAG,EAAEuB,IAAI,CAAC;QACxE,IAAIqB,QAAQ,EAAE;UACZM,QAAQ,CAACG,IAAI,CAAC,CAAC3C,SAAS,CAACQ,EAAE,CAACqB,QAAQ,CAAC,CAAC,EAAEK,QAAQ,CAAC,CAAC;QACpD;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,IAAI,CAACV,cAAc,CAACzB,OAAO,EAAEyC,QAAQ,CAAC;EAC/C;AACF;AAACtD,OAAA,CAAAC,eAAA,GAAAA,eAAA"}
1
+ {"version":3,"names":["_path","data","require","_globby","_interopRequireDefault","_lodash","_artifactFiles","_component","_storage","_artifactList","_exceptions","_fsArtifact","obj","__esModule","default","DEFAULT_CONTEXT","exports","ArtifactFactory","resolvePaths","root","def","patternsFlattened","flatten","globPatterns","paths","globby","sync","cwd","getArtifactContextPath","context","component","artifactContext","getArtifactContext","_context$capsuleNetwo","capsulePath","capsuleNetwork","graphCapsules","getCapsule","id","path","CapsuleNotFound","capsulesRootDir","createFromComponent","task","contextPath","rootDir","getRootDir","length","undefined","FsArtifact","ArtifactFiles","getStorageResolver","storageResolver","DefaultResolver","toComponentMap","artifactMap","ComponentMap","as","components","toString","artifacts","filter","targetId","map","artifact","ArtifactList","fromArray","join","generate","defs","tupleArr","forEach","capsuleDir","push"],"sources":["artifact-factory.ts"],"sourcesContent":["import { join } from 'path';\nimport globby from 'globby';\nimport { flatten } from 'lodash';\nimport { ArtifactFiles } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { Component, ComponentMap } from '@teambit/component';\nimport { ArtifactDefinition } from './artifact-definition';\nimport { DefaultResolver } from '../storage';\nimport { ArtifactList } from './artifact-list';\nimport type { BuildContext, BuildTask } from '../build-task';\nimport { CapsuleNotFound } from '../exceptions';\nimport { FsArtifact } from './fs-artifact';\n\nexport const DEFAULT_CONTEXT = 'component';\n\nexport type ArtifactMap = ComponentMap<ArtifactList<FsArtifact>>;\n\nexport class ArtifactFactory {\n resolvePaths(root: string, def: ArtifactDefinition): string[] {\n const patternsFlattened = flatten(def.globPatterns);\n const paths = globby.sync(patternsFlattened, { cwd: root });\n return paths;\n }\n\n private getArtifactContextPath(context: BuildContext, component: Component, def: ArtifactDefinition) {\n const artifactContext = this.getArtifactContext(def);\n if (artifactContext === 'component') {\n const capsulePath = context.capsuleNetwork.graphCapsules.getCapsule(component.id)?.path;\n if (!capsulePath) throw new CapsuleNotFound(component.id);\n return capsulePath;\n }\n\n return context.capsuleNetwork.capsulesRootDir;\n }\n\n private getArtifactContext(def: ArtifactDefinition) {\n return def.context || DEFAULT_CONTEXT;\n }\n\n createFromComponent(\n context: BuildContext,\n component: Component,\n def: ArtifactDefinition,\n task: BuildTask\n ): FsArtifact | undefined {\n const contextPath = this.getArtifactContextPath(context, component, def);\n const rootDir = this.getRootDir(contextPath, def);\n const paths = this.resolvePaths(rootDir, def);\n if (!paths || !paths.length) {\n return undefined;\n }\n return new FsArtifact(def, new ArtifactFiles(paths), task, rootDir);\n }\n\n private getStorageResolver(def: ArtifactDefinition) {\n return def.storageResolver || new DefaultResolver();\n }\n\n private toComponentMap(context: BuildContext, artifactMap: [string, FsArtifact][]) {\n return ComponentMap.as<ArtifactList<FsArtifact>>(context.components, (component) => {\n const id = component.id.toString();\n const artifacts = artifactMap.filter(([targetId]) => targetId === id).map(([, artifact]) => artifact);\n\n return ArtifactList.fromArray(artifacts);\n });\n }\n\n getRootDir(rootDir: string, def: ArtifactDefinition) {\n if (!def.rootDir) return rootDir;\n return join(rootDir, def.rootDir);\n }\n\n /**\n * generate artifacts from a build context according to the spec defined in the artifact definitions.\n */\n generate(context: BuildContext, defs: ArtifactDefinition[], task: BuildTask): ComponentMap<ArtifactList<FsArtifact>> {\n const tupleArr: [string, FsArtifact][] = [];\n\n defs.forEach((def) => {\n const artifactContext = this.getArtifactContext(def);\n if (artifactContext === 'env') {\n const capsuleDir = context.capsuleNetwork.capsulesRootDir;\n const rootDir = this.getRootDir(capsuleDir, def);\n const paths = this.resolvePaths(rootDir, def);\n if (paths && paths.length) {\n const artifact = new FsArtifact(def, new ArtifactFiles(this.resolvePaths(rootDir, def)), task, rootDir);\n\n return context.components.forEach((component) => {\n tupleArr.push([component.id.toString(), artifact]);\n });\n }\n }\n\n return context.components.forEach((component) => {\n const artifact = this.createFromComponent(context, component, def, task);\n if (artifact) {\n tupleArr.push([component.id.toString(), artifact]);\n }\n });\n });\n\n return this.toComponentMap(context, tupleArr);\n }\n}\n"],"mappings":"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"}
@@ -7,17 +7,16 @@ exports.TaskIdDelimiter = exports.CAPSULE_ARTIFACTS_DIR = exports.BuildTaskHelpe
7
7
  /**
8
8
  * delimiter between task.aspectId and task.name
9
9
  */
10
- const TaskIdDelimiter = ':';
10
+ const TaskIdDelimiter = exports.TaskIdDelimiter = ':';
11
11
 
12
12
  /**
13
13
  * A folder to write artifacts generated during a build task
14
14
  * This folder is used in the core envs and excluded by default from the package tar file (the core envs is writing this into the npmignore file)
15
15
  */
16
- exports.TaskIdDelimiter = TaskIdDelimiter;
17
- const CAPSULE_ARTIFACTS_DIR = 'artifacts';
16
+ const CAPSULE_ARTIFACTS_DIR = exports.CAPSULE_ARTIFACTS_DIR = 'artifacts';
18
17
 
19
18
  // TODO: rename to BuildTaskResults
20
- exports.CAPSULE_ARTIFACTS_DIR = CAPSULE_ARTIFACTS_DIR;
19
+
21
20
  class BuildTaskHelper {
22
21
  static serializeId({
23
22
  aspectId,
@@ -1 +1 @@
1
- {"version":3,"names":["TaskIdDelimiter","exports","CAPSULE_ARTIFACTS_DIR","BuildTaskHelper","serializeId","aspectId","name","deserializeId","id","split","length","Error","deserializeIdAllowEmptyName","includes","undefined"],"sources":["build-task.ts"],"sourcesContent":["import type { Component } from '@teambit/component';\nimport { LaneId } from '@teambit/lane-id';\nimport { ExecutionContext } from '@teambit/envs';\nimport type { Network } from '@teambit/isolator';\nimport type { ComponentResult } from './types';\nimport type { ArtifactDefinition } from './artifact';\nimport { TaskResultsList } from './task-results-list';\nimport { TaskResults } from './build-pipe';\nimport { PipeName } from './builder.service';\n\nexport type TaskLocation = 'start' | 'end';\n\n/**\n * delimiter between task.aspectId and task.name\n */\nexport const TaskIdDelimiter = ':';\n\n/**\n * A folder to write artifacts generated during a build task\n * This folder is used in the core envs and excluded by default from the package tar file (the core envs is writing this into the npmignore file)\n */\nexport const CAPSULE_ARTIFACTS_DIR = 'artifacts';\n\nexport interface BuildContext extends ExecutionContext {\n /**\n * all components about to be built/tagged.\n */\n components: Component[];\n\n /**\n * network of capsules ready to be built.\n */\n capsuleNetwork: Network;\n\n /**\n * data generated by tasks that were running before this task\n */\n previousTasksResults: TaskResults[];\n\n /**\n * Run the build pipeline in dev mode\n */\n dev?: boolean;\n\n /**\n * pipe name such as \"build\", \"tas\", \"snap\".\n * an example usage is \"deploy\" task which is running in snap and tag pipeline and has different needs in each one.\n */\n pipeName: PipeName;\n\n /**\n * current lane-id if exists. empty when on main.\n */\n laneId?: LaneId;\n}\n\nexport interface TaskDescriptor {\n aspectId: string;\n name?: string;\n description?: string;\n}\n\nexport interface BuildTask {\n /**\n * aspect id serialized of the creator of the task.\n * todo: automate this so then it won't be needed to pass manually.\n */\n aspectId: string;\n\n /**\n * name of the task. function as an identifier among other tasks of the same aspectId.\n * spaces and special characters are not allowed. as a convention, use UpperCamelCase style.\n * (e.g. TypescriptCompiler).\n */\n name: string;\n\n /**\n * description of what the task does.\n * if available, the logger will log it show it in the status-line.\n */\n description?: string;\n\n /**\n * where to put the task, before the env pipeline or after\n */\n location?: TaskLocation;\n\n /**\n * execute a task in a build context\n */\n execute(context: BuildContext): Promise<BuiltTaskResult>;\n\n /**\n * run before the build pipeline has started. this is useful when some preparation are needed to\n * be done on all envs before the build starts.\n * e.g. typescript compiler needs to write the tsconfig file. doing it during the task, will\n * cause dependencies from other envs to get this tsconfig written.\n */\n preBuild?(context: BuildContext): Promise<void>;\n\n /**\n * run after the build pipeline completed for all envs. useful for doing some cleanup on the\n * capsules before the deployment starts.\n */\n postBuild?(context: BuildContext, tasksResults: TaskResultsList): Promise<void>;\n\n /**\n * needed if you want the task to be running only after the dependencies were completed\n * for *all* envs.\n * normally this is not needed because the build-pipeline runs the tasks in the same order\n * they're located in the `getBuildPipe()` array and according to the task.location.\n * the case where this is useful is when a task not only needs to be after another task, but also\n * after all environments were running that task.\n * a dependency is task.aspectId. if an aspect has multiple tasks, to be more specific, use\n * \"aspectId:name\", e.g. \"teambit.compilation/compiler:TypescriptCompiler\".\n */\n dependencies?: string[];\n}\n\n// TODO: rename to BuildTaskResults\nexport interface BuiltTaskResult {\n /**\n * build results for each of the components in the build context.\n */\n componentsResults: ComponentResult[];\n\n /**\n * array of artifact definitions to generate after a successful build.\n */\n artifacts?: ArtifactDefinition[];\n}\n\nexport class BuildTaskHelper {\n static serializeId({ aspectId, name }: { aspectId: string; name: string }): string {\n return aspectId + TaskIdDelimiter + name;\n }\n static deserializeId(id: string): { aspectId: string; name: string } {\n const split = id.split(TaskIdDelimiter);\n if (split.length === 0) throw new Error(`deserializeId, ${id} is empty`);\n if (split.length === 1) throw new Error(`deserializeId, ${id} has only aspect-id without name`);\n if (split.length === 2) return { aspectId: split[0], name: split[1] };\n throw new Error(`deserializeId, id ${id} has more than one ${TaskIdDelimiter}`);\n }\n /**\n * don't throw an error when the id includes only the aspect-id without the task name.\n * useful for task dependencies, when it's allowed to specify the aspect-id only.\n */\n static deserializeIdAllowEmptyName(id: string): { aspectId: string; name?: string } {\n return id.includes(TaskIdDelimiter) ? BuildTaskHelper.deserializeId(id) : { aspectId: id, name: undefined };\n }\n}\n"],"mappings":";;;;;;AAYA;AACA;AACA;AACO,MAAMA,eAAe,GAAG,GAAG;;AAElC;AACA;AACA;AACA;AAHAC,OAAA,CAAAD,eAAA,GAAAA,eAAA;AAIO,MAAME,qBAAqB,GAAG,WAAW;;AAkGhD;AAAAD,OAAA,CAAAC,qBAAA,GAAAA,qBAAA;AAaO,MAAMC,eAAe,CAAC;EAC3B,OAAOC,WAAWA,CAAC;IAAEC,QAAQ;IAAEC;EAAyC,CAAC,EAAU;IACjF,OAAOD,QAAQ,GAAGL,eAAe,GAAGM,IAAI;EAC1C;EACA,OAAOC,aAAaA,CAACC,EAAU,EAAsC;IACnE,MAAMC,KAAK,GAAGD,EAAE,CAACC,KAAK,CAACT,eAAe,CAAC;IACvC,IAAIS,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE,MAAM,IAAIC,KAAK,CAAE,kBAAiBH,EAAG,WAAU,CAAC;IACxE,IAAIC,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE,MAAM,IAAIC,KAAK,CAAE,kBAAiBH,EAAG,kCAAiC,CAAC;IAC/F,IAAIC,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO;MAAEL,QAAQ,EAAEI,KAAK,CAAC,CAAC,CAAC;MAAEH,IAAI,EAAEG,KAAK,CAAC,CAAC;IAAE,CAAC;IACrE,MAAM,IAAIE,KAAK,CAAE,qBAAoBH,EAAG,sBAAqBR,eAAgB,EAAC,CAAC;EACjF;EACA;AACF;AACA;AACA;EACE,OAAOY,2BAA2BA,CAACJ,EAAU,EAAuC;IAClF,OAAOA,EAAE,CAACK,QAAQ,CAACb,eAAe,CAAC,GAAGG,eAAe,CAACI,aAAa,CAACC,EAAE,CAAC,GAAG;MAAEH,QAAQ,EAAEG,EAAE;MAAEF,IAAI,EAAEQ;IAAU,CAAC;EAC7G;AACF;AAACb,OAAA,CAAAE,eAAA,GAAAA,eAAA"}
1
+ {"version":3,"names":["TaskIdDelimiter","exports","CAPSULE_ARTIFACTS_DIR","BuildTaskHelper","serializeId","aspectId","name","deserializeId","id","split","length","Error","deserializeIdAllowEmptyName","includes","undefined"],"sources":["build-task.ts"],"sourcesContent":["import type { Component } from '@teambit/component';\nimport { LaneId } from '@teambit/lane-id';\nimport { ExecutionContext } from '@teambit/envs';\nimport type { Network } from '@teambit/isolator';\nimport type { ComponentResult } from './types';\nimport type { ArtifactDefinition } from './artifact';\nimport { TaskResultsList } from './task-results-list';\nimport { TaskResults } from './build-pipe';\nimport { PipeName } from './builder.service';\n\nexport type TaskLocation = 'start' | 'end';\n\n/**\n * delimiter between task.aspectId and task.name\n */\nexport const TaskIdDelimiter = ':';\n\n/**\n * A folder to write artifacts generated during a build task\n * This folder is used in the core envs and excluded by default from the package tar file (the core envs is writing this into the npmignore file)\n */\nexport const CAPSULE_ARTIFACTS_DIR = 'artifacts';\n\nexport interface BuildContext extends ExecutionContext {\n /**\n * all components about to be built/tagged.\n */\n components: Component[];\n\n /**\n * network of capsules ready to be built.\n */\n capsuleNetwork: Network;\n\n /**\n * data generated by tasks that were running before this task\n */\n previousTasksResults: TaskResults[];\n\n /**\n * Run the build pipeline in dev mode\n */\n dev?: boolean;\n\n /**\n * pipe name such as \"build\", \"tas\", \"snap\".\n * an example usage is \"deploy\" task which is running in snap and tag pipeline and has different needs in each one.\n */\n pipeName: PipeName;\n\n /**\n * current lane-id if exists. empty when on main.\n */\n laneId?: LaneId;\n}\n\nexport interface TaskDescriptor {\n aspectId: string;\n name?: string;\n description?: string;\n}\n\nexport interface BuildTask {\n /**\n * aspect id serialized of the creator of the task.\n * todo: automate this so then it won't be needed to pass manually.\n */\n aspectId: string;\n\n /**\n * name of the task. function as an identifier among other tasks of the same aspectId.\n * spaces and special characters are not allowed. as a convention, use UpperCamelCase style.\n * (e.g. TypescriptCompiler).\n */\n name: string;\n\n /**\n * description of what the task does.\n * if available, the logger will log it show it in the status-line.\n */\n description?: string;\n\n /**\n * where to put the task, before the env pipeline or after\n */\n location?: TaskLocation;\n\n /**\n * execute a task in a build context\n */\n execute(context: BuildContext): Promise<BuiltTaskResult>;\n\n /**\n * run before the build pipeline has started. this is useful when some preparation are needed to\n * be done on all envs before the build starts.\n * e.g. typescript compiler needs to write the tsconfig file. doing it during the task, will\n * cause dependencies from other envs to get this tsconfig written.\n */\n preBuild?(context: BuildContext): Promise<void>;\n\n /**\n * run after the build pipeline completed for all envs. useful for doing some cleanup on the\n * capsules before the deployment starts.\n */\n postBuild?(context: BuildContext, tasksResults: TaskResultsList): Promise<void>;\n\n /**\n * needed if you want the task to be running only after the dependencies were completed\n * for *all* envs.\n * normally this is not needed because the build-pipeline runs the tasks in the same order\n * they're located in the `getBuildPipe()` array and according to the task.location.\n * the case where this is useful is when a task not only needs to be after another task, but also\n * after all environments were running that task.\n * a dependency is task.aspectId. if an aspect has multiple tasks, to be more specific, use\n * \"aspectId:name\", e.g. \"teambit.compilation/compiler:TypescriptCompiler\".\n */\n dependencies?: string[];\n}\n\n// TODO: rename to BuildTaskResults\nexport interface BuiltTaskResult {\n /**\n * build results for each of the components in the build context.\n */\n componentsResults: ComponentResult[];\n\n /**\n * array of artifact definitions to generate after a successful build.\n */\n artifacts?: ArtifactDefinition[];\n}\n\nexport class BuildTaskHelper {\n static serializeId({ aspectId, name }: { aspectId: string; name: string }): string {\n return aspectId + TaskIdDelimiter + name;\n }\n static deserializeId(id: string): { aspectId: string; name: string } {\n const split = id.split(TaskIdDelimiter);\n if (split.length === 0) throw new Error(`deserializeId, ${id} is empty`);\n if (split.length === 1) throw new Error(`deserializeId, ${id} has only aspect-id without name`);\n if (split.length === 2) return { aspectId: split[0], name: split[1] };\n throw new Error(`deserializeId, id ${id} has more than one ${TaskIdDelimiter}`);\n }\n /**\n * don't throw an error when the id includes only the aspect-id without the task name.\n * useful for task dependencies, when it's allowed to specify the aspect-id only.\n */\n static deserializeIdAllowEmptyName(id: string): { aspectId: string; name?: string } {\n return id.includes(TaskIdDelimiter) ? BuildTaskHelper.deserializeId(id) : { aspectId: id, name: undefined };\n }\n}\n"],"mappings":";;;;;;AAYA;AACA;AACA;AACO,MAAMA,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,GAAG;;AAElC;AACA;AACA;AACA;AACO,MAAME,qBAAqB,GAAAD,OAAA,CAAAC,qBAAA,GAAG,WAAW;;AAkGhD;;AAaO,MAAMC,eAAe,CAAC;EAC3B,OAAOC,WAAWA,CAAC;IAAEC,QAAQ;IAAEC;EAAyC,CAAC,EAAU;IACjF,OAAOD,QAAQ,GAAGL,eAAe,GAAGM,IAAI;EAC1C;EACA,OAAOC,aAAaA,CAACC,EAAU,EAAsC;IACnE,MAAMC,KAAK,GAAGD,EAAE,CAACC,KAAK,CAACT,eAAe,CAAC;IACvC,IAAIS,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE,MAAM,IAAIC,KAAK,CAAE,kBAAiBH,EAAG,WAAU,CAAC;IACxE,IAAIC,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE,MAAM,IAAIC,KAAK,CAAE,kBAAiBH,EAAG,kCAAiC,CAAC;IAC/F,IAAIC,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO;MAAEL,QAAQ,EAAEI,KAAK,CAAC,CAAC,CAAC;MAAEH,IAAI,EAAEG,KAAK,CAAC,CAAC;IAAE,CAAC;IACrE,MAAM,IAAIE,KAAK,CAAE,qBAAoBH,EAAG,sBAAqBR,eAAgB,EAAC,CAAC;EACjF;EACA;AACF;AACA;AACA;EACE,OAAOY,2BAA2BA,CAACJ,EAAU,EAAuC;IAClF,OAAOA,EAAE,CAACK,QAAQ,CAACb,eAAe,CAAC,GAAGG,eAAe,CAACI,aAAa,CAACC,EAAE,CAAC,GAAG;MAAEH,QAAQ,EAAEG,EAAE;MAAEF,IAAI,EAAEQ;IAAU,CAAC;EAC7G;AACF;AAACb,OAAA,CAAAE,eAAA,GAAAA,eAAA"}
@@ -11,9 +11,8 @@ function _harmony() {
11
11
  };
12
12
  return data;
13
13
  }
14
- const BuilderAspect = _harmony().Aspect.create({
14
+ const BuilderAspect = exports.BuilderAspect = _harmony().Aspect.create({
15
15
  id: 'teambit.pipelines/builder'
16
16
  });
17
- exports.BuilderAspect = BuilderAspect;
18
17
 
19
18
  //# sourceMappingURL=builder.aspect.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_harmony","data","require","BuilderAspect","Aspect","create","id","exports"],"sources":["builder.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const BuilderAspect = Aspect.create({\n id: 'teambit.pipelines/builder',\n});\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,aAAa,GAAGC,iBAAM,CAACC,MAAM,CAAC;EACzCC,EAAE,EAAE;AACN,CAAC,CAAC;AAACC,OAAA,CAAAJ,aAAA,GAAAA,aAAA"}
1
+ {"version":3,"names":["_harmony","data","require","BuilderAspect","exports","Aspect","create","id"],"sources":["builder.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const BuilderAspect = Aspect.create({\n id: 'teambit.pipelines/builder',\n});\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAGE,iBAAM,CAACC,MAAM,CAAC;EACzCC,EAAE,EAAE;AACN,CAAC,CAAC"}
@@ -220,7 +220,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
220
220
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
221
221
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
222
222
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // it gets undefined when importing it from './artifact'
223
- const FILE_PATH_PARAM_DELIM = '~';
223
+ const FILE_PATH_PARAM_DELIM = exports.FILE_PATH_PARAM_DELIM = '~';
224
224
 
225
225
  /**
226
226
  * builder data format for the bit object store
@@ -229,7 +229,7 @@ const FILE_PATH_PARAM_DELIM = '~';
229
229
  /**
230
230
  * builder data mapped to an ArtifactList instance
231
231
  */
232
- exports.FILE_PATH_PARAM_DELIM = FILE_PATH_PARAM_DELIM;
232
+
233
233
  class BuilderMain {
234
234
  constructor(envs, workspace, buildService, tagService, snapService, scope, isolator, aspectLoader, componentAspect, globalConfig, buildTaskSlot, tagTaskSlot, snapTaskSlot, logger) {
235
235
  this.envs = envs;
@@ -1 +1 @@
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","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","FILE_PATH_PARAM_DELIM","exports","BuilderMain","constructor","envs","workspace","buildService","tagService","snapService","scope","isolator","aspectLoader","componentAspect","globalConfig","buildTaskSlot","tagTaskSlot","snapTaskSlot","logger","storeArtifacts","tasksResults","artifacts","flatMap","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","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","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","consoleTitle","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","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 { Logger, 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 { TaskMetadata } 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 private logger: Logger\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, 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, 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, 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 /**\n * this is the aspect's data that was generated as \"metadata\" of the task component-result during the build process\n * and saved by the builder aspect in the \"aspectsData\" property.\n * (not to be confused with the data saved in the aspect itself, which is saved in the \"data\" property of the aspect).\n */\n getDataByAspect(component: IComponent, aspectName: string): TaskMetadata | 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 this.logger.consoleTitle(`Total ${components.length} components to build`);\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 logger\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","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","FILE_PATH_PARAM_DELIM","exports","BuilderMain","constructor","envs","workspace","buildService","tagService","snapService","scope","isolator","aspectLoader","componentAspect","globalConfig","buildTaskSlot","tagTaskSlot","snapTaskSlot","logger","storeArtifacts","tasksResults","artifacts","flatMap","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","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","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","consoleTitle","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","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 { Logger, 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 { TaskMetadata } 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 private logger: Logger\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, 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, 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, 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 /**\n * this is the aspect's data that was generated as \"metadata\" of the task component-result during the build process\n * and saved by the builder aspect in the \"aspectsData\" property.\n * (not to be confused with the data saved in the aspect itself, which is saved in the \"data\" property of the aspect).\n */\n getDataByAspect(component: IComponent, aspectName: string): TaskMetadata | 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 this.logger.consoleTitle(`Total ${components.length} components to build`);\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 logger\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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"}
@@ -22,10 +22,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
22
22
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
23
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
24
24
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
25
- const routePath = `builder`;
26
- exports.routePath = routePath;
27
- const defaultExtension = '.tgz';
28
- exports.defaultExtension = defaultExtension;
25
+ const routePath = exports.routePath = `builder`;
26
+ const defaultExtension = exports.defaultExtension = '.tgz';
29
27
  class BuilderRoute {
30
28
  constructor(builder, scope, logger) {
31
29
  this.builder = builder;
@@ -1 +1 @@
1
- {"version":3,"names":["_archiver","data","_interopRequireDefault","require","_mime","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","routePath","exports","defaultExtension","BuilderRoute","constructor","builder","scope","logger","req","component","params","aspectIdStr","filePath","split","aspectId","replace","artifacts","getArtifactsByAspect","getArtifacts","status","jsonp","error","id","extensionsWithArtifacts","Promise","all","map","artifact","files","getVinylsAndImportIfMissing","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, 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
+ {"version":3,"names":["_archiver","data","_interopRequireDefault","require","_mime","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","routePath","exports","defaultExtension","BuilderRoute","constructor","builder","scope","logger","req","component","params","aspectIdStr","filePath","split","aspectId","replace","artifacts","getArtifactsByAspect","getArtifacts","status","jsonp","error","id","extensionsWithArtifacts","Promise","all","map","artifact","files","getVinylsAndImportIfMissing","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, 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,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@1.0.41/dist/builder.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@1.0.41/dist/builder.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@1.0.43/dist/builder.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@1.0.43/dist/builder.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -18,7 +18,7 @@ function _taskFile() {
18
18
  };
19
19
  return data;
20
20
  }
21
- const buildTaskTemplate = {
21
+ const buildTaskTemplate = exports.buildTaskTemplate = {
22
22
  name: 'build-task',
23
23
  description: 'create a custom build task for your component pipelines',
24
24
  hidden: false,
@@ -39,6 +39,5 @@ const buildTaskTemplate = {
39
39
  }
40
40
  }
41
41
  };
42
- exports.buildTaskTemplate = buildTaskTemplate;
43
42
 
44
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_indexFile","data","require","_taskFile","buildTaskTemplate","name","description","hidden","generateFiles","context","relativePath","content","indexFile","isMain","taskFile","config","env","exports"],"sources":["index.ts"],"sourcesContent":["import { ComponentContext, ComponentTemplate } from '@teambit/generator';\nimport { indexFile } from './files/index-file';\nimport { taskFile } from './files/task-file';\n\nexport const buildTaskTemplate: ComponentTemplate = {\n name: 'build-task',\n description: 'create a custom build task for your component pipelines',\n hidden: false,\n generateFiles: (context: ComponentContext) => {\n return [\n {\n relativePath: 'index.ts',\n content: indexFile(context),\n isMain: true,\n },\n {\n relativePath: `${context.name}.task.ts`,\n content: taskFile(context),\n },\n ];\n },\n config: {\n 'teambit.harmony/aspect': {},\n 'teambit.envs/envs': {\n env: 'teambit.harmony/aspect',\n },\n },\n};\n"],"mappings":";;;;;;AACA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,UAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMG,iBAAoC,GAAG;EAClDC,IAAI,EAAE,YAAY;EAClBC,WAAW,EAAE,yDAAyD;EACtEC,MAAM,EAAE,KAAK;EACbC,aAAa,EAAGC,OAAyB,IAAK;IAC5C,OAAO,CACL;MACEC,YAAY,EAAE,UAAU;MACxBC,OAAO,EAAE,IAAAC,sBAAS,EAACH,OAAO,CAAC;MAC3BI,MAAM,EAAE;IACV,CAAC,EACD;MACEH,YAAY,EAAG,GAAED,OAAO,CAACJ,IAAK,UAAS;MACvCM,OAAO,EAAE,IAAAG,oBAAQ,EAACL,OAAO;IAC3B,CAAC,CACF;EACH,CAAC;EACDM,MAAM,EAAE;IACN,wBAAwB,EAAE,CAAC,CAAC;IAC5B,mBAAmB,EAAE;MACnBC,GAAG,EAAE;IACP;EACF;AACF,CAAC;AAACC,OAAA,CAAAb,iBAAA,GAAAA,iBAAA"}
1
+ {"version":3,"names":["_indexFile","data","require","_taskFile","buildTaskTemplate","exports","name","description","hidden","generateFiles","context","relativePath","content","indexFile","isMain","taskFile","config","env"],"sources":["index.ts"],"sourcesContent":["import { ComponentContext, ComponentTemplate } from '@teambit/generator';\nimport { indexFile } from './files/index-file';\nimport { taskFile } from './files/task-file';\n\nexport const buildTaskTemplate: ComponentTemplate = {\n name: 'build-task',\n description: 'create a custom build task for your component pipelines',\n hidden: false,\n generateFiles: (context: ComponentContext) => {\n return [\n {\n relativePath: 'index.ts',\n content: indexFile(context),\n isMain: true,\n },\n {\n relativePath: `${context.name}.task.ts`,\n content: taskFile(context),\n },\n ];\n },\n config: {\n 'teambit.harmony/aspect': {},\n 'teambit.envs/envs': {\n env: 'teambit.harmony/aspect',\n },\n },\n};\n"],"mappings":";;;;;;AACA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,UAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMG,iBAAoC,GAAAC,OAAA,CAAAD,iBAAA,GAAG;EAClDE,IAAI,EAAE,YAAY;EAClBC,WAAW,EAAE,yDAAyD;EACtEC,MAAM,EAAE,KAAK;EACbC,aAAa,EAAGC,OAAyB,IAAK;IAC5C,OAAO,CACL;MACEC,YAAY,EAAE,UAAU;MACxBC,OAAO,EAAE,IAAAC,sBAAS,EAACH,OAAO,CAAC;MAC3BI,MAAM,EAAE;IACV,CAAC,EACD;MACEH,YAAY,EAAG,GAAED,OAAO,CAACJ,IAAK,UAAS;MACvCM,OAAO,EAAE,IAAAG,oBAAQ,EAACL,OAAO;IAC3B,CAAC,CACF;EACH,CAAC;EACDM,MAAM,EAAE;IACN,wBAAwB,EAAE,CAAC,CAAC;IAC5B,mBAAmB,EAAE;MACnBC,GAAG,EAAE;IACP;EACF;AACF,CAAC"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/builder",
3
- "version": "1.0.41",
3
+ "version": "1.0.43",
4
4
  "homepage": "https://bit.cloud/teambit/pipelines/builder",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.pipelines",
8
8
  "name": "builder",
9
- "version": "1.0.41"
9
+ "version": "1.0.43"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -23,28 +23,28 @@
23
23
  "minimatch": "3.0.5",
24
24
  "globby": "11.0.1",
25
25
  "core-js": "^3.0.0",
26
- "@babel/runtime": "7.20.0",
26
+ "@babel/runtime": "7.23.2",
27
27
  "@teambit/graph.cleargraph": "0.0.1",
28
28
  "@teambit/lane-id": "0.0.311",
29
29
  "@teambit/harmony": "0.4.6",
30
30
  "@teambit/bit-error": "0.0.404",
31
31
  "@teambit/component-id": "1.1.1",
32
- "@teambit/component": "1.0.41",
33
- "@teambit/envs": "1.0.41",
34
- "@teambit/logger": "0.0.899",
32
+ "@teambit/component": "1.0.43",
33
+ "@teambit/envs": "1.0.43",
34
+ "@teambit/logger": "0.0.901",
35
35
  "@teambit/toolbox.string.capitalize": "0.0.493",
36
- "@teambit/tester": "1.0.41",
37
- "@teambit/isolator": "1.0.41",
38
- "@teambit/cli": "0.0.806",
39
- "@teambit/workspace": "1.0.41",
40
- "@teambit/aspect-loader": "1.0.41",
41
- "@teambit/aspect": "1.0.41",
42
- "@teambit/generator": "1.0.42",
43
- "@teambit/global-config": "0.0.808",
44
- "@teambit/graphql": "1.0.41",
45
- "@teambit/scope": "1.0.41",
46
- "@teambit/ui": "1.0.41",
47
- "@teambit/express": "0.0.905"
36
+ "@teambit/tester": "1.0.43",
37
+ "@teambit/isolator": "1.0.43",
38
+ "@teambit/cli": "0.0.808",
39
+ "@teambit/workspace": "1.0.43",
40
+ "@teambit/aspect-loader": "1.0.43",
41
+ "@teambit/aspect": "1.0.43",
42
+ "@teambit/generator": "1.0.44",
43
+ "@teambit/global-config": "0.0.810",
44
+ "@teambit/graphql": "1.0.43",
45
+ "@teambit/scope": "1.0.43",
46
+ "@teambit/ui": "1.0.43",
47
+ "@teambit/express": "0.0.907"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@types/lodash": "4.14.165",
@@ -58,10 +58,10 @@
58
58
  "@types/react-dom": "^17.0.5",
59
59
  "@types/jest": "^26.0.0",
60
60
  "@types/testing-library__jest-dom": "5.9.5",
61
- "@teambit/pipelines.aspect-docs.builder": "0.0.162"
61
+ "@teambit/pipelines.aspect-docs.builder": "0.0.164"
62
62
  },
63
63
  "peerDependencies": {
64
- "@teambit/legacy": "1.0.587",
64
+ "@teambit/legacy": "1.0.590",
65
65
  "react": "^16.8.0 || ^17.0.0",
66
66
  "react-dom": "^16.8.0 || ^17.0.0"
67
67
  },