@teambit/builder 0.0.568 → 0.0.572

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/artifact/artifact-definition.ts +52 -0
  2. package/artifact/artifact-extractor.ts +116 -0
  3. package/artifact/artifact-factory.ts +119 -0
  4. package/artifact/artifact-list.ts +64 -0
  5. package/artifact/artifact.ts +81 -0
  6. package/artifact/artifacts.cmd.ts +68 -0
  7. package/artifact/extension-artifact.ts +12 -0
  8. package/artifact/index.ts +5 -0
  9. package/builder.service.tsx +163 -0
  10. package/dist/builder.main.runtime.d.ts +4 -2
  11. package/dist/builder.main.runtime.js +23 -2
  12. package/dist/builder.main.runtime.js.map +1 -1
  13. package/dist/templates/build-task/files/index-file.d.ts +2 -0
  14. package/dist/templates/build-task/files/index-file.js +15 -0
  15. package/dist/templates/build-task/files/index-file.js.map +1 -0
  16. package/dist/templates/build-task/files/task-file.d.ts +2 -0
  17. package/dist/templates/build-task/files/task-file.js +67 -0
  18. package/dist/templates/build-task/files/task-file.js.map +1 -0
  19. package/dist/templates/build-task/index.d.ts +2 -0
  20. package/dist/templates/build-task/index.js +45 -0
  21. package/dist/templates/build-task/index.js.map +1 -0
  22. package/exceptions/artifact-storage-error.ts +7 -0
  23. package/exceptions/capsule-not-found.ts +7 -0
  24. package/exceptions/index.ts +3 -0
  25. package/exceptions/invalid-task.ts +7 -0
  26. package/package-tar/teambit-builder-0.0.572.tgz +0 -0
  27. package/package.json +18 -32
  28. package/pipeline/index.ts +1 -0
  29. package/pipeline/pipeline-results.ts +1 -0
  30. package/storage/default-resolver.ts +13 -0
  31. package/storage/index.ts +2 -0
  32. package/storage/s3-resolver.ts +40 -0
  33. package/storage/storage-resolver.ts +18 -0
  34. package/templates/build-task/files/index-file.ts +5 -0
  35. package/templates/build-task/files/task-file.ts +58 -0
  36. package/templates/build-task/index.ts +22 -0
  37. package/types/asset.d.ts +29 -0
  38. package/types/style.d.ts +42 -0
@@ -11,6 +11,7 @@ import { Workspace } from '@teambit/workspace';
11
11
  import { IsolateComponentsOptions, IsolatorMain } from '@teambit/isolator';
12
12
  import { OnTagOpts } from '@teambit/legacy/dist/scope/scope';
13
13
  import { ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';
14
+ import { GeneratorMain } from '@teambit/generator';
14
15
  import { BuilderService, BuilderServiceOptions } from './builder.service';
15
16
  import { BuildTask } from './build-task';
16
17
  import { StorageResolver } from './storage';
@@ -95,7 +96,7 @@ export declare class BuilderMain {
95
96
  static slots: (((registerFn: () => string) => SlotRegistry<BuildTask>) | ((registerFn: () => string) => SlotRegistry<StorageResolver>))[];
96
97
  static runtime: import("@teambit/harmony").RuntimeDefinition;
97
98
  static dependencies: import("@teambit/harmony").Aspect[];
98
- static provider([cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql]: [
99
+ static provider([cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql, generator]: [
99
100
  CLIMain,
100
101
  EnvsMain,
101
102
  Workspace,
@@ -103,7 +104,8 @@ export declare class BuilderMain {
103
104
  IsolatorMain,
104
105
  LoggerMain,
105
106
  AspectLoaderMain,
106
- GraphqlMain
107
+ GraphqlMain,
108
+ GeneratorMain
107
109
  ], config: any, [buildTaskSlot, storageResolversSlot, tagTaskSlot, snapTaskSlot]: [
108
110
  TaskSlot,
109
111
  StorageResolverSlot,
@@ -135,6 +135,16 @@ function _isolator() {
135
135
  return data;
136
136
  }
137
137
 
138
+ function _generator() {
139
+ const data = require("@teambit/generator");
140
+
141
+ _generator = function () {
142
+ return data;
143
+ };
144
+
145
+ return data;
146
+ }
147
+
138
148
  function _artifactFactory() {
139
149
  const data = require("./artifact/artifact-factory");
140
150
 
@@ -215,6 +225,16 @@ function _artifacts() {
215
225
  return data;
216
226
  }
217
227
 
228
+ function _buildTask() {
229
+ const data = require("./templates/build-task");
230
+
231
+ _buildTask = function () {
232
+ return data;
233
+ };
234
+
235
+ return data;
236
+ }
237
+
218
238
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
219
239
 
220
240
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -449,7 +469,7 @@ class BuilderMain {
449
469
  return this;
450
470
  }
451
471
 
452
- static async provider([cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql], config, [buildTaskSlot, storageResolversSlot, tagTaskSlot, snapTaskSlot]) {
472
+ static async provider([cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql, generator], config, [buildTaskSlot, storageResolversSlot, tagTaskSlot, snapTaskSlot]) {
453
473
  const artifactFactory = new (_artifactFactory().ArtifactFactory)(storageResolversSlot);
454
474
  const logger = loggerExt.createLogger(_builder().BuilderAspect.id);
455
475
  const buildService = new (_builder3().BuilderService)(isolator, logger, buildTaskSlot, 'getBuildPipe', 'build', artifactFactory, scope);
@@ -458,6 +478,7 @@ class BuilderMain {
458
478
  const snapService = new (_builder3().BuilderService)(isolator, logger, snapTaskSlot, 'getSnapPipe', 'snap', artifactFactory, scope);
459
479
  const builder = new BuilderMain(envs, workspace, buildService, tagService, snapService, scope, isolator, aspectLoader, buildTaskSlot, tagTaskSlot, snapTaskSlot, storageResolversSlot);
460
480
  graphql.register((0, _builder2().builderSchema)(builder));
481
+ generator.registerComponentTemplate([_buildTask().buildTaskTemplate]);
461
482
  const func = builder.tagListener.bind(builder);
462
483
  if (scope) scope.onTag(func);
463
484
 
@@ -475,7 +496,7 @@ class BuilderMain {
475
496
  exports.BuilderMain = BuilderMain;
476
497
  (0, _defineProperty2().default)(BuilderMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
477
498
  (0, _defineProperty2().default)(BuilderMain, "runtime", _cli().MainRuntime);
478
- (0, _defineProperty2().default)(BuilderMain, "dependencies", [_cli().CLIAspect, _envs().EnvsAspect, _workspace().WorkspaceAspect, _scope().ScopeAspect, _isolator().IsolatorAspect, _logger().LoggerAspect, _aspectLoader().AspectLoaderAspect, _graphql().GraphqlAspect, _component().ComponentAspect]);
499
+ (0, _defineProperty2().default)(BuilderMain, "dependencies", [_cli().CLIAspect, _envs().EnvsAspect, _workspace().WorkspaceAspect, _scope().ScopeAspect, _isolator().IsolatorAspect, _logger().LoggerAspect, _aspectLoader().AspectLoaderAspect, _graphql().GraphqlAspect, _generator().GeneratorAspect]);
479
500
 
480
501
  _builder().BuilderAspect.addRuntime(BuilderMain);
481
502
 
@@ -1 +1 @@
1
- {"version":3,"sources":["builder.main.runtime.ts"],"names":["BuilderMain","constructor","envs","workspace","buildService","tagService","snapService","scope","isolator","aspectLoader","buildTaskSlot","tagTaskSlot","snapTaskSlot","storageResolversSlot","storeArtifacts","tasksResults","artifacts","flatMap","t","storeP","map","artifactMap","Promise","all","toArray","component","artifactList","store","err","ArtifactStorageError","pipelineResultsToBuilderData","components","buildPipelineResults","buildPipelineResultList","BuildPipelineResultList","ComponentMap","as","aspectsData","getDataOfComponent","id","pipelineReport","getPipelineReportOfComponent","artifactsData","getArtifactsDataOfComponent","pipeline","tagListener","options","isolateOptions","pipeResults","throwOnError","forceDeploy","disableTagAndSnapPipelines","isSnap","envsExecutionResults","build","emptyRootDir","skipTests","throwErrorsIfExist","allTasksResults","push","hasErrors","deployEnvsExecutionResults","runSnapTasks","runTagTasks","builderDataMap","registerStorageResolver","storageResolver","register","getStorageResolver","name","values","find","getArtifactsVinylByExtension","aspectName","artifactsObjects","getArtifactsByExtension","vinyls","artifactObject","files","getVinylsAndImportIfMissing","legacyScope","getArtifactsVinylByExtensionAndName","getArtifactsByExtensionAndName","getArtifactsByName","getArtifacts","filter","artifact","task","getDataByAspect","getBuilderData","data","aspectData","aspectId","state","aspects","get","BuilderAspect","builderOptions","ids","c","network","isolateComponents","createEnvironment","graphCapsules","getAllComponents","builderServiceOptions","seedersOnly","buildResult","runOnce","listTasks","compEnv","getEnv","buildTasks","getCurrentPipeTasks","tagTasks","snapTasks","envId","registerBuildTasks","tasks","registerDeployTasks","registerTagTasks","registerSnapTasks","provider","cli","loggerExt","graphql","config","artifactFactory","ArtifactFactory","logger","createLogger","BuilderService","registerService","builder","func","bind","onTag","consumer","isLegacy","commands","BuilderCmd","ArtifactsCmd","unregister","Slot","withType","MainRuntime","CLIAspect","EnvsAspect","WorkspaceAspect","ScopeAspect","IsolatorAspect","LoggerAspect","AspectLoaderAspect","GraphqlAspect","ComponentAspect","addRuntime"],"mappings":"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","sourcesContent":["import { flatten } from 'lodash';\nimport { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Component, ComponentAspect, ComponentMap } from '@teambit/component';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { ScopeAspect, ScopeMain, OnTagResults } from '@teambit/scope';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { IsolateComponentsOptions, IsolatorAspect, IsolatorMain } from '@teambit/isolator';\nimport { OnTagOpts } from '@teambit/legacy/dist/scope/scope';\nimport { ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { ArtifactList } 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 } from './build-task';\nimport { StorageResolver } from './storage';\nimport { TaskResults } from './build-pipe';\nimport { TaskResultsList } from './task-results-list';\nimport { ArtifactStorageError } from './exceptions';\nimport { BuildPipelineResultList, AspectData, PipelineReport } from './build-pipeline-result-list';\nimport { Serializable } from './types';\nimport { ArtifactsCmd } from './artifact/artifacts.cmd';\n\nexport type TaskSlot = SlotRegistry<BuildTask[]>;\n\nexport type StorageResolverSlot = SlotRegistry<StorageResolver>;\n\nexport type BuilderData = {\n pipeline: PipelineReport[];\n artifacts: ArtifactObject[] | undefined;\n aspectsData: AspectData[];\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 buildTaskSlot: TaskSlot,\n private tagTaskSlot: TaskSlot,\n private snapTaskSlot: TaskSlot,\n private storageResolversSlot: StorageResolverSlot\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>) => {\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<BuilderData> {\n const buildPipelineResultList = new BuildPipelineResultList(buildPipelineResults, components);\n return ComponentMap.as<BuilderData>(components, (component) => {\n const aspectsData = buildPipelineResultList.getDataOfComponent(component.id);\n const pipelineReport = buildPipelineResultList.getPipelineReportOfComponent(component.id);\n const artifactsData = buildPipelineResultList.getArtifactsDataOfComponent(component.id);\n return { pipeline: pipelineReport, artifacts: artifactsData, aspectsData };\n });\n }\n\n async tagListener(\n components: Component[],\n options: OnTagOpts = {},\n isolateOptions: IsolateComponentsOptions = {}\n ): Promise<OnTagResults> {\n const pipeResults: TaskResultsList[] = [];\n const { throwOnError, forceDeploy, disableTagAndSnapPipelines, isSnap } = options;\n const envsExecutionResults = await this.build(\n components,\n { emptyRootDir: true, ...isolateOptions },\n { skipTests: options.skipTests }\n );\n if (throwOnError && !forceDeploy) envsExecutionResults.throwErrorsIfExist();\n const allTasksResults = [...envsExecutionResults.tasksResults];\n pipeResults.push(envsExecutionResults);\n if (forceDeploy || (!disableTagAndSnapPipelines && !envsExecutionResults.hasErrors())) {\n const deployEnvsExecutionResults = isSnap\n ? await this.runSnapTasks(components, isolateOptions)\n : await this.runTagTasks(components, isolateOptions);\n if (throwOnError) 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 return { builderDataMap, pipeResults };\n }\n\n /**\n * register a new storage resolver.\n */\n registerStorageResolver(storageResolver: StorageResolver) {\n this.storageResolversSlot.register(storageResolver);\n return this;\n }\n\n /**\n * get storage resolver by name. otherwise, returns default.\n */\n getStorageResolver(name: string): StorageResolver | undefined {\n return this.storageResolversSlot.values().find((storageResolver) => storageResolver.name === name);\n }\n\n // TODO: merge with getArtifactsVinylByExtensionAndName by getting aspect name and name as object with optional props\n async getArtifactsVinylByExtension(component: Component, aspectName: string): Promise<ArtifactVinyl[]> {\n const artifactsObjects = this.getArtifactsByExtension(component, aspectName);\n const vinyls = await Promise.all(\n (artifactsObjects || []).map((artifactObject) =>\n artifactObject.files.getVinylsAndImportIfMissing(component.id.scope as string, this.scope.legacyScope)\n )\n );\n return flatten(vinyls);\n }\n\n async getArtifactsVinylByExtensionAndName(\n component: Component,\n aspectName: string,\n name: string\n ): Promise<ArtifactVinyl[]> {\n const artifactsObjects = this.getArtifactsByExtensionAndName(component, aspectName, name);\n const vinyls = await Promise.all(\n (artifactsObjects || []).map((artifactObject) =>\n artifactObject.files.getVinylsAndImportIfMissing(component.id.scope as string, this.scope.legacyScope)\n )\n );\n return flatten(vinyls);\n }\n\n getArtifactsByName(component: Component, name: string): ArtifactObject[] | undefined {\n const artifacts = this.getArtifacts(component);\n return artifacts?.filter((artifact) => artifact.name === name);\n }\n\n getArtifactsByExtension(component: Component, aspectName: string): ArtifactObject[] | undefined {\n const artifacts = this.getArtifacts(component);\n return artifacts?.filter((artifact) => artifact.task.id === aspectName);\n }\n\n getArtifactsByExtensionAndName(component: Component, aspectName: string, name: string): ArtifactObject[] | undefined {\n const artifacts = this.getArtifacts(component);\n return artifacts?.filter((artifact) => artifact.task.id === aspectName && artifact.name === name);\n }\n\n getDataByAspect(component: Component, aspectName: string): Serializable | undefined {\n const aspectsData = this.getBuilderData(component)?.aspectsData;\n const data = aspectsData?.find((aspectData) => aspectData.aspectId === aspectName);\n return data?.data;\n }\n\n getArtifacts(component: Component): ArtifactObject[] | undefined {\n return this.getBuilderData(component)?.artifacts;\n }\n\n getBuilderData(component: Component): BuilderData | undefined {\n return component.state.aspects.get(BuilderAspect.id)?.data as BuilderData | undefined;\n }\n\n /**\n * build given components for release.\n * for each one of the envs it runs a series of tasks.\n * in case of an error in a task, it stops the execution of that env and continue to the next\n * env. at the end, the results contain the data and errors per env.\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 network = await this.isolator.isolateComponents(ids, isolateOptions);\n const envs = await this.envs.createEnvironment(network.graphCapsules.getAllComponents());\n const builderServiceOptions = { seedersOnly: isolateOptions?.seedersOnly, ...(builderOptions || {}) };\n const buildResult = await envs.runOnce(this.buildService, builderServiceOptions);\n return buildResult;\n }\n\n async runTagTasks(components: Component[], isolateOptions?: IsolateComponentsOptions): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.tagService, { seedersOnly: isolateOptions?.seedersOnly });\n\n return buildResult;\n }\n\n async runSnapTasks(components: Component[], isolateOptions?: IsolateComponentsOptions): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.snapService, { seedersOnly: isolateOptions?.seedersOnly });\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 static slots = [\n Slot.withType<BuildTask>(),\n Slot.withType<StorageResolver>(),\n Slot.withType<BuildTask>(),\n Slot.withType<BuildTask>(),\n ];\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 ComponentAspect,\n ];\n\n static async provider(\n [cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql]: [\n CLIMain,\n EnvsMain,\n Workspace,\n ScopeMain,\n IsolatorMain,\n LoggerMain,\n AspectLoaderMain,\n GraphqlMain\n ],\n config,\n [buildTaskSlot, storageResolversSlot, tagTaskSlot, snapTaskSlot]: [\n TaskSlot,\n StorageResolverSlot,\n TaskSlot,\n TaskSlot\n ]\n ) {\n const artifactFactory = new ArtifactFactory(storageResolversSlot);\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 );\n envs.registerService(buildService);\n const tagService = new BuilderService(isolator, logger, tagTaskSlot, 'getTagPipe', 'tag', artifactFactory, scope);\n const snapService = new BuilderService(\n isolator,\n logger,\n snapTaskSlot,\n 'getSnapPipe',\n 'snap',\n artifactFactory,\n scope\n );\n const builder = new BuilderMain(\n envs,\n workspace,\n buildService,\n tagService,\n snapService,\n scope,\n isolator,\n aspectLoader,\n buildTaskSlot,\n tagTaskSlot,\n snapTaskSlot,\n storageResolversSlot\n );\n\n graphql.register(builderSchema(builder));\n const func = builder.tagListener.bind(builder);\n if (scope) scope.onTag(func);\n if (workspace && !workspace.consumer.isLegacy) {\n const commands = [new BuilderCmd(builder, workspace, logger), new ArtifactsCmd(builder, scope)];\n cli.unregister('build');\n cli.register(...commands);\n }\n return builder;\n }\n}\n\nBuilderAspect.addRuntime(BuilderMain);\n"]}
1
+ {"version":3,"sources":["builder.main.runtime.ts"],"names":["BuilderMain","constructor","envs","workspace","buildService","tagService","snapService","scope","isolator","aspectLoader","buildTaskSlot","tagTaskSlot","snapTaskSlot","storageResolversSlot","storeArtifacts","tasksResults","artifacts","flatMap","t","storeP","map","artifactMap","Promise","all","toArray","component","artifactList","store","err","ArtifactStorageError","pipelineResultsToBuilderData","components","buildPipelineResults","buildPipelineResultList","BuildPipelineResultList","ComponentMap","as","aspectsData","getDataOfComponent","id","pipelineReport","getPipelineReportOfComponent","artifactsData","getArtifactsDataOfComponent","pipeline","tagListener","options","isolateOptions","pipeResults","throwOnError","forceDeploy","disableTagAndSnapPipelines","isSnap","envsExecutionResults","build","emptyRootDir","skipTests","throwErrorsIfExist","allTasksResults","push","hasErrors","deployEnvsExecutionResults","runSnapTasks","runTagTasks","builderDataMap","registerStorageResolver","storageResolver","register","getStorageResolver","name","values","find","getArtifactsVinylByExtension","aspectName","artifactsObjects","getArtifactsByExtension","vinyls","artifactObject","files","getVinylsAndImportIfMissing","legacyScope","getArtifactsVinylByExtensionAndName","getArtifactsByExtensionAndName","getArtifactsByName","getArtifacts","filter","artifact","task","getDataByAspect","getBuilderData","data","aspectData","aspectId","state","aspects","get","BuilderAspect","builderOptions","ids","c","network","isolateComponents","createEnvironment","graphCapsules","getAllComponents","builderServiceOptions","seedersOnly","buildResult","runOnce","listTasks","compEnv","getEnv","buildTasks","getCurrentPipeTasks","tagTasks","snapTasks","envId","registerBuildTasks","tasks","registerDeployTasks","registerTagTasks","registerSnapTasks","provider","cli","loggerExt","graphql","generator","config","artifactFactory","ArtifactFactory","logger","createLogger","BuilderService","registerService","builder","registerComponentTemplate","buildTaskTemplate","func","bind","onTag","consumer","isLegacy","commands","BuilderCmd","ArtifactsCmd","unregister","Slot","withType","MainRuntime","CLIAspect","EnvsAspect","WorkspaceAspect","ScopeAspect","IsolatorAspect","LoggerAspect","AspectLoaderAspect","GraphqlAspect","GeneratorAspect","addRuntime"],"mappings":"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","sourcesContent":["import { flatten } from 'lodash';\nimport { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Component, ComponentMap } from '@teambit/component';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { ScopeAspect, ScopeMain, OnTagResults } from '@teambit/scope';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { IsolateComponentsOptions, IsolatorAspect, IsolatorMain } from '@teambit/isolator';\nimport { OnTagOpts } from '@teambit/legacy/dist/scope/scope';\nimport { ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { ArtifactList } 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 } from './build-task';\nimport { StorageResolver } from './storage';\nimport { TaskResults } from './build-pipe';\nimport { TaskResultsList } from './task-results-list';\nimport { ArtifactStorageError } from './exceptions';\nimport { BuildPipelineResultList, AspectData, PipelineReport } from './build-pipeline-result-list';\nimport { Serializable } from './types';\nimport { ArtifactsCmd } from './artifact/artifacts.cmd';\nimport { buildTaskTemplate } from './templates/build-task';\n\nexport type TaskSlot = SlotRegistry<BuildTask[]>;\n\nexport type StorageResolverSlot = SlotRegistry<StorageResolver>;\n\nexport type BuilderData = {\n pipeline: PipelineReport[];\n artifacts: ArtifactObject[] | undefined;\n aspectsData: AspectData[];\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 buildTaskSlot: TaskSlot,\n private tagTaskSlot: TaskSlot,\n private snapTaskSlot: TaskSlot,\n private storageResolversSlot: StorageResolverSlot\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>) => {\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<BuilderData> {\n const buildPipelineResultList = new BuildPipelineResultList(buildPipelineResults, components);\n return ComponentMap.as<BuilderData>(components, (component) => {\n const aspectsData = buildPipelineResultList.getDataOfComponent(component.id);\n const pipelineReport = buildPipelineResultList.getPipelineReportOfComponent(component.id);\n const artifactsData = buildPipelineResultList.getArtifactsDataOfComponent(component.id);\n return { pipeline: pipelineReport, artifacts: artifactsData, aspectsData };\n });\n }\n\n async tagListener(\n components: Component[],\n options: OnTagOpts = {},\n isolateOptions: IsolateComponentsOptions = {}\n ): Promise<OnTagResults> {\n const pipeResults: TaskResultsList[] = [];\n const { throwOnError, forceDeploy, disableTagAndSnapPipelines, isSnap } = options;\n const envsExecutionResults = await this.build(\n components,\n { emptyRootDir: true, ...isolateOptions },\n { skipTests: options.skipTests }\n );\n if (throwOnError && !forceDeploy) envsExecutionResults.throwErrorsIfExist();\n const allTasksResults = [...envsExecutionResults.tasksResults];\n pipeResults.push(envsExecutionResults);\n if (forceDeploy || (!disableTagAndSnapPipelines && !envsExecutionResults.hasErrors())) {\n const deployEnvsExecutionResults = isSnap\n ? await this.runSnapTasks(components, isolateOptions)\n : await this.runTagTasks(components, isolateOptions);\n if (throwOnError) 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 return { builderDataMap, pipeResults };\n }\n\n /**\n * register a new storage resolver.\n */\n registerStorageResolver(storageResolver: StorageResolver) {\n this.storageResolversSlot.register(storageResolver);\n return this;\n }\n\n /**\n * get storage resolver by name. otherwise, returns default.\n */\n getStorageResolver(name: string): StorageResolver | undefined {\n return this.storageResolversSlot.values().find((storageResolver) => storageResolver.name === name);\n }\n\n // TODO: merge with getArtifactsVinylByExtensionAndName by getting aspect name and name as object with optional props\n async getArtifactsVinylByExtension(component: Component, aspectName: string): Promise<ArtifactVinyl[]> {\n const artifactsObjects = this.getArtifactsByExtension(component, aspectName);\n const vinyls = await Promise.all(\n (artifactsObjects || []).map((artifactObject) =>\n artifactObject.files.getVinylsAndImportIfMissing(component.id.scope as string, this.scope.legacyScope)\n )\n );\n return flatten(vinyls);\n }\n\n async getArtifactsVinylByExtensionAndName(\n component: Component,\n aspectName: string,\n name: string\n ): Promise<ArtifactVinyl[]> {\n const artifactsObjects = this.getArtifactsByExtensionAndName(component, aspectName, name);\n const vinyls = await Promise.all(\n (artifactsObjects || []).map((artifactObject) =>\n artifactObject.files.getVinylsAndImportIfMissing(component.id.scope as string, this.scope.legacyScope)\n )\n );\n return flatten(vinyls);\n }\n\n getArtifactsByName(component: Component, name: string): ArtifactObject[] | undefined {\n const artifacts = this.getArtifacts(component);\n return artifacts?.filter((artifact) => artifact.name === name);\n }\n\n getArtifactsByExtension(component: Component, aspectName: string): ArtifactObject[] | undefined {\n const artifacts = this.getArtifacts(component);\n return artifacts?.filter((artifact) => artifact.task.id === aspectName);\n }\n\n getArtifactsByExtensionAndName(component: Component, aspectName: string, name: string): ArtifactObject[] | undefined {\n const artifacts = this.getArtifacts(component);\n return artifacts?.filter((artifact) => artifact.task.id === aspectName && artifact.name === name);\n }\n\n getDataByAspect(component: Component, aspectName: string): Serializable | undefined {\n const aspectsData = this.getBuilderData(component)?.aspectsData;\n const data = aspectsData?.find((aspectData) => aspectData.aspectId === aspectName);\n return data?.data;\n }\n\n getArtifacts(component: Component): ArtifactObject[] | undefined {\n return this.getBuilderData(component)?.artifacts;\n }\n\n getBuilderData(component: Component): BuilderData | undefined {\n return component.state.aspects.get(BuilderAspect.id)?.data as BuilderData | undefined;\n }\n\n /**\n * build given components for release.\n * for each one of the envs it runs a series of tasks.\n * in case of an error in a task, it stops the execution of that env and continue to the next\n * env. at the end, the results contain the data and errors per env.\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 network = await this.isolator.isolateComponents(ids, isolateOptions);\n const envs = await this.envs.createEnvironment(network.graphCapsules.getAllComponents());\n const builderServiceOptions = { seedersOnly: isolateOptions?.seedersOnly, ...(builderOptions || {}) };\n const buildResult = await envs.runOnce(this.buildService, builderServiceOptions);\n return buildResult;\n }\n\n async runTagTasks(components: Component[], isolateOptions?: IsolateComponentsOptions): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.tagService, { seedersOnly: isolateOptions?.seedersOnly });\n\n return buildResult;\n }\n\n async runSnapTasks(components: Component[], isolateOptions?: IsolateComponentsOptions): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.snapService, { seedersOnly: isolateOptions?.seedersOnly });\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 static slots = [\n Slot.withType<BuildTask>(),\n Slot.withType<StorageResolver>(),\n Slot.withType<BuildTask>(),\n Slot.withType<BuildTask>(),\n ];\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 ];\n\n static async provider(\n [cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql, generator]: [\n CLIMain,\n EnvsMain,\n Workspace,\n ScopeMain,\n IsolatorMain,\n LoggerMain,\n AspectLoaderMain,\n GraphqlMain,\n GeneratorMain\n ],\n config,\n [buildTaskSlot, storageResolversSlot, tagTaskSlot, snapTaskSlot]: [\n TaskSlot,\n StorageResolverSlot,\n TaskSlot,\n TaskSlot\n ]\n ) {\n const artifactFactory = new ArtifactFactory(storageResolversSlot);\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 );\n envs.registerService(buildService);\n const tagService = new BuilderService(isolator, logger, tagTaskSlot, 'getTagPipe', 'tag', artifactFactory, scope);\n const snapService = new BuilderService(\n isolator,\n logger,\n snapTaskSlot,\n 'getSnapPipe',\n 'snap',\n artifactFactory,\n scope\n );\n const builder = new BuilderMain(\n envs,\n workspace,\n buildService,\n tagService,\n snapService,\n scope,\n isolator,\n aspectLoader,\n buildTaskSlot,\n tagTaskSlot,\n snapTaskSlot,\n storageResolversSlot\n );\n\n graphql.register(builderSchema(builder));\n generator.registerComponentTemplate([buildTaskTemplate]);\n const func = builder.tagListener.bind(builder);\n if (scope) scope.onTag(func);\n if (workspace && !workspace.consumer.isLegacy) {\n const commands = [new BuilderCmd(builder, workspace, logger), new ArtifactsCmd(builder, scope)];\n cli.unregister('build');\n cli.register(...commands);\n }\n return builder;\n }\n}\n\nBuilderAspect.addRuntime(BuilderMain);\n"]}
@@ -0,0 +1,2 @@
1
+ import { ComponentContext } from '@teambit/generator';
2
+ export declare function indexFile({ namePascalCase, name }: ComponentContext): string;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.indexFile = indexFile;
7
+
8
+ function indexFile({
9
+ namePascalCase,
10
+ name
11
+ }) {
12
+ return `export { ${namePascalCase} } from './${name}.task'`;
13
+ }
14
+
15
+ //# sourceMappingURL=index-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index-file.ts"],"names":["indexFile","namePascalCase","name"],"mappings":";;;;;;;AAEO,SAASA,SAAT,CAAmB;AAAEC,EAAAA,cAAF;AAAkBC,EAAAA;AAAlB,CAAnB,EAA+D;AACpE,SAAQ,YAAWD,cAAe,cAAaC,IAAK,QAApD;AACD","sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport function indexFile({ namePascalCase, name }: ComponentContext) {\n return `export { ${namePascalCase} } from './${name}.task'`;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import { ComponentContext } from '@teambit/generator';
2
+ export declare function taskFile({ namePascalCase }: ComponentContext): string;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.taskFile = taskFile;
7
+
8
+ function taskFile({
9
+ namePascalCase
10
+ }) {
11
+ return `import {
12
+ BuildTask,
13
+ BuildContext,
14
+ BuiltTaskResult,
15
+ ComponentResult,
16
+ } from '@teambit/builder';
17
+ import path from 'path';
18
+ import fs from 'fs';
19
+
20
+ export class ${namePascalCase} implements BuildTask {
21
+ constructor(readonly aspectId: string) {}
22
+ readonly name = '${namePascalCase}';
23
+
24
+ async execute(context: BuildContext): Promise<BuiltTaskResult> {
25
+ // Prepare the component results array which will be used to report back the components proccessed
26
+ // as well as any additional data regarding this build task execution
27
+ const componentsResults: ComponentResult[] = [];
28
+ // The 'seeder capsules' are capsules for components that are built for their own sake -
29
+ // not for the sake of other components that have them as their dependencies
30
+ const capsules = context.capsuleNetwork.seedersCapsules;
31
+ capsules.forEach((capsule) => {
32
+ // Preprate an 'errors' array to report back of any erros during execution (this will be part of the 'Component Results' data)
33
+ const errors: Error[] = [];
34
+ // Each 'capsule' provides data regarding the component as well as the capsule itself
35
+ const componentName = capsule.component.id.name;
36
+ const capsuleDir = capsule.path;
37
+
38
+ const artifactContent = \`The component name is \${componentName}\`
39
+
40
+ try {
41
+ // Generate the artifact inside the capsule's diretory
42
+ fs.writeFileSync(
43
+ path.join(capsuleDir, 'output.my-artifact.txt'),
44
+ artifactContent
45
+ );
46
+ } catch (err: any) {
47
+ errors.push(err);
48
+ }
49
+ componentsResults.push({ component: capsule.component, errors });
50
+ });
51
+
52
+ return {
53
+ artifacts: [
54
+ {
55
+ generatedBy: this.aspectId,
56
+ name: this.name,
57
+ // The glob pattern for artifacts to include in the comoponent version
58
+ globPatterns: ['**/*.my-artifact.txt'],
59
+ },
60
+ ],
61
+ componentsResults,
62
+ };
63
+ }
64
+ }`;
65
+ }
66
+
67
+ //# sourceMappingURL=task-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["task-file.ts"],"names":["taskFile","namePascalCase"],"mappings":";;;;;;;AAEO,SAASA,QAAT,CAAkB;AAAEC,EAAAA;AAAF,CAAlB,EAAwD;AAC7D,SAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeA,cAAe;AAC9B;AACA,qBAAqBA,cAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EArDE;AAsDD","sourcesContent":["import { ComponentContext } from '@teambit/generator';\n\nexport function taskFile({ namePascalCase }: ComponentContext) {\n return `import {\n BuildTask,\n BuildContext,\n BuiltTaskResult,\n ComponentResult,\n} from '@teambit/builder';\nimport path from 'path';\nimport fs from 'fs';\n\nexport class ${namePascalCase} implements BuildTask {\n constructor(readonly aspectId: string) {}\n readonly name = '${namePascalCase}';\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n // Prepare the component results array which will be used to report back the components proccessed\n // as well as any additional data regarding this build task execution\n const componentsResults: ComponentResult[] = [];\n // The 'seeder capsules' are capsules for components that are built for their own sake - \n // not for the sake of other components that have them as their dependencies\n const capsules = context.capsuleNetwork.seedersCapsules;\n capsules.forEach((capsule) => {\n // Preprate an 'errors' array to report back of any erros during execution (this will be part of the 'Component Results' data)\n const errors: Error[] = [];\n // Each 'capsule' provides data regarding the component as well as the capsule itself\n const componentName = capsule.component.id.name;\n const capsuleDir = capsule.path;\n\n const artifactContent = \\`The component name is \\${componentName}\\`\n\n try {\n // Generate the artifact inside the capsule's diretory\n fs.writeFileSync(\n path.join(capsuleDir, 'output.my-artifact.txt'),\n artifactContent\n );\n } catch (err: any) {\n errors.push(err);\n }\n componentsResults.push({ component: capsule.component, errors });\n });\n\n return {\n artifacts: [\n {\n generatedBy: this.aspectId,\n name: this.name,\n // The glob pattern for artifacts to include in the comoponent version\n globPatterns: ['**/*.my-artifact.txt'],\n },\n ],\n componentsResults,\n };\n }\n}`;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import { ComponentTemplate } from '@teambit/generator';
2
+ export declare const buildTaskTemplate: ComponentTemplate;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.buildTaskTemplate = void 0;
7
+
8
+ function _indexFile() {
9
+ const data = require("./files/index-file");
10
+
11
+ _indexFile = function () {
12
+ return data;
13
+ };
14
+
15
+ return data;
16
+ }
17
+
18
+ function _taskFile() {
19
+ const data = require("./files/task-file");
20
+
21
+ _taskFile = function () {
22
+ return data;
23
+ };
24
+
25
+ return data;
26
+ }
27
+
28
+ const buildTaskTemplate = {
29
+ name: 'build-task',
30
+ description: 'create a custom build task for your component pipelines',
31
+ hidden: false,
32
+ generateFiles: context => {
33
+ return [{
34
+ relativePath: 'index.ts',
35
+ content: (0, _indexFile().indexFile)(context),
36
+ isMain: true
37
+ }, {
38
+ relativePath: `${context.name}.task.ts`,
39
+ content: (0, _taskFile().taskFile)(context)
40
+ }];
41
+ }
42
+ };
43
+ exports.buildTaskTemplate = buildTaskTemplate;
44
+
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["buildTaskTemplate","name","description","hidden","generateFiles","context","relativePath","content","isMain"],"mappings":";;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,iBAAoC,GAAG;AAClDC,EAAAA,IAAI,EAAE,YAD4C;AAElDC,EAAAA,WAAW,EAAE,yDAFqC;AAGlDC,EAAAA,MAAM,EAAE,KAH0C;AAIlDC,EAAAA,aAAa,EAAGC,OAAD,IAA+B;AAC5C,WAAO,CACL;AACEC,MAAAA,YAAY,EAAE,UADhB;AAEEC,MAAAA,OAAO,EAAE,4BAAUF,OAAV,CAFX;AAGEG,MAAAA,MAAM,EAAE;AAHV,KADK,EAML;AACEF,MAAAA,YAAY,EAAG,GAAED,OAAO,CAACJ,IAAK,UADhC;AAEEM,MAAAA,OAAO,EAAE,0BAASF,OAAT;AAFX,KANK,CAAP;AAWD;AAhBiD,CAA7C","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};\n"]}
@@ -0,0 +1,7 @@
1
+ import { Component } from '@teambit/component';
2
+
3
+ export class ArtifactStorageError extends Error {
4
+ constructor(private originalError: Error, private component: Component) {
5
+ super(`failed to store artifacts for component ${component.id.toString()}`);
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ import { ComponentID } from '@teambit/component';
2
+
3
+ export class CapsuleNotFound extends Error {
4
+ constructor(private id: ComponentID) {
5
+ super(`unable to find capsule for component ${id.toString()}`);
6
+ }
7
+ }
@@ -0,0 +1,3 @@
1
+ export { InvalidTask } from './invalid-task';
2
+ export { CapsuleNotFound } from './capsule-not-found';
3
+ export { ArtifactStorageError } from './artifact-storage-error';
@@ -0,0 +1,7 @@
1
+ import { BitError } from '@teambit/bit-error';
2
+
3
+ export class InvalidTask extends BitError {
4
+ constructor(readonly taskAspectId: string, reason: string) {
5
+ super(`task of ${taskAspectId} is invalid, ${reason}`);
6
+ }
7
+ }
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/builder",
3
- "version": "0.0.568",
3
+ "version": "0.0.572",
4
4
  "homepage": "https://bit.dev/teambit/pipelines/builder",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.pipelines",
8
8
  "name": "builder",
9
- "version": "0.0.568"
9
+ "version": "0.0.572"
10
10
  },
11
11
  "dependencies": {
12
12
  "p-map-series": "2.1.0",
@@ -22,18 +22,19 @@
22
22
  "globby": "11.0.1",
23
23
  "@babel/runtime": "7.12.18",
24
24
  "core-js": "^3.0.0",
25
- "@teambit/component": "0.0.568",
26
- "@teambit/envs": "0.0.568",
27
- "@teambit/logger": "0.0.480",
28
- "@teambit/tester": "0.0.568",
29
- "@teambit/isolator": "0.0.568",
30
- "@teambit/cli": "0.0.394",
31
- "@teambit/workspace": "0.0.568",
32
- "@teambit/aspect-loader": "0.0.568",
33
- "@teambit/graphql": "0.0.568",
34
- "@teambit/scope": "0.0.568",
35
- "@teambit/bit-error": "0.0.380",
36
- "@teambit/component-id": "0.0.384"
25
+ "@teambit/component": "0.0.572",
26
+ "@teambit/envs": "0.0.572",
27
+ "@teambit/logger": "0.0.483",
28
+ "@teambit/tester": "0.0.572",
29
+ "@teambit/isolator": "0.0.572",
30
+ "@teambit/cli": "0.0.395",
31
+ "@teambit/workspace": "0.0.572",
32
+ "@teambit/aspect-loader": "0.0.572",
33
+ "@teambit/generator": "0.0.572",
34
+ "@teambit/graphql": "0.0.572",
35
+ "@teambit/scope": "0.0.572",
36
+ "@teambit/bit-error": "0.0.381",
37
+ "@teambit/component-id": "0.0.385"
37
38
  },
38
39
  "devDependencies": {
39
40
  "@types/lodash": "4.14.165",
@@ -45,10 +46,10 @@
45
46
  "@types/jest": "^26.0.0",
46
47
  "@types/react-dom": "^17.0.5",
47
48
  "@types/node": "12.20.4",
48
- "@teambit/pipelines.aspect-docs.builder": "0.0.114"
49
+ "@teambit/pipelines.aspect-docs.builder": "0.0.117"
49
50
  },
50
51
  "peerDependencies": {
51
- "@teambit/legacy": "1.0.180",
52
+ "@teambit/legacy": "1.0.181",
52
53
  "react-dom": "^16.8.0 || ^17.0.0",
53
54
  "react": "^16.8.0 || ^17.0.0"
54
55
  },
@@ -76,27 +77,12 @@
76
77
  "react": "-"
77
78
  },
78
79
  "peerDependencies": {
79
- "@teambit/legacy": "1.0.180",
80
+ "@teambit/legacy": "1.0.181",
80
81
  "react-dom": "^16.8.0 || ^17.0.0",
81
82
  "react": "^16.8.0 || ^17.0.0"
82
83
  }
83
84
  }
84
85
  },
85
- "files": [
86
- "dist",
87
- "!dist/tsconfig.tsbuildinfo",
88
- "**/*.md",
89
- "**/*.mdx",
90
- "**/*.js",
91
- "**/*.json",
92
- "**/*.sass",
93
- "**/*.scss",
94
- "**/*.less",
95
- "**/*.css",
96
- "**/*.css",
97
- "**/*.jpeg",
98
- "**/*.gif"
99
- ],
100
86
  "private": false,
101
87
  "engines": {
102
88
  "node": ">=12.22.0"
@@ -0,0 +1 @@
1
+ export { PipelineResults } from './pipeline-results';
@@ -0,0 +1 @@
1
+ export class PipelineResults {}
@@ -0,0 +1,13 @@
1
+ import { Component } from '@teambit/component';
2
+ import { StorageResolver } from './storage-resolver';
3
+ import type { ArtifactList } from '../artifact';
4
+
5
+ export class DefaultResolver implements StorageResolver {
6
+ name = 'default';
7
+
8
+ async store(component: Component, artifactList: ArtifactList) {
9
+ artifactList.artifacts.forEach((artifact) => {
10
+ artifact.files.populateVinylsFromPaths(artifact.rootDir);
11
+ });
12
+ }
13
+ }
@@ -0,0 +1,2 @@
1
+ export { StorageResolver } from './storage-resolver';
2
+ export { DefaultResolver } from './default-resolver';
@@ -0,0 +1,40 @@
1
+ // import { S3 } from 'aws-sdk';
2
+ // import { Component, ComponentID } from '@teambit/component';
3
+ // import { StorageResolver } from './storage-resolver';
4
+ // import type { ArtifactList } from '../artifact';
5
+
6
+ // export class S3Resolver implements StorageResolver {
7
+ // name = 's3';
8
+ // // todo artifact map
9
+ // async store(component: Component, artifacts: ArtifactList) {
10
+ // // https://staoge.com/{compId}/aspectId/${path}
11
+ // const artifactsByTaskId = artifacts.groupByTaskId();
12
+ // const files = Object.entries(artifactsByTaskId).map(([taskId, artifact]) => {
13
+ // return artifact.paths.map((path) => this.buildKey(component.id, taskId, path));
14
+ // });
15
+ // // files file to upload
16
+ // }
17
+
18
+ // private buildKey(id: ComponentID, taskId: string, path: string) {
19
+ // return id.fullName;
20
+ // }
21
+
22
+ // private upload(key: string, body: string) {
23
+ // const s3 = this.getS3Client();
24
+ // s3.upload({
25
+ // Bucket: 'storage',
26
+ // Key: key,
27
+ // Body: body,
28
+ // });
29
+ // }
30
+
31
+ // private getS3Client() {
32
+ // //TODO: need to pass bithub token
33
+ // const s3 = new S3({
34
+ // accessKeyId: 'bit',
35
+ // secretAccessKey: process.env.BIT_DEV_TOKEN,
36
+ // endpoint: 'http://bit.test:5003',
37
+ // });
38
+ // return s3;
39
+ // }
40
+ // }
@@ -0,0 +1,18 @@
1
+ import { Component } from '@teambit/component';
2
+ import { ArtifactList } from '../artifact';
3
+
4
+ export type StoreResult = {
5
+ [path: string]: string;
6
+ };
7
+
8
+ export interface StorageResolver {
9
+ /**
10
+ * name of the storage resolver.
11
+ */
12
+ name: string;
13
+
14
+ /**
15
+ * store artifacts in the storage.
16
+ */
17
+ store(component: Component, artifacts: ArtifactList): Promise<void>;
18
+ }
@@ -0,0 +1,5 @@
1
+ import { ComponentContext } from '@teambit/generator';
2
+
3
+ export function indexFile({ namePascalCase, name }: ComponentContext) {
4
+ return `export { ${namePascalCase} } from './${name}.task'`;
5
+ }