@teambit/application 0.0.791 → 0.0.793

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.
@@ -9,4 +9,8 @@ export interface AppBuildResult {
9
9
  * warnings thrown during the build process.
10
10
  */
11
11
  warnings?: string[];
12
+ /**
13
+ * metadata to persist.
14
+ */
15
+ metadata?: Record<string, any>;
12
16
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["app-build-result.ts"],"sourcesContent":["import { ArtifactDefinition } from '@teambit/builder';\n\nexport interface AppBuildResult {\n artifacts?: ArtifactDefinition[];\n\n /**\n * errors thrown during the build process.\n */\n errors?: Error[];\n\n /**\n * warnings thrown during the build process.\n */\n warnings?: string[];\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["app-build-result.ts"],"sourcesContent":["import { ArtifactDefinition } from '@teambit/builder';\n\nexport interface AppBuildResult {\n artifacts?: ArtifactDefinition[];\n\n /**\n * errors thrown during the build process.\n */\n errors?: Error[];\n\n /**\n * warnings thrown during the build process.\n */\n warnings?: string[];\n\n /**\n * metadata to persist.\n */\n metadata?: Record<string, any>;\n}\n"],"mappings":""}
@@ -14,6 +14,14 @@ export declare type BuildAppResult = {
14
14
  componentResult: ComponentResult;
15
15
  artifacts?: ArtifactDefinition[];
16
16
  };
17
+ export declare type BuildDeployContexts = {
18
+ deployContext: {
19
+ publicDir?: string;
20
+ ssrPublicDir?: string;
21
+ };
22
+ name: string;
23
+ appType: string;
24
+ };
17
25
  export declare type Options = {
18
26
  deploy: boolean;
19
27
  };
@@ -103,13 +103,26 @@ class AppsBuildTask {
103
103
  const deployContext = await app.build(appDeployContext);
104
104
  const defaultArtifacts = this.getDefaultArtifactDef(app.applicationType || app.name);
105
105
  const artifacts = defaultArtifacts.concat(deployContext.artifacts || []);
106
+ const getDeployContextFormMetadata = () => {
107
+ if (deployContext.metadata) {
108
+ return deployContext.metadata;
109
+ }
110
+ return (0, _lodash().omit)(deployContext, 'errors', 'warnings');
111
+ };
106
112
  return {
107
113
  artifacts,
108
114
  componentResult: {
109
115
  component: capsule.component,
110
116
  errors: deployContext.errors,
111
117
  warnings: deployContext.warnings,
118
+ metadata: {
119
+ deployContext: getDeployContextFormMetadata(),
120
+ name: app.name,
121
+ appType: app.applicationType
122
+ },
112
123
  /**
124
+ * @deprecated - please use metadata instead
125
+ *
113
126
  * @guysaar223
114
127
  * @ram8
115
128
  * TODO: we need to think how to pass private metadata between build pipes, maybe create shared context
@@ -132,8 +145,7 @@ class AppsBuildTask {
132
145
  component: appsResults[0].componentResult.component,
133
146
  errors: [],
134
147
  warnings: [],
135
- // @ts-ignore
136
- _metadata: {
148
+ metadata: {
137
149
  buildDeployContexts: []
138
150
  }
139
151
  }
@@ -142,13 +154,11 @@ class AppsBuildTask {
142
154
  merged.artifacts = (merged.artifacts || []).concat(appResult.artifacts || []);
143
155
  merged.componentResult.errors = (merged.componentResult.errors || []).concat(appResult.componentResult.errors || []);
144
156
  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
157
 
150
- // @ts-ignore
151
- ).concat(appResult.componentResult._metadata || []);
158
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
159
+ merged.componentResult.metadata.buildDeployContexts =
160
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
161
+ (merged.componentResult.metadata.buildDeployContexts || []).concat(appResult.componentResult.metadata || []);
152
162
  });
153
163
  return merged;
154
164
  }
@@ -158,8 +168,7 @@ class AppsBuildTask {
158
168
  getDefaultArtifactDef(nameSuffix) {
159
169
  return [{
160
170
  name: `app-build-${nameSuffix}`,
161
- globPatterns: ['**'],
162
- rootDir: this.getArtifactDirectory()
171
+ globPatterns: [`${this.getArtifactDirectory()}/**`]
163
172
  }];
164
173
  }
165
174
  }
@@ -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","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 )\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":"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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","getDeployContextFormMetadata","metadata","omit","errors","warnings","appType","_metadata","appsResults","buildDeployContexts","forEach","appResult","join","CAPSULE_ARTIFACTS_DIR","nameSuffix","globPatterns"],"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, omit } 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 BuildDeployContexts = {\n deployContext: { publicDir?: string; ssrPublicDir?: string };\n name: string;\n appType: string;\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 const getDeployContextFormMetadata = () => {\n if (deployContext.metadata) {\n return deployContext.metadata;\n }\n return omit(deployContext, 'errors', 'warnings');\n };\n\n return {\n artifacts,\n componentResult: {\n component: capsule.component,\n errors: deployContext.errors,\n warnings: deployContext.warnings,\n metadata: { deployContext: getDeployContextFormMetadata(), name: app.name, appType: app.applicationType },\n /**\n * @deprecated - please use metadata instead\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 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\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n merged.componentResult.metadata!.buildDeployContexts =\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n (merged.componentResult.metadata!.buildDeployContexts || []).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: [`${this.getArtifactDirectory()}/**`],\n },\n ];\n }\n}\n"],"mappings":"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"}
@@ -41,8 +41,6 @@ function _buildApplication() {
41
41
  };
42
42
  return data;
43
43
  }
44
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
45
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
46
44
  const DEPLOY_TASK = 'deploy_application';
47
45
  exports.DEPLOY_TASK = DEPLOY_TASK;
48
46
  class DeployTask {
@@ -79,37 +77,32 @@ class DeployTask {
79
77
  }
80
78
  async runForOneApp(app, capsule, context) {
81
79
  const aspectId = this.application.getAppAspect(app.name);
82
- let buildTask;
83
- let _metadata;
84
80
  if (!aspectId) return;
85
81
  if (!capsule || !(capsule !== null && capsule !== void 0 && capsule.component)) return;
86
- if ((context === null || context === void 0 ? void 0 : context.previousTasksResults.length) !== 0) {
87
- buildTask = this.getBuildTask(context.previousTasksResults, context.envRuntime.id);
88
- _metadata = this.getBuildMetadata(buildTask, capsule.component.id, app);
89
- }
90
- const appDeployContext = Object.assign(context, _objectSpread({
82
+ const buildTask = this.getBuildTask(context.previousTasksResults, context.envRuntime.id);
83
+ const metadata = this.getBuildMetadata(buildTask, capsule.component);
84
+ if (!metadata) return;
85
+ const buildDeployContexts = metadata.find(ctx => ctx.name === app.name && ctx.appType === app.applicationType);
86
+ if (!buildDeployContexts) return;
87
+ const appDeployContext = Object.assign(context, buildDeployContexts.deployContext, {
91
88
  capsule,
92
89
  appComponent: capsule.component
93
- }, _metadata && _metadata.deployContext ? {
94
- deployContext: _metadata.deployContext
95
- } : {}));
90
+ });
96
91
  if (app && typeof app.deploy === 'function') {
97
92
  await app.deploy(appDeployContext);
98
93
  }
99
94
  }
100
- getBuildMetadata(buildTask, componentId, app) {
101
- const componentResults = buildTask === null || buildTask === void 0 ? void 0 : buildTask.componentsResults.find(res => res.component.id.isEqual(componentId, {
95
+ getBuildMetadata(buildTask, component) {
96
+ var _componentResults$met;
97
+ if (!buildTask) {
98
+ const appData = this.builder.getDataByAspect(component, _application().ApplicationAspect.id);
99
+ if (!appData) return undefined;
100
+ return appData.buildDeployContexts;
101
+ }
102
+ const componentResults = buildTask === null || buildTask === void 0 ? void 0 : buildTask.componentsResults.find(res => res.component.id.isEqual(component.id, {
102
103
  ignoreVersion: true
103
104
  }));
104
- /**
105
- * @guysaar223
106
- * @ram8
107
- * TODO: we need to think how to pass private metadata between build pipes, maybe create shared context
108
- * or create new deploy context on builder
109
- */
110
- // @ts-ignore
111
- const metadata = componentResults === null || componentResults === void 0 ? void 0 : componentResults._metadata.buildDeployContexts.find(ctx => ctx.name === app.name && ctx.appType === app.applicationType);
112
- return metadata;
105
+ return componentResults === null || componentResults === void 0 ? void 0 : (_componentResults$met = componentResults.metadata) === null || _componentResults$met === void 0 ? void 0 : _componentResults$met.buildDeployContexts;
113
106
  }
114
107
  getBuildTask(taskResults, runtime) {
115
108
  return taskResults.find(({
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_application","_buildApplication","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","DEPLOY_TASK","exports","DeployTask","constructor","application","builder","ApplicationAspect","id","execute","context","originalSeedersIds","capsuleNetwork","originalSeedersCapsules","map","c","component","toString","components","mapSeries","capsule","includes","undefined","apps","loadAppsFromComponent","path","compact","app","runForOneApp","_componentsResults","componentsResults","aspectId","getAppAspect","name","buildTask","_metadata","previousTasksResults","getBuildTask","envRuntime","getBuildMetadata","appDeployContext","assign","appComponent","deployContext","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 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 let buildTask: TaskResults | undefined;\n let _metadata;\n if (!aspectId) return;\n\n if (!capsule || !capsule?.component) return;\n\n if (context?.previousTasksResults.length !== 0) {\n buildTask = this.getBuildTask(context.previousTasksResults, context.envRuntime.id);\n _metadata = this.getBuildMetadata(buildTask as TaskResults, capsule.component.id, app);\n }\n\n const appDeployContext: AppDeployContext = Object.assign(context, {\n capsule,\n appComponent: capsule.component,\n ...(_metadata && _metadata.deployContext ? { deployContext: _metadata.deployContext } : {}),\n });\n\n if (app && typeof app.deploy === 'function') {\n await app.deploy(appDeployContext);\n }\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
+ {"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","buildDeployContexts","find","ctx","appType","applicationType","appDeployContext","Object","assign","deployContext","appComponent","deploy","_componentResults$met","appData","getDataByAspect","componentResults","res","isEqual","ignoreVersion","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 { Component } from '@teambit/component';\nimport { ApplicationAspect } from './application.aspect';\nimport { ApplicationMain } from './application.main.runtime';\nimport { BUILD_TASK, BuildDeployContexts } 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 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\n if (!capsule || !capsule?.component) return;\n\n const buildTask = this.getBuildTask(context.previousTasksResults, context.envRuntime.id);\n\n const metadata = this.getBuildMetadata(buildTask, capsule.component);\n if (!metadata) return;\n const buildDeployContexts = metadata.find((ctx) => ctx.name === app.name && ctx.appType === app.applicationType);\n if (!buildDeployContexts) return;\n\n const appDeployContext: AppDeployContext = Object.assign(context, buildDeployContexts.deployContext, {\n capsule,\n appComponent: capsule.component,\n });\n\n if (app && typeof app.deploy === 'function') {\n await app.deploy(appDeployContext);\n }\n }\n\n private getBuildMetadata(\n buildTask: TaskResults | undefined,\n component: Component\n ): BuildDeployContexts[] | undefined {\n if (!buildTask) {\n const appData = this.builder.getDataByAspect(component, ApplicationAspect.id);\n if (!appData) return undefined;\n return appData.buildDeployContexts;\n }\n const componentResults = buildTask?.componentsResults.find((res) =>\n res.component.id.isEqual(component.id, { ignoreVersion: true })\n );\n return componentResults?.metadata?.buildDeployContexts;\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":";;;;;;;;;;;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAI,aAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,YAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,kBAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,iBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIO,MAAMM,WAAW,GAAG,oBAAoB;AAACC,OAAA,CAAAD,WAAA,GAAAA,WAAA;AAEzC,MAAME,UAAU,CAAsB;EAI3CC,WAAWA,CAASC,WAA4B,EAAUC,OAAoB,EAAE;IAAA,KAA5DD,WAA4B,GAA5BA,WAA4B;IAAA,KAAUC,OAAoB,GAApBA,OAAoB;IAAA,IAAAC,gBAAA,GAAAC,OAAA,gBAHvEP,WAAW;IAAA,IAAAM,gBAAA,GAAAC,OAAA,oBACPC,gCAAiB,CAACC,EAAE;IAAA,IAAAH,gBAAA,GAAAC,OAAA,oBACX,KAAK;EACwD;EAEjF,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;IAElC,MAAMQ,UAAU,GAAG,MAAM,IAAAC,qBAAS,EAACP,cAAc,CAACC,uBAAuB,EAAE,MAAOO,OAAO,IAAK;MAC5F,MAAMJ,SAAS,GAAGI,OAAO,CAACJ,SAAS;MACnC,IAAIL,kBAAkB,IAAIA,kBAAkB,CAACU,MAAM,IAAI,CAACV,kBAAkB,CAACW,QAAQ,CAACN,SAAS,CAACR,EAAE,CAACS,QAAQ,CAAC,CAAC,CAAC,EAAE;QAC5G,OAAOM,SAAS;MAClB;MACA,MAAMC,IAAI,GAAG,MAAM,IAAI,CAACrB,WAAW,CAACsB,qBAAqB,CAACT,SAAS,EAAEI,OAAO,CAACM,IAAI,CAAC;MAClF,IAAI,CAACF,IAAI,IAAI,CAACA,IAAI,CAACH,MAAM,EAAE,OAAOE,SAAS;MAC3C,MAAM,IAAAJ,qBAAS,EAAC,IAAAQ,iBAAO,EAACH,IAAI,CAAC,EAAE,MAAOI,GAAG,IAAK,IAAI,CAACC,YAAY,CAACD,GAAG,EAAER,OAAO,EAAEV,OAAO,CAAC,CAAC;MACvF,OAAOM,SAAS;IAClB,CAAC,CAAC;IAEF,MAAMc,kBAAqC,GAAG,IAAAH,iBAAO,EAACT,UAAU,CAAC,CAACJ,GAAG,CAAEE,SAAS,IAAK;MACnF,OAAO;QAAEA;MAAU,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO;MACLe,iBAAiB,EAAED;IACrB,CAAC;EACH;EAEA,MAAcD,YAAYA,CAACD,GAAgB,EAAER,OAAgB,EAAEV,OAAqB,EAAiB;IACnG,MAAMsB,QAAQ,GAAG,IAAI,CAAC7B,WAAW,CAAC8B,YAAY,CAACL,GAAG,CAACM,IAAI,CAAC;IACxD,IAAI,CAACF,QAAQ,EAAE;IAEf,IAAI,CAACZ,OAAO,IAAI,EAACA,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEJ,SAAS,GAAE;IAErC,MAAMmB,SAAS,GAAG,IAAI,CAACC,YAAY,CAAC1B,OAAO,CAAC2B,oBAAoB,EAAE3B,OAAO,CAAC4B,UAAU,CAAC9B,EAAE,CAAC;IAExF,MAAM+B,QAAQ,GAAG,IAAI,CAACC,gBAAgB,CAACL,SAAS,EAAEf,OAAO,CAACJ,SAAS,CAAC;IACpE,IAAI,CAACuB,QAAQ,EAAE;IACf,MAAME,mBAAmB,GAAGF,QAAQ,CAACG,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACT,IAAI,KAAKN,GAAG,CAACM,IAAI,IAAIS,GAAG,CAACC,OAAO,KAAKhB,GAAG,CAACiB,eAAe,CAAC;IAChH,IAAI,CAACJ,mBAAmB,EAAE;IAE1B,MAAMK,gBAAkC,GAAGC,MAAM,CAACC,MAAM,CAACtC,OAAO,EAAE+B,mBAAmB,CAACQ,aAAa,EAAE;MACnG7B,OAAO;MACP8B,YAAY,EAAE9B,OAAO,CAACJ;IACxB,CAAC,CAAC;IAEF,IAAIY,GAAG,IAAI,OAAOA,GAAG,CAACuB,MAAM,KAAK,UAAU,EAAE;MAC3C,MAAMvB,GAAG,CAACuB,MAAM,CAACL,gBAAgB,CAAC;IACpC;EACF;EAEQN,gBAAgBA,CACtBL,SAAkC,EAClCnB,SAAoB,EACe;IAAA,IAAAoC,qBAAA;IACnC,IAAI,CAACjB,SAAS,EAAE;MACd,MAAMkB,OAAO,GAAG,IAAI,CAACjD,OAAO,CAACkD,eAAe,CAACtC,SAAS,EAAET,gCAAiB,CAACC,EAAE,CAAC;MAC7E,IAAI,CAAC6C,OAAO,EAAE,OAAO9B,SAAS;MAC9B,OAAO8B,OAAO,CAACZ,mBAAmB;IACpC;IACA,MAAMc,gBAAgB,GAAGpB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEJ,iBAAiB,CAACW,IAAI,CAAEc,GAAG,IAC7DA,GAAG,CAACxC,SAAS,CAACR,EAAE,CAACiD,OAAO,CAACzC,SAAS,CAACR,EAAE,EAAE;MAAEkD,aAAa,EAAE;IAAK,CAAC,CAChE,CAAC;IACD,OAAOH,gBAAgB,aAAhBA,gBAAgB,wBAAAH,qBAAA,GAAhBG,gBAAgB,CAAEhB,QAAQ,cAAAa,qBAAA,uBAA1BA,qBAAA,CAA4BX,mBAAmB;EACxD;EAEQL,YAAYA,CAACuB,WAA0B,EAAEC,OAAe,EAAE;IAChE,OAAOD,WAAW,CAACjB,IAAI,CACrB,CAAC;MAAEmB,IAAI;MAAEC;IAAI,CAAC,KAAKD,IAAI,CAAC7B,QAAQ,KAAKzB,gCAAiB,CAACC,EAAE,IAAIqD,IAAI,CAAC3B,IAAI,KAAK6B,8BAAU,IAAID,GAAG,CAACtD,EAAE,KAAKoD,OACtG,CAAC;EACH;AACF;AAAC5D,OAAA,CAAAC,UAAA,GAAAA,UAAA"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_application@0.0.791/dist/application.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_application@0.0.791/dist/application.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_application@0.0.793/dist/application.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_application@0.0.793/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.791",
3
+ "version": "0.0.793",
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.791"
9
+ "version": "0.0.793"
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.1149",
21
- "@teambit/component": "0.0.1149",
22
- "@teambit/isolator": "0.0.1149",
23
- "@teambit/envs": "0.0.1149",
20
+ "@teambit/builder": "0.0.1151",
21
+ "@teambit/component": "0.0.1151",
22
+ "@teambit/isolator": "0.0.1151",
23
+ "@teambit/envs": "0.0.1151",
24
24
  "@teambit/cli-table": "0.0.41",
25
- "@teambit/cli": "0.0.768",
26
- "@teambit/aspect-loader": "0.0.1149",
25
+ "@teambit/cli": "0.0.769",
26
+ "@teambit/aspect-loader": "0.0.1151",
27
27
  "@teambit/bit-error": "0.0.402",
28
- "@teambit/logger": "0.0.861",
29
- "@teambit/watcher": "0.0.161",
30
- "@teambit/workspace": "0.0.1149"
28
+ "@teambit/logger": "0.0.862",
29
+ "@teambit/watcher": "0.0.163",
30
+ "@teambit/workspace": "0.0.1151"
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.553",
43
+ "@teambit/legacy": "1.0.554",
44
44
  "react": "^16.8.0 || ^17.0.0",
45
45
  "react-dom": "^16.8.0 || ^17.0.0"
46
46
  },