@teambit/application 0.0.761 → 0.0.763

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.
@@ -117,7 +117,9 @@ class AppsBuildTask {
117
117
  */
118
118
  // @ts-ignore
119
119
  _metadata: {
120
- deployContext
120
+ deployContext,
121
+ name: app.name,
122
+ appType: app.applicationType
121
123
  }
122
124
  }
123
125
  };
@@ -131,13 +133,21 @@ class AppsBuildTask {
131
133
  errors: [],
132
134
  warnings: [],
133
135
  // @ts-ignore
134
- _metadata: {}
136
+ _metadata: {
137
+ buildDeployContexts: []
138
+ }
135
139
  }
136
140
  };
137
141
  appsResults.forEach(appResult => {
138
142
  merged.artifacts = (merged.artifacts || []).concat(appResult.artifacts || []);
139
143
  merged.componentResult.errors = (merged.componentResult.errors || []).concat(appResult.componentResult.errors || []);
140
144
  merged.componentResult.warnings = (merged.componentResult.warnings || []).concat(appResult.componentResult.warnings || []);
145
+ // @ts-ignore
146
+ merged.componentResult._metadata.buildDeployContexts =
147
+ // @ts-ignore
148
+ (merged.componentResult._metadata.buildDeployContexts || []
149
+ // @ts-ignore
150
+ ).concat(appResult.componentResult._metadata || []);
141
151
  });
142
152
  return merged;
143
153
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","require","_pMapSeries","_interopRequireDefault","_builder","_lodash","_application","BUILD_TASK","exports","ARTIFACTS_DIR_NAME","AppsBuildTask","constructor","application","opt","deploy","_defineProperty2","default","ApplicationAspect","id","execute","context","originalSeedersIds","capsuleNetwork","originalSeedersCapsules","map","c","component","toString","result","componentsResults","mapSeries","capsule","length","includes","undefined","apps","loadAppsFromComponent","path","compact","app","runForOneApp","merged","mergeAppsResults","push","componentResult","artifacts","build","appDeployContext","Object","assign","appComponent","name","artifactsDir","getArtifactDirectory","deployContext","defaultArtifacts","getDefaultArtifactDef","applicationType","concat","errors","warnings","_metadata","appsResults","forEach","appResult","join","CAPSULE_ARTIFACTS_DIR","nameSuffix","globPatterns","rootDir"],"sources":["build-application.task.ts"],"sourcesContent":["import { join } from 'path';\nimport mapSeries from 'p-map-series';\nimport {\n BuildTask,\n BuiltTaskResult,\n BuildContext,\n ComponentResult,\n ArtifactDefinition,\n CAPSULE_ARTIFACTS_DIR,\n} from '@teambit/builder';\nimport { compact } from 'lodash';\nimport { Capsule } from '@teambit/isolator';\nimport { Component } from '@teambit/component';\n\nimport { ApplicationAspect } from './application.aspect';\nimport { ApplicationMain } from './application.main.runtime';\nimport { AppBuildContext } from './app-build-context';\nimport { Application } from './application';\n\nexport const BUILD_TASK = 'build_application';\nexport const ARTIFACTS_DIR_NAME = 'apps';\n\nexport type OneAppResult = {\n componentResult: ComponentResult;\n artifacts?: ArtifactDefinition[];\n};\n\nexport type OneComponentResult = {\n componentResult: ComponentResult;\n artifacts?: ArtifactDefinition[];\n};\n\nexport type BuildAppResult = {\n componentResult: ComponentResult;\n artifacts?: ArtifactDefinition[];\n};\n\nexport type Options = {\n deploy: boolean;\n};\nexport class AppsBuildTask implements BuildTask {\n name = BUILD_TASK;\n aspectId = ApplicationAspect.id;\n readonly location = 'end';\n constructor(private application: ApplicationMain, private opt: Options = { deploy: true }) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n const originalSeedersIds = context.capsuleNetwork.originalSeedersCapsules.map((c) => c.component.id.toString());\n const { capsuleNetwork } = context;\n const result: BuiltTaskResult = {\n componentsResults: [],\n };\n\n // const componentsResults = await mapSeries(apps, async (app): Promise<AppsResults | undefined> => {\n await mapSeries(capsuleNetwork.originalSeedersCapsules, async (capsule) => {\n const component = capsule.component;\n if (originalSeedersIds && originalSeedersIds.length && !originalSeedersIds.includes(component.id.toString())) {\n return undefined;\n }\n\n const apps = await this.application.loadAppsFromComponent(component, capsule.path);\n if (!apps || !apps.length) return undefined;\n const componentsResults = await mapSeries(compact(apps), async (app) =>\n this.runForOneApp(app, component, capsule, context)\n );\n const merged = this.mergeAppsResults(compact(componentsResults));\n if (merged) {\n result.componentsResults.push(merged.componentResult);\n if (!result.artifacts) result.artifacts = [];\n result.artifacts.push(...(merged.artifacts || []));\n }\n return undefined;\n });\n\n return result;\n }\n\n private async runForOneApp(\n app: Application,\n component: Component,\n capsule: Capsule,\n context: BuildContext\n ): Promise<OneAppResult | undefined> {\n if (!app.build) return undefined;\n // const { component } = capsule;\n const appDeployContext: AppBuildContext = Object.assign(context, {\n capsule,\n appComponent: component,\n name: app.name,\n artifactsDir: this.getArtifactDirectory(),\n });\n const deployContext = await app.build(appDeployContext);\n const defaultArtifacts: ArtifactDefinition[] = this.getDefaultArtifactDef(app.applicationType || app.name);\n const artifacts = defaultArtifacts.concat(deployContext.artifacts || []);\n\n return {\n artifacts,\n componentResult: {\n component: capsule.component,\n errors: deployContext.errors,\n warnings: deployContext.warnings,\n /**\n * @guysaar223\n * @ram8\n * TODO: we need to think how to pass private metadata between build pipes, maybe create shared context\n * or create new deploy context on builder\n */\n // @ts-ignore\n _metadata: { deployContext },\n },\n };\n }\n\n private mergeAppsResults(appsResults: OneAppResult[]): OneComponentResult | undefined {\n if (!appsResults || !appsResults.length) return undefined;\n const merged: OneComponentResult = {\n artifacts: [],\n componentResult: {\n component: appsResults[0].componentResult.component,\n errors: [],\n warnings: [],\n // @ts-ignore\n _metadata: {},\n },\n };\n appsResults.forEach((appResult) => {\n merged.artifacts = (merged.artifacts || []).concat(appResult.artifacts || []);\n merged.componentResult.errors = (merged.componentResult.errors || []).concat(\n appResult.componentResult.errors || []\n );\n merged.componentResult.warnings = (merged.componentResult.warnings || []).concat(\n appResult.componentResult.warnings || []\n );\n });\n return merged;\n }\n\n private getArtifactDirectory() {\n return join(CAPSULE_ARTIFACTS_DIR, ARTIFACTS_DIR_NAME);\n }\n\n private getDefaultArtifactDef(nameSuffix: string): ArtifactDefinition[] {\n return [\n {\n name: `app-build-${nameSuffix}`,\n globPatterns: ['**'],\n rootDir: this.getArtifactDirectory(),\n },\n ];\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_path","data","require","_pMapSeries","_interopRequireDefault","_builder","_lodash","_application","BUILD_TASK","exports","ARTIFACTS_DIR_NAME","AppsBuildTask","constructor","application","opt","deploy","_defineProperty2","default","ApplicationAspect","id","execute","context","originalSeedersIds","capsuleNetwork","originalSeedersCapsules","map","c","component","toString","result","componentsResults","mapSeries","capsule","length","includes","undefined","apps","loadAppsFromComponent","path","compact","app","runForOneApp","merged","mergeAppsResults","push","componentResult","artifacts","build","appDeployContext","Object","assign","appComponent","name","artifactsDir","getArtifactDirectory","deployContext","defaultArtifacts","getDefaultArtifactDef","applicationType","concat","errors","warnings","_metadata","appType","appsResults","buildDeployContexts","forEach","appResult","join","CAPSULE_ARTIFACTS_DIR","nameSuffix","globPatterns","rootDir"],"sources":["build-application.task.ts"],"sourcesContent":["import { join } from 'path';\nimport mapSeries from 'p-map-series';\nimport {\n BuildTask,\n BuiltTaskResult,\n BuildContext,\n ComponentResult,\n ArtifactDefinition,\n CAPSULE_ARTIFACTS_DIR,\n} from '@teambit/builder';\nimport { compact } from 'lodash';\nimport { Capsule } from '@teambit/isolator';\nimport { Component } from '@teambit/component';\n\nimport { ApplicationAspect } from './application.aspect';\nimport { ApplicationMain } from './application.main.runtime';\nimport { AppBuildContext } from './app-build-context';\nimport { Application } from './application';\n\nexport const BUILD_TASK = 'build_application';\nexport const ARTIFACTS_DIR_NAME = 'apps';\n\nexport type OneAppResult = {\n componentResult: ComponentResult;\n artifacts?: ArtifactDefinition[];\n};\n\nexport type OneComponentResult = {\n componentResult: ComponentResult;\n artifacts?: ArtifactDefinition[];\n};\n\nexport type BuildAppResult = {\n componentResult: ComponentResult;\n artifacts?: ArtifactDefinition[];\n};\n\nexport type Options = {\n deploy: boolean;\n};\nexport class AppsBuildTask implements BuildTask {\n name = BUILD_TASK;\n aspectId = ApplicationAspect.id;\n readonly location = 'end';\n constructor(private application: ApplicationMain, private opt: Options = { deploy: true }) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n const originalSeedersIds = context.capsuleNetwork.originalSeedersCapsules.map((c) => c.component.id.toString());\n const { capsuleNetwork } = context;\n const result: BuiltTaskResult = {\n componentsResults: [],\n };\n\n // const componentsResults = await mapSeries(apps, async (app): Promise<AppsResults | undefined> => {\n await mapSeries(capsuleNetwork.originalSeedersCapsules, async (capsule) => {\n const component = capsule.component;\n if (originalSeedersIds && originalSeedersIds.length && !originalSeedersIds.includes(component.id.toString())) {\n return undefined;\n }\n\n const apps = await this.application.loadAppsFromComponent(component, capsule.path);\n if (!apps || !apps.length) return undefined;\n const componentsResults = await mapSeries(compact(apps), async (app) =>\n this.runForOneApp(app, component, capsule, context)\n );\n const merged = this.mergeAppsResults(compact(componentsResults));\n if (merged) {\n result.componentsResults.push(merged.componentResult);\n if (!result.artifacts) result.artifacts = [];\n result.artifacts.push(...(merged.artifacts || []));\n }\n return undefined;\n });\n\n return result;\n }\n\n private async runForOneApp(\n app: Application,\n component: Component,\n capsule: Capsule,\n context: BuildContext\n ): Promise<OneAppResult | undefined> {\n if (!app.build) return undefined;\n // const { component } = capsule;\n const appDeployContext: AppBuildContext = Object.assign(context, {\n capsule,\n appComponent: component,\n name: app.name,\n artifactsDir: this.getArtifactDirectory(),\n });\n const deployContext = await app.build(appDeployContext);\n const defaultArtifacts: ArtifactDefinition[] = this.getDefaultArtifactDef(app.applicationType || app.name);\n const artifacts = defaultArtifacts.concat(deployContext.artifacts || []);\n\n return {\n artifacts,\n componentResult: {\n component: capsule.component,\n errors: deployContext.errors,\n warnings: deployContext.warnings,\n /**\n * @guysaar223\n * @ram8\n * TODO: we need to think how to pass private metadata between build pipes, maybe create shared context\n * or create new deploy context on builder\n */\n // @ts-ignore\n _metadata: { deployContext, name: app.name, appType: app.applicationType },\n },\n };\n }\n\n private mergeAppsResults(appsResults: OneAppResult[]): OneComponentResult | undefined {\n if (!appsResults || !appsResults.length) return undefined;\n const merged: OneComponentResult = {\n artifacts: [],\n componentResult: {\n component: appsResults[0].componentResult.component,\n errors: [],\n warnings: [],\n // @ts-ignore\n _metadata: {\n buildDeployContexts: [],\n },\n },\n };\n appsResults.forEach((appResult) => {\n merged.artifacts = (merged.artifacts || []).concat(appResult.artifacts || []);\n merged.componentResult.errors = (merged.componentResult.errors || []).concat(\n appResult.componentResult.errors || []\n );\n merged.componentResult.warnings = (merged.componentResult.warnings || []).concat(\n appResult.componentResult.warnings || []\n );\n // @ts-ignore\n merged.componentResult._metadata.buildDeployContexts = // @ts-ignore\n (merged.componentResult._metadata.buildDeployContexts || [])\n // @ts-ignore\n .concat(appResult.componentResult._metadata || []);\n });\n return merged;\n }\n\n private getArtifactDirectory() {\n return join(CAPSULE_ARTIFACTS_DIR, ARTIFACTS_DIR_NAME);\n }\n\n private getDefaultArtifactDef(nameSuffix: string): ArtifactDefinition[] {\n return [\n {\n name: `app-build-${nameSuffix}`,\n globPatterns: ['**'],\n rootDir: this.getArtifactDirectory(),\n },\n ];\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,YAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,SAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,QAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAQA,SAAAK,QAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAM,aAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,YAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKO,MAAMO,UAAU,GAAG,mBAAmB;AAACC,OAAA,CAAAD,UAAA,GAAAA,UAAA;AACvC,MAAME,kBAAkB,GAAG,MAAM;AAACD,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AAoBlC,MAAMC,aAAa,CAAsB;EAI9CC,WAAWA,CAASC,WAA4B,EAAUC,GAAY,GAAG;IAAEC,MAAM,EAAE;EAAK,CAAC,EAAE;IAAA,KAAvEF,WAA4B,GAA5BA,WAA4B;IAAA,KAAUC,GAAY,GAAZA,GAAY;IAAA,IAAAE,gBAAA,GAAAC,OAAA,gBAH/DT,UAAU;IAAA,IAAAQ,gBAAA,GAAAC,OAAA,oBACNC,gCAAiB,CAACC,EAAE;IAAA,IAAAH,gBAAA,GAAAC,OAAA,oBACX,KAAK;EACmE;EAE5F,MAAMG,OAAOA,CAACC,OAAqB,EAA4B;IAC7D,MAAMC,kBAAkB,GAAGD,OAAO,CAACE,cAAc,CAACC,uBAAuB,CAACC,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,SAAS,CAACR,EAAE,CAACS,QAAQ,CAAC,CAAC,CAAC;IAC/G,MAAM;MAAEL;IAAe,CAAC,GAAGF,OAAO;IAClC,MAAMQ,MAAuB,GAAG;MAC9BC,iBAAiB,EAAE;IACrB,CAAC;;IAED;IACA,MAAM,IAAAC,qBAAS,EAACR,cAAc,CAACC,uBAAuB,EAAE,MAAOQ,OAAO,IAAK;MACzE,MAAML,SAAS,GAAGK,OAAO,CAACL,SAAS;MACnC,IAAIL,kBAAkB,IAAIA,kBAAkB,CAACW,MAAM,IAAI,CAACX,kBAAkB,CAACY,QAAQ,CAACP,SAAS,CAACR,EAAE,CAACS,QAAQ,CAAC,CAAC,CAAC,EAAE;QAC5G,OAAOO,SAAS;MAClB;MAEA,MAAMC,IAAI,GAAG,MAAM,IAAI,CAACvB,WAAW,CAACwB,qBAAqB,CAACV,SAAS,EAAEK,OAAO,CAACM,IAAI,CAAC;MAClF,IAAI,CAACF,IAAI,IAAI,CAACA,IAAI,CAACH,MAAM,EAAE,OAAOE,SAAS;MAC3C,MAAML,iBAAiB,GAAG,MAAM,IAAAC,qBAAS,EAAC,IAAAQ,iBAAO,EAACH,IAAI,CAAC,EAAE,MAAOI,GAAG,IACjE,IAAI,CAACC,YAAY,CAACD,GAAG,EAAEb,SAAS,EAAEK,OAAO,EAAEX,OAAO,CACpD,CAAC;MACD,MAAMqB,MAAM,GAAG,IAAI,CAACC,gBAAgB,CAAC,IAAAJ,iBAAO,EAACT,iBAAiB,CAAC,CAAC;MAChE,IAAIY,MAAM,EAAE;QACVb,MAAM,CAACC,iBAAiB,CAACc,IAAI,CAACF,MAAM,CAACG,eAAe,CAAC;QACrD,IAAI,CAAChB,MAAM,CAACiB,SAAS,EAAEjB,MAAM,CAACiB,SAAS,GAAG,EAAE;QAC5CjB,MAAM,CAACiB,SAAS,CAACF,IAAI,CAAC,IAAIF,MAAM,CAACI,SAAS,IAAI,EAAE,CAAC,CAAC;MACpD;MACA,OAAOX,SAAS;IAClB,CAAC,CAAC;IAEF,OAAON,MAAM;EACf;EAEA,MAAcY,YAAYA,CACxBD,GAAgB,EAChBb,SAAoB,EACpBK,OAAgB,EAChBX,OAAqB,EACc;IACnC,IAAI,CAACmB,GAAG,CAACO,KAAK,EAAE,OAAOZ,SAAS;IAChC;IACA,MAAMa,gBAAiC,GAAGC,MAAM,CAACC,MAAM,CAAC7B,OAAO,EAAE;MAC/DW,OAAO;MACPmB,YAAY,EAAExB,SAAS;MACvByB,IAAI,EAAEZ,GAAG,CAACY,IAAI;MACdC,YAAY,EAAE,IAAI,CAACC,oBAAoB,CAAC;IAC1C,CAAC,CAAC;IACF,MAAMC,aAAa,GAAG,MAAMf,GAAG,CAACO,KAAK,CAACC,gBAAgB,CAAC;IACvD,MAAMQ,gBAAsC,GAAG,IAAI,CAACC,qBAAqB,CAACjB,GAAG,CAACkB,eAAe,IAAIlB,GAAG,CAACY,IAAI,CAAC;IAC1G,MAAMN,SAAS,GAAGU,gBAAgB,CAACG,MAAM,CAACJ,aAAa,CAACT,SAAS,IAAI,EAAE,CAAC;IAExE,OAAO;MACLA,SAAS;MACTD,eAAe,EAAE;QACflB,SAAS,EAAEK,OAAO,CAACL,SAAS;QAC5BiC,MAAM,EAAEL,aAAa,CAACK,MAAM;QAC5BC,QAAQ,EAAEN,aAAa,CAACM,QAAQ;QAChC;AACR;AACA;AACA;AACA;AACA;QACQ;QACAC,SAAS,EAAE;UAAEP,aAAa;UAAEH,IAAI,EAAEZ,GAAG,CAACY,IAAI;UAAEW,OAAO,EAAEvB,GAAG,CAACkB;QAAgB;MAC3E;IACF,CAAC;EACH;EAEQf,gBAAgBA,CAACqB,WAA2B,EAAkC;IACpF,IAAI,CAACA,WAAW,IAAI,CAACA,WAAW,CAAC/B,MAAM,EAAE,OAAOE,SAAS;IACzD,MAAMO,MAA0B,GAAG;MACjCI,SAAS,EAAE,EAAE;MACbD,eAAe,EAAE;QACflB,SAAS,EAAEqC,WAAW,CAAC,CAAC,CAAC,CAACnB,eAAe,CAAClB,SAAS;QACnDiC,MAAM,EAAE,EAAE;QACVC,QAAQ,EAAE,EAAE;QACZ;QACAC,SAAS,EAAE;UACTG,mBAAmB,EAAE;QACvB;MACF;IACF,CAAC;IACDD,WAAW,CAACE,OAAO,CAAEC,SAAS,IAAK;MACjCzB,MAAM,CAACI,SAAS,GAAG,CAACJ,MAAM,CAACI,SAAS,IAAI,EAAE,EAAEa,MAAM,CAACQ,SAAS,CAACrB,SAAS,IAAI,EAAE,CAAC;MAC7EJ,MAAM,CAACG,eAAe,CAACe,MAAM,GAAG,CAAClB,MAAM,CAACG,eAAe,CAACe,MAAM,IAAI,EAAE,EAAED,MAAM,CAC1EQ,SAAS,CAACtB,eAAe,CAACe,MAAM,IAAI,EACtC,CAAC;MACDlB,MAAM,CAACG,eAAe,CAACgB,QAAQ,GAAG,CAACnB,MAAM,CAACG,eAAe,CAACgB,QAAQ,IAAI,EAAE,EAAEF,MAAM,CAC9EQ,SAAS,CAACtB,eAAe,CAACgB,QAAQ,IAAI,EACxC,CAAC;MACD;MACAnB,MAAM,CAACG,eAAe,CAACiB,SAAS,CAACG,mBAAmB;MAAG;MACvD,CAACvB,MAAM,CAACG,eAAe,CAACiB,SAAS,CAACG,mBAAmB,IAAI;MACvD;MAAA,EACCN,MAAM,CAACQ,SAAS,CAACtB,eAAe,CAACiB,SAAS,IAAI,EAAE,CAAC;IACtD,CAAC,CAAC;IACF,OAAOpB,MAAM;EACf;EAEQY,oBAAoBA,CAAA,EAAG;IAC7B,OAAO,IAAAc,YAAI,EAACC,gCAAqB,EAAE3D,kBAAkB,CAAC;EACxD;EAEQ+C,qBAAqBA,CAACa,UAAkB,EAAwB;IACtE,OAAO,CACL;MACElB,IAAI,EAAG,aAAYkB,UAAW,EAAC;MAC/BC,YAAY,EAAE,CAAC,IAAI,CAAC;MACpBC,OAAO,EAAE,IAAI,CAAClB,oBAAoB,CAAC;IACrC,CAAC,CACF;EACH;AACF;AAAC7C,OAAA,CAAAE,aAAA,GAAAA,aAAA"}
@@ -1,4 +1,4 @@
1
- import { BuilderMain, BuildTask, BuildContext } from '@teambit/builder';
1
+ import { BuilderMain, BuildTask, BuildContext, BuiltTaskResult } from '@teambit/builder';
2
2
  import { ApplicationMain } from './application.main.runtime';
3
3
  export declare const DEPLOY_TASK = "deploy_application";
4
4
  export declare class DeployTask implements BuildTask {
@@ -8,6 +8,8 @@ export declare class DeployTask implements BuildTask {
8
8
  aspectId: string;
9
9
  readonly location = "end";
10
10
  constructor(application: ApplicationMain, builder: BuilderMain);
11
- execute(context: BuildContext): Promise<any>;
11
+ execute(context: BuildContext): Promise<BuiltTaskResult>;
12
+ private runForOneApp;
13
+ private getBuildMetadata;
12
14
  private getBuildTask;
13
15
  }
@@ -20,9 +20,9 @@ function _pMapSeries() {
20
20
  };
21
21
  return data;
22
22
  }
23
- function _component() {
24
- const data = require("@teambit/component");
25
- _component = function () {
23
+ function _lodash() {
24
+ const data = require("lodash");
25
+ _lodash = function () {
26
26
  return data;
27
27
  };
28
28
  return data;
@@ -52,45 +52,57 @@ class DeployTask {
52
52
  (0, _defineProperty2().default)(this, "location", 'end');
53
53
  }
54
54
  async execute(context) {
55
- const apps = this.application.listApps();
56
- const componentsResults = await (0, _pMapSeries().default)(apps, async app => {
57
- var _componentResults$_me;
58
- const aspectId = this.application.getAppAspect(app.name);
59
- if (!aspectId) return undefined;
60
- const capsule = context.capsuleNetwork.seedersCapsules.getCapsuleIgnoreVersion(_component().ComponentID.fromString(aspectId));
61
- if (!capsule || !(capsule !== null && capsule !== void 0 && capsule.component)) return undefined;
62
- const buildTask = this.getBuildTask(context.previousTasksResults, context.envRuntime.id);
63
- if (!buildTask) return undefined;
64
- const componentResults = buildTask.componentsResults.find(res => res.component.id.isEqual(capsule.component.id, {
65
- ignoreVersion: true
66
- }));
67
- /**
68
- * @guysaar223
69
- * @ram8
70
- * TODO: we need to think how to pass private metadata between build pipes, maybe create shared context
71
- * or create new deploy context on builder
72
- */
73
- // @ts-ignore
74
- const _metadata = (componentResults === null || componentResults === void 0 ? void 0 : (_componentResults$_me = componentResults._metadata) === null || _componentResults$_me === void 0 ? void 0 : _componentResults$_me.deployContext) || {};
75
- const appDeployContext = Object.assign(context, _metadata, {
76
- capsule,
77
- appComponent: capsule.component
78
- });
79
- if (!app.deploy) return undefined;
80
- await app.deploy(appDeployContext);
55
+ const originalSeedersIds = context.capsuleNetwork.originalSeedersCapsules.map(c => c.component.id.toString());
56
+ const {
57
+ capsuleNetwork
58
+ } = context;
59
+ const components = await (0, _pMapSeries().default)(capsuleNetwork.originalSeedersCapsules, async capsule => {
60
+ const component = capsule.component;
61
+ if (originalSeedersIds && originalSeedersIds.length && !originalSeedersIds.includes(component.id.toString())) {
62
+ return undefined;
63
+ }
64
+ const apps = await this.application.loadAppsFromComponent(component, capsule.path);
65
+ if (!apps || !apps.length) return undefined;
66
+ await (0, _pMapSeries().default)((0, _lodash().compact)(apps), async app => this.runForOneApp(app, capsule, context));
67
+ return component;
68
+ });
69
+ const _componentsResults = (0, _lodash().compact)(components).map(component => {
81
70
  return {
82
- componentResult: {
83
- component: capsule.component
84
- }
71
+ component
85
72
  };
86
73
  });
87
- const _componentsResults = componentsResults.map(res => {
88
- return res === null || res === void 0 ? void 0 : res.componentResult;
89
- }).filter(a => !!a);
90
74
  return {
91
75
  componentsResults: _componentsResults
92
76
  };
93
77
  }
78
+ async runForOneApp(app, capsule, context) {
79
+ const aspectId = this.application.getAppAspect(app.name);
80
+ if (!aspectId) return;
81
+ if (!capsule || !(capsule !== null && capsule !== void 0 && capsule.component)) return;
82
+ const buildTask = this.getBuildTask(context.previousTasksResults, context.envRuntime.id);
83
+ if (!buildTask) return;
84
+ const _metadata = this.getBuildMetadata(buildTask, capsule.component.id, app);
85
+ const appDeployContext = Object.assign(context, _metadata.deployContext, {
86
+ capsule,
87
+ appComponent: capsule.component
88
+ });
89
+ if (!app.deploy) return;
90
+ await app.deploy(appDeployContext);
91
+ }
92
+ getBuildMetadata(buildTask, componentId, app) {
93
+ const componentResults = buildTask.componentsResults.find(res => res.component.id.isEqual(componentId, {
94
+ ignoreVersion: true
95
+ }));
96
+ /**
97
+ * @guysaar223
98
+ * @ram8
99
+ * TODO: we need to think how to pass private metadata between build pipes, maybe create shared context
100
+ * or create new deploy context on builder
101
+ */
102
+ // @ts-ignore
103
+ const metadata = componentResults === null || componentResults === void 0 ? void 0 : componentResults._metadata.buildDeployContexts.find(ctx => ctx.name === app.name && ctx.appType === app.applicationType);
104
+ return metadata;
105
+ }
94
106
  getBuildTask(taskResults, runtime) {
95
107
  return taskResults.find(({
96
108
  task,
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_component","_application","_buildApplication","DEPLOY_TASK","exports","DeployTask","constructor","application","builder","_defineProperty2","default","ApplicationAspect","id","execute","context","apps","listApps","componentsResults","mapSeries","app","_componentResults$_me","aspectId","getAppAspect","name","undefined","capsule","capsuleNetwork","seedersCapsules","getCapsuleIgnoreVersion","ComponentID","fromString","component","buildTask","getBuildTask","previousTasksResults","envRuntime","componentResults","find","res","isEqual","ignoreVersion","_metadata","deployContext","appDeployContext","Object","assign","appComponent","deploy","componentResult","_componentsResults","map","filter","a","taskResults","runtime","task","env","BUILD_TASK"],"sources":["deploy.task.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport { BuilderMain, BuildTask, BuildContext, ComponentResult, TaskResults } from '@teambit/builder';\nimport { ComponentID } from '@teambit/component';\nimport { ApplicationAspect } from './application.aspect';\nimport { ApplicationMain } from './application.main.runtime';\nimport { BUILD_TASK } from './build-application.task';\nimport { AppDeployContext } from './app-deploy-context';\n\nexport const DEPLOY_TASK = 'deploy_application';\n\nexport class DeployTask implements BuildTask {\n name = DEPLOY_TASK;\n aspectId = ApplicationAspect.id;\n readonly location = 'end';\n constructor(private application: ApplicationMain, private builder: BuilderMain) {}\n\n async execute(context: BuildContext): Promise<any> {\n const apps = this.application.listApps();\n const componentsResults = await mapSeries(apps, async (app): Promise<any> => {\n const aspectId = this.application.getAppAspect(app.name);\n if (!aspectId) return undefined;\n const capsule = context.capsuleNetwork.seedersCapsules.getCapsuleIgnoreVersion(ComponentID.fromString(aspectId));\n if (!capsule || !capsule?.component) return undefined;\n const buildTask = this.getBuildTask(context.previousTasksResults, context.envRuntime.id);\n if (!buildTask) return undefined;\n const componentResults = buildTask.componentsResults.find((res) =>\n res.component.id.isEqual(capsule.component.id, { ignoreVersion: true })\n );\n /**\n * @guysaar223\n * @ram8\n * TODO: we need to think how to pass private metadata between build pipes, maybe create shared context\n * or create new deploy context on builder\n */\n // @ts-ignore\n const _metadata = componentResults?._metadata?.deployContext || {};\n const appDeployContext: AppDeployContext = Object.assign(context, _metadata, {\n capsule,\n appComponent: capsule.component,\n });\n if (!app.deploy) return undefined;\n await app.deploy(appDeployContext);\n\n return {\n componentResult: { component: capsule.component },\n };\n });\n\n const _componentsResults = componentsResults\n .map((res) => {\n return res?.componentResult;\n })\n .filter((a) => !!a) as ComponentResult[];\n\n return {\n componentsResults: _componentsResults,\n };\n }\n\n private getBuildTask(taskResults: TaskResults[], runtime: string) {\n return taskResults.find(\n ({ task, env }) => task.aspectId === ApplicationAspect.id && task.name === BUILD_TASK && env.id === runtime\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_application","_buildApplication","DEPLOY_TASK","exports","DeployTask","constructor","application","builder","_defineProperty2","default","ApplicationAspect","id","execute","context","originalSeedersIds","capsuleNetwork","originalSeedersCapsules","map","c","component","toString","components","mapSeries","capsule","length","includes","undefined","apps","loadAppsFromComponent","path","compact","app","runForOneApp","_componentsResults","componentsResults","aspectId","getAppAspect","name","buildTask","getBuildTask","previousTasksResults","envRuntime","_metadata","getBuildMetadata","appDeployContext","Object","assign","deployContext","appComponent","deploy","componentId","componentResults","find","res","isEqual","ignoreVersion","metadata","buildDeployContexts","ctx","appType","applicationType","taskResults","runtime","task","env","BUILD_TASK"],"sources":["deploy.task.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport { BuilderMain, BuildTask, BuildContext, ComponentResult, TaskResults, BuiltTaskResult } from '@teambit/builder';\nimport { compact } from 'lodash';\nimport { Capsule } from '@teambit/isolator';\nimport { ComponentID } from '@teambit/component';\nimport { ApplicationAspect } from './application.aspect';\nimport { ApplicationMain } from './application.main.runtime';\nimport { BUILD_TASK } from './build-application.task';\nimport { AppDeployContext } from './app-deploy-context';\nimport { Application } from './application';\n\nexport const DEPLOY_TASK = 'deploy_application';\n\nexport class DeployTask implements BuildTask {\n name = DEPLOY_TASK;\n aspectId = ApplicationAspect.id;\n readonly location = 'end';\n constructor(private application: ApplicationMain, private builder: BuilderMain) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n const originalSeedersIds = context.capsuleNetwork.originalSeedersCapsules.map((c) => c.component.id.toString());\n const { capsuleNetwork } = context;\n\n const components = await mapSeries(capsuleNetwork.originalSeedersCapsules, async (capsule) => {\n const component = capsule.component;\n if (originalSeedersIds && originalSeedersIds.length && !originalSeedersIds.includes(component.id.toString())) {\n return undefined;\n }\n\n const apps = await this.application.loadAppsFromComponent(component, capsule.path);\n if (!apps || !apps.length) return undefined;\n await mapSeries(compact(apps), async (app) => this.runForOneApp(app, capsule, context));\n return component;\n });\n\n const _componentsResults: ComponentResult[] = compact(components).map((component) => {\n return { component };\n });\n\n return {\n componentsResults: _componentsResults,\n };\n }\n\n private async runForOneApp(app: Application, capsule: Capsule, context: BuildContext): Promise<void> {\n const aspectId = this.application.getAppAspect(app.name);\n if (!aspectId) return;\n if (!capsule || !capsule?.component) return;\n const buildTask = this.getBuildTask(context.previousTasksResults, context.envRuntime.id);\n if (!buildTask) return;\n const _metadata = this.getBuildMetadata(buildTask, capsule.component.id, app);\n const appDeployContext: AppDeployContext = Object.assign(context, _metadata.deployContext, {\n capsule,\n appComponent: capsule.component,\n });\n if (!app.deploy) return;\n await app.deploy(appDeployContext);\n }\n\n private getBuildMetadata(buildTask: TaskResults, componentId: ComponentID, app: Application) {\n const componentResults = buildTask.componentsResults.find((res) =>\n res.component.id.isEqual(componentId, { ignoreVersion: true })\n );\n /**\n * @guysaar223\n * @ram8\n * TODO: we need to think how to pass private metadata between build pipes, maybe create shared context\n * or create new deploy context on builder\n */\n // @ts-ignore\n const metadata = componentResults?._metadata.buildDeployContexts.find(\n (ctx) => ctx.name === app.name && ctx.appType === app.applicationType\n );\n\n return metadata;\n }\n\n private getBuildTask(taskResults: TaskResults[], runtime: string) {\n return taskResults.find(\n ({ task, env }) => task.aspectId === ApplicationAspect.id && task.name === BUILD_TASK && env.id === runtime\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.harmony_application@0.0.761/dist/application.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_application@0.0.761/dist/application.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_application@0.0.763/dist/application.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_application@0.0.763/dist/application.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/application",
3
- "version": "0.0.761",
3
+ "version": "0.0.763",
4
4
  "homepage": "https://bit.cloud/teambit/harmony/application",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.harmony",
8
8
  "name": "application",
9
- "version": "0.0.761"
9
+ "version": "0.0.763"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -17,17 +17,17 @@
17
17
  "core-js": "^3.0.0",
18
18
  "@babel/runtime": "7.20.0",
19
19
  "@teambit/harmony": "0.4.6",
20
- "@teambit/builder": "0.0.1119",
21
- "@teambit/component": "0.0.1119",
22
- "@teambit/isolator": "0.0.1119",
23
- "@teambit/envs": "0.0.1119",
20
+ "@teambit/builder": "0.0.1121",
21
+ "@teambit/component": "0.0.1121",
22
+ "@teambit/isolator": "0.0.1121",
23
+ "@teambit/envs": "0.0.1121",
24
24
  "@teambit/cli-table": "0.0.41",
25
- "@teambit/cli": "0.0.750",
26
- "@teambit/aspect-loader": "0.0.1119",
25
+ "@teambit/cli": "0.0.751",
26
+ "@teambit/aspect-loader": "0.0.1121",
27
27
  "@teambit/bit-error": "0.0.402",
28
- "@teambit/logger": "0.0.843",
29
- "@teambit/watcher": "0.0.131",
30
- "@teambit/workspace": "0.0.1119"
28
+ "@teambit/logger": "0.0.844",
29
+ "@teambit/watcher": "0.0.133",
30
+ "@teambit/workspace": "0.0.1121"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/react": "^17.0.8",
@@ -40,7 +40,7 @@
40
40
  "@types/testing-library__jest-dom": "5.9.5"
41
41
  },
42
42
  "peerDependencies": {
43
- "@teambit/legacy": "1.0.530",
43
+ "@teambit/legacy": "1.0.531",
44
44
  "react": "^16.8.0 || ^17.0.0",
45
45
  "react-dom": "^16.8.0 || ^17.0.0"
46
46
  },