@teambit/application 1.0.74 → 1.0.76

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.
@@ -1,6 +1,33 @@
1
1
  import { ArtifactDefinition } from '@teambit/builder';
2
2
  import { AppBuildContext } from './app-build-context';
3
3
  export declare class AppDeployContext extends AppBuildContext {
4
+ /**
5
+ * artifacts generated upon component build.
6
+ */
4
7
  readonly artifacts: ArtifactDefinition[];
5
- constructor(appBuildContext: AppBuildContext, artifacts: ArtifactDefinition[]);
8
+ /**
9
+ * public dir generated by the build.
10
+ */
11
+ readonly publicDir?: string | undefined;
12
+ /**
13
+ * ssr dir generated by the build.
14
+ */
15
+ readonly ssrPublicDir?: string | undefined;
16
+ constructor(
17
+ /**
18
+ * app build context.
19
+ */
20
+ appBuildContext: AppBuildContext,
21
+ /**
22
+ * artifacts generated upon component build.
23
+ */
24
+ artifacts: ArtifactDefinition[],
25
+ /**
26
+ * public dir generated by the build.
27
+ */
28
+ publicDir?: string | undefined,
29
+ /**
30
+ * ssr dir generated by the build.
31
+ */
32
+ ssrPublicDir?: string | undefined);
6
33
  }
@@ -12,9 +12,27 @@ function _appBuildContext() {
12
12
  return data;
13
13
  }
14
14
  class AppDeployContext extends _appBuildContext().AppBuildContext {
15
- constructor(appBuildContext, artifacts) {
15
+ constructor(
16
+ /**
17
+ * app build context.
18
+ */
19
+ appBuildContext,
20
+ /**
21
+ * artifacts generated upon component build.
22
+ */
23
+ artifacts,
24
+ /**
25
+ * public dir generated by the build.
26
+ */
27
+ publicDir,
28
+ /**
29
+ * ssr dir generated by the build.
30
+ */
31
+ ssrPublicDir) {
16
32
  super(appBuildContext.appContext, appBuildContext.capsuleNetwork, appBuildContext.previousTasksResults, appBuildContext.pipeName, appBuildContext.capsule, appBuildContext.name, appBuildContext.appComponent, appBuildContext.artifactsDir, appBuildContext.laneId);
17
33
  this.artifacts = artifacts;
34
+ this.publicDir = publicDir;
35
+ this.ssrPublicDir = ssrPublicDir;
18
36
  }
19
37
  }
20
38
  exports.AppDeployContext = AppDeployContext;
@@ -1 +1 @@
1
- {"version":3,"names":["_appBuildContext","data","require","AppDeployContext","AppBuildContext","constructor","appBuildContext","artifacts","appContext","capsuleNetwork","previousTasksResults","pipeName","capsule","name","appComponent","artifactsDir","laneId","exports"],"sources":["app-deploy-context.ts"],"sourcesContent":["import { ArtifactDefinition } from '@teambit/builder';\nimport { AppBuildContext } from './app-build-context';\n\nexport class AppDeployContext extends AppBuildContext {\n constructor(\n appBuildContext: AppBuildContext,\n readonly artifacts: ArtifactDefinition[],\n ) {\n super(\n appBuildContext.appContext,\n appBuildContext.capsuleNetwork,\n appBuildContext.previousTasksResults,\n appBuildContext.pipeName,\n appBuildContext.capsule,\n appBuildContext.name,\n appBuildContext.appComponent,\n appBuildContext.artifactsDir,\n appBuildContext.laneId\n );\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,iBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,gBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,gBAAgB,SAASC,kCAAe,CAAC;EACpDC,WAAWA,CACTC,eAAgC,EACvBC,SAA+B,EACxC;IACA,KAAK,CACHD,eAAe,CAACE,UAAU,EAC1BF,eAAe,CAACG,cAAc,EAC9BH,eAAe,CAACI,oBAAoB,EACpCJ,eAAe,CAACK,QAAQ,EACxBL,eAAe,CAACM,OAAO,EACvBN,eAAe,CAACO,IAAI,EACpBP,eAAe,CAACQ,YAAY,EAC5BR,eAAe,CAACS,YAAY,EAC5BT,eAAe,CAACU,MAClB,CAAC;IAAC,KAZOT,SAA+B,GAA/BA,SAA+B;EAa1C;AACF;AAACU,OAAA,CAAAd,gBAAA,GAAAA,gBAAA"}
1
+ {"version":3,"names":["_appBuildContext","data","require","AppDeployContext","AppBuildContext","constructor","appBuildContext","artifacts","publicDir","ssrPublicDir","appContext","capsuleNetwork","previousTasksResults","pipeName","capsule","name","appComponent","artifactsDir","laneId","exports"],"sources":["app-deploy-context.ts"],"sourcesContent":["import { ArtifactDefinition } from '@teambit/builder';\nimport { AppBuildContext } from './app-build-context';\n\nexport class AppDeployContext extends AppBuildContext {\n constructor(\n /**\n * app build context.\n */\n appBuildContext: AppBuildContext,\n\n /**\n * artifacts generated upon component build.\n */\n readonly artifacts: ArtifactDefinition[],\n\n /**\n * public dir generated by the build.\n */\n readonly publicDir?: string,\n\n /**\n * ssr dir generated by the build.\n */\n readonly ssrPublicDir?: string,\n ) {\n super(\n appBuildContext.appContext,\n appBuildContext.capsuleNetwork,\n appBuildContext.previousTasksResults,\n appBuildContext.pipeName,\n appBuildContext.capsule,\n appBuildContext.name,\n appBuildContext.appComponent,\n appBuildContext.artifactsDir,\n appBuildContext.laneId,\n );\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,iBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,gBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,gBAAgB,SAASC,kCAAe,CAAC;EACpDC,WAAWA;EACT;AACJ;AACA;EACIC,eAAgC;EAEhC;AACJ;AACA;EACaC,SAA+B;EAExC;AACJ;AACA;EACaC,SAAkB;EAE3B;AACJ;AACA;EACaC,YAAqB,EAC9B;IACA,KAAK,CACHH,eAAe,CAACI,UAAU,EAC1BJ,eAAe,CAACK,cAAc,EAC9BL,eAAe,CAACM,oBAAoB,EACpCN,eAAe,CAACO,QAAQ,EACxBP,eAAe,CAACQ,OAAO,EACvBR,eAAe,CAACS,IAAI,EACpBT,eAAe,CAACU,YAAY,EAC5BV,eAAe,CAACW,YAAY,EAC5BX,eAAe,CAACY,MAClB,CAAC;IAAC,KAtBOX,SAA+B,GAA/BA,SAA+B;IAAA,KAK/BC,SAAkB,GAAlBA,SAAkB;IAAA,KAKlBC,YAAqB,GAArBA,YAAqB;EAahC;AACF;AAACU,OAAA,CAAAhB,gBAAA,GAAAA,gBAAA"}
@@ -134,7 +134,7 @@ export declare class ApplicationMain {
134
134
  */
135
135
  getAppIdOrThrow(appName: string): Promise<ComponentID>;
136
136
  private createAppContext;
137
- createAppBuildContext(id: ComponentID, appName: string, rootDir?: string): Promise<AppContext>;
137
+ createAppBuildContext(id: ComponentID, appName: string, capsuleRootDir: string, rootDir?: string): Promise<AppContext>;
138
138
  static runtime: import("@teambit/harmony").RuntimeDefinition;
139
139
  static dependencies: import("@teambit/harmony").Aspect[];
140
140
  static slots: (((registerFn: () => string) => SlotRegistry<ApplicationType<unknown>[]>) | ((registerFn: () => string) => SlotRegistry<Application[]>) | ((registerFn: () => string) => SlotRegistry<DeploymentProvider[]>))[];
@@ -430,7 +430,7 @@ class ApplicationMain {
430
430
  const appContext = new (_appContext().AppContext)(appName, this.harmony, context.dev, component, this.workspace.path, context, hostRootDir, port, workspaceComponentDir);
431
431
  return appContext;
432
432
  }
433
- async createAppBuildContext(id, appName, rootDir) {
433
+ async createAppBuildContext(id, appName, capsuleRootDir, rootDir) {
434
434
  const host = this.componentAspect.getHost();
435
435
  // const components = await host.list();
436
436
  // const component = components.find((c) => c.id.isEqual(id));
@@ -440,7 +440,7 @@ class ApplicationMain {
440
440
  const res = await env.run(this.appService);
441
441
  const context = res.results[0].data;
442
442
  if (!context) throw new (_exceptions().AppNotFound)(appName);
443
- const appContext = new (_appContext().AppContext)(appName, this.harmony, context.dev, component, this.workspace.path, context, rootDir, undefined, undefined);
443
+ const appContext = new (_appContext().AppContext)(appName, this.harmony, context.dev, component, capsuleRootDir, context, rootDir, undefined, undefined);
444
444
  return appContext;
445
445
  }
446
446
  static async provider([cli, loggerAspect, builder, envs, component, aspectLoader, workspace, watcher], config, [appTypeSlot, appSlot, deploymentProviderSlot], harmony) {
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_lodash","_aspectLoader","_harmony","_workspace","_interopRequireDefault","_bitError","_watcher","_builder","_logger","_envs","_component","_exceptions","_application","_appList","_buildApplication","_run","_application2","_app","_app2","_appType","_appContext","_deploy","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ApplicationMain","constructor","appSlot","appTypeSlot","deploymentProviderSlot","config","envs","componentAspect","appService","aspectLoader","workspace","logger","watcher","harmony","dev","ssr","watch","defaultPortRange","registerApp","app","register","listApps","flatten","values","mapApps","toArray","listAppsById","id","get","toString","getAppById","apps","head","calculateAppByComponent","component","listAppTypes","listAppsFromComponents","listAppsComponents","components","getHost","list","appTypesPatterns","getAppPatterns","appsComponents","hasAppTypePattern","patterns","files","filesystem","byGlob","appTypes","map","appType","getAppPattern","concat","BIT_APP_PATTERN","loadApps","pluginsToLoad","flatMap","appComponent","file","path","appManifests","Promise","all","compact","pluginPath","_require","isModule","isEsmModule","appManifest","loadEsm","err","error","loadAppsFromComponent","rootDir","isApp","allPluginDefs","getPluginDefs","appsPluginDefs","pluginDef","includes","pattern","plugins","getPluginsFromDefs","loadedPlugins","has","load","MainRuntime","name","loadExtensionsByManifests","seeders","getApp","appName","find","getAppByNameOrId","appNameOrId","byName","byId","BitError","globPattern","registerAppType","AppTypePlugin","registerPlugins","getAppAspect","_this$appSlot$toArray","getAppOrThrow","AppNotFound","computeOptions","opts","defaultOpts","loadAppsToSlot","runApp","options","context","createAppContext","port","instance","run","preCompile","compile","catch","isOldApi","errors","getAppIdOrThrow","maybeApp","host","resolveComponentId","env","createEnvironment","results","hostRootDir","getComponentPackagePath","workspaceComponentDir","componentDir","appContext","AppContext","createAppBuildContext","provider","cli","loggerAspect","builder","createLogger","ApplicationAspect","AppService","application","bind","appCmd","AppCmd","commands","AppListCmd","RunCmd","AppPlugin","registerBuildTasks","AppsBuildTask","registerSnapTasks","DeployTask","registerTagTasks","registerService","registerGroup","AppListCmdDeprecated","onComponentLoad","loadedComponent","type","applicationType","exports","CLIAspect","LoggerAspect","BuilderAspect","EnvsAspect","ComponentAspect","AspectLoaderAspect","WorkspaceAspect","WatcherAspect","Slot","withType","addRuntime"],"sources":["application.main.runtime.ts"],"sourcesContent":["import { MainRuntime, CLIMain, CLIAspect } from '@teambit/cli';\nimport { compact, flatten, head } from 'lodash';\nimport { AspectLoaderMain, AspectLoaderAspect } from '@teambit/aspect-loader';\nimport { Slot, SlotRegistry, Harmony } from '@teambit/harmony';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { BitError } from '@teambit/bit-error';\nimport WatcherAspect, { WatcherMain } from '@teambit/watcher';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport ComponentAspect, { ComponentMain, ComponentID, Component } from '@teambit/component';\nimport { ApplicationType } from './application-type';\nimport { Application } from './application';\nimport { DeploymentProvider } from './deployment-provider';\nimport { AppNotFound } from './exceptions';\nimport { ApplicationAspect } from './application.aspect';\nimport { AppListCmdDeprecated } from './app-list.cmd';\nimport { AppsBuildTask } from './build-application.task';\nimport { RunCmd } from './run.cmd';\nimport { AppService } from './application.service';\nimport { AppCmd, AppListCmd } from './app.cmd';\nimport { AppPlugin, BIT_APP_PATTERN } from './app.plugin';\nimport { AppTypePlugin } from './app-type.plugin';\nimport { AppContext } from './app-context';\nimport { DeployTask } from './deploy.task';\n\nexport type ApplicationTypeSlot = SlotRegistry<ApplicationType<unknown>[]>;\nexport type ApplicationSlot = SlotRegistry<Application[]>;\nexport type DeploymentProviderSlot = SlotRegistry<DeploymentProvider[]>;\n\nexport type ApplicationAspectConfig = {\n /**\n * envs ids to load app types.\n */\n envs?: string[];\n};\n\n/**\n * Application meta data that is stored on the component on load if it's an application.\n */\nexport type ApplicationMetadata = {\n appName: string;\n type?: string;\n};\n\nexport type ServeAppOptions = {\n /**\n * default port range used to serve applications.\n */\n defaultPortRange?: [start: number, end: number];\n\n /**\n * determine whether to start the application in dev mode.\n */\n dev: boolean;\n\n /**\n * actively watch and compile the workspace (like the bit watch command)\n * @default true\n */\n watch?: boolean;\n\n /**\n * determine whether to start the application in server side mode.\n * @default false\n */\n ssr?: boolean;\n\n /**\n * exact port to run the app\n */\n port?: number;\n};\n\nexport class ApplicationMain {\n constructor(\n private appSlot: ApplicationSlot,\n // TODO unused\n private appTypeSlot: ApplicationTypeSlot,\n private deploymentProviderSlot: DeploymentProviderSlot,\n private config: ApplicationAspectConfig,\n private envs: EnvsMain,\n private componentAspect: ComponentMain,\n private appService: AppService,\n private aspectLoader: AspectLoaderMain,\n private workspace: Workspace,\n private logger: Logger,\n private watcher: WatcherMain,\n private harmony: Harmony\n ) {}\n\n /**\n * register a new app.\n */\n registerApp(app: Application) {\n this.appSlot.register([app]);\n return this;\n }\n\n /**\n * list all registered apps.\n */\n listApps(): Application[] {\n return flatten(this.appSlot.values());\n }\n\n /**\n * map all apps by component ID.\n */\n mapApps() {\n return this.appSlot.toArray();\n }\n\n /**\n * list apps by a component id.\n */\n listAppsById(id?: ComponentID): Application[] | undefined {\n if (!id) return undefined;\n return this.appSlot.get(id.toString());\n }\n\n /**\n * get an application by a component id.\n */\n async getAppById(id: ComponentID) {\n const apps = await this.listAppsById(id);\n if (!apps) return undefined;\n return head(apps);\n }\n\n /**\n * calculate an application by a component.\n * This should be only used during the on component load slot\n */\n calculateAppByComponent(component: Component) {\n const apps = this.appSlot.get(component.id.toString());\n if (!apps) return undefined;\n return head(apps);\n }\n\n listAppTypes() {\n return flatten(this.appTypeSlot.values());\n }\n\n /**\n * @deprecated use `listAppsComponents` instead.\n * @returns\n */\n async listAppsFromComponents(): Promise<Component[]> {\n return this.listAppsComponents();\n }\n\n async listAppsComponents(): Promise<Component[]> {\n const components = await this.componentAspect.getHost().list();\n const appTypesPatterns = this.getAppPatterns();\n const appsComponents = components.filter((component) => this.hasAppTypePattern(component, appTypesPatterns));\n return appsComponents;\n }\n\n private hasAppTypePattern(component: Component, appTypesPatterns?: string[]): boolean {\n const patterns = appTypesPatterns || this.getAppPatterns();\n // has app plugin from registered types.\n const files = component.filesystem.byGlob(patterns);\n return !!files.length;\n }\n\n getAppPatterns() {\n const appTypes = this.listAppTypes();\n const appTypesPatterns = appTypes.map((appType) => {\n return this.getAppPattern(appType);\n });\n\n return appTypesPatterns.concat(BIT_APP_PATTERN);\n }\n\n async loadApps(): Promise<Application[]> {\n const apps = await this.listAppsComponents();\n const appTypesPatterns = this.getAppPatterns();\n\n const pluginsToLoad = apps.flatMap((appComponent) => {\n const files = appComponent.filesystem.byGlob(appTypesPatterns);\n return files.map((file) => file.path);\n });\n\n // const app = require(appPath);\n const appManifests = Promise.all(\n compact(\n pluginsToLoad.map(async (pluginPath) => {\n try {\n const isModule = await this.aspectLoader.isEsmModule(pluginPath);\n if (isModule) {\n const appManifest = await this.aspectLoader.loadEsm(pluginPath);\n return appManifest;\n }\n // eslint-disable-next-line\n const appManifest = require(pluginPath)?.default;\n return appManifest;\n } catch (err) {\n this.logger.error(`failed loading app manifest: ${pluginPath}`);\n return undefined;\n }\n })\n )\n );\n\n return appManifests;\n }\n\n async loadAppsFromComponent(component: Component, rootDir: string): Promise<Application[] | undefined> {\n const appTypesPatterns = this.getAppPatterns();\n const isApp = this.hasAppTypePattern(component, appTypesPatterns);\n if (!isApp) return undefined;\n\n const allPluginDefs = this.aspectLoader.getPluginDefs();\n\n const appsPluginDefs = allPluginDefs.filter((pluginDef) => {\n return appTypesPatterns.includes(pluginDef.pattern.toString());\n });\n // const fileResolver = this.aspectLoader.pluginFileResolver(component, rootDir);\n\n const plugins = this.aspectLoader.getPluginsFromDefs(component, rootDir, appsPluginDefs);\n let loadedPlugins;\n if (plugins.has()) {\n loadedPlugins = await plugins.load(MainRuntime.name);\n await this.aspectLoader.loadExtensionsByManifests([loadedPlugins], { seeders: [component.id.toString()] });\n }\n\n const listAppsById = this.listAppsById(component.id);\n return listAppsById;\n }\n\n /**\n * get an app.\n */\n getApp(appName: string, id?: ComponentID): Application | undefined {\n const apps = id ? this.listAppsById(id) : this.listApps();\n if (!apps) return undefined;\n return apps.find((app) => app.name === appName);\n }\n\n getAppByNameOrId(appNameOrId: string): Application | undefined {\n const byName = this.getApp(appNameOrId);\n if (byName) return byName;\n const byId = this.appSlot.get(appNameOrId);\n if (!byId || !byId.length) return undefined;\n if (byId.length > 1) {\n throw new BitError(\n `unable to figure out what app to retrieve. the id \"${appNameOrId}\" has more than one app. please use the app-name`\n );\n }\n return byId[0];\n }\n\n getAppPattern(appType: ApplicationType<unknown>) {\n if (appType.globPattern) return appType.globPattern;\n return `*.${appType.name}.*`;\n }\n\n /**\n * registers a new app and sets a plugin for it.\n */\n registerAppType<T>(...appTypes: Array<ApplicationType<T>>) {\n const plugins = appTypes.map((appType) => {\n return new AppTypePlugin(this.getAppPattern(appType), appType, this.appSlot);\n });\n\n this.aspectLoader.registerPlugins(plugins);\n this.appTypeSlot.register(appTypes);\n return this;\n }\n\n /**\n * get an app AspectId.\n */\n getAppAspect(appName: string): string | undefined {\n return this.appSlot.toArray().find(([, apps]) => apps.find((app) => app.name === appName))?.[0];\n }\n\n /**\n * get app to throw.\n */\n getAppOrThrow(appName: string): Application {\n const app = this.getAppByNameOrId(appName);\n if (!app) throw new AppNotFound(appName);\n return app;\n }\n\n defaultOpts: ServeAppOptions = {\n dev: false,\n ssr: false,\n watch: true,\n defaultPortRange: [3100, 3500],\n };\n private computeOptions(opts: Partial<ServeAppOptions> = {}) {\n return {\n ...this.defaultOpts,\n ...opts,\n };\n }\n\n async loadAppsToSlot() {\n const apps = await this.loadApps();\n this.appSlot.register(apps);\n return this;\n }\n\n async runApp(appName: string, options?: ServeAppOptions) {\n options = this.computeOptions(options);\n const app = this.getAppOrThrow(appName);\n const context = await this.createAppContext(app.name, options.port);\n if (!context) throw new AppNotFound(appName);\n\n const instance = await app.run(context);\n if (options.watch) {\n this.watcher\n .watch({\n preCompile: false,\n compile: true,\n })\n .catch((err) => {\n // don't throw an error, we don't want to break the \"run\" process\n this.logger.error(`compilation failed`, err);\n });\n }\n\n const isOldApi = typeof instance === 'number'\n const port = isOldApi\n ? instance\n : instance?.port;\n\n return { app, port, errors: undefined, isOldApi };\n }\n\n /**\n * get the component ID of a certain app.\n */\n async getAppIdOrThrow(appName: string) {\n const maybeApp = this.appSlot.toArray().find(([, apps]) => {\n return apps.find((app) => app.name === appName);\n });\n\n if (!maybeApp) throw new AppNotFound(appName);\n\n const host = this.componentAspect.getHost();\n return host.resolveComponentId(maybeApp[0]);\n }\n\n private async createAppContext(appName: string, port?: number): Promise<AppContext> {\n const host = this.componentAspect.getHost();\n // const components = await host.list();\n const id = await this.getAppIdOrThrow(appName);\n // const component = components.find((c) => c.id.isEqual(id));\n const component = await host.get(id);\n if (!component) throw new AppNotFound(appName);\n\n const env = await this.envs.createEnvironment([component]);\n const res = await env.run(this.appService);\n const context = res.results[0].data;\n if (!context) throw new AppNotFound(appName);\n const hostRootDir = await this.workspace.getComponentPackagePath(component);\n const workspaceComponentDir = this.workspace.componentDir(component.id);\n\n const appContext = new AppContext(\n appName,\n this.harmony,\n context.dev,\n component,\n this.workspace.path,\n context,\n hostRootDir,\n port,\n workspaceComponentDir\n );\n return appContext;\n }\n\n async createAppBuildContext(id: ComponentID, appName: string, rootDir?: string) {\n const host = this.componentAspect.getHost();\n // const components = await host.list();\n // const component = components.find((c) => c.id.isEqual(id));\n const component = await host.get(id);\n if (!component) throw new AppNotFound(appName);\n\n const env = await this.envs.createEnvironment([component]);\n const res = await env.run(this.appService);\n const context = res.results[0].data;\n if (!context) throw new AppNotFound(appName);\n\n const appContext = new AppContext(\n appName,\n this.harmony,\n context.dev,\n component,\n this.workspace.path,\n context,\n rootDir,\n undefined,\n undefined\n );\n return appContext;\n\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n LoggerAspect,\n BuilderAspect,\n EnvsAspect,\n ComponentAspect,\n AspectLoaderAspect,\n WorkspaceAspect,\n WatcherAspect,\n ];\n\n static slots = [\n Slot.withType<ApplicationType<unknown>[]>(),\n Slot.withType<Application[]>(),\n Slot.withType<DeploymentProvider[]>(),\n ];\n\n static async provider(\n [cli, loggerAspect, builder, envs, component, aspectLoader, workspace, watcher]: [\n CLIMain,\n LoggerMain,\n BuilderMain,\n EnvsMain,\n ComponentMain,\n AspectLoaderMain,\n Workspace,\n WatcherMain\n ],\n config: ApplicationAspectConfig,\n [appTypeSlot, appSlot, deploymentProviderSlot]: [ApplicationTypeSlot, ApplicationSlot, DeploymentProviderSlot],\n harmony: Harmony\n ) {\n const logger = loggerAspect.createLogger(ApplicationAspect.id);\n const appService = new AppService();\n const application = new ApplicationMain(\n appSlot,\n appTypeSlot,\n deploymentProviderSlot,\n config,\n envs,\n component,\n appService,\n aspectLoader,\n workspace,\n logger,\n watcher,\n harmony\n );\n appService.registerAppType = application.registerAppType.bind(application);\n const appCmd = new AppCmd();\n appCmd.commands = [new AppListCmd(application), new RunCmd(application, logger)];\n aspectLoader.registerPlugins([new AppPlugin(appSlot)]);\n builder.registerBuildTasks([new AppsBuildTask(application)]);\n builder.registerSnapTasks([new DeployTask(application, builder)]);\n builder.registerTagTasks([new DeployTask(application, builder)]);\n envs.registerService(appService);\n cli.registerGroup('apps', 'Applications');\n cli.register(new RunCmd(application, logger), new AppListCmdDeprecated(application), appCmd);\n // cli.registerOnStart(async () => {\n // await application.loadAppsToSlot();\n // });\n if (workspace) {\n workspace.onComponentLoad(async (loadedComponent): Promise<ApplicationMetadata | undefined> => {\n const app = application.calculateAppByComponent(loadedComponent);\n if (!app) return undefined;\n return {\n appName: app.name,\n type: app.applicationType,\n };\n });\n }\n\n return application;\n }\n}\n\nApplicationAspect.addRuntime(ApplicationMain);\n"],"mappings":";;;;;;AAAA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,cAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,aAAA,YAAAA,CAAA;IAAA,OAAAH,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;AACA,SAAAK,WAAA;EAAA,MAAAL,IAAA,GAAAM,sBAAA,CAAAL,OAAA;EAAAI,UAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,UAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,SAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,SAAA;EAAA,MAAAR,IAAA,GAAAM,sBAAA,CAAAL,OAAA;EAAAO,QAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,SAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,QAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,QAAA;EAAA,MAAAV,IAAA,GAAAC,OAAA;EAAAS,OAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,MAAA;EAAA,MAAAX,IAAA,GAAAC,OAAA;EAAAU,KAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,WAAA;EAAA,MAAAZ,IAAA,GAAAM,sBAAA,CAAAL,OAAA;EAAAW,UAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAa,YAAA;EAAA,MAAAb,IAAA,GAAAC,OAAA;EAAAY,WAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,aAAA;EAAA,MAAAd,IAAA,GAAAC,OAAA;EAAAa,YAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,SAAA;EAAA,MAAAf,IAAA,GAAAC,OAAA;EAAAc,QAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,kBAAA;EAAA,MAAAhB,IAAA,GAAAC,OAAA;EAAAe,iBAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,KAAA;EAAA,MAAAjB,IAAA,GAAAC,OAAA;EAAAgB,IAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,cAAA;EAAA,MAAAlB,IAAA,GAAAC,OAAA;EAAAiB,aAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,KAAA;EAAA,MAAAnB,IAAA,GAAAC,OAAA;EAAAkB,IAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoB,MAAA;EAAA,MAAApB,IAAA,GAAAC,OAAA;EAAAmB,KAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAqB,SAAA;EAAA,MAAArB,IAAA,GAAAC,OAAA;EAAAoB,QAAA,YAAAA,CAAA;IAAA,OAAArB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAsB,YAAA;EAAA,MAAAtB,IAAA,GAAAC,OAAA;EAAAqB,WAAA,YAAAA,CAAA;IAAA,OAAAtB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAuB,QAAA;EAAA,MAAAvB,IAAA,GAAAC,OAAA;EAAAsB,OAAA,YAAAA,CAAA;IAAA,OAAAvB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,SAAAM,uBAAAkB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAApB,GAAA,EAAAwB,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAxB,GAAA,IAAAO,MAAA,CAAAgB,cAAA,CAAAvB,GAAA,EAAAwB,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAZ,UAAA,QAAAc,YAAA,QAAAC,QAAA,oBAAA5B,GAAA,CAAAwB,GAAA,IAAAC,KAAA,WAAAzB,GAAA;AAAA,SAAA0B,eAAAG,GAAA,QAAAL,GAAA,GAAAM,YAAA,CAAAD,GAAA,2BAAAL,GAAA,gBAAAA,GAAA,GAAAO,MAAA,CAAAP,GAAA;AAAA,SAAAM,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAa3C;AACA;AACA;;AAmCO,MAAMU,eAAe,CAAC;EAC3BC,WAAWA,CACDC,OAAwB;EAChC;EACQC,WAAgC,EAChCC,sBAA8C,EAC9CC,MAA+B,EAC/BC,IAAc,EACdC,eAA8B,EAC9BC,UAAsB,EACtBC,YAA8B,EAC9BC,SAAoB,EACpBC,MAAc,EACdC,OAAoB,EACpBC,OAAgB,EACxB;IAAA,KAbQX,OAAwB,GAAxBA,OAAwB;IAAA,KAExBC,WAAgC,GAAhCA,WAAgC;IAAA,KAChCC,sBAA8C,GAA9CA,sBAA8C;IAAA,KAC9CC,MAA+B,GAA/BA,MAA+B;IAAA,KAC/BC,IAAc,GAAdA,IAAc;IAAA,KACdC,eAA8B,GAA9BA,eAA8B;IAAA,KAC9BC,UAAsB,GAAtBA,UAAsB;IAAA,KACtBC,YAA8B,GAA9BA,YAA8B;IAAA,KAC9BC,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,MAAc,GAAdA,MAAc;IAAA,KACdC,OAAoB,GAApBA,OAAoB;IAAA,KACpBC,OAAgB,GAAhBA,OAAgB;IAAAnC,eAAA,sBAuMK;MAC7BoC,GAAG,EAAE,KAAK;MACVC,GAAG,EAAE,KAAK;MACVC,KAAK,EAAE,IAAI;MACXC,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI;IAC/B,CAAC;EA3ME;;EAEH;AACF;AACA;EACEC,WAAWA,CAACC,GAAgB,EAAE;IAC5B,IAAI,CAACjB,OAAO,CAACkB,QAAQ,CAAC,CAACD,GAAG,CAAC,CAAC;IAC5B,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEE,QAAQA,CAAA,EAAkB;IACxB,OAAO,IAAAC,iBAAO,EAAC,IAAI,CAACpB,OAAO,CAACqB,MAAM,CAAC,CAAC,CAAC;EACvC;;EAEA;AACF;AACA;EACEC,OAAOA,CAAA,EAAG;IACR,OAAO,IAAI,CAACtB,OAAO,CAACuB,OAAO,CAAC,CAAC;EAC/B;;EAEA;AACF;AACA;EACEC,YAAYA,CAACC,EAAgB,EAA6B;IACxD,IAAI,CAACA,EAAE,EAAE,OAAOhC,SAAS;IACzB,OAAO,IAAI,CAACO,OAAO,CAAC0B,GAAG,CAACD,EAAE,CAACE,QAAQ,CAAC,CAAC,CAAC;EACxC;;EAEA;AACF;AACA;EACE,MAAMC,UAAUA,CAACH,EAAe,EAAE;IAChC,MAAMI,IAAI,GAAG,MAAM,IAAI,CAACL,YAAY,CAACC,EAAE,CAAC;IACxC,IAAI,CAACI,IAAI,EAAE,OAAOpC,SAAS;IAC3B,OAAO,IAAAqC,cAAI,EAACD,IAAI,CAAC;EACnB;;EAEA;AACF;AACA;AACA;EACEE,uBAAuBA,CAACC,SAAoB,EAAE;IAC5C,MAAMH,IAAI,GAAG,IAAI,CAAC7B,OAAO,CAAC0B,GAAG,CAACM,SAAS,CAACP,EAAE,CAACE,QAAQ,CAAC,CAAC,CAAC;IACtD,IAAI,CAACE,IAAI,EAAE,OAAOpC,SAAS;IAC3B,OAAO,IAAAqC,cAAI,EAACD,IAAI,CAAC;EACnB;EAEAI,YAAYA,CAAA,EAAG;IACb,OAAO,IAAAb,iBAAO,EAAC,IAAI,CAACnB,WAAW,CAACoB,MAAM,CAAC,CAAC,CAAC;EAC3C;;EAEA;AACF;AACA;AACA;EACE,MAAMa,sBAAsBA,CAAA,EAAyB;IACnD,OAAO,IAAI,CAACC,kBAAkB,CAAC,CAAC;EAClC;EAEA,MAAMA,kBAAkBA,CAAA,EAAyB;IAC/C,MAAMC,UAAU,GAAG,MAAM,IAAI,CAAC/B,eAAe,CAACgC,OAAO,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;IAC9D,MAAMC,gBAAgB,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IAC9C,MAAMC,cAAc,GAAGL,UAAU,CAACrE,MAAM,CAAEiE,SAAS,IAAK,IAAI,CAACU,iBAAiB,CAACV,SAAS,EAAEO,gBAAgB,CAAC,CAAC;IAC5G,OAAOE,cAAc;EACvB;EAEQC,iBAAiBA,CAACV,SAAoB,EAAEO,gBAA2B,EAAW;IACpF,MAAMI,QAAQ,GAAGJ,gBAAgB,IAAI,IAAI,CAACC,cAAc,CAAC,CAAC;IAC1D;IACA,MAAMI,KAAK,GAAGZ,SAAS,CAACa,UAAU,CAACC,MAAM,CAACH,QAAQ,CAAC;IACnD,OAAO,CAAC,CAACC,KAAK,CAACtE,MAAM;EACvB;EAEAkE,cAAcA,CAAA,EAAG;IACf,MAAMO,QAAQ,GAAG,IAAI,CAACd,YAAY,CAAC,CAAC;IACpC,MAAMM,gBAAgB,GAAGQ,QAAQ,CAACC,GAAG,CAAEC,OAAO,IAAK;MACjD,OAAO,IAAI,CAACC,aAAa,CAACD,OAAO,CAAC;IACpC,CAAC,CAAC;IAEF,OAAOV,gBAAgB,CAACY,MAAM,CAACC,uBAAe,CAAC;EACjD;EAEA,MAAMC,QAAQA,CAAA,EAA2B;IACvC,MAAMxB,IAAI,GAAG,MAAM,IAAI,CAACM,kBAAkB,CAAC,CAAC;IAC5C,MAAMI,gBAAgB,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IAE9C,MAAMc,aAAa,GAAGzB,IAAI,CAAC0B,OAAO,CAAEC,YAAY,IAAK;MACnD,MAAMZ,KAAK,GAAGY,YAAY,CAACX,UAAU,CAACC,MAAM,CAACP,gBAAgB,CAAC;MAC9D,OAAOK,KAAK,CAACI,GAAG,CAAES,IAAI,IAAKA,IAAI,CAACC,IAAI,CAAC;IACvC,CAAC,CAAC;;IAEF;IACA,MAAMC,YAAY,GAAGC,OAAO,CAACC,GAAG,CAC9B,IAAAC,iBAAO,EACLR,aAAa,CAACN,GAAG,CAAC,MAAOe,UAAU,IAAK;MACtC,IAAI;QAAA,IAAAC,QAAA;QACF,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAAC1D,YAAY,CAAC2D,WAAW,CAACH,UAAU,CAAC;QAChE,IAAIE,QAAQ,EAAE;UACZ,MAAME,WAAW,GAAG,MAAM,IAAI,CAAC5D,YAAY,CAAC6D,OAAO,CAACL,UAAU,CAAC;UAC/D,OAAOI,WAAW;QACpB;QACA;QACA,MAAMA,WAAW,IAAAH,QAAA,GAAGnI,OAAO,CAACkI,UAAU,CAAC,cAAAC,QAAA,uBAAnBA,QAAA,CAAqB1G,OAAO;QAChD,OAAO6G,WAAW;MACpB,CAAC,CAAC,OAAOE,GAAG,EAAE;QACZ,IAAI,CAAC5D,MAAM,CAAC6D,KAAK,CAAE,gCAA+BP,UAAW,EAAC,CAAC;QAC/D,OAAOtE,SAAS;MAClB;IACF,CAAC,CACH,CACF,CAAC;IAED,OAAOkE,YAAY;EACrB;EAEA,MAAMY,qBAAqBA,CAACvC,SAAoB,EAAEwC,OAAe,EAAsC;IACrG,MAAMjC,gBAAgB,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IAC9C,MAAMiC,KAAK,GAAG,IAAI,CAAC/B,iBAAiB,CAACV,SAAS,EAAEO,gBAAgB,CAAC;IACjE,IAAI,CAACkC,KAAK,EAAE,OAAOhF,SAAS;IAE5B,MAAMiF,aAAa,GAAG,IAAI,CAACnE,YAAY,CAACoE,aAAa,CAAC,CAAC;IAEvD,MAAMC,cAAc,GAAGF,aAAa,CAAC3G,MAAM,CAAE8G,SAAS,IAAK;MACzD,OAAOtC,gBAAgB,CAACuC,QAAQ,CAACD,SAAS,CAACE,OAAO,CAACpD,QAAQ,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC;IACF;;IAEA,MAAMqD,OAAO,GAAG,IAAI,CAACzE,YAAY,CAAC0E,kBAAkB,CAACjD,SAAS,EAAEwC,OAAO,EAAEI,cAAc,CAAC;IACxF,IAAIM,aAAa;IACjB,IAAIF,OAAO,CAACG,GAAG,CAAC,CAAC,EAAE;MACjBD,aAAa,GAAG,MAAMF,OAAO,CAACI,IAAI,CAACC,kBAAW,CAACC,IAAI,CAAC;MACpD,MAAM,IAAI,CAAC/E,YAAY,CAACgF,yBAAyB,CAAC,CAACL,aAAa,CAAC,EAAE;QAAEM,OAAO,EAAE,CAACxD,SAAS,CAACP,EAAE,CAACE,QAAQ,CAAC,CAAC;MAAE,CAAC,CAAC;IAC5G;IAEA,MAAMH,YAAY,GAAG,IAAI,CAACA,YAAY,CAACQ,SAAS,CAACP,EAAE,CAAC;IACpD,OAAOD,YAAY;EACrB;;EAEA;AACF;AACA;EACEiE,MAAMA,CAACC,OAAe,EAAEjE,EAAgB,EAA2B;IACjE,MAAMI,IAAI,GAAGJ,EAAE,GAAG,IAAI,CAACD,YAAY,CAACC,EAAE,CAAC,GAAG,IAAI,CAACN,QAAQ,CAAC,CAAC;IACzD,IAAI,CAACU,IAAI,EAAE,OAAOpC,SAAS;IAC3B,OAAOoC,IAAI,CAAC8D,IAAI,CAAE1E,GAAG,IAAKA,GAAG,CAACqE,IAAI,KAAKI,OAAO,CAAC;EACjD;EAEAE,gBAAgBA,CAACC,WAAmB,EAA2B;IAC7D,MAAMC,MAAM,GAAG,IAAI,CAACL,MAAM,CAACI,WAAW,CAAC;IACvC,IAAIC,MAAM,EAAE,OAAOA,MAAM;IACzB,MAAMC,IAAI,GAAG,IAAI,CAAC/F,OAAO,CAAC0B,GAAG,CAACmE,WAAW,CAAC;IAC1C,IAAI,CAACE,IAAI,IAAI,CAACA,IAAI,CAACzH,MAAM,EAAE,OAAOmB,SAAS;IAC3C,IAAIsG,IAAI,CAACzH,MAAM,GAAG,CAAC,EAAE;MACnB,MAAM,KAAI0H,oBAAQ,EACf,sDAAqDH,WAAY,kDACpE,CAAC;IACH;IACA,OAAOE,IAAI,CAAC,CAAC,CAAC;EAChB;EAEA7C,aAAaA,CAACD,OAAiC,EAAE;IAC/C,IAAIA,OAAO,CAACgD,WAAW,EAAE,OAAOhD,OAAO,CAACgD,WAAW;IACnD,OAAQ,KAAIhD,OAAO,CAACqC,IAAK,IAAG;EAC9B;;EAEA;AACF;AACA;EACEY,eAAeA,CAAI,GAAGnD,QAAmC,EAAE;IACzD,MAAMiC,OAAO,GAAGjC,QAAQ,CAACC,GAAG,CAAEC,OAAO,IAAK;MACxC,OAAO,KAAIkD,wBAAa,EAAC,IAAI,CAACjD,aAAa,CAACD,OAAO,CAAC,EAAEA,OAAO,EAAE,IAAI,CAACjD,OAAO,CAAC;IAC9E,CAAC,CAAC;IAEF,IAAI,CAACO,YAAY,CAAC6F,eAAe,CAACpB,OAAO,CAAC;IAC1C,IAAI,CAAC/E,WAAW,CAACiB,QAAQ,CAAC6B,QAAQ,CAAC;IACnC,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEsD,YAAYA,CAACX,OAAe,EAAsB;IAAA,IAAAY,qBAAA;IAChD,QAAAA,qBAAA,GAAO,IAAI,CAACtG,OAAO,CAACuB,OAAO,CAAC,CAAC,CAACoE,IAAI,CAAC,CAAC,GAAG9D,IAAI,CAAC,KAAKA,IAAI,CAAC8D,IAAI,CAAE1E,GAAG,IAAKA,GAAG,CAACqE,IAAI,KAAKI,OAAO,CAAC,CAAC,cAAAY,qBAAA,uBAAnFA,qBAAA,CAAsF,CAAC,CAAC;EACjG;;EAEA;AACF;AACA;EACEC,aAAaA,CAACb,OAAe,EAAe;IAC1C,MAAMzE,GAAG,GAAG,IAAI,CAAC2E,gBAAgB,CAACF,OAAO,CAAC;IAC1C,IAAI,CAACzE,GAAG,EAAE,MAAM,KAAIuF,yBAAW,EAACd,OAAO,CAAC;IACxC,OAAOzE,GAAG;EACZ;EAQQwF,cAAcA,CAACC,IAA8B,GAAG,CAAC,CAAC,EAAE;IAC1D,OAAAtI,aAAA,CAAAA,aAAA,KACK,IAAI,CAACuI,WAAW,GAChBD,IAAI;EAEX;EAEA,MAAME,cAAcA,CAAA,EAAG;IACrB,MAAM/E,IAAI,GAAG,MAAM,IAAI,CAACwB,QAAQ,CAAC,CAAC;IAClC,IAAI,CAACrD,OAAO,CAACkB,QAAQ,CAACW,IAAI,CAAC;IAC3B,OAAO,IAAI;EACb;EAEA,MAAMgF,MAAMA,CAACnB,OAAe,EAAEoB,OAAyB,EAAE;IACvDA,OAAO,GAAG,IAAI,CAACL,cAAc,CAACK,OAAO,CAAC;IACtC,MAAM7F,GAAG,GAAG,IAAI,CAACsF,aAAa,CAACb,OAAO,CAAC;IACvC,MAAMqB,OAAO,GAAG,MAAM,IAAI,CAACC,gBAAgB,CAAC/F,GAAG,CAACqE,IAAI,EAAEwB,OAAO,CAACG,IAAI,CAAC;IACnE,IAAI,CAACF,OAAO,EAAE,MAAM,KAAIP,yBAAW,EAACd,OAAO,CAAC;IAE5C,MAAMwB,QAAQ,GAAG,MAAMjG,GAAG,CAACkG,GAAG,CAACJ,OAAO,CAAC;IACvC,IAAID,OAAO,CAAChG,KAAK,EAAE;MACjB,IAAI,CAACJ,OAAO,CACTI,KAAK,CAAC;QACLsG,UAAU,EAAE,KAAK;QACjBC,OAAO,EAAE;MACX,CAAC,CAAC,CACDC,KAAK,CAAEjD,GAAG,IAAK;QACd;QACA,IAAI,CAAC5D,MAAM,CAAC6D,KAAK,CAAE,oBAAmB,EAAED,GAAG,CAAC;MAC9C,CAAC,CAAC;IACN;IAEA,MAAMkD,QAAQ,GAAG,OAAOL,QAAQ,KAAK,QAAQ;IAC7C,MAAMD,IAAI,GAAGM,QAAQ,GACjBL,QAAQ,GACRA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAED,IAAI;IAElB,OAAO;MAAEhG,GAAG;MAAEgG,IAAI;MAAEO,MAAM,EAAE/H,SAAS;MAAE8H;IAAS,CAAC;EACnD;;EAEA;AACF;AACA;EACE,MAAME,eAAeA,CAAC/B,OAAe,EAAE;IACrC,MAAMgC,QAAQ,GAAG,IAAI,CAAC1H,OAAO,CAACuB,OAAO,CAAC,CAAC,CAACoE,IAAI,CAAC,CAAC,GAAG9D,IAAI,CAAC,KAAK;MACzD,OAAOA,IAAI,CAAC8D,IAAI,CAAE1E,GAAG,IAAKA,GAAG,CAACqE,IAAI,KAAKI,OAAO,CAAC;IACjD,CAAC,CAAC;IAEF,IAAI,CAACgC,QAAQ,EAAE,MAAM,KAAIlB,yBAAW,EAACd,OAAO,CAAC;IAE7C,MAAMiC,IAAI,GAAG,IAAI,CAACtH,eAAe,CAACgC,OAAO,CAAC,CAAC;IAC3C,OAAOsF,IAAI,CAACC,kBAAkB,CAACF,QAAQ,CAAC,CAAC,CAAC,CAAC;EAC7C;EAEA,MAAcV,gBAAgBA,CAACtB,OAAe,EAAEuB,IAAa,EAAuB;IAClF,MAAMU,IAAI,GAAG,IAAI,CAACtH,eAAe,CAACgC,OAAO,CAAC,CAAC;IAC3C;IACA,MAAMZ,EAAE,GAAG,MAAM,IAAI,CAACgG,eAAe,CAAC/B,OAAO,CAAC;IAC9C;IACA,MAAM1D,SAAS,GAAG,MAAM2F,IAAI,CAACjG,GAAG,CAACD,EAAE,CAAC;IACpC,IAAI,CAACO,SAAS,EAAE,MAAM,KAAIwE,yBAAW,EAACd,OAAO,CAAC;IAE9C,MAAMmC,GAAG,GAAG,MAAM,IAAI,CAACzH,IAAI,CAAC0H,iBAAiB,CAAC,CAAC9F,SAAS,CAAC,CAAC;IAC1D,MAAMtC,GAAG,GAAG,MAAMmI,GAAG,CAACV,GAAG,CAAC,IAAI,CAAC7G,UAAU,CAAC;IAC1C,MAAMyG,OAAO,GAAGrH,GAAG,CAACqI,OAAO,CAAC,CAAC,CAAC,CAACnM,IAAI;IACnC,IAAI,CAACmL,OAAO,EAAE,MAAM,KAAIP,yBAAW,EAACd,OAAO,CAAC;IAC5C,MAAMsC,WAAW,GAAG,MAAM,IAAI,CAACxH,SAAS,CAACyH,uBAAuB,CAACjG,SAAS,CAAC;IAC3E,MAAMkG,qBAAqB,GAAG,IAAI,CAAC1H,SAAS,CAAC2H,YAAY,CAACnG,SAAS,CAACP,EAAE,CAAC;IAEvE,MAAM2G,UAAU,GAAG,KAAIC,wBAAU,EAC/B3C,OAAO,EACP,IAAI,CAAC/E,OAAO,EACZoG,OAAO,CAACnG,GAAG,EACXoB,SAAS,EACT,IAAI,CAACxB,SAAS,CAACkD,IAAI,EACnBqD,OAAO,EACPiB,WAAW,EACXf,IAAI,EACJiB,qBACF,CAAC;IACD,OAAOE,UAAU;EACnB;EAEA,MAAME,qBAAqBA,CAAC7G,EAAe,EAAEiE,OAAe,EAAElB,OAAgB,EAAE;IAC9E,MAAMmD,IAAI,GAAG,IAAI,CAACtH,eAAe,CAACgC,OAAO,CAAC,CAAC;IAC3C;IACA;IACA,MAAML,SAAS,GAAG,MAAM2F,IAAI,CAACjG,GAAG,CAACD,EAAE,CAAC;IACpC,IAAI,CAACO,SAAS,EAAE,MAAM,KAAIwE,yBAAW,EAACd,OAAO,CAAC;IAE9C,MAAMmC,GAAG,GAAG,MAAM,IAAI,CAACzH,IAAI,CAAC0H,iBAAiB,CAAC,CAAC9F,SAAS,CAAC,CAAC;IAC1D,MAAMtC,GAAG,GAAG,MAAMmI,GAAG,CAACV,GAAG,CAAC,IAAI,CAAC7G,UAAU,CAAC;IAC1C,MAAMyG,OAAO,GAAGrH,GAAG,CAACqI,OAAO,CAAC,CAAC,CAAC,CAACnM,IAAI;IACnC,IAAI,CAACmL,OAAO,EAAE,MAAM,KAAIP,yBAAW,EAACd,OAAO,CAAC;IAE5C,MAAM0C,UAAU,GAAG,KAAIC,wBAAU,EAC/B3C,OAAO,EACP,IAAI,CAAC/E,OAAO,EACZoG,OAAO,CAACnG,GAAG,EACXoB,SAAS,EACT,IAAI,CAACxB,SAAS,CAACkD,IAAI,EACnBqD,OAAO,EACPvC,OAAO,EACP/E,SAAS,EACTA,SACF,CAAC;IACD,OAAO2I,UAAU;EAEnB;EAoBA,aAAaG,QAAQA,CACnB,CAACC,GAAG,EAAEC,YAAY,EAAEC,OAAO,EAAEtI,IAAI,EAAE4B,SAAS,EAAEzB,YAAY,EAAEC,SAAS,EAAEE,OAAO,CAS7E,EACDP,MAA+B,EAC/B,CAACF,WAAW,EAAED,OAAO,EAAEE,sBAAsB,CAAiE,EAC9GS,OAAgB,EAChB;IACA,MAAMF,MAAM,GAAGgI,YAAY,CAACE,YAAY,CAACC,gCAAiB,CAACnH,EAAE,CAAC;IAC9D,MAAMnB,UAAU,GAAG,KAAIuI,0BAAU,EAAC,CAAC;IACnC,MAAMC,WAAW,GAAG,IAAIhJ,eAAe,CACrCE,OAAO,EACPC,WAAW,EACXC,sBAAsB,EACtBC,MAAM,EACNC,IAAI,EACJ4B,SAAS,EACT1B,UAAU,EACVC,YAAY,EACZC,SAAS,EACTC,MAAM,EACNC,OAAO,EACPC,OACF,CAAC;IACDL,UAAU,CAAC4F,eAAe,GAAG4C,WAAW,CAAC5C,eAAe,CAAC6C,IAAI,CAACD,WAAW,CAAC;IAC1E,MAAME,MAAM,GAAG,KAAIC,aAAM,EAAC,CAAC;IAC3BD,MAAM,CAACE,QAAQ,GAAG,CAAC,KAAIC,iBAAU,EAACL,WAAW,CAAC,EAAE,KAAIM,aAAM,EAACN,WAAW,EAAErI,MAAM,CAAC,CAAC;IAChFF,YAAY,CAAC6F,eAAe,CAAC,CAAC,KAAIiD,iBAAS,EAACrJ,OAAO,CAAC,CAAC,CAAC;IACtD0I,OAAO,CAACY,kBAAkB,CAAC,CAAC,KAAIC,iCAAa,EAACT,WAAW,CAAC,CAAC,CAAC;IAC5DJ,OAAO,CAACc,iBAAiB,CAAC,CAAC,KAAIC,oBAAU,EAACX,WAAW,EAAEJ,OAAO,CAAC,CAAC,CAAC;IACjEA,OAAO,CAACgB,gBAAgB,CAAC,CAAC,KAAID,oBAAU,EAACX,WAAW,EAAEJ,OAAO,CAAC,CAAC,CAAC;IAChEtI,IAAI,CAACuJ,eAAe,CAACrJ,UAAU,CAAC;IAChCkI,GAAG,CAACoB,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC;IACzCpB,GAAG,CAACtH,QAAQ,CAAC,KAAIkI,aAAM,EAACN,WAAW,EAAErI,MAAM,CAAC,EAAE,KAAIoJ,+BAAoB,EAACf,WAAW,CAAC,EAAEE,MAAM,CAAC;IAC5F;IACA;IACA;IACA,IAAIxI,SAAS,EAAE;MACbA,SAAS,CAACsJ,eAAe,CAAC,MAAOC,eAAe,IAA+C;QAC7F,MAAM9I,GAAG,GAAG6H,WAAW,CAAC/G,uBAAuB,CAACgI,eAAe,CAAC;QAChE,IAAI,CAAC9I,GAAG,EAAE,OAAOxB,SAAS;QAC1B,OAAO;UACLiG,OAAO,EAAEzE,GAAG,CAACqE,IAAI;UACjB0E,IAAI,EAAE/I,GAAG,CAACgJ;QACZ,CAAC;MACH,CAAC,CAAC;IACJ;IAEA,OAAOnB,WAAW;EACpB;AACF;AAACoB,OAAA,CAAApK,eAAA,GAAAA,eAAA;AAAAtB,eAAA,CApZYsB,eAAe,aAyUTuF,kBAAW;AAAA7G,eAAA,CAzUjBsB,eAAe,kBA0UJ,CACpBqK,gBAAS,EACTC,sBAAY,EACZC,wBAAa,EACbC,kBAAU,EACVC,oBAAe,EACfC,kCAAkB,EAClBC,oBAAe,EACfC,kBAAa,CACd;AAAAlM,eAAA,CAnVUsB,eAAe,WAqVX,CACb6K,eAAI,CAACC,QAAQ,CAA6B,CAAC,EAC3CD,eAAI,CAACC,QAAQ,CAAgB,CAAC,EAC9BD,eAAI,CAACC,QAAQ,CAAuB,CAAC,CACtC;AA6DHhC,gCAAiB,CAACiC,UAAU,CAAC/K,eAAe,CAAC"}
1
+ {"version":3,"names":["_cli","data","require","_lodash","_aspectLoader","_harmony","_workspace","_interopRequireDefault","_bitError","_watcher","_builder","_logger","_envs","_component","_exceptions","_application","_appList","_buildApplication","_run","_application2","_app","_app2","_appType","_appContext","_deploy","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ApplicationMain","constructor","appSlot","appTypeSlot","deploymentProviderSlot","config","envs","componentAspect","appService","aspectLoader","workspace","logger","watcher","harmony","dev","ssr","watch","defaultPortRange","registerApp","app","register","listApps","flatten","values","mapApps","toArray","listAppsById","id","get","toString","getAppById","apps","head","calculateAppByComponent","component","listAppTypes","listAppsFromComponents","listAppsComponents","components","getHost","list","appTypesPatterns","getAppPatterns","appsComponents","hasAppTypePattern","patterns","files","filesystem","byGlob","appTypes","map","appType","getAppPattern","concat","BIT_APP_PATTERN","loadApps","pluginsToLoad","flatMap","appComponent","file","path","appManifests","Promise","all","compact","pluginPath","_require","isModule","isEsmModule","appManifest","loadEsm","err","error","loadAppsFromComponent","rootDir","isApp","allPluginDefs","getPluginDefs","appsPluginDefs","pluginDef","includes","pattern","plugins","getPluginsFromDefs","loadedPlugins","has","load","MainRuntime","name","loadExtensionsByManifests","seeders","getApp","appName","find","getAppByNameOrId","appNameOrId","byName","byId","BitError","globPattern","registerAppType","AppTypePlugin","registerPlugins","getAppAspect","_this$appSlot$toArray","getAppOrThrow","AppNotFound","computeOptions","opts","defaultOpts","loadAppsToSlot","runApp","options","context","createAppContext","port","instance","run","preCompile","compile","catch","isOldApi","errors","getAppIdOrThrow","maybeApp","host","resolveComponentId","env","createEnvironment","results","hostRootDir","getComponentPackagePath","workspaceComponentDir","componentDir","appContext","AppContext","createAppBuildContext","capsuleRootDir","provider","cli","loggerAspect","builder","createLogger","ApplicationAspect","AppService","application","bind","appCmd","AppCmd","commands","AppListCmd","RunCmd","AppPlugin","registerBuildTasks","AppsBuildTask","registerSnapTasks","DeployTask","registerTagTasks","registerService","registerGroup","AppListCmdDeprecated","onComponentLoad","loadedComponent","type","applicationType","exports","CLIAspect","LoggerAspect","BuilderAspect","EnvsAspect","ComponentAspect","AspectLoaderAspect","WorkspaceAspect","WatcherAspect","Slot","withType","addRuntime"],"sources":["application.main.runtime.ts"],"sourcesContent":["import { MainRuntime, CLIMain, CLIAspect } from '@teambit/cli';\nimport { compact, flatten, head } from 'lodash';\nimport { AspectLoaderMain, AspectLoaderAspect } from '@teambit/aspect-loader';\nimport { Slot, SlotRegistry, Harmony } from '@teambit/harmony';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { BitError } from '@teambit/bit-error';\nimport WatcherAspect, { WatcherMain } from '@teambit/watcher';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport ComponentAspect, { ComponentMain, ComponentID, Component } from '@teambit/component';\nimport { ApplicationType } from './application-type';\nimport { Application } from './application';\nimport { DeploymentProvider } from './deployment-provider';\nimport { AppNotFound } from './exceptions';\nimport { ApplicationAspect } from './application.aspect';\nimport { AppListCmdDeprecated } from './app-list.cmd';\nimport { AppsBuildTask } from './build-application.task';\nimport { RunCmd } from './run.cmd';\nimport { AppService } from './application.service';\nimport { AppCmd, AppListCmd } from './app.cmd';\nimport { AppPlugin, BIT_APP_PATTERN } from './app.plugin';\nimport { AppTypePlugin } from './app-type.plugin';\nimport { AppContext } from './app-context';\nimport { DeployTask } from './deploy.task';\n\nexport type ApplicationTypeSlot = SlotRegistry<ApplicationType<unknown>[]>;\nexport type ApplicationSlot = SlotRegistry<Application[]>;\nexport type DeploymentProviderSlot = SlotRegistry<DeploymentProvider[]>;\n\nexport type ApplicationAspectConfig = {\n /**\n * envs ids to load app types.\n */\n envs?: string[];\n};\n\n/**\n * Application meta data that is stored on the component on load if it's an application.\n */\nexport type ApplicationMetadata = {\n appName: string;\n type?: string;\n};\n\nexport type ServeAppOptions = {\n /**\n * default port range used to serve applications.\n */\n defaultPortRange?: [start: number, end: number];\n\n /**\n * determine whether to start the application in dev mode.\n */\n dev: boolean;\n\n /**\n * actively watch and compile the workspace (like the bit watch command)\n * @default true\n */\n watch?: boolean;\n\n /**\n * determine whether to start the application in server side mode.\n * @default false\n */\n ssr?: boolean;\n\n /**\n * exact port to run the app\n */\n port?: number;\n};\n\nexport class ApplicationMain {\n constructor(\n private appSlot: ApplicationSlot,\n // TODO unused\n private appTypeSlot: ApplicationTypeSlot,\n private deploymentProviderSlot: DeploymentProviderSlot,\n private config: ApplicationAspectConfig,\n private envs: EnvsMain,\n private componentAspect: ComponentMain,\n private appService: AppService,\n private aspectLoader: AspectLoaderMain,\n private workspace: Workspace,\n private logger: Logger,\n private watcher: WatcherMain,\n private harmony: Harmony\n ) {}\n\n /**\n * register a new app.\n */\n registerApp(app: Application) {\n this.appSlot.register([app]);\n return this;\n }\n\n /**\n * list all registered apps.\n */\n listApps(): Application[] {\n return flatten(this.appSlot.values());\n }\n\n /**\n * map all apps by component ID.\n */\n mapApps() {\n return this.appSlot.toArray();\n }\n\n /**\n * list apps by a component id.\n */\n listAppsById(id?: ComponentID): Application[] | undefined {\n if (!id) return undefined;\n return this.appSlot.get(id.toString());\n }\n\n /**\n * get an application by a component id.\n */\n async getAppById(id: ComponentID) {\n const apps = await this.listAppsById(id);\n if (!apps) return undefined;\n return head(apps);\n }\n\n /**\n * calculate an application by a component.\n * This should be only used during the on component load slot\n */\n calculateAppByComponent(component: Component) {\n const apps = this.appSlot.get(component.id.toString());\n if (!apps) return undefined;\n return head(apps);\n }\n\n listAppTypes() {\n return flatten(this.appTypeSlot.values());\n }\n\n /**\n * @deprecated use `listAppsComponents` instead.\n * @returns\n */\n async listAppsFromComponents(): Promise<Component[]> {\n return this.listAppsComponents();\n }\n\n async listAppsComponents(): Promise<Component[]> {\n const components = await this.componentAspect.getHost().list();\n const appTypesPatterns = this.getAppPatterns();\n const appsComponents = components.filter((component) => this.hasAppTypePattern(component, appTypesPatterns));\n return appsComponents;\n }\n\n private hasAppTypePattern(component: Component, appTypesPatterns?: string[]): boolean {\n const patterns = appTypesPatterns || this.getAppPatterns();\n // has app plugin from registered types.\n const files = component.filesystem.byGlob(patterns);\n return !!files.length;\n }\n\n getAppPatterns() {\n const appTypes = this.listAppTypes();\n const appTypesPatterns = appTypes.map((appType) => {\n return this.getAppPattern(appType);\n });\n\n return appTypesPatterns.concat(BIT_APP_PATTERN);\n }\n\n async loadApps(): Promise<Application[]> {\n const apps = await this.listAppsComponents();\n const appTypesPatterns = this.getAppPatterns();\n\n const pluginsToLoad = apps.flatMap((appComponent) => {\n const files = appComponent.filesystem.byGlob(appTypesPatterns);\n return files.map((file) => file.path);\n });\n\n // const app = require(appPath);\n const appManifests = Promise.all(\n compact(\n pluginsToLoad.map(async (pluginPath) => {\n try {\n const isModule = await this.aspectLoader.isEsmModule(pluginPath);\n if (isModule) {\n const appManifest = await this.aspectLoader.loadEsm(pluginPath);\n return appManifest;\n }\n // eslint-disable-next-line\n const appManifest = require(pluginPath)?.default;\n return appManifest;\n } catch (err) {\n this.logger.error(`failed loading app manifest: ${pluginPath}`);\n return undefined;\n }\n })\n )\n );\n\n return appManifests;\n }\n\n async loadAppsFromComponent(component: Component, rootDir: string): Promise<Application[] | undefined> {\n const appTypesPatterns = this.getAppPatterns();\n const isApp = this.hasAppTypePattern(component, appTypesPatterns);\n if (!isApp) return undefined;\n\n const allPluginDefs = this.aspectLoader.getPluginDefs();\n\n const appsPluginDefs = allPluginDefs.filter((pluginDef) => {\n return appTypesPatterns.includes(pluginDef.pattern.toString());\n });\n // const fileResolver = this.aspectLoader.pluginFileResolver(component, rootDir);\n\n const plugins = this.aspectLoader.getPluginsFromDefs(component, rootDir, appsPluginDefs);\n let loadedPlugins;\n if (plugins.has()) {\n loadedPlugins = await plugins.load(MainRuntime.name);\n await this.aspectLoader.loadExtensionsByManifests([loadedPlugins], { seeders: [component.id.toString()] });\n }\n\n const listAppsById = this.listAppsById(component.id);\n return listAppsById;\n }\n\n /**\n * get an app.\n */\n getApp(appName: string, id?: ComponentID): Application | undefined {\n const apps = id ? this.listAppsById(id) : this.listApps();\n if (!apps) return undefined;\n return apps.find((app) => app.name === appName);\n }\n\n getAppByNameOrId(appNameOrId: string): Application | undefined {\n const byName = this.getApp(appNameOrId);\n if (byName) return byName;\n const byId = this.appSlot.get(appNameOrId);\n if (!byId || !byId.length) return undefined;\n if (byId.length > 1) {\n throw new BitError(\n `unable to figure out what app to retrieve. the id \"${appNameOrId}\" has more than one app. please use the app-name`\n );\n }\n return byId[0];\n }\n\n getAppPattern(appType: ApplicationType<unknown>) {\n if (appType.globPattern) return appType.globPattern;\n return `*.${appType.name}.*`;\n }\n\n /**\n * registers a new app and sets a plugin for it.\n */\n registerAppType<T>(...appTypes: Array<ApplicationType<T>>) {\n const plugins = appTypes.map((appType) => {\n return new AppTypePlugin(this.getAppPattern(appType), appType, this.appSlot);\n });\n\n this.aspectLoader.registerPlugins(plugins);\n this.appTypeSlot.register(appTypes);\n return this;\n }\n\n /**\n * get an app AspectId.\n */\n getAppAspect(appName: string): string | undefined {\n return this.appSlot.toArray().find(([, apps]) => apps.find((app) => app.name === appName))?.[0];\n }\n\n /**\n * get app to throw.\n */\n getAppOrThrow(appName: string): Application {\n const app = this.getAppByNameOrId(appName);\n if (!app) throw new AppNotFound(appName);\n return app;\n }\n\n defaultOpts: ServeAppOptions = {\n dev: false,\n ssr: false,\n watch: true,\n defaultPortRange: [3100, 3500],\n };\n private computeOptions(opts: Partial<ServeAppOptions> = {}) {\n return {\n ...this.defaultOpts,\n ...opts,\n };\n }\n\n async loadAppsToSlot() {\n const apps = await this.loadApps();\n this.appSlot.register(apps);\n return this;\n }\n\n async runApp(appName: string, options?: ServeAppOptions) {\n options = this.computeOptions(options);\n const app = this.getAppOrThrow(appName);\n const context = await this.createAppContext(app.name, options.port);\n if (!context) throw new AppNotFound(appName);\n\n const instance = await app.run(context);\n if (options.watch) {\n this.watcher\n .watch({\n preCompile: false,\n compile: true,\n })\n .catch((err) => {\n // don't throw an error, we don't want to break the \"run\" process\n this.logger.error(`compilation failed`, err);\n });\n }\n\n const isOldApi = typeof instance === 'number'\n const port = isOldApi\n ? instance\n : instance?.port;\n\n return { app, port, errors: undefined, isOldApi };\n }\n\n /**\n * get the component ID of a certain app.\n */\n async getAppIdOrThrow(appName: string) {\n const maybeApp = this.appSlot.toArray().find(([, apps]) => {\n return apps.find((app) => app.name === appName);\n });\n\n if (!maybeApp) throw new AppNotFound(appName);\n\n const host = this.componentAspect.getHost();\n return host.resolveComponentId(maybeApp[0]);\n }\n\n private async createAppContext(appName: string, port?: number): Promise<AppContext> {\n const host = this.componentAspect.getHost();\n // const components = await host.list();\n const id = await this.getAppIdOrThrow(appName);\n // const component = components.find((c) => c.id.isEqual(id));\n const component = await host.get(id);\n if (!component) throw new AppNotFound(appName);\n\n const env = await this.envs.createEnvironment([component]);\n const res = await env.run(this.appService);\n const context = res.results[0].data;\n if (!context) throw new AppNotFound(appName);\n const hostRootDir = await this.workspace.getComponentPackagePath(component);\n const workspaceComponentDir = this.workspace.componentDir(component.id);\n\n const appContext = new AppContext(\n appName,\n this.harmony,\n context.dev,\n component,\n this.workspace.path,\n context,\n hostRootDir,\n port,\n workspaceComponentDir\n );\n return appContext;\n }\n\n async createAppBuildContext(id: ComponentID, appName: string, capsuleRootDir: string, rootDir?: string) {\n const host = this.componentAspect.getHost();\n // const components = await host.list();\n // const component = components.find((c) => c.id.isEqual(id));\n const component = await host.get(id);\n if (!component) throw new AppNotFound(appName);\n\n const env = await this.envs.createEnvironment([component]);\n const res = await env.run(this.appService);\n const context = res.results[0].data;\n if (!context) throw new AppNotFound(appName);\n\n const appContext = new AppContext(\n appName,\n this.harmony,\n context.dev,\n component,\n capsuleRootDir,\n context,\n rootDir,\n undefined,\n undefined\n );\n return appContext;\n\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n LoggerAspect,\n BuilderAspect,\n EnvsAspect,\n ComponentAspect,\n AspectLoaderAspect,\n WorkspaceAspect,\n WatcherAspect,\n ];\n\n static slots = [\n Slot.withType<ApplicationType<unknown>[]>(),\n Slot.withType<Application[]>(),\n Slot.withType<DeploymentProvider[]>(),\n ];\n\n static async provider(\n [cli, loggerAspect, builder, envs, component, aspectLoader, workspace, watcher]: [\n CLIMain,\n LoggerMain,\n BuilderMain,\n EnvsMain,\n ComponentMain,\n AspectLoaderMain,\n Workspace,\n WatcherMain\n ],\n config: ApplicationAspectConfig,\n [appTypeSlot, appSlot, deploymentProviderSlot]: [ApplicationTypeSlot, ApplicationSlot, DeploymentProviderSlot],\n harmony: Harmony\n ) {\n const logger = loggerAspect.createLogger(ApplicationAspect.id);\n const appService = new AppService();\n const application = new ApplicationMain(\n appSlot,\n appTypeSlot,\n deploymentProviderSlot,\n config,\n envs,\n component,\n appService,\n aspectLoader,\n workspace,\n logger,\n watcher,\n harmony\n );\n appService.registerAppType = application.registerAppType.bind(application);\n const appCmd = new AppCmd();\n appCmd.commands = [new AppListCmd(application), new RunCmd(application, logger)];\n aspectLoader.registerPlugins([new AppPlugin(appSlot)]);\n builder.registerBuildTasks([new AppsBuildTask(application)]);\n builder.registerSnapTasks([new DeployTask(application, builder)]);\n builder.registerTagTasks([new DeployTask(application, builder)]);\n envs.registerService(appService);\n cli.registerGroup('apps', 'Applications');\n cli.register(new RunCmd(application, logger), new AppListCmdDeprecated(application), appCmd);\n // cli.registerOnStart(async () => {\n // await application.loadAppsToSlot();\n // });\n if (workspace) {\n workspace.onComponentLoad(async (loadedComponent): Promise<ApplicationMetadata | undefined> => {\n const app = application.calculateAppByComponent(loadedComponent);\n if (!app) return undefined;\n return {\n appName: app.name,\n type: app.applicationType,\n };\n });\n }\n\n return application;\n }\n}\n\nApplicationAspect.addRuntime(ApplicationMain);\n"],"mappings":"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"}
@@ -93,7 +93,8 @@ class AppsBuildTask {
93
93
  async runForOneApp(app, component, capsule, context) {
94
94
  if (!app.build) return undefined;
95
95
  const artifactsDir = this.getArtifactDirectory();
96
- const appContext = await this.application.createAppBuildContext(component.id, app.name, capsule.path);
96
+ const capsuleRootDir = context.capsuleNetwork.capsulesRootDir;
97
+ const appContext = await this.application.createAppBuildContext(component.id, app.name, capsuleRootDir, capsule.path);
97
98
  const appBuildContext = _appBuildContext().AppBuildContext.create({
98
99
  appContext,
99
100
  buildContext: context,
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","require","_pMapSeries","_interopRequireDefault","_builder","_lodash","_application","_appBuildContext","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","BUILD_TASK","exports","ARTIFACTS_DIR_NAME","AppsBuildTask","constructor","application","opt","deploy","ApplicationAspect","id","execute","context","originalSeedersIds","capsuleNetwork","originalSeedersCapsules","map","c","component","toString","result","componentsResults","mapSeries","capsule","length","includes","apps","loadAppsFromComponent","path","compact","app","runForOneApp","merged","mergeAppsResults","push","componentResult","artifacts","build","artifactsDir","getArtifactDirectory","appContext","createAppBuildContext","name","appBuildContext","AppBuildContext","create","buildContext","appComponent","deployContext","defaultArtifacts","getDefaultArtifactDef","applicationType","concat","getDeployContextFromMetadata","metadata","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 } 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 artifactsDir = this.getArtifactDirectory();\n const appContext = await this.application.createAppBuildContext(component.id, app.name, capsule.path);\n const appBuildContext = AppBuildContext.create({\n appContext, \n buildContext: context,\n appComponent: component,\n name: app.name,\n capsule,\n artifactsDir,\n });\n const deployContext = await app.build(appBuildContext);\n const defaultArtifacts: ArtifactDefinition[] = this.getDefaultArtifactDef(app.applicationType || app.name);\n const artifacts = defaultArtifacts.concat(deployContext.artifacts || []);\n\n const getDeployContextFromMetadata = () => {\n if (deployContext.metadata) {\n return deployContext.metadata;\n }\n // if metadata is not defined, don't save deployContext blindly. in node-app for example it includes the entire\n // Network object, with all capsules and components.\n return {};\n };\n\n return {\n artifacts,\n componentResult: {\n component: capsule.component,\n errors: deployContext.errors,\n warnings: deployContext.warnings,\n metadata: { deployContext: getDeployContextFromMetadata(), name: app.name, appType: app.applicationType },\n /**\n * @deprecated - please use metadata instead\n *\n * @guysaar223\n * @ranm8\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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"}
1
+ {"version":3,"names":["_path","data","require","_pMapSeries","_interopRequireDefault","_builder","_lodash","_application","_appBuildContext","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","BUILD_TASK","exports","ARTIFACTS_DIR_NAME","AppsBuildTask","constructor","application","opt","deploy","ApplicationAspect","id","execute","context","originalSeedersIds","capsuleNetwork","originalSeedersCapsules","map","c","component","toString","result","componentsResults","mapSeries","capsule","length","includes","apps","loadAppsFromComponent","path","compact","app","runForOneApp","merged","mergeAppsResults","push","componentResult","artifacts","build","artifactsDir","getArtifactDirectory","capsuleRootDir","capsulesRootDir","appContext","createAppBuildContext","name","appBuildContext","AppBuildContext","create","buildContext","appComponent","deployContext","defaultArtifacts","getDefaultArtifactDef","applicationType","concat","getDeployContextFromMetadata","metadata","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 } 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 artifactsDir = this.getArtifactDirectory();\n const capsuleRootDir = context.capsuleNetwork.capsulesRootDir;\n const appContext = await this.application.createAppBuildContext(\n component.id,\n app.name,\n capsuleRootDir,\n capsule.path,\n );\n const appBuildContext = AppBuildContext.create({\n appContext,\n buildContext: context,\n appComponent: component,\n name: app.name,\n capsule,\n artifactsDir,\n });\n const deployContext = await app.build(appBuildContext);\n const defaultArtifacts: ArtifactDefinition[] = this.getDefaultArtifactDef(app.applicationType || app.name);\n const artifacts = defaultArtifacts.concat(deployContext.artifacts || []);\n\n const getDeployContextFromMetadata = () => {\n if (deployContext.metadata) {\n return deployContext.metadata;\n }\n // if metadata is not defined, don't save deployContext blindly. in node-app for example it includes the entire\n // Network object, with all capsules and components.\n return {};\n };\n\n return {\n artifacts,\n componentResult: {\n component: capsule.component,\n errors: deployContext.errors,\n warnings: deployContext.warnings,\n metadata: { deployContext: getDeployContextFromMetadata(), name: app.name, appType: app.applicationType },\n /**\n * @deprecated - please use metadata instead\n *\n * @guysaar223\n * @ranm8\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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"}
@@ -54,6 +54,8 @@ function _appBuildContext() {
54
54
  return data;
55
55
  }
56
56
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
57
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
58
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
57
59
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
58
60
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
59
61
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
@@ -119,14 +121,14 @@ class DeployTask {
119
121
  const artifacts = this.builder.getArtifacts(capsule.component);
120
122
  const appContext = await this.application.createAppBuildContext(capsule.component.id, app.name, capsule.path);
121
123
  const artifactsDir = this.getArtifactDirectory();
122
- const appBuildContext = _appBuildContext().AppBuildContext.create({
124
+ const appBuildContext = _appBuildContext().AppBuildContext.create(_objectSpread(_objectSpread({}, buildDeployContexts.deployContext), {}, {
123
125
  appContext,
124
126
  buildContext: context,
125
127
  appComponent: capsule.component,
126
128
  name: app.name,
127
129
  capsule,
128
130
  artifactsDir
129
- });
131
+ }));
130
132
  const appDeployContext = new (_appDeployContext().AppDeployContext)(appBuildContext, artifacts);
131
133
  if (app && typeof app.deploy === 'function') {
132
134
  return app.deploy(appDeployContext);
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_builder","_lodash","_application","_buildApplication","_appDeployContext","_appBuildContext","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","DEPLOY_TASK","exports","DeployTask","constructor","application","builder","ApplicationAspect","id","execute","context","originalSeedersIds","capsuleNetwork","originalSeedersCapsules","map","c","component","toString","components","mapSeries","capsule","length","includes","apps","loadAppsFromComponent","path","appDeployments","compact","app","runForOneApp","deploys","_componentsResults","metadata","deployments","deploy","deployObject","appName","timestamp","url","componentsResults","aspectId","getAppAspect","name","buildTask","getBuildTask","previousTasksResults","envRuntime","getBuildMetadata","buildDeployContexts","find","ctx","appType","applicationType","artifacts","getArtifacts","appContext","createAppBuildContext","artifactsDir","getArtifactDirectory","appBuildContext","AppBuildContext","create","buildContext","appComponent","appDeployContext","AppDeployContext","join","CAPSULE_ARTIFACTS_DIR","ARTIFACTS_DIR_NAME","_componentResults$met","appData","getDataByAspect","componentResults","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, CAPSULE_ARTIFACTS_DIR } from '@teambit/builder';\nimport { compact, join } from 'lodash';\nimport { Capsule } from '@teambit/isolator';\nimport { Component } from '@teambit/component';\nimport { ApplicationAspect } from './application.aspect';\nimport { ApplicationMain } from './application.main.runtime';\nimport { ARTIFACTS_DIR_NAME, BUILD_TASK, BuildDeployContexts } from './build-application.task';\nimport { AppDeployContext } from './app-deploy-context';\nimport { Application } from './application';\nimport { ApplicationDeployment } from './app-instance';\nimport { AppBuildContext } from './app-build-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<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 const appDeployments = await mapSeries(compact(apps), async (app) => this.runForOneApp(app, capsule, context));\n const deploys = compact(appDeployments);\n return { component, deploys };\n });\n\n const _componentsResults: ComponentResult[] = compact(components).map(({ component, deploys }) => {\n return { \n component,\n metadata: {\n deployments: deploys.map((deploy) => {\n const deployObject = deploy || {};\n return {\n appName: deployObject?.appName,\n timestamp: deployObject?.timestamp,\n url: deployObject?.url\n }\n })\n }\n };\n });\n\n return {\n componentsResults: _componentsResults,\n };\n }\n\n private async runForOneApp(\n app: Application, \n capsule: Capsule, \n context: BuildContext\n ): Promise<ApplicationDeployment|void|undefined> {\n const aspectId = this.application.getAppAspect(app.name);\n if (!aspectId) return undefined;\n\n if (!capsule || !capsule?.component) return undefined;\n\n const buildTask = this.getBuildTask(context.previousTasksResults, context.envRuntime.id);\n\n const metadata = this.getBuildMetadata(buildTask, capsule.component);\n if (!metadata) return undefined;\n const buildDeployContexts = metadata.find((ctx) => ctx.name === app.name && ctx.appType === app.applicationType);\n if (!buildDeployContexts) return undefined;\n\n const artifacts = this.builder.getArtifacts(capsule.component);\n const appContext = await this.application.createAppBuildContext(capsule.component.id, app.name, capsule.path);\n const artifactsDir = this.getArtifactDirectory();\n const appBuildContext = AppBuildContext.create({\n appContext, \n buildContext: context,\n appComponent: capsule.component,\n name: app.name,\n capsule,\n artifactsDir\n });\n\n const appDeployContext = new AppDeployContext(appBuildContext, artifacts);\n\n if (app && typeof app.deploy === 'function') {\n return app.deploy(appDeployContext);\n }\n\n return undefined;\n }\n\n private getArtifactDirectory() {\n return join(CAPSULE_ARTIFACTS_DIR, ARTIFACTS_DIR_NAME);\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":"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"}
1
+ {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_builder","_lodash","_application","_buildApplication","_appDeployContext","_appBuildContext","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","DEPLOY_TASK","exports","DeployTask","constructor","application","builder","ApplicationAspect","id","execute","context","originalSeedersIds","capsuleNetwork","originalSeedersCapsules","map","c","component","toString","components","mapSeries","capsule","includes","apps","loadAppsFromComponent","path","appDeployments","compact","app","runForOneApp","deploys","_componentsResults","metadata","deployments","deploy","deployObject","appName","timestamp","url","componentsResults","aspectId","getAppAspect","name","buildTask","getBuildTask","previousTasksResults","envRuntime","getBuildMetadata","buildDeployContexts","find","ctx","appType","applicationType","artifacts","getArtifacts","appContext","createAppBuildContext","artifactsDir","getArtifactDirectory","appBuildContext","AppBuildContext","create","deployContext","buildContext","appComponent","appDeployContext","AppDeployContext","join","CAPSULE_ARTIFACTS_DIR","ARTIFACTS_DIR_NAME","_componentResults$met","appData","getDataByAspect","componentResults","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, CAPSULE_ARTIFACTS_DIR } from '@teambit/builder';\nimport { compact, join } from 'lodash';\nimport { Capsule } from '@teambit/isolator';\nimport { Component } from '@teambit/component';\nimport { ApplicationAspect } from './application.aspect';\nimport { ApplicationMain } from './application.main.runtime';\nimport { ARTIFACTS_DIR_NAME, BUILD_TASK, BuildDeployContexts } from './build-application.task';\nimport { AppDeployContext } from './app-deploy-context';\nimport { Application } from './application';\nimport { ApplicationDeployment } from './app-instance';\nimport { AppBuildContext } from './app-build-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<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 const appDeployments = await mapSeries(compact(apps), async (app) => this.runForOneApp(app, capsule, context));\n const deploys = compact(appDeployments);\n return { component, deploys };\n });\n\n const _componentsResults: ComponentResult[] = compact(components).map(({ component, deploys }) => {\n return { \n component,\n metadata: {\n deployments: deploys.map((deploy) => {\n const deployObject = deploy || {};\n return {\n appName: deployObject?.appName,\n timestamp: deployObject?.timestamp,\n url: deployObject?.url\n }\n })\n }\n };\n });\n\n return {\n componentsResults: _componentsResults,\n };\n }\n\n private async runForOneApp(\n app: Application, \n capsule: Capsule, \n context: BuildContext\n ): Promise<ApplicationDeployment|void|undefined> {\n const aspectId = this.application.getAppAspect(app.name);\n if (!aspectId) return undefined;\n\n if (!capsule || !capsule?.component) return undefined;\n\n const buildTask = this.getBuildTask(context.previousTasksResults, context.envRuntime.id);\n\n const metadata = this.getBuildMetadata(buildTask, capsule.component);\n if (!metadata) return undefined;\n const buildDeployContexts = metadata.find((ctx) => ctx.name === app.name && ctx.appType === app.applicationType);\n if (!buildDeployContexts) return undefined;\n\n const artifacts = this.builder.getArtifacts(capsule.component);\n const appContext = await this.application.createAppBuildContext(capsule.component.id, app.name, capsule.path);\n const artifactsDir = this.getArtifactDirectory();\n const appBuildContext = AppBuildContext.create({\n ...buildDeployContexts.deployContext,\n appContext, \n buildContext: context,\n appComponent: capsule.component,\n name: app.name,\n capsule,\n artifactsDir\n });\n\n const appDeployContext = new AppDeployContext(appBuildContext, artifacts);\n\n if (app && typeof app.deploy === 'function') {\n return app.deploy(appDeployContext);\n }\n\n return undefined;\n }\n\n private getArtifactDirectory() {\n return join(CAPSULE_ARTIFACTS_DIR, ARTIFACTS_DIR_NAME);\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":"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"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_application@1.0.74/dist/application.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_application@1.0.74/dist/application.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_application@1.0.76/dist/application.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_application@1.0.76/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": "1.0.74",
3
+ "version": "1.0.76",
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": "1.0.74"
9
+ "version": "1.0.76"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -19,16 +19,16 @@
19
19
  "@teambit/lane-id": "0.0.311",
20
20
  "@teambit/harmony": "0.4.6",
21
21
  "@teambit/bit-error": "0.0.404",
22
- "@teambit/builder": "1.0.74",
23
- "@teambit/component": "1.0.74",
24
- "@teambit/isolator": "1.0.74",
25
- "@teambit/envs": "1.0.74",
22
+ "@teambit/builder": "1.0.76",
23
+ "@teambit/component": "1.0.76",
24
+ "@teambit/isolator": "1.0.76",
25
+ "@teambit/envs": "1.0.76",
26
26
  "@teambit/logger": "0.0.919",
27
27
  "@teambit/cli-table": "0.0.45",
28
28
  "@teambit/cli": "0.0.826",
29
- "@teambit/aspect-loader": "1.0.74",
30
- "@teambit/watcher": "1.0.74",
31
- "@teambit/workspace": "1.0.74"
29
+ "@teambit/aspect-loader": "1.0.76",
30
+ "@teambit/watcher": "1.0.76",
31
+ "@teambit/workspace": "1.0.76"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/react": "^17.0.8",