@teambit/application 1.0.666 → 1.0.668

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/app-build-context.d.ts +4 -4
  2. package/dist/app-build-context.js.map +1 -1
  3. package/dist/app-build-result.d.ts +1 -1
  4. package/dist/app-build-result.js.map +1 -1
  5. package/dist/app-context.d.ts +3 -3
  6. package/dist/app-context.js.map +1 -1
  7. package/dist/app-deploy-context.d.ts +1 -1
  8. package/dist/app-deploy-context.js.map +1 -1
  9. package/dist/app-server.d.ts +1 -1
  10. package/dist/app-server.js.map +1 -1
  11. package/dist/app-type-list.d.ts +2 -2
  12. package/dist/app-type-list.js.map +1 -1
  13. package/dist/app-type.plugin.d.ts +3 -3
  14. package/dist/app-type.plugin.js.map +1 -1
  15. package/dist/app.cmd.d.ts +2 -2
  16. package/dist/app.cmd.js.map +1 -1
  17. package/dist/app.plugin.d.ts +2 -2
  18. package/dist/app.plugin.js.map +1 -1
  19. package/dist/application-type.d.ts +1 -1
  20. package/dist/application-type.js.map +1 -1
  21. package/dist/application.d.ts +5 -5
  22. package/dist/application.js.map +1 -1
  23. package/dist/application.main.runtime.d.ts +13 -13
  24. package/dist/application.main.runtime.js.map +1 -1
  25. package/dist/application.service.d.ts +2 -2
  26. package/dist/application.service.js.map +1 -1
  27. package/dist/apps-env-type.d.ts +2 -2
  28. package/dist/apps-env-type.js.map +1 -1
  29. package/dist/build-application.task.d.ts +2 -2
  30. package/dist/build-application.task.js.map +1 -1
  31. package/dist/deploy.task.d.ts +2 -2
  32. package/dist/deploy.task.js.map +1 -1
  33. package/dist/deployment-provider.d.ts +1 -1
  34. package/dist/deployment-provider.js.map +1 -1
  35. package/dist/{preview-1753803956605.js → preview-1753833698619.js} +2 -2
  36. package/dist/run.cmd.d.ts +3 -3
  37. package/dist/run.cmd.js.map +1 -1
  38. package/package.json +12 -12
@@ -1,7 +1,7 @@
1
- import { Component } from '@teambit/component';
2
- import { Capsule, Network } from '@teambit/isolator';
3
- import { BuildContext, PipeName, TaskResults } from '@teambit/builder';
4
- import { LaneId } from '@teambit/lane-id';
1
+ import type { Component } from '@teambit/component';
2
+ import type { Capsule, Network } from '@teambit/isolator';
3
+ import type { BuildContext, PipeName, TaskResults } from '@teambit/builder';
4
+ import type { LaneId } from '@teambit/lane-id';
5
5
  import { AppContext } from './app-context';
6
6
  export type AppBuildContextCreate = {
7
7
  appContext: AppContext;
@@ -1 +1 @@
1
- {"version":3,"names":["_appContext","data","require","AppBuildContext","AppContext","constructor","appContext","capsuleNetwork","previousTasksResults","pipeName","capsule","name","appComponent","artifactsDir","laneId","appName","harmony","dev","workdir","execContext","hostRootDir","port","args","workspaceComponentPath","envVariables","create","buildContext","exports"],"sources":["app-build-context.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport { Capsule, Network } from '@teambit/isolator';\nimport { BuildContext, PipeName, TaskResults } from '@teambit/builder';\nimport { LaneId } from '@teambit/lane-id';\nimport { AppContext } from './app-context';\n\nexport type AppBuildContextCreate = {\n appContext: AppContext;\n buildContext: BuildContext;\n name: string;\n appComponent: Component;\n artifactsDir: string;\n capsule: Capsule;\n};\n\nexport class AppBuildContext extends AppContext implements BuildContext {\n constructor(\n readonly appContext: AppContext,\n readonly capsuleNetwork: Network,\n readonly previousTasksResults: TaskResults[],\n readonly pipeName: PipeName,\n readonly capsule: Capsule,\n readonly name: string,\n readonly appComponent: Component,\n readonly artifactsDir: string,\n readonly laneId?: LaneId | undefined\n ) {\n super(\n appContext.appName,\n appContext.harmony,\n appContext.dev,\n appContext.appComponent,\n appContext.workdir,\n appContext.execContext,\n appContext.hostRootDir,\n appContext.port,\n appContext.args,\n appContext.workspaceComponentPath,\n appContext.envVariables\n );\n }\n\n static create({ name, capsule, appComponent, artifactsDir, appContext, buildContext }: AppBuildContextCreate) {\n return new AppBuildContext(\n appContext,\n buildContext.capsuleNetwork,\n buildContext.previousTasksResults,\n buildContext.pipeName,\n capsule,\n name,\n appComponent,\n artifactsDir,\n buildContext.laneId\n );\n }\n}\n"],"mappings":";;;;;;AAIA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAWO,MAAME,eAAe,SAASC,wBAAU,CAAyB;EACtEC,WAAWA,CACAC,UAAsB,EACtBC,cAAuB,EACvBC,oBAAmC,EACnCC,QAAkB,EAClBC,OAAgB,EAChBC,IAAY,EACZC,YAAuB,EACvBC,YAAoB,EACpBC,MAA2B,EACpC;IACA,KAAK,CACHR,UAAU,CAACS,OAAO,EAClBT,UAAU,CAACU,OAAO,EAClBV,UAAU,CAACW,GAAG,EACdX,UAAU,CAACM,YAAY,EACvBN,UAAU,CAACY,OAAO,EAClBZ,UAAU,CAACa,WAAW,EACtBb,UAAU,CAACc,WAAW,EACtBd,UAAU,CAACe,IAAI,EACff,UAAU,CAACgB,IAAI,EACfhB,UAAU,CAACiB,sBAAsB,EACjCjB,UAAU,CAACkB,YACb,CAAC;IAAC,KAtBOlB,UAAsB,GAAtBA,UAAsB;IAAA,KACtBC,cAAuB,GAAvBA,cAAuB;IAAA,KACvBC,oBAAmC,GAAnCA,oBAAmC;IAAA,KACnCC,QAAkB,GAAlBA,QAAkB;IAAA,KAClBC,OAAgB,GAAhBA,OAAgB;IAAA,KAChBC,IAAY,GAAZA,IAAY;IAAA,KACZC,YAAuB,GAAvBA,YAAuB;IAAA,KACvBC,YAAoB,GAApBA,YAAoB;IAAA,KACpBC,MAA2B,GAA3BA,MAA2B;EAetC;EAEA,OAAOW,MAAMA,CAAC;IAAEd,IAAI;IAAED,OAAO;IAAEE,YAAY;IAAEC,YAAY;IAAEP,UAAU;IAAEoB;EAAoC,CAAC,EAAE;IAC5G,OAAO,IAAIvB,eAAe,CACxBG,UAAU,EACVoB,YAAY,CAACnB,cAAc,EAC3BmB,YAAY,CAAClB,oBAAoB,EACjCkB,YAAY,CAACjB,QAAQ,EACrBC,OAAO,EACPC,IAAI,EACJC,YAAY,EACZC,YAAY,EACZa,YAAY,CAACZ,MACf,CAAC;EACH;AACF;AAACa,OAAA,CAAAxB,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["_appContext","data","require","AppBuildContext","AppContext","constructor","appContext","capsuleNetwork","previousTasksResults","pipeName","capsule","name","appComponent","artifactsDir","laneId","appName","harmony","dev","workdir","execContext","hostRootDir","port","args","workspaceComponentPath","envVariables","create","buildContext","exports"],"sources":["app-build-context.ts"],"sourcesContent":["import type { Component } from '@teambit/component';\nimport type { Capsule, Network } from '@teambit/isolator';\nimport type { BuildContext, PipeName, TaskResults } from '@teambit/builder';\nimport type { LaneId } from '@teambit/lane-id';\nimport { AppContext } from './app-context';\n\nexport type AppBuildContextCreate = {\n appContext: AppContext;\n buildContext: BuildContext;\n name: string;\n appComponent: Component;\n artifactsDir: string;\n capsule: Capsule;\n};\n\nexport class AppBuildContext extends AppContext implements BuildContext {\n constructor(\n readonly appContext: AppContext,\n readonly capsuleNetwork: Network,\n readonly previousTasksResults: TaskResults[],\n readonly pipeName: PipeName,\n readonly capsule: Capsule,\n readonly name: string,\n readonly appComponent: Component,\n readonly artifactsDir: string,\n readonly laneId?: LaneId | undefined\n ) {\n super(\n appContext.appName,\n appContext.harmony,\n appContext.dev,\n appContext.appComponent,\n appContext.workdir,\n appContext.execContext,\n appContext.hostRootDir,\n appContext.port,\n appContext.args,\n appContext.workspaceComponentPath,\n appContext.envVariables\n );\n }\n\n static create({ name, capsule, appComponent, artifactsDir, appContext, buildContext }: AppBuildContextCreate) {\n return new AppBuildContext(\n appContext,\n buildContext.capsuleNetwork,\n buildContext.previousTasksResults,\n buildContext.pipeName,\n capsule,\n name,\n appComponent,\n artifactsDir,\n buildContext.laneId\n );\n }\n}\n"],"mappings":";;;;;;AAIA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAWO,MAAME,eAAe,SAASC,wBAAU,CAAyB;EACtEC,WAAWA,CACAC,UAAsB,EACtBC,cAAuB,EACvBC,oBAAmC,EACnCC,QAAkB,EAClBC,OAAgB,EAChBC,IAAY,EACZC,YAAuB,EACvBC,YAAoB,EACpBC,MAA2B,EACpC;IACA,KAAK,CACHR,UAAU,CAACS,OAAO,EAClBT,UAAU,CAACU,OAAO,EAClBV,UAAU,CAACW,GAAG,EACdX,UAAU,CAACM,YAAY,EACvBN,UAAU,CAACY,OAAO,EAClBZ,UAAU,CAACa,WAAW,EACtBb,UAAU,CAACc,WAAW,EACtBd,UAAU,CAACe,IAAI,EACff,UAAU,CAACgB,IAAI,EACfhB,UAAU,CAACiB,sBAAsB,EACjCjB,UAAU,CAACkB,YACb,CAAC;IAAC,KAtBOlB,UAAsB,GAAtBA,UAAsB;IAAA,KACtBC,cAAuB,GAAvBA,cAAuB;IAAA,KACvBC,oBAAmC,GAAnCA,oBAAmC;IAAA,KACnCC,QAAkB,GAAlBA,QAAkB;IAAA,KAClBC,OAAgB,GAAhBA,OAAgB;IAAA,KAChBC,IAAY,GAAZA,IAAY;IAAA,KACZC,YAAuB,GAAvBA,YAAuB;IAAA,KACvBC,YAAoB,GAApBA,YAAoB;IAAA,KACpBC,MAA2B,GAA3BA,MAA2B;EAetC;EAEA,OAAOW,MAAMA,CAAC;IAAEd,IAAI;IAAED,OAAO;IAAEE,YAAY;IAAEC,YAAY;IAAEP,UAAU;IAAEoB;EAAoC,CAAC,EAAE;IAC5G,OAAO,IAAIvB,eAAe,CACxBG,UAAU,EACVoB,YAAY,CAACnB,cAAc,EAC3BmB,YAAY,CAAClB,oBAAoB,EACjCkB,YAAY,CAACjB,QAAQ,EACrBC,OAAO,EACPC,IAAI,EACJC,YAAY,EACZC,YAAY,EACZa,YAAY,CAACZ,MACf,CAAC;EACH;AACF;AAACa,OAAA,CAAAxB,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { ArtifactDefinition } from '@teambit/builder';
1
+ import type { ArtifactDefinition } from '@teambit/builder';
2
2
  export interface AppBuildResult {
3
3
  artifacts?: ArtifactDefinition[];
4
4
  /**
@@ -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 /**\n * metadata to persist.\n * this is the only property that actually gets saved into the objects (in builder aspect, aspectsData.buildDeployContexts[deployContext]).\n * in some scenarios, the build and deploy pipelines run in different processes, and then the only data the deploy\n * gets is what saved into the objects.\n * examples of data that gets save here:\n * React: { publicDir, ssrPublicDir }.\n * Node: { mainFile, artifactsDir }.\n */\n metadata?: Record<string, any>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["app-build-result.ts"],"sourcesContent":["import type { 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 * this is the only property that actually gets saved into the objects (in builder aspect, aspectsData.buildDeployContexts[deployContext]).\n * in some scenarios, the build and deploy pipelines run in different processes, and then the only data the deploy\n * gets is what saved into the objects.\n * examples of data that gets save here:\n * React: { publicDir, ssrPublicDir }.\n * Node: { mainFile, artifactsDir }.\n */\n metadata?: Record<string, any>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { ExecutionContext } from '@teambit/envs';
2
- import { Harmony } from '@teambit/harmony';
3
- import { Component } from '@teambit/component';
4
- import { Logger } from '@teambit/logger';
2
+ import type { Harmony } from '@teambit/harmony';
3
+ import type { Component } from '@teambit/component';
4
+ import type { Logger } from '@teambit/logger';
5
5
  export declare class AppContext extends ExecutionContext {
6
6
  /**
7
7
  * name of the app
@@ -1 +1 @@
1
- {"version":3,"names":["_envs","data","require","_logger","AppContext","ExecutionContext","constructor","appName","harmony","dev","appComponent","workdir","execContext","hostRootDir","port","args","workspaceComponentPath","envVariables","upper","envRuntime","components","createLogger","name","loggerMain","get","LoggerAspect","id","appComponentId","loggerName","toString","getAspect","aspectId","compose","appContext","overrides","exports"],"sources":["app-context.ts"],"sourcesContent":["import { ExecutionContext } from '@teambit/envs';\nimport { Harmony } from '@teambit/harmony';\nimport { Component } from '@teambit/component';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\n\nexport class AppContext extends ExecutionContext {\n constructor(\n /**\n * name of the app\n */\n readonly appName: string,\n\n /**\n * instance of harmony.\n */\n readonly harmony: Harmony,\n\n /**\n * determine whether to serve the application in dev mode.\n */\n readonly dev: boolean,\n\n /**\n * application component instance.\n */\n readonly appComponent: Component,\n\n /**\n * working directory of the component.\n */\n readonly workdir: string,\n\n /**\n * execution context of the app.\n */\n readonly execContext: ExecutionContext,\n\n /**\n * A path for the host root dir\n * Host root dir is the dir where we run the app from\n * This can be used in different bundle options which run require.resolve\n * for example when configuring webpack aliases or webpack expose loader on the peers deps\n */\n readonly hostRootDir?: string,\n\n /**\n * A port to run the app on\n */\n readonly port?: number,\n\n /**\n * arguments to pass to the app.\n */\n readonly args?: string,\n\n /**\n * path to the application component in the workspace\n */\n readonly workspaceComponentPath?: string,\n\n /**\n * list of env variables to include.\n */\n readonly envVariables: Record<string, string> = {}\n ) {\n super(execContext.upper, execContext.envRuntime, execContext.components);\n }\n\n /**\n * return a logger instance for the env.\n */\n createLogger(name?: string): Logger {\n const loggerMain = this.harmony.get<LoggerMain>(LoggerAspect.id);\n const appComponentId = this.appComponent.id;\n const loggerName = name ? `${appComponentId.toString()}::${name}` : appComponentId.toString();\n\n return loggerMain.createLogger(loggerName);\n }\n\n /**\n * get an instance of an aspect.\n * make sure it is loaded prior to requesting it.\n */\n getAspect<T>(aspectId: string): T | undefined {\n return this.harmony.get<T>(aspectId);\n }\n\n static compose(appContext: AppContext, overrides?: Partial<AppContext>) {\n return new AppContext(\n overrides?.appName || appContext?.appName,\n overrides?.harmony || appContext?.harmony,\n overrides?.dev || appContext?.dev,\n overrides?.appComponent || appContext?.appComponent,\n overrides?.workdir || appContext?.workdir,\n overrides?.execContext || appContext?.execContext,\n overrides?.hostRootDir || appContext?.hostRootDir,\n overrides?.port || appContext?.port,\n overrides?.args || appContext?.args,\n overrides?.workspaceComponentPath || appContext?.workspaceComponentPath,\n overrides?.envVariables || appContext?.envVariables\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_envs","data","require","_logger","AppContext","ExecutionContext","constructor","appName","harmony","dev","appComponent","workdir","execContext","hostRootDir","port","args","workspaceComponentPath","envVariables","upper","envRuntime","components","createLogger","name","loggerMain","get","LoggerAspect","id","appComponentId","loggerName","toString","getAspect","aspectId","compose","appContext","overrides","exports"],"sources":["app-context.ts"],"sourcesContent":["import { ExecutionContext } from '@teambit/envs';\nimport type { Harmony } from '@teambit/harmony';\nimport type { Component } from '@teambit/component';\nimport type { Logger, LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\n\nexport class AppContext extends ExecutionContext {\n constructor(\n /**\n * name of the app\n */\n readonly appName: string,\n\n /**\n * instance of harmony.\n */\n readonly harmony: Harmony,\n\n /**\n * determine whether to serve the application in dev mode.\n */\n readonly dev: boolean,\n\n /**\n * application component instance.\n */\n readonly appComponent: Component,\n\n /**\n * working directory of the component.\n */\n readonly workdir: string,\n\n /**\n * execution context of the app.\n */\n readonly execContext: ExecutionContext,\n\n /**\n * A path for the host root dir\n * Host root dir is the dir where we run the app from\n * This can be used in different bundle options which run require.resolve\n * for example when configuring webpack aliases or webpack expose loader on the peers deps\n */\n readonly hostRootDir?: string,\n\n /**\n * A port to run the app on\n */\n readonly port?: number,\n\n /**\n * arguments to pass to the app.\n */\n readonly args?: string,\n\n /**\n * path to the application component in the workspace\n */\n readonly workspaceComponentPath?: string,\n\n /**\n * list of env variables to include.\n */\n readonly envVariables: Record<string, string> = {}\n ) {\n super(execContext.upper, execContext.envRuntime, execContext.components);\n }\n\n /**\n * return a logger instance for the env.\n */\n createLogger(name?: string): Logger {\n const loggerMain = this.harmony.get<LoggerMain>(LoggerAspect.id);\n const appComponentId = this.appComponent.id;\n const loggerName = name ? `${appComponentId.toString()}::${name}` : appComponentId.toString();\n\n return loggerMain.createLogger(loggerName);\n }\n\n /**\n * get an instance of an aspect.\n * make sure it is loaded prior to requesting it.\n */\n getAspect<T>(aspectId: string): T | undefined {\n return this.harmony.get<T>(aspectId);\n }\n\n static compose(appContext: AppContext, overrides?: Partial<AppContext>) {\n return new AppContext(\n overrides?.appName || appContext?.appName,\n overrides?.harmony || appContext?.harmony,\n overrides?.dev || appContext?.dev,\n overrides?.appComponent || appContext?.appComponent,\n overrides?.workdir || appContext?.workdir,\n overrides?.execContext || appContext?.execContext,\n overrides?.hostRootDir || appContext?.hostRootDir,\n overrides?.port || appContext?.port,\n overrides?.args || appContext?.args,\n overrides?.workspaceComponentPath || appContext?.workspaceComponentPath,\n overrides?.envVariables || appContext?.envVariables\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Artifact, ArtifactList } from '@teambit/builder';
1
+ import type { Artifact, ArtifactList } from '@teambit/builder';
2
2
  import { AppBuildContext } from './app-build-context';
3
3
  export declare class AppDeployContext extends AppBuildContext {
4
4
  /**
@@ -1 +1 @@
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 { Artifact, ArtifactList } 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: ArtifactList<Artifact>,\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,SAAiC;EAE1C;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,SAAiC,GAAjCA,SAAiC;IAAA,KAKjCC,SAAkB,GAAlBA,SAAkB;IAAA,KAKlBC,YAAqB,GAArBA,YAAqB;EAahC;AACF;AAACU,OAAA,CAAAhB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
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 type { Artifact, ArtifactList } 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: ArtifactList<Artifact>,\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,SAAiC;EAE1C;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,SAAiC,GAAjCA,SAAiC;IAAA,KAKjCC,SAAkB,GAAlBA,SAAkB;IAAA,KAKlBC,YAAqB,GAArBA,YAAqB;EAahC;AACF;AAACU,OAAA,CAAAhB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Application } from './application';
1
+ import type { Application } from './application';
2
2
  export declare class AppServer {
3
3
  private app;
4
4
  constructor(app: Application);
@@ -1 +1 @@
1
- {"version":3,"names":["AppServer","constructor","app","name","exports"],"sources":["app-server.ts"],"sourcesContent":["import { Application } from './application';\n\nexport class AppServer {\n constructor(private app: Application) {}\n\n get name() {\n return this.app.name;\n }\n}\n"],"mappings":";;;;;;AAEO,MAAMA,SAAS,CAAC;EACrBC,WAAWA,CAASC,GAAgB,EAAE;IAAA,KAAlBA,GAAgB,GAAhBA,GAAgB;EAAG;EAEvC,IAAIC,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACD,GAAG,CAACC,IAAI;EACtB;AACF;AAACC,OAAA,CAAAJ,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["AppServer","constructor","app","name","exports"],"sources":["app-server.ts"],"sourcesContent":["import type { Application } from './application';\n\nexport class AppServer {\n constructor(private app: Application) {}\n\n get name() {\n return this.app.name;\n }\n}\n"],"mappings":";;;;;;AAEO,MAAMA,SAAS,CAAC;EACrBC,WAAWA,CAASC,GAAgB,EAAE;IAAA,KAAlBA,GAAgB,GAAhBA,GAAgB;EAAG;EAEvC,IAAIC,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACD,GAAG,CAACC,IAAI;EACtB;AACF;AAACC,OAAA,CAAAJ,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { EnvContext, EnvHandler } from '@teambit/envs';
2
- import { ApplicationType } from './application-type';
1
+ import type { EnvContext, EnvHandler } from '@teambit/envs';
2
+ import type { ApplicationType } from './application-type';
3
3
  export type AppTypeListOptions = {
4
4
  name?: string;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"names":["AppTypeList","constructor","name","appTypes","context","compute","map","appType","from","options","exports"],"sources":["app-type-list.ts"],"sourcesContent":["import { EnvContext, EnvHandler } from '@teambit/envs';\nimport { ApplicationType } from './application-type';\n\nexport type AppTypeListOptions = {\n name?: string;\n};\n\nexport class AppTypeList {\n constructor(\n readonly name: string,\n private appTypes: EnvHandler<ApplicationType<any>>[],\n private context: EnvContext\n ) {}\n\n compute(): ApplicationType<any>[] {\n return this.appTypes.map((appType) => appType(this.context));\n }\n\n static from(appTypes: EnvHandler<ApplicationType<any>>[], options: AppTypeListOptions = {}): EnvHandler<AppTypeList> {\n return (context: EnvContext) => {\n const name = options.name || 'app-type-list';\n return new AppTypeList(name, appTypes, context);\n };\n }\n}\n"],"mappings":";;;;;;AAOO,MAAMA,WAAW,CAAC;EACvBC,WAAWA,CACAC,IAAY,EACbC,QAA4C,EAC5CC,OAAmB,EAC3B;IAAA,KAHSF,IAAY,GAAZA,IAAY;IAAA,KACbC,QAA4C,GAA5CA,QAA4C;IAAA,KAC5CC,OAAmB,GAAnBA,OAAmB;EAC1B;EAEHC,OAAOA,CAAA,EAA2B;IAChC,OAAO,IAAI,CAACF,QAAQ,CAACG,GAAG,CAAEC,OAAO,IAAKA,OAAO,CAAC,IAAI,CAACH,OAAO,CAAC,CAAC;EAC9D;EAEA,OAAOI,IAAIA,CAACL,QAA4C,EAAEM,OAA2B,GAAG,CAAC,CAAC,EAA2B;IACnH,OAAQL,OAAmB,IAAK;MAC9B,MAAMF,IAAI,GAAGO,OAAO,CAACP,IAAI,IAAI,eAAe;MAC5C,OAAO,IAAIF,WAAW,CAACE,IAAI,EAAEC,QAAQ,EAAEC,OAAO,CAAC;IACjD,CAAC;EACH;AACF;AAACM,OAAA,CAAAV,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["AppTypeList","constructor","name","appTypes","context","compute","map","appType","from","options","exports"],"sources":["app-type-list.ts"],"sourcesContent":["import type { EnvContext, EnvHandler } from '@teambit/envs';\nimport type { ApplicationType } from './application-type';\n\nexport type AppTypeListOptions = {\n name?: string;\n};\n\nexport class AppTypeList {\n constructor(\n readonly name: string,\n private appTypes: EnvHandler<ApplicationType<any>>[],\n private context: EnvContext\n ) {}\n\n compute(): ApplicationType<any>[] {\n return this.appTypes.map((appType) => appType(this.context));\n }\n\n static from(appTypes: EnvHandler<ApplicationType<any>>[], options: AppTypeListOptions = {}): EnvHandler<AppTypeList> {\n return (context: EnvContext) => {\n const name = options.name || 'app-type-list';\n return new AppTypeList(name, appTypes, context);\n };\n }\n}\n"],"mappings":";;;;;;AAOO,MAAMA,WAAW,CAAC;EACvBC,WAAWA,CACAC,IAAY,EACbC,QAA4C,EAC5CC,OAAmB,EAC3B;IAAA,KAHSF,IAAY,GAAZA,IAAY;IAAA,KACbC,QAA4C,GAA5CA,QAA4C;IAAA,KAC5CC,OAAmB,GAAnBA,OAAmB;EAC1B;EAEHC,OAAOA,CAAA,EAA2B;IAChC,OAAO,IAAI,CAACF,QAAQ,CAACG,GAAG,CAAEC,OAAO,IAAKA,OAAO,CAAC,IAAI,CAACH,OAAO,CAAC,CAAC;EAC9D;EAEA,OAAOI,IAAIA,CAACL,QAA4C,EAAEM,OAA2B,GAAG,CAAC,CAAC,EAA2B;IACnH,OAAQL,OAAmB,IAAK;MAC9B,MAAMF,IAAI,GAAGO,OAAO,CAACP,IAAI,IAAI,eAAe;MAC5C,OAAO,IAAIF,WAAW,CAACE,IAAI,EAAEC,QAAQ,EAAEC,OAAO,CAAC;IACjD,CAAC;EACH;AACF;AAACM,OAAA,CAAAV,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { PluginDefinition } from '@teambit/aspect-loader';
2
- import { ApplicationType } from './application-type';
3
- import { ApplicationSlot } from './application.main.runtime';
1
+ import type { PluginDefinition } from '@teambit/aspect-loader';
2
+ import type { ApplicationType } from './application-type';
3
+ import type { ApplicationSlot } from './application.main.runtime';
4
4
  export declare class AppTypePlugin implements PluginDefinition {
5
5
  readonly pattern: string;
6
6
  private appType;
@@ -1 +1 @@
1
- {"version":3,"names":["_bitError","data","require","_cli","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","AppTypePlugin","constructor","pattern","appType","appSlot","MainRuntime","name","register","object","app","createApp","validateApp","includes","BitError","exports"],"sources":["app-type.plugin.ts"],"sourcesContent":["import { PluginDefinition } from '@teambit/aspect-loader';\nimport { BitError } from '@teambit/bit-error';\nimport { MainRuntime } from '@teambit/cli';\nimport { Application } from './application';\nimport { ApplicationType } from './application-type';\nimport { ApplicationSlot } from './application.main.runtime';\n\nexport class AppTypePlugin implements PluginDefinition {\n constructor(\n readonly pattern: string,\n private appType: ApplicationType<unknown>,\n private appSlot: ApplicationSlot\n ) {}\n\n runtimes = [MainRuntime.name];\n\n register(object: any) {\n const app = this.appType.createApp(object);\n this.validateApp(app);\n this.appSlot.register([app]);\n }\n\n private validateApp(app: Application) {\n if (app.name.includes(' ')) {\n throw new BitError(`app name \"${app.name}\" is invalid. spaces are not permitted`);\n }\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,KAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,IAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,SAAAG,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAKpC,MAAMgB,aAAa,CAA6B;EACrDC,WAAWA,CACAC,OAAe,EAChBC,OAAiC,EACjCC,OAAwB,EAChC;IAAA,KAHSF,OAAe,GAAfA,OAAe;IAAA,KAChBC,OAAiC,GAAjCA,OAAiC;IAAA,KACjCC,OAAwB,GAAxBA,OAAwB;IAAAvB,eAAA,mBAGvB,CAACwB,kBAAW,CAACC,IAAI,CAAC;EAF1B;EAIHC,QAAQA,CAACC,MAAW,EAAE;IACpB,MAAMC,GAAG,GAAG,IAAI,CAACN,OAAO,CAACO,SAAS,CAACF,MAAM,CAAC;IAC1C,IAAI,CAACG,WAAW,CAACF,GAAG,CAAC;IACrB,IAAI,CAACL,OAAO,CAACG,QAAQ,CAAC,CAACE,GAAG,CAAC,CAAC;EAC9B;EAEQE,WAAWA,CAACF,GAAgB,EAAE;IACpC,IAAIA,GAAG,CAACH,IAAI,CAACM,QAAQ,CAAC,GAAG,CAAC,EAAE;MAC1B,MAAM,KAAIC,oBAAQ,EAAC,aAAaJ,GAAG,CAACH,IAAI,wCAAwC,CAAC;IACnF;EACF;AACF;AAACQ,OAAA,CAAAd,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_bitError","data","require","_cli","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","AppTypePlugin","constructor","pattern","appType","appSlot","MainRuntime","name","register","object","app","createApp","validateApp","includes","BitError","exports"],"sources":["app-type.plugin.ts"],"sourcesContent":["import type { PluginDefinition } from '@teambit/aspect-loader';\nimport { BitError } from '@teambit/bit-error';\nimport { MainRuntime } from '@teambit/cli';\nimport type { Application } from './application';\nimport type { ApplicationType } from './application-type';\nimport type { ApplicationSlot } from './application.main.runtime';\n\nexport class AppTypePlugin implements PluginDefinition {\n constructor(\n readonly pattern: string,\n private appType: ApplicationType<unknown>,\n private appSlot: ApplicationSlot\n ) {}\n\n runtimes = [MainRuntime.name];\n\n register(object: any) {\n const app = this.appType.createApp(object);\n this.validateApp(app);\n this.appSlot.register([app]);\n }\n\n private validateApp(app: Application) {\n if (app.name.includes(' ')) {\n throw new BitError(`app name \"${app.name}\" is invalid. spaces are not permitted`);\n }\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,KAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,IAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,SAAAG,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAKpC,MAAMgB,aAAa,CAA6B;EACrDC,WAAWA,CACAC,OAAe,EAChBC,OAAiC,EACjCC,OAAwB,EAChC;IAAA,KAHSF,OAAe,GAAfA,OAAe;IAAA,KAChBC,OAAiC,GAAjCA,OAAiC;IAAA,KACjCC,OAAwB,GAAxBA,OAAwB;IAAAvB,eAAA,mBAGvB,CAACwB,kBAAW,CAACC,IAAI,CAAC;EAF1B;EAIHC,QAAQA,CAACC,MAAW,EAAE;IACpB,MAAMC,GAAG,GAAG,IAAI,CAACN,OAAO,CAACO,SAAS,CAACF,MAAM,CAAC;IAC1C,IAAI,CAACG,WAAW,CAACF,GAAG,CAAC;IACrB,IAAI,CAACL,OAAO,CAACG,QAAQ,CAAC,CAACE,GAAG,CAAC,CAAC;EAC9B;EAEQE,WAAWA,CAACF,GAAgB,EAAE;IACpC,IAAIA,GAAG,CAACH,IAAI,CAACM,QAAQ,CAAC,GAAG,CAAC,EAAE;MAC1B,MAAM,KAAIC,oBAAQ,EAAC,aAAaJ,GAAG,CAACH,IAAI,wCAAwC,CAAC;IACnF;EACF;AACF;AAACQ,OAAA,CAAAd,aAAA,GAAAA,aAAA","ignoreList":[]}
package/dist/app.cmd.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Command, CommandOptions } from '@teambit/cli';
2
- import { ApplicationMain } from './application.main.runtime';
1
+ import type { Command, CommandOptions } from '@teambit/cli';
2
+ import type { ApplicationMain } from './application.main.runtime';
3
3
  export declare class AppListCmd implements Command {
4
4
  private applicationAspect;
5
5
  name: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_cliTable","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","AppListCmd","constructor","applicationAspect","report","idsAndNames","listAppsIdsAndNames","length","chalk","yellow","rows","map","id","name","table","CLITable","render","json","exports","AppCmd","args"],"sources":["app.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\n// import { Logger } from '@teambit/logger';\nimport chalk from 'chalk';\nimport { CLITable } from '@teambit/cli-table';\nimport { ApplicationMain } from './application.main.runtime';\n\nexport class AppListCmd implements Command {\n name = 'list';\n description = 'list all registered apps';\n alias = '';\n group = 'run-serve';\n helpUrl = 'reference/reference/cli-reference';\n options = [['j', 'json', 'return the component data in json format']] as CommandOptions;\n\n constructor(private applicationAspect: ApplicationMain) {}\n\n async report() {\n const idsAndNames = await this.applicationAspect.listAppsIdsAndNames();\n if (!idsAndNames.length) return chalk.yellow('no apps found');\n const rows = idsAndNames.map(({ id, name }) => [id, name]);\n const table = new CLITable(['id', 'name'], rows);\n return table.render();\n }\n\n async json() {\n const idsAndNames = await this.applicationAspect.listAppsIdsAndNames();\n return idsAndNames;\n }\n}\n\nexport class AppCmd implements Command {\n name = 'app [sub-command]';\n description = 'Manages apps';\n helpUrl = 'docs/getting-started/composing/create-apps';\n alias = 'apps';\n group = 'run-serve';\n commands: Command[] = [];\n options = [] as CommandOptions;\n\n constructor(private applicationAspect: ApplicationMain) {}\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async report(args: [string]) {\n return new AppListCmd(this.applicationAspect).report();\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_cliTable","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","AppListCmd","constructor","applicationAspect","report","idsAndNames","listAppsIdsAndNames","length","chalk","yellow","rows","map","id","name","table","CLITable","render","json","exports","AppCmd","args"],"sources":["app.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport type { Command, CommandOptions } from '@teambit/cli';\n// import { Logger } from '@teambit/logger';\nimport chalk from 'chalk';\nimport { CLITable } from '@teambit/cli-table';\nimport type { ApplicationMain } from './application.main.runtime';\n\nexport class AppListCmd implements Command {\n name = 'list';\n description = 'list all registered apps';\n alias = '';\n group = 'run-serve';\n helpUrl = 'reference/reference/cli-reference';\n options = [['j', 'json', 'return the component data in json format']] as CommandOptions;\n\n constructor(private applicationAspect: ApplicationMain) {}\n\n async report() {\n const idsAndNames = await this.applicationAspect.listAppsIdsAndNames();\n if (!idsAndNames.length) return chalk.yellow('no apps found');\n const rows = idsAndNames.map(({ id, name }) => [id, name]);\n const table = new CLITable(['id', 'name'], rows);\n return table.render();\n }\n\n async json() {\n const idsAndNames = await this.applicationAspect.listAppsIdsAndNames();\n return idsAndNames;\n }\n}\n\nexport class AppCmd implements Command {\n name = 'app [sub-command]';\n description = 'Manages apps';\n helpUrl = 'docs/getting-started/composing/create-apps';\n alias = 'apps';\n group = 'run-serve';\n commands: Command[] = [];\n options = [] as CommandOptions;\n\n constructor(private applicationAspect: ApplicationMain) {}\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async report(args: [string]) {\n return new AppListCmd(this.applicationAspect).report();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { PluginDefinition } from '@teambit/aspect-loader';
2
- import { ApplicationSlot } from './application.main.runtime';
1
+ import type { PluginDefinition } from '@teambit/aspect-loader';
2
+ import type { ApplicationSlot } from './application.main.runtime';
3
3
  export declare const BIT_APP_PATTERN = "*.bit-app.*";
4
4
  export declare class AppPlugin implements PluginDefinition {
5
5
  private appSlot;
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","BIT_APP_PATTERN","exports","AppPlugin","constructor","appSlot","MainRuntime","name","register","object"],"sources":["app.plugin.ts"],"sourcesContent":["import { PluginDefinition } from '@teambit/aspect-loader';\nimport { MainRuntime } from '@teambit/cli';\nimport { ApplicationSlot } from './application.main.runtime';\n\nexport const BIT_APP_PATTERN = '*.bit-app.*';\n\nexport class AppPlugin implements PluginDefinition {\n constructor(private appSlot: ApplicationSlot) {}\n\n pattern = BIT_APP_PATTERN;\n\n runtimes = [MainRuntime.name];\n\n register(object: any) {\n return this.appSlot.register([object]);\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,SAAAE,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAGpC,MAAMgB,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,aAAa;AAErC,MAAME,SAAS,CAA6B;EACjDC,WAAWA,CAASC,OAAwB,EAAE;IAAA,KAA1BA,OAAwB,GAAxBA,OAAwB;IAAAvB,eAAA,kBAElCmB,eAAe;IAAAnB,eAAA,mBAEd,CAACwB,kBAAW,CAACC,IAAI,CAAC;EAJkB;EAM/CC,QAAQA,CAACC,MAAW,EAAE;IACpB,OAAO,IAAI,CAACJ,OAAO,CAACG,QAAQ,CAAC,CAACC,MAAM,CAAC,CAAC;EACxC;AACF;AAACP,OAAA,CAAAC,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["_cli","data","require","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","BIT_APP_PATTERN","exports","AppPlugin","constructor","appSlot","MainRuntime","name","register","object"],"sources":["app.plugin.ts"],"sourcesContent":["import type { PluginDefinition } from '@teambit/aspect-loader';\nimport { MainRuntime } from '@teambit/cli';\nimport type { ApplicationSlot } from './application.main.runtime';\n\nexport const BIT_APP_PATTERN = '*.bit-app.*';\n\nexport class AppPlugin implements PluginDefinition {\n constructor(private appSlot: ApplicationSlot) {}\n\n pattern = BIT_APP_PATTERN;\n\n runtimes = [MainRuntime.name];\n\n register(object: any) {\n return this.appSlot.register([object]);\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,SAAAE,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAGpC,MAAMgB,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,aAAa;AAErC,MAAME,SAAS,CAA6B;EACjDC,WAAWA,CAASC,OAAwB,EAAE;IAAA,KAA1BA,OAAwB,GAAxBA,OAAwB;IAAAvB,eAAA,kBAElCmB,eAAe;IAAAnB,eAAA,mBAEd,CAACwB,kBAAW,CAACC,IAAI,CAAC;EAJkB;EAM/CC,QAAQA,CAACC,MAAW,EAAE;IACpB,OAAO,IAAI,CAACJ,OAAO,CAACG,QAAQ,CAAC,CAACC,MAAM,CAAC,CAAC;EACxC;AACF;AAACP,OAAA,CAAAC,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Application } from './application';
1
+ import type { Application } from './application';
2
2
  export interface ApplicationType<T> {
3
3
  /**
4
4
  * name of the type of the app. e.g. `react-app`
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["application-type.ts"],"sourcesContent":["import { Application } from './application';\n\nexport interface ApplicationType<T> {\n /**\n * name of the type of the app. e.g. `react-app`\n */\n name: string;\n\n /**\n * pattern of the app.\n */\n globPattern?: string;\n\n /**\n * a function that creates the app instance.\n */\n createApp(options: T): Application;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["application-type.ts"],"sourcesContent":["import type { Application } from './application';\n\nexport interface ApplicationType<T> {\n /**\n * name of the type of the app. e.g. `react-app`\n */\n name: string;\n\n /**\n * pattern of the app.\n */\n globPattern?: string;\n\n /**\n * a function that creates the app instance.\n */\n createApp(options: T): Application;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,8 +1,8 @@
1
- import { AppContext } from './app-context';
2
- import { AppDeployContext } from './app-deploy-context';
3
- import { AppBuildContext } from './app-build-context';
4
- import { AppBuildResult } from './app-build-result';
5
- import { ApplicationDeployment, ApplicationInstance } from './app-instance';
1
+ import type { AppContext } from './app-context';
2
+ import type { AppDeployContext } from './app-deploy-context';
3
+ import type { AppBuildContext } from './app-build-context';
4
+ import type { AppBuildResult } from './app-build-result';
5
+ import type { ApplicationDeployment, ApplicationInstance } from './app-instance';
6
6
  export type DeployFn = (context: AppDeployContext) => Promise<ApplicationDeployment | void | undefined>;
7
7
  export type BuildFn = (context: AppBuildContext) => Promise<AppBuildResult>;
8
8
  export type AppResult = {
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["application.ts"],"sourcesContent":["import { AppContext } from './app-context';\nimport { AppDeployContext } from './app-deploy-context';\nimport { AppBuildContext } from './app-build-context';\nimport { AppBuildResult } from './app-build-result';\nimport { ApplicationDeployment, ApplicationInstance } from './app-instance';\n\nexport type DeployFn = (context: AppDeployContext) => Promise<ApplicationDeployment | void | undefined>;\n\nexport type BuildFn = (context: AppBuildContext) => Promise<AppBuildResult>;\n\nexport type AppResult = {\n port?: number;\n errors?: Error[];\n};\n\nexport interface Application {\n /**\n * name of the application. e.g. ripple-ci.\n */\n name: string;\n\n /**\n * run the application.\n */\n run(context: AppContext): Promise<ApplicationInstance | number>;\n\n /**\n * build the application.\n */\n build?: BuildFn;\n\n /**\n * application deployment. this is a build task.\n */\n deploy?: DeployFn;\n\n /**\n * Type of the application\n */\n applicationType?: string;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["application.ts"],"sourcesContent":["import type { AppContext } from './app-context';\nimport type { AppDeployContext } from './app-deploy-context';\nimport type { AppBuildContext } from './app-build-context';\nimport type { AppBuildResult } from './app-build-result';\nimport type { ApplicationDeployment, ApplicationInstance } from './app-instance';\n\nexport type DeployFn = (context: AppDeployContext) => Promise<ApplicationDeployment | void | undefined>;\n\nexport type BuildFn = (context: AppBuildContext) => Promise<AppBuildResult>;\n\nexport type AppResult = {\n port?: number;\n errors?: Error[];\n};\n\nexport interface Application {\n /**\n * name of the application. e.g. ripple-ci.\n */\n name: string;\n\n /**\n * run the application.\n */\n run(context: AppContext): Promise<ApplicationInstance | number>;\n\n /**\n * build the application.\n */\n build?: BuildFn;\n\n /**\n * application deployment. this is a build task.\n */\n deploy?: DeployFn;\n\n /**\n * Type of the application\n */\n applicationType?: string;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,16 +1,16 @@
1
- import { CLIMain } from '@teambit/cli';
2
- import { AspectLoaderMain } from '@teambit/aspect-loader';
3
- import { SlotRegistry, Harmony } from '@teambit/harmony';
4
- import { Workspace } from '@teambit/workspace';
5
- import { WatcherMain } from '@teambit/watcher';
6
- import { BuilderMain } from '@teambit/builder';
7
- import { ScopeMain } from '@teambit/scope';
8
- import { Logger, LoggerMain } from '@teambit/logger';
9
- import { EnvsMain } from '@teambit/envs';
10
- import { ComponentMain, ComponentID, Component } from '@teambit/component';
11
- import { ApplicationType } from './application-type';
12
- import { Application } from './application';
13
- import { DeploymentProvider } from './deployment-provider';
1
+ import type { CLIMain } from '@teambit/cli';
2
+ import type { AspectLoaderMain } from '@teambit/aspect-loader';
3
+ import type { SlotRegistry, Harmony } from '@teambit/harmony';
4
+ import type { Workspace } from '@teambit/workspace';
5
+ import type { WatcherMain } from '@teambit/watcher';
6
+ import type { BuilderMain } from '@teambit/builder';
7
+ import type { ScopeMain } from '@teambit/scope';
8
+ import type { Logger, LoggerMain } from '@teambit/logger';
9
+ import type { EnvsMain } from '@teambit/envs';
10
+ import type { ComponentMain, ComponentID, Component } from '@teambit/component';
11
+ import type { ApplicationType } from './application-type';
12
+ import type { Application } from './application';
13
+ import type { DeploymentProvider } from './deployment-provider';
14
14
  import { AppService } from './application.service';
15
15
  import { AppContext } from './app-context';
16
16
  export type ApplicationTypeSlot = SlotRegistry<ApplicationType<unknown>[]>;
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_lodash","_aspectLoader","_harmony","_workspace","_bitError","_watcher","_builder","_scope","_logger","_envs","_component","_exceptions","_application","_buildApplication","_run","_application2","_app","_app2","_appType","_appContext","_deploy","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","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","listAppsIdsAndNames","loadAllAppsAsAspects","appComponents","mapApps","flatMap","id","apps","map","name","BitError","toString","toArray","poolIds","listAppsComponents","appsWithEnvLoaded","state","issues","getIssueByName","warn","appIds","getHost","loadAspects","listAppsById","undefined","get","getAppById","head","calculateAppByComponent","component","listAppTypes","listAppsFromComponents","host","components","getMany","loadExtensions","executeLoadSlot","loadSeedersAsAspects","list","appTypesPatterns","getAppPatterns","appsComponents","hasAppTypePattern","patterns","files","filesystem","byGlob","appTypes","appType","getAppPattern","concat","BIT_APP_PATTERN","loadApps","pluginsToLoad","appComponent","file","path","appManifests","Promise","all","compact","pluginPath","isModule","isEsmModule","appManifest","loadEsm","default","error","loadAppsFromComponent","rootDir","isApp","allPluginDefs","getPluginDefs","appsPluginDefs","pluginDef","includes","pattern","plugins","getPluginsFromDefs","loadedPlugins","has","load","MainRuntime","loadExtensionsByManifests","seeders","getApp","appName","find","getAppByNameOrId","appNameOrId","byName","byId","globPattern","registerAppType","AppTypePlugin","registerPlugins","getAppAspect","getAppOrThrow","AppNotFound","computeOptions","opts","defaultOpts","loadAppsToSlot","runApp","options","setComponentPathsRegExps","context","createAppContext","port","args","instance","run","preCompile","compile","catch","err","isOldApi","errors","getAppIdOrThrow","maybeApp","resolveComponentId","env","createEnvironment","res","results","hostRootDir","getComponentPackagePath","workspaceComponentDir","componentDir","appContext","AppContext","createAppBuildContext","capsuleRootDir","provider","cli","loggerAspect","builder","scope","createLogger","ApplicationAspect","AppService","application","bind","appCmd","AppCmd","commands","AppListCmd","RunCmd","AppPlugin","registerBuildTasks","AppsBuildTask","registerSnapTasks","DeployTask","registerTagTasks","registerService","registerGroup","calcAppOnLoad","loadedComponent","type","applicationType","registerOnComponentLoad","registerOnCompAspectReCalc","exports","CLIAspect","LoggerAspect","BuilderAspect","EnvsAspect","ComponentAspect","AspectLoaderAspect","WorkspaceAspect","WatcherAspect","ScopeAspect","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 { ScopeAspect, ScopeMain } from '@teambit/scope';\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 { 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 /**\n * arguments passing to the app.\n */\n args?: string;\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 async listAppsIdsAndNames(): Promise<{ id: string; name: string }[]> {\n await this.loadAllAppsAsAspects();\n const appComponents = this.mapApps();\n return appComponents.flatMap(([id, apps]) => {\n return apps.map((app) => {\n if (!app.name) throw new BitError(`app ${id.toString()} is missing a name`);\n return { id, name: app.name };\n });\n });\n }\n\n /**\n * map all apps by component ID.\n */\n mapApps() {\n return this.appSlot.toArray();\n }\n\n /**\n * instead of adding apps to workspace.jsonc, this method gets all apps components and load them as aspects so then\n * they could register to the apps slots and be available to list/run etc.\n * if poolIds is provided, it will load only the apps that are part of the pool.\n */\n async loadAllAppsAsAspects(poolIds?: ComponentID[]): Promise<ComponentID[]> {\n const apps = await this.listAppsComponents(poolIds);\n if (!apps.length) return [];\n // do not load apps that their env was not loaded yet. their package-json may not be up to date. e.g. it could be\n // cjs, when the env needs it as esm. once it is loaded, node.js saved the package.json in the cache with no way to\n // refresh it.\n const appsWithEnvLoaded = apps.filter((app) => !app.state.issues.getIssueByName('NonLoadedEnv'));\n if (apps.length !== appsWithEnvLoaded.length) {\n this.logger.warn(`some apps were not loaded as aspects because their env was not loaded yet`);\n }\n const appIds = appsWithEnvLoaded.map((app) => app.id);\n await this.componentAspect.getHost().loadAspects(appIds.map((id) => id.toString()));\n return appIds;\n }\n\n /**\n * list apps by a component id.\n * make sure to call `this.loadAllAppsAsAspects` before calling this method in case the app is not listed in workspace.jsonc\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 * make sure to call `this.loadAllAppsAsAspects` before calling this method in case the app is not listed in workspace.jsonc\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 /**\n * list all components that are apps.\n * if poolIds is provided, it will load only the apps that are part of the pool.\n */\n async listAppsComponents(poolIds?: ComponentID[]): Promise<Component[]> {\n const host = this.workspace || this.componentAspect.getHost();\n if (!host) return [];\n const components = poolIds\n ? this.workspace\n ? await this.workspace.getMany(poolIds, {\n loadExtensions: true,\n executeLoadSlot: true,\n loadSeedersAsAspects: true,\n })\n : await host.getMany(poolIds)\n : await host.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 {\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 * make sure to call `this.loadAllAppsAsAspects` before calling this method in case the app is not listed in workspace.jsonc\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 * make sure to call `this.loadAllAppsAsAspects` before calling this method in case the app is not listed in workspace.jsonc\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 /**\n * run an app.\n * make sure to call `this.loadAllAppsAsAspects` before calling this method in case the app is not listed in workspace.jsonc\n */\n async runApp(\n appName: string,\n options?: ServeAppOptions\n ): Promise<{\n app: Application;\n port: number | undefined;\n errors?: Error[];\n isOldApi: boolean;\n }> {\n await this.workspace.setComponentPathsRegExps();\n options = this.computeOptions(options);\n const app = this.getAppOrThrow(appName);\n const context = await this.createAppContext(app.name, options.port, options.args);\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 ? instance : 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, args?: string): 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 args,\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 undefined,\n undefined\n );\n return appContext;\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 ScopeAspect,\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, scope]: [\n CLIMain,\n LoggerMain,\n BuilderMain,\n EnvsMain,\n ComponentMain,\n AspectLoaderMain,\n Workspace,\n WatcherMain,\n ScopeMain,\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(application);\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), appCmd);\n // cli.registerOnStart(async () => {\n // await application.loadAppsToSlot();\n // });\n const calcAppOnLoad = 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 if (workspace) {\n workspace.registerOnComponentLoad(calcAppOnLoad);\n }\n if (scope) {\n scope.registerOnCompAspectReCalc(calcAppOnLoad);\n }\n\n return application;\n }\n}\n\nApplicationAspect.addRuntime(ApplicationMain);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_cli","data","require","_lodash","_aspectLoader","_harmony","_workspace","_bitError","_watcher","_builder","_scope","_logger","_envs","_component","_exceptions","_application","_buildApplication","_run","_application2","_app","_app2","_appType","_appContext","_deploy","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","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","listAppsIdsAndNames","loadAllAppsAsAspects","appComponents","mapApps","flatMap","id","apps","map","name","BitError","toString","toArray","poolIds","listAppsComponents","appsWithEnvLoaded","state","issues","getIssueByName","warn","appIds","getHost","loadAspects","listAppsById","undefined","get","getAppById","head","calculateAppByComponent","component","listAppTypes","listAppsFromComponents","host","components","getMany","loadExtensions","executeLoadSlot","loadSeedersAsAspects","list","appTypesPatterns","getAppPatterns","appsComponents","hasAppTypePattern","patterns","files","filesystem","byGlob","appTypes","appType","getAppPattern","concat","BIT_APP_PATTERN","loadApps","pluginsToLoad","appComponent","file","path","appManifests","Promise","all","compact","pluginPath","isModule","isEsmModule","appManifest","loadEsm","default","error","loadAppsFromComponent","rootDir","isApp","allPluginDefs","getPluginDefs","appsPluginDefs","pluginDef","includes","pattern","plugins","getPluginsFromDefs","loadedPlugins","has","load","MainRuntime","loadExtensionsByManifests","seeders","getApp","appName","find","getAppByNameOrId","appNameOrId","byName","byId","globPattern","registerAppType","AppTypePlugin","registerPlugins","getAppAspect","getAppOrThrow","AppNotFound","computeOptions","opts","defaultOpts","loadAppsToSlot","runApp","options","setComponentPathsRegExps","context","createAppContext","port","args","instance","run","preCompile","compile","catch","err","isOldApi","errors","getAppIdOrThrow","maybeApp","resolveComponentId","env","createEnvironment","res","results","hostRootDir","getComponentPackagePath","workspaceComponentDir","componentDir","appContext","AppContext","createAppBuildContext","capsuleRootDir","provider","cli","loggerAspect","builder","scope","createLogger","ApplicationAspect","AppService","application","bind","appCmd","AppCmd","commands","AppListCmd","RunCmd","AppPlugin","registerBuildTasks","AppsBuildTask","registerSnapTasks","DeployTask","registerTagTasks","registerService","registerGroup","calcAppOnLoad","loadedComponent","type","applicationType","registerOnComponentLoad","registerOnCompAspectReCalc","exports","CLIAspect","LoggerAspect","BuilderAspect","EnvsAspect","ComponentAspect","AspectLoaderAspect","WorkspaceAspect","WatcherAspect","ScopeAspect","Slot","withType","addRuntime"],"sources":["application.main.runtime.ts"],"sourcesContent":["import type { CLIMain } from '@teambit/cli';\nimport { MainRuntime, CLIAspect } from '@teambit/cli';\nimport { compact, flatten, head } from 'lodash';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { AspectLoaderAspect } from '@teambit/aspect-loader';\nimport type { SlotRegistry, Harmony } from '@teambit/harmony';\nimport { Slot } from '@teambit/harmony';\nimport type { Workspace } from '@teambit/workspace';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport { BitError } from '@teambit/bit-error';\nimport type { WatcherMain } from '@teambit/watcher';\nimport { WatcherAspect } from '@teambit/watcher';\nimport type { BuilderMain } from '@teambit/builder';\nimport { BuilderAspect } from '@teambit/builder';\nimport type { ScopeMain } from '@teambit/scope';\nimport { ScopeAspect } from '@teambit/scope';\nimport type { Logger, LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\nimport type { EnvsMain } from '@teambit/envs';\nimport { EnvsAspect } from '@teambit/envs';\nimport type { ComponentMain, ComponentID, Component } from '@teambit/component';\nimport { ComponentAspect } from '@teambit/component';\nimport type { ApplicationType } from './application-type';\nimport type { Application } from './application';\nimport type { DeploymentProvider } from './deployment-provider';\nimport { AppNotFound } from './exceptions';\nimport { ApplicationAspect } from './application.aspect';\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 /**\n * arguments passing to the app.\n */\n args?: string;\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 async listAppsIdsAndNames(): Promise<{ id: string; name: string }[]> {\n await this.loadAllAppsAsAspects();\n const appComponents = this.mapApps();\n return appComponents.flatMap(([id, apps]) => {\n return apps.map((app) => {\n if (!app.name) throw new BitError(`app ${id.toString()} is missing a name`);\n return { id, name: app.name };\n });\n });\n }\n\n /**\n * map all apps by component ID.\n */\n mapApps() {\n return this.appSlot.toArray();\n }\n\n /**\n * instead of adding apps to workspace.jsonc, this method gets all apps components and load them as aspects so then\n * they could register to the apps slots and be available to list/run etc.\n * if poolIds is provided, it will load only the apps that are part of the pool.\n */\n async loadAllAppsAsAspects(poolIds?: ComponentID[]): Promise<ComponentID[]> {\n const apps = await this.listAppsComponents(poolIds);\n if (!apps.length) return [];\n // do not load apps that their env was not loaded yet. their package-json may not be up to date. e.g. it could be\n // cjs, when the env needs it as esm. once it is loaded, node.js saved the package.json in the cache with no way to\n // refresh it.\n const appsWithEnvLoaded = apps.filter((app) => !app.state.issues.getIssueByName('NonLoadedEnv'));\n if (apps.length !== appsWithEnvLoaded.length) {\n this.logger.warn(`some apps were not loaded as aspects because their env was not loaded yet`);\n }\n const appIds = appsWithEnvLoaded.map((app) => app.id);\n await this.componentAspect.getHost().loadAspects(appIds.map((id) => id.toString()));\n return appIds;\n }\n\n /**\n * list apps by a component id.\n * make sure to call `this.loadAllAppsAsAspects` before calling this method in case the app is not listed in workspace.jsonc\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 * make sure to call `this.loadAllAppsAsAspects` before calling this method in case the app is not listed in workspace.jsonc\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 /**\n * list all components that are apps.\n * if poolIds is provided, it will load only the apps that are part of the pool.\n */\n async listAppsComponents(poolIds?: ComponentID[]): Promise<Component[]> {\n const host = this.workspace || this.componentAspect.getHost();\n if (!host) return [];\n const components = poolIds\n ? this.workspace\n ? await this.workspace.getMany(poolIds, {\n loadExtensions: true,\n executeLoadSlot: true,\n loadSeedersAsAspects: true,\n })\n : await host.getMany(poolIds)\n : await host.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 {\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 * make sure to call `this.loadAllAppsAsAspects` before calling this method in case the app is not listed in workspace.jsonc\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 * make sure to call `this.loadAllAppsAsAspects` before calling this method in case the app is not listed in workspace.jsonc\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 /**\n * run an app.\n * make sure to call `this.loadAllAppsAsAspects` before calling this method in case the app is not listed in workspace.jsonc\n */\n async runApp(\n appName: string,\n options?: ServeAppOptions\n ): Promise<{\n app: Application;\n port: number | undefined;\n errors?: Error[];\n isOldApi: boolean;\n }> {\n await this.workspace.setComponentPathsRegExps();\n options = this.computeOptions(options);\n const app = this.getAppOrThrow(appName);\n const context = await this.createAppContext(app.name, options.port, options.args);\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 ? instance : 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, args?: string): 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 args,\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 undefined,\n undefined\n );\n return appContext;\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 ScopeAspect,\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, scope]: [\n CLIMain,\n LoggerMain,\n BuilderMain,\n EnvsMain,\n ComponentMain,\n AspectLoaderMain,\n Workspace,\n WatcherMain,\n ScopeMain,\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(application);\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), appCmd);\n // cli.registerOnStart(async () => {\n // await application.loadAppsToSlot();\n // });\n const calcAppOnLoad = 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 if (workspace) {\n workspace.registerOnComponentLoad(calcAppOnLoad);\n }\n if (scope) {\n scope.registerOnCompAspectReCalc(calcAppOnLoad);\n }\n\n return application;\n }\n}\n\nApplicationAspect.addRuntime(ApplicationMain);\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { EnvService, Env, EnvContext, ServiceTransformationMap, ExecutionContext } from '@teambit/envs';
2
- import { ApplicationType } from './application-type';
1
+ import type { EnvService, Env, EnvContext, ServiceTransformationMap, ExecutionContext } from '@teambit/envs';
2
+ import type { ApplicationType } from './application-type';
3
3
  type ApplicationTransformationMap = ServiceTransformationMap & {
4
4
  getAppTypes: () => ApplicationType<any>[];
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"names":["AppService","constructor","_defineProperty","run","context","appContext","Object","assign","dev","errors","transform","env","apps","undefined","appTypesList","appTypes","compute","registerAppType","getAppTypes","exports"],"sources":["application.service.ts"],"sourcesContent":["import { EnvService, Env, EnvContext, ServiceTransformationMap, ExecutionContext } from '@teambit/envs';\nimport { ApplicationType } from './application-type';\n\ntype ApplicationTransformationMap = ServiceTransformationMap & {\n getAppTypes: () => ApplicationType<any>[];\n};\nexport class AppService implements EnvService<any> {\n name = 'application';\n registerAppType: (...appType: Array<ApplicationType<any>>) => void;\n\n async run(context: ExecutionContext) {\n const appContext = Object.assign(context, {\n dev: true,\n errors: [],\n });\n\n return appContext;\n }\n\n transform(env: Env, context: EnvContext): ApplicationTransformationMap | undefined {\n // Old env\n if (!env?.apps) return undefined;\n const appTypesList = env.apps()(context);\n const appTypes = appTypesList.compute();\n this.registerAppType(...appTypes);\n return {\n getAppTypes: () => {\n return appTypes;\n },\n };\n }\n}\n"],"mappings":";;;;;;;;;AAMO,MAAMA,UAAU,CAA4B;EAAAC,YAAA;IAAAC,eAAA,eAC1C,aAAa;IAAAA,eAAA;EAAA;EAGpB,MAAMC,GAAGA,CAACC,OAAyB,EAAE;IACnC,MAAMC,UAAU,GAAGC,MAAM,CAACC,MAAM,CAACH,OAAO,EAAE;MACxCI,GAAG,EAAE,IAAI;MACTC,MAAM,EAAE;IACV,CAAC,CAAC;IAEF,OAAOJ,UAAU;EACnB;EAEAK,SAASA,CAACC,GAAQ,EAAEP,OAAmB,EAA4C;IACjF;IACA,IAAI,CAACO,GAAG,EAAEC,IAAI,EAAE,OAAOC,SAAS;IAChC,MAAMC,YAAY,GAAGH,GAAG,CAACC,IAAI,CAAC,CAAC,CAACR,OAAO,CAAC;IACxC,MAAMW,QAAQ,GAAGD,YAAY,CAACE,OAAO,CAAC,CAAC;IACvC,IAAI,CAACC,eAAe,CAAC,GAAGF,QAAQ,CAAC;IACjC,OAAO;MACLG,WAAW,EAAEA,CAAA,KAAM;QACjB,OAAOH,QAAQ;MACjB;IACF,CAAC;EACH;AACF;AAACI,OAAA,CAAAnB,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["AppService","constructor","_defineProperty","run","context","appContext","Object","assign","dev","errors","transform","env","apps","undefined","appTypesList","appTypes","compute","registerAppType","getAppTypes","exports"],"sources":["application.service.ts"],"sourcesContent":["import type { EnvService, Env, EnvContext, ServiceTransformationMap, ExecutionContext } from '@teambit/envs';\nimport type { ApplicationType } from './application-type';\n\ntype ApplicationTransformationMap = ServiceTransformationMap & {\n getAppTypes: () => ApplicationType<any>[];\n};\nexport class AppService implements EnvService<any> {\n name = 'application';\n registerAppType: (...appType: Array<ApplicationType<any>>) => void;\n\n async run(context: ExecutionContext) {\n const appContext = Object.assign(context, {\n dev: true,\n errors: [],\n });\n\n return appContext;\n }\n\n transform(env: Env, context: EnvContext): ApplicationTransformationMap | undefined {\n // Old env\n if (!env?.apps) return undefined;\n const appTypesList = env.apps()(context);\n const appTypes = appTypesList.compute();\n this.registerAppType(...appTypes);\n return {\n getAppTypes: () => {\n return appTypes;\n },\n };\n }\n}\n"],"mappings":";;;;;;;;;AAMO,MAAMA,UAAU,CAA4B;EAAAC,YAAA;IAAAC,eAAA,eAC1C,aAAa;IAAAA,eAAA;EAAA;EAGpB,MAAMC,GAAGA,CAACC,OAAyB,EAAE;IACnC,MAAMC,UAAU,GAAGC,MAAM,CAACC,MAAM,CAACH,OAAO,EAAE;MACxCI,GAAG,EAAE,IAAI;MACTC,MAAM,EAAE;IACV,CAAC,CAAC;IAEF,OAAOJ,UAAU;EACnB;EAEAK,SAASA,CAACC,GAAQ,EAAEP,OAAmB,EAA4C;IACjF;IACA,IAAI,CAACO,GAAG,EAAEC,IAAI,EAAE,OAAOC,SAAS;IAChC,MAAMC,YAAY,GAAGH,GAAG,CAACC,IAAI,CAAC,CAAC,CAACR,OAAO,CAAC;IACxC,MAAMW,QAAQ,GAAGD,YAAY,CAACE,OAAO,CAAC,CAAC;IACvC,IAAI,CAACC,eAAe,CAAC,GAAGF,QAAQ,CAAC;IACjC,OAAO;MACLG,WAAW,EAAEA,CAAA,KAAM;QACjB,OAAOH,QAAQ;MACjB;IACF,CAAC;EACH;AACF;AAACI,OAAA,CAAAnB,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { EnvHandler } from '@teambit/envs';
2
- import { AppTypeList } from './app-type-list';
1
+ import type { EnvHandler } from '@teambit/envs';
2
+ import type { AppTypeList } from './app-type-list';
3
3
  export interface AppsEnv {
4
4
  /**
5
5
  * return a template list instance.
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["apps-env-type.ts"],"sourcesContent":["import { EnvHandler } from '@teambit/envs';\nimport { AppTypeList } from './app-type-list';\n\nexport interface AppsEnv {\n /**\n * return a template list instance.\n */\n apps?(): EnvHandler<AppTypeList>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["apps-env-type.ts"],"sourcesContent":["import type { EnvHandler } from '@teambit/envs';\nimport type { AppTypeList } from './app-type-list';\n\nexport interface AppsEnv {\n /**\n * return a template list instance.\n */\n apps?(): EnvHandler<AppTypeList>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { BuildTask, BuiltTaskResult, BuildContext, ComponentResult, ArtifactDefinition } from '@teambit/builder';
2
- import { ApplicationMain } from './application.main.runtime';
1
+ import type { BuildTask, BuiltTaskResult, BuildContext, ComponentResult, ArtifactDefinition } from '@teambit/builder';
2
+ import type { ApplicationMain } from './application.main.runtime';
3
3
  export declare const BUILD_TASK = "build_application";
4
4
  export declare const ARTIFACTS_DIR_NAME = "apps";
5
5
  export type OneAppResult = {
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","require","_pMapSeries","_interopRequireDefault","_builder","_lodash","_application","_appBuildContext","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","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","undefined","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(\n private application: ApplicationMain,\n private opt: Options = { deploy: true }\n ) {}\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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","ignoreList":[]}
1
+ {"version":3,"names":["_path","data","require","_pMapSeries","_interopRequireDefault","_builder","_lodash","_application","_appBuildContext","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","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","undefined","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 type { BuildTask, BuiltTaskResult, BuildContext, ComponentResult, ArtifactDefinition } from '@teambit/builder';\nimport { CAPSULE_ARTIFACTS_DIR } from '@teambit/builder';\nimport { compact } from 'lodash';\nimport type { Capsule } from '@teambit/isolator';\nimport type { Component } from '@teambit/component';\n\nimport { ApplicationAspect } from './application.aspect';\nimport type { ApplicationMain } from './application.main.runtime';\nimport { AppBuildContext } from './app-build-context';\nimport type { 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(\n private application: ApplicationMain,\n private opt: Options = { deploy: true }\n ) {}\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":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,SAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,QAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,QAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAM,aAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,YAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,iBAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,gBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsD,SAAAG,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAG/C,MAAMgB,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,mBAAmB;AACtC,MAAME,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAG,MAAM;AA0BjC,MAAMC,aAAa,CAAsB;EAI9CC,WAAWA,CACDC,WAA4B,EAC5BC,GAAY,GAAG;IAAEC,MAAM,EAAE;EAAK,CAAC,EACvC;IAAA,KAFQF,WAA4B,GAA5BA,WAA4B;IAAA,KAC5BC,GAAY,GAAZA,GAAY;IAAAxB,eAAA,eALfkB,UAAU;IAAAlB,eAAA,mBACN0B,gCAAiB,CAACC,EAAE;IAAA3B,eAAA,mBACX,KAAK;EAItB;EAEH,MAAM4B,OAAOA,CAACC,OAAqB,EAA4B;IAC7D,MAAMC,kBAAkB,GAAGD,OAAO,CAACE,cAAc,CAACC,uBAAuB,CAACC,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,SAAS,CAACR,EAAE,CAACS,QAAQ,CAAC,CAAC,CAAC;IAC/G,MAAM;MAAEL;IAAe,CAAC,GAAGF,OAAO;IAClC,MAAMQ,MAAuB,GAAG;MAC9BC,iBAAiB,EAAE;IACrB,CAAC;;IAED;IACA,MAAM,IAAAC,qBAAS,EAACR,cAAc,CAACC,uBAAuB,EAAE,MAAOQ,OAAO,IAAK;MACzE,MAAML,SAAS,GAAGK,OAAO,CAACL,SAAS;MACnC,IAAIL,kBAAkB,IAAIA,kBAAkB,CAACW,MAAM,IAAI,CAACX,kBAAkB,CAACY,QAAQ,CAACP,SAAS,CAACR,EAAE,CAACS,QAAQ,CAAC,CAAC,CAAC,EAAE;QAC5G,OAAOO,SAAS;MAClB;MAEA,MAAMC,IAAI,GAAG,MAAM,IAAI,CAACrB,WAAW,CAACsB,qBAAqB,CAACV,SAAS,EAAEK,OAAO,CAACM,IAAI,CAAC;MAClF,IAAI,CAACF,IAAI,IAAI,CAACA,IAAI,CAACH,MAAM,EAAE,OAAOE,SAAS;MAC3C,MAAML,iBAAiB,GAAG,MAAM,IAAAC,qBAAS,EAAC,IAAAQ,iBAAO,EAACH,IAAI,CAAC,EAAE,MAAOI,GAAG,IACjE,IAAI,CAACC,YAAY,CAACD,GAAG,EAAEb,SAAS,EAAEK,OAAO,EAAEX,OAAO,CACpD,CAAC;MACD,MAAMqB,MAAM,GAAG,IAAI,CAACC,gBAAgB,CAAC,IAAAJ,iBAAO,EAACT,iBAAiB,CAAC,CAAC;MAChE,IAAIY,MAAM,EAAE;QACVb,MAAM,CAACC,iBAAiB,CAACc,IAAI,CAACF,MAAM,CAACG,eAAe,CAAC;QACrD,IAAI,CAAChB,MAAM,CAACiB,SAAS,EAAEjB,MAAM,CAACiB,SAAS,GAAG,EAAE;QAC5CjB,MAAM,CAACiB,SAAS,CAACF,IAAI,CAAC,IAAIF,MAAM,CAACI,SAAS,IAAI,EAAE,CAAC,CAAC;MACpD;MACA,OAAOX,SAAS;IAClB,CAAC,CAAC;IAEF,OAAON,MAAM;EACf;EAEA,MAAcY,YAAYA,CACxBD,GAAgB,EAChBb,SAAoB,EACpBK,OAAgB,EAChBX,OAAqB,EACc;IACnC,IAAI,CAACmB,GAAG,CAACO,KAAK,EAAE,OAAOZ,SAAS;IAChC,MAAMa,YAAY,GAAG,IAAI,CAACC,oBAAoB,CAAC,CAAC;IAChD,MAAMC,cAAc,GAAG7B,OAAO,CAACE,cAAc,CAAC4B,eAAe;IAC7D,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACrC,WAAW,CAACsC,qBAAqB,CAC7D1B,SAAS,CAACR,EAAE,EACZqB,GAAG,CAACc,IAAI,EACRJ,cAAc,EACdlB,OAAO,CAACM,IACV,CAAC;IACD,MAAMiB,eAAe,GAAGC,kCAAe,CAACC,MAAM,CAAC;MAC7CL,UAAU;MACVM,YAAY,EAAErC,OAAO;MACrBsC,YAAY,EAAEhC,SAAS;MACvB2B,IAAI,EAAEd,GAAG,CAACc,IAAI;MACdtB,OAAO;MACPgB;IACF,CAAC,CAAC;IACF,MAAMY,aAAa,GAAG,MAAMpB,GAAG,CAACO,KAAK,CAACQ,eAAe,CAAC;IACtD,MAAMM,gBAAsC,GAAG,IAAI,CAACC,qBAAqB,CAACtB,GAAG,CAACuB,eAAe,IAAIvB,GAAG,CAACc,IAAI,CAAC;IAC1G,MAAMR,SAAS,GAAGe,gBAAgB,CAACG,MAAM,CAACJ,aAAa,CAACd,SAAS,IAAI,EAAE,CAAC;IAExE,MAAMmB,4BAA4B,GAAGA,CAAA,KAAM;MACzC,IAAIL,aAAa,CAACM,QAAQ,EAAE;QAC1B,OAAON,aAAa,CAACM,QAAQ;MAC/B;MACA;MACA;MACA,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO;MACLpB,SAAS;MACTD,eAAe,EAAE;QACflB,SAAS,EAAEK,OAAO,CAACL,SAAS;QAC5BwC,MAAM,EAAEP,aAAa,CAACO,MAAM;QAC5BC,QAAQ,EAAER,aAAa,CAACQ,QAAQ;QAChCF,QAAQ,EAAE;UAAEN,aAAa,EAAEK,4BAA4B,CAAC,CAAC;UAAEX,IAAI,EAAEd,GAAG,CAACc,IAAI;UAAEe,OAAO,EAAE7B,GAAG,CAACuB;QAAgB,CAAC;QACzG;AACR;AACA;AACA;AACA;AACA;AACA;AACA;QACQ;QACAO,SAAS,EAAE;UAAEV,aAAa;UAAEN,IAAI,EAAEd,GAAG,CAACc,IAAI;UAAEe,OAAO,EAAE7B,GAAG,CAACuB;QAAgB;MAC3E;IACF,CAAC;EACH;EAEQpB,gBAAgBA,CAAC4B,WAA2B,EAAkC;IACpF,IAAI,CAACA,WAAW,IAAI,CAACA,WAAW,CAACtC,MAAM,EAAE,OAAOE,SAAS;IACzD,MAAMO,MAA0B,GAAG;MACjCI,SAAS,EAAE,EAAE;MACbD,eAAe,EAAE;QACflB,SAAS,EAAE4C,WAAW,CAAC,CAAC,CAAC,CAAC1B,eAAe,CAAClB,SAAS;QACnDwC,MAAM,EAAE,EAAE;QACVC,QAAQ,EAAE,EAAE;QACZF,QAAQ,EAAE;UACRM,mBAAmB,EAAE;QACvB;MACF;IACF,CAAC;IACDD,WAAW,CAACE,OAAO,CAAEC,SAAS,IAAK;MACjChC,MAAM,CAACI,SAAS,GAAG,CAACJ,MAAM,CAACI,SAAS,IAAI,EAAE,EAAEkB,MAAM,CAACU,SAAS,CAAC5B,SAAS,IAAI,EAAE,CAAC;MAC7EJ,MAAM,CAACG,eAAe,CAACsB,MAAM,GAAG,CAACzB,MAAM,CAACG,eAAe,CAACsB,MAAM,IAAI,EAAE,EAAEH,MAAM,CAC1EU,SAAS,CAAC7B,eAAe,CAACsB,MAAM,IAAI,EACtC,CAAC;MACDzB,MAAM,CAACG,eAAe,CAACuB,QAAQ,GAAG,CAAC1B,MAAM,CAACG,eAAe,CAACuB,QAAQ,IAAI,EAAE,EAAEJ,MAAM,CAC9EU,SAAS,CAAC7B,eAAe,CAACuB,QAAQ,IAAI,EACxC,CAAC;;MAED;MACA1B,MAAM,CAACG,eAAe,CAACqB,QAAQ,CAAEM,mBAAmB;MAClD;MACA,CAAC9B,MAAM,CAACG,eAAe,CAACqB,QAAQ,CAAEM,mBAAmB,IAAI,EAAE,EAAER,MAAM,CAACU,SAAS,CAAC7B,eAAe,CAACqB,QAAQ,IAAI,EAAE,CAAC;IACjH,CAAC,CAAC;IACF,OAAOxB,MAAM;EACf;EAEQO,oBAAoBA,CAAA,EAAG;IAC7B,OAAO,IAAA0B,YAAI,EAACC,gCAAqB,EAAEhE,kBAAkB,CAAC;EACxD;EAEQkD,qBAAqBA,CAACe,UAAkB,EAAwB;IACtE,OAAO,CACL;MACEvB,IAAI,EAAE,aAAauB,UAAU,EAAE;MAC/BC,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC7B,oBAAoB,CAAC,CAAC,KAAK;IACpD,CAAC,CACF;EACH;AACF;AAACtC,OAAA,CAAAE,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { BuilderMain, BuildTask, BuildContext, BuiltTaskResult } from '@teambit/builder';
2
- import { ApplicationMain } from './application.main.runtime';
1
+ import type { BuilderMain, BuildTask, BuildContext, BuiltTaskResult } from '@teambit/builder';
2
+ import type { ApplicationMain } from './application.main.runtime';
3
3
  export declare const DEPLOY_TASK = "deploy_application";
4
4
  export declare class DeployTask implements BuildTask {
5
5
  private application;
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_builder","_lodash","_application","_buildApplication","_appDeployContext","_appBuildContext","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DEPLOY_TASK","exports","DeployTask","constructor","application","builder","ApplicationAspect","id","execute","context","originalSeedersIds","capsuleNetwork","originalSeedersCapsules","map","c","component","toString","builderData","pipelineResultsToBuilderData","components","previousTasksResults","mapSeries","capsule","compBuilderData","getValueByComponentId","artifactsObjects","artifacts","artifactsObjectsList","ArtifactList","fromArtifactObjects","length","includes","undefined","apps","loadAppsFromComponent","path","appDeployments","compact","app","runForOneApp","deploys","_componentsResults","metadata","deployments","deploy","deployObject","appName","timestamp","url","componentsResults","aspectId","getAppAspect","name","buildTask","getBuildTask","envRuntime","getBuildMetadata","buildDeployContexts","find","ctx","appType","applicationType","appContext","createAppBuildContext","artifactsDir","getArtifactDirectory","appBuildContext","AppBuildContext","create","buildContext","appComponent","appDeployContext","AppDeployContext","deployContext","publicDir","ssrPublicDir","join","CAPSULE_ARTIFACTS_DIR","ARTIFACTS_DIR_NAME","appData","getDataByAspect","componentResults","res","isEqual","ignoreVersion","taskResults","runtime","task","env","BUILD_TASK"],"sources":["deploy.task.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport {\n BuilderMain,\n BuildTask,\n BuildContext,\n ComponentResult,\n TaskResults,\n BuiltTaskResult,\n CAPSULE_ARTIFACTS_DIR,\n ArtifactList,\n Artifact,\n} 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(\n private application: ApplicationMain,\n private builder: BuilderMain\n ) {}\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 builderData = this.builder.pipelineResultsToBuilderData(context.components, context.previousTasksResults);\n\n const components = await mapSeries(capsuleNetwork.originalSeedersCapsules, async (capsule) => {\n const component = capsule.component;\n const compBuilderData = builderData.getValueByComponentId(component.id);\n const artifactsObjects = compBuilderData?.artifacts || [];\n const artifactsObjectsList = ArtifactList.fromArtifactObjects(artifactsObjects);\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) =>\n this.runForOneApp(app, capsule, context, artifactsObjectsList)\n );\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 artifacts: ArtifactList<Artifact>\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(\n appBuildContext,\n artifacts,\n buildDeployContexts.deployContext.publicDir,\n buildDeployContexts.deployContext.ssrPublicDir\n );\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":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAWA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAK,aAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,YAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAM,kBAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,iBAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,kBAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,iBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAQ,iBAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,gBAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsD,SAAAC,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAE/C,MAAMgB,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,oBAAoB;AAExC,MAAME,UAAU,CAAsB;EAI3CC,WAAWA,CACDC,WAA4B,EAC5BC,OAAoB,EAC5B;IAAA,KAFQD,WAA4B,GAA5BA,WAA4B;IAAA,KAC5BC,OAAoB,GAApBA,OAAoB;IAAAvB,eAAA,eALvBkB,WAAW;IAAAlB,eAAA,mBACPwB,gCAAiB,CAACC,EAAE;IAAAzB,eAAA,mBACX,KAAK;EAItB;EAEH,MAAM0B,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,WAAW,GAAG,IAAI,CAACZ,OAAO,CAACa,4BAA4B,CAACT,OAAO,CAACU,UAAU,EAAEV,OAAO,CAACW,oBAAoB,CAAC;IAE/G,MAAMD,UAAU,GAAG,MAAM,IAAAE,qBAAS,EAACV,cAAc,CAACC,uBAAuB,EAAE,MAAOU,OAAO,IAAK;MAC5F,MAAMP,SAAS,GAAGO,OAAO,CAACP,SAAS;MACnC,MAAMQ,eAAe,GAAGN,WAAW,CAACO,qBAAqB,CAACT,SAAS,CAACR,EAAE,CAAC;MACvE,MAAMkB,gBAAgB,GAAGF,eAAe,EAAEG,SAAS,IAAI,EAAE;MACzD,MAAMC,oBAAoB,GAAGC,uBAAY,CAACC,mBAAmB,CAACJ,gBAAgB,CAAC;MAC/E,IAAIf,kBAAkB,IAAIA,kBAAkB,CAACoB,MAAM,IAAI,CAACpB,kBAAkB,CAACqB,QAAQ,CAAChB,SAAS,CAACR,EAAE,CAACS,QAAQ,CAAC,CAAC,CAAC,EAAE;QAC5G,OAAOgB,SAAS;MAClB;MACA,MAAMC,IAAI,GAAG,MAAM,IAAI,CAAC7B,WAAW,CAAC8B,qBAAqB,CAACnB,SAAS,EAAEO,OAAO,CAACa,IAAI,CAAC;MAClF,IAAI,CAACF,IAAI,IAAI,CAACA,IAAI,CAACH,MAAM,EAAE,OAAOE,SAAS;MAC3C,MAAMI,cAAc,GAAG,MAAM,IAAAf,qBAAS,EAAC,IAAAgB,iBAAO,EAACJ,IAAI,CAAC,EAAE,MAAOK,GAAG,IAC9D,IAAI,CAACC,YAAY,CAACD,GAAG,EAAEhB,OAAO,EAAEb,OAAO,EAAEkB,oBAAoB,CAC/D,CAAC;MACD,MAAMa,OAAO,GAAG,IAAAH,iBAAO,EAACD,cAAc,CAAC;MACvC,OAAO;QAAErB,SAAS;QAAEyB;MAAQ,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAMC,kBAAqC,GAAG,IAAAJ,iBAAO,EAAClB,UAAU,CAAC,CAACN,GAAG,CAAC,CAAC;MAAEE,SAAS;MAAEyB;IAAQ,CAAC,KAAK;MAChG,OAAO;QACLzB,SAAS;QACT2B,QAAQ,EAAE;UACRC,WAAW,EAAEH,OAAO,CAAC3B,GAAG,CAAE+B,MAAM,IAAK;YACnC,MAAMC,YAAY,GAAGD,MAAM,IAAI,CAAC,CAAC;YACjC,OAAO;cACLE,OAAO,EAAED,YAAY,EAAEC,OAAO;cAC9BC,SAAS,EAAEF,YAAY,EAAEE,SAAS;cAClCC,GAAG,EAAEH,YAAY,EAAEG;YACrB,CAAC;UACH,CAAC;QACH;MACF,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;MACLC,iBAAiB,EAAER;IACrB,CAAC;EACH;EAEA,MAAcF,YAAYA,CACxBD,GAAgB,EAChBhB,OAAgB,EAChBb,OAAqB,EACrBiB,SAAiC,EACkB;IACnD,MAAMwB,QAAQ,GAAG,IAAI,CAAC9C,WAAW,CAAC+C,YAAY,CAACb,GAAG,CAACc,IAAI,CAAC;IACxD,IAAI,CAACF,QAAQ,EAAE,OAAOlB,SAAS;IAE/B,IAAI,CAACV,OAAO,IAAI,CAACA,OAAO,EAAEP,SAAS,EAAE,OAAOiB,SAAS;IAErD,MAAMqB,SAAS,GAAG,IAAI,CAACC,YAAY,CAAC7C,OAAO,CAACW,oBAAoB,EAAEX,OAAO,CAAC8C,UAAU,CAAChD,EAAE,CAAC;IAExF,MAAMmC,QAAQ,GAAG,IAAI,CAACc,gBAAgB,CAACH,SAAS,EAAE/B,OAAO,CAACP,SAAS,CAAC;IACpE,IAAI,CAAC2B,QAAQ,EAAE,OAAOV,SAAS;IAC/B,MAAMyB,mBAAmB,GAAGf,QAAQ,CAACgB,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACP,IAAI,KAAKd,GAAG,CAACc,IAAI,IAAIO,GAAG,CAACC,OAAO,KAAKtB,GAAG,CAACuB,eAAe,CAAC;IAChH,IAAI,CAACJ,mBAAmB,EAAE,OAAOzB,SAAS;;IAE1C;IACA,MAAM8B,UAAU,GAAG,MAAM,IAAI,CAAC1D,WAAW,CAAC2D,qBAAqB,CAACzC,OAAO,CAACP,SAAS,CAACR,EAAE,EAAE+B,GAAG,CAACc,IAAI,EAAE9B,OAAO,CAACa,IAAI,CAAC;IAC7G,MAAM6B,YAAY,GAAG,IAAI,CAACC,oBAAoB,CAAC,CAAC;IAChD,MAAMC,eAAe,GAAGC,kCAAe,CAACC,MAAM,CAAC;MAC7CN,UAAU;MACVO,YAAY,EAAE5D,OAAO;MACrB6D,YAAY,EAAEhD,OAAO,CAACP,SAAS;MAC/BqC,IAAI,EAAEd,GAAG,CAACc,IAAI;MACd9B,OAAO;MACP0C;IACF,CAAC,CAAC;IAEF,MAAMO,gBAAgB,GAAG,KAAIC,oCAAgB,EAC3CN,eAAe,EACfxC,SAAS,EACT+B,mBAAmB,CAACgB,aAAa,CAACC,SAAS,EAC3CjB,mBAAmB,CAACgB,aAAa,CAACE,YACpC,CAAC;IAED,IAAIrC,GAAG,IAAI,OAAOA,GAAG,CAACM,MAAM,KAAK,UAAU,EAAE;MAC3C,OAAON,GAAG,CAACM,MAAM,CAAC2B,gBAAgB,CAAC;IACrC;IAEA,OAAOvC,SAAS;EAClB;EAEQiC,oBAAoBA,CAAA,EAAG;IAC7B,OAAO,IAAAW,cAAI,EAACC,gCAAqB,EAAEC,sCAAkB,CAAC;EACxD;EAEQtB,gBAAgBA,CACtBH,SAAkC,EAClCtC,SAAoB,EACe;IACnC,IAAI,CAACsC,SAAS,EAAE;MACd,MAAM0B,OAAO,GAAG,IAAI,CAAC1E,OAAO,CAAC2E,eAAe,CAACjE,SAAS,EAAET,gCAAiB,CAACC,EAAE,CAAC;MAC7E,IAAI,CAACwE,OAAO,EAAE,OAAO/C,SAAS;MAC9B,OAAO+C,OAAO,CAACtB,mBAAmB;IACpC;IACA,MAAMwB,gBAAgB,GAAG5B,SAAS,EAAEJ,iBAAiB,CAACS,IAAI,CAAEwB,GAAG,IAC7DA,GAAG,CAACnE,SAAS,CAACR,EAAE,CAAC4E,OAAO,CAACpE,SAAS,CAACR,EAAE,EAAE;MAAE6E,aAAa,EAAE;IAAK,CAAC,CAChE,CAAC;IACD,OAAOH,gBAAgB,EAAEvC,QAAQ,EAAEe,mBAAmB;EACxD;EAEQH,YAAYA,CAAC+B,WAA0B,EAAEC,OAAe,EAAE;IAChE,OAAOD,WAAW,CAAC3B,IAAI,CACrB,CAAC;MAAE6B,IAAI;MAAEC;IAAI,CAAC,KAAKD,IAAI,CAACrC,QAAQ,KAAK5C,gCAAiB,CAACC,EAAE,IAAIgF,IAAI,CAACnC,IAAI,KAAKqC,8BAAU,IAAID,GAAG,CAACjF,EAAE,KAAK+E,OACtG,CAAC;EACH;AACF;AAACrF,OAAA,CAAAC,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_builder","_lodash","_application","_buildApplication","_appDeployContext","_appBuildContext","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DEPLOY_TASK","exports","DeployTask","constructor","application","builder","ApplicationAspect","id","execute","context","originalSeedersIds","capsuleNetwork","originalSeedersCapsules","map","c","component","toString","builderData","pipelineResultsToBuilderData","components","previousTasksResults","mapSeries","capsule","compBuilderData","getValueByComponentId","artifactsObjects","artifacts","artifactsObjectsList","ArtifactList","fromArtifactObjects","length","includes","undefined","apps","loadAppsFromComponent","path","appDeployments","compact","app","runForOneApp","deploys","_componentsResults","metadata","deployments","deploy","deployObject","appName","timestamp","url","componentsResults","aspectId","getAppAspect","name","buildTask","getBuildTask","envRuntime","getBuildMetadata","buildDeployContexts","find","ctx","appType","applicationType","appContext","createAppBuildContext","artifactsDir","getArtifactDirectory","appBuildContext","AppBuildContext","create","buildContext","appComponent","appDeployContext","AppDeployContext","deployContext","publicDir","ssrPublicDir","join","CAPSULE_ARTIFACTS_DIR","ARTIFACTS_DIR_NAME","appData","getDataByAspect","componentResults","res","isEqual","ignoreVersion","taskResults","runtime","task","env","BUILD_TASK"],"sources":["deploy.task.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport type {\n BuilderMain,\n BuildTask,\n BuildContext,\n ComponentResult,\n TaskResults,\n BuiltTaskResult,\n Artifact,\n} from '@teambit/builder';\nimport { CAPSULE_ARTIFACTS_DIR, ArtifactList } from '@teambit/builder';\nimport { compact, join } from 'lodash';\nimport type { Capsule } from '@teambit/isolator';\nimport type { Component } from '@teambit/component';\nimport { ApplicationAspect } from './application.aspect';\nimport type { ApplicationMain } from './application.main.runtime';\nimport type { BuildDeployContexts } from './build-application.task';\nimport { ARTIFACTS_DIR_NAME, BUILD_TASK } from './build-application.task';\nimport { AppDeployContext } from './app-deploy-context';\nimport type { Application } from './application';\nimport type { 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(\n private application: ApplicationMain,\n private builder: BuilderMain\n ) {}\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 builderData = this.builder.pipelineResultsToBuilderData(context.components, context.previousTasksResults);\n\n const components = await mapSeries(capsuleNetwork.originalSeedersCapsules, async (capsule) => {\n const component = capsule.component;\n const compBuilderData = builderData.getValueByComponentId(component.id);\n const artifactsObjects = compBuilderData?.artifacts || [];\n const artifactsObjectsList = ArtifactList.fromArtifactObjects(artifactsObjects);\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) =>\n this.runForOneApp(app, capsule, context, artifactsObjectsList)\n );\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 artifacts: ArtifactList<Artifact>\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(\n appBuildContext,\n artifacts,\n buildDeployContexts.deployContext.publicDir,\n buildDeployContexts.deployContext.ssrPublicDir\n );\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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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { DeployFn } from './application';
1
+ import type { DeployFn } from './application';
2
2
  export interface DeploymentProvider {
3
3
  deploy: DeployFn;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["deployment-provider.ts"],"sourcesContent":["import { DeployFn } from './application';\n\nexport interface DeploymentProvider {\n deploy: DeployFn;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["deployment-provider.ts"],"sourcesContent":["import type { DeployFn } from './application';\n\nexport interface DeploymentProvider {\n deploy: DeployFn;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_application@1.0.666/dist/application.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_application@1.0.666/dist/application.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_application@1.0.668/dist/application.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.harmony_application@1.0.668/dist/application.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/dist/run.cmd.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { Command, CommandOptions } from '@teambit/cli';
2
- import { Logger } from '@teambit/logger';
3
- import { ApplicationMain } from './application.main.runtime';
1
+ import type { Command, CommandOptions } from '@teambit/cli';
2
+ import type { Logger } from '@teambit/logger';
3
+ import type { ApplicationMain } from './application.main.runtime';
4
4
  type RunOptions = {
5
5
  dev: boolean;
6
6
  verbose: boolean;
@@ -1 +1 @@
1
- {"version":3,"names":["RunCmd","constructor","application","logger","_defineProperty","name","description","wait","appName","dev","watch","ssr","port","exactPort","args","loadAllAppsAsAspects","off","errors","isOldApi","runApp","errStr","length","map","err","toString","join","console","process","exit","on","code","exports"],"sources":["run.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { Logger } from '@teambit/logger';\nimport { ApplicationMain } from './application.main.runtime';\n\ntype RunOptions = {\n dev: boolean;\n verbose: boolean;\n skipWatch: boolean;\n watch: boolean;\n ssr: boolean;\n port: string;\n args: string;\n};\n\nexport class RunCmd implements Command {\n name = 'run <app-name>';\n description = \"locally run an app component (independent of bit's dev server)\";\n helpUrl = 'reference/apps/apps-overview/';\n arguments = [\n {\n name: 'app-name',\n description:\n \"the app's name is registered by the app (run 'bit app list' to list the names of the available apps)\",\n },\n ];\n alias = 'c';\n group = 'run-serve';\n options = [\n ['d', 'dev', 'start the application in dev mode.'],\n ['p', 'port [port-number]', 'port to run the app on'],\n ['v', 'verbose', 'show verbose output for inspection and print stack trace'],\n // ['', 'skip-watch', 'avoid running the watch process that compiles components in the background'],\n ['w', 'watch', 'watch and compile your components upon changes'],\n [\n 'a',\n 'args <argv>',\n 'the arguments passing to the app. for example, --args=\"--a=1 --b\". don\\'t forget to use quotes to wrap the value to escape special characters.',\n ],\n ] as CommandOptions;\n\n constructor(\n /**\n * access to the extension instance.\n */\n private application: ApplicationMain,\n\n private logger: Logger\n ) {}\n\n async wait([appName]: [string], { dev, watch, ssr, port: exactPort, args }: RunOptions) {\n await this.application.loadAllAppsAsAspects();\n // remove wds logs until refactoring webpack to a worker through the Worker aspect.\n this.logger.off();\n const { port, errors, isOldApi } = await this.application.runApp(appName, {\n dev,\n watch,\n ssr,\n port: +exactPort,\n args,\n });\n\n if (errors) {\n const errStr =\n errors && errors.length ? errors.map((err) => err.toString()).join('\\n') : 'unknown error occurred';\n this.logger.console(errStr);\n process.exit(1);\n }\n\n if (isOldApi) {\n this.logger.console(`${appName} app is running on http://localhost:${port}`);\n }\n\n /**\n * normally, when running \"bit run <app-name>\", the app is running in the background, which keeps the event loop busy.\n * when the even loop is busy, the process doesn't exit, which is what we're looking for.\n *\n * however, if the app is not running in the background, the event loop is free, and the process exits. this is\n * very confusing to the end user, because there is no error and no message indicating what's happening.\n *\n * this \"beforeExit\" event is a good place to catch this case and print a message to the user.\n * it's better than using \"exit\" event, which can caused by the app itself running \"process.exit\".\n * \"beforeExit\" is called when the event loop is empty and the process is about to exit.\n */\n process.on('beforeExit', (code) => {\n if (code === 0) {\n this.logger.console('no app is running in the background, please check your app');\n }\n });\n }\n}\n"],"mappings":";;;;;;;;;AAcO,MAAMA,MAAM,CAAoB;EA0BrCC,WAAWA;EACT;AACJ;AACA;EACYC,WAA4B,EAE5BC,MAAc,EACtB;IAAA,KAHQD,WAA4B,GAA5BA,WAA4B;IAAA,KAE5BC,MAAc,GAAdA,MAAc;IAAAC,eAAA,eA/BjB,gBAAgB;IAAAA,eAAA,sBACT,gEAAgE;IAAAA,eAAA,kBACpE,+BAA+B;IAAAA,eAAA,oBAC7B,CACV;MACEC,IAAI,EAAE,UAAU;MAChBC,WAAW,EACT;IACJ,CAAC,CACF;IAAAF,eAAA,gBACO,GAAG;IAAAA,eAAA,gBACH,WAAW;IAAAA,eAAA,kBACT,CACR,CAAC,GAAG,EAAE,KAAK,EAAE,oCAAoC,CAAC,EAClD,CAAC,GAAG,EAAE,oBAAoB,EAAE,wBAAwB,CAAC,EACrD,CAAC,GAAG,EAAE,SAAS,EAAE,0DAA0D,CAAC;IAC5E;IACA,CAAC,GAAG,EAAE,OAAO,EAAE,gDAAgD,CAAC,EAChE,CACE,GAAG,EACH,aAAa,EACb,gJAAgJ,CACjJ,CACF;EASE;EAEH,MAAMG,IAAIA,CAAC,CAACC,OAAO,CAAW,EAAE;IAAEC,GAAG;IAAEC,KAAK;IAAEC,GAAG;IAAEC,IAAI,EAAEC,SAAS;IAAEC;EAAiB,CAAC,EAAE;IACtF,MAAM,IAAI,CAACZ,WAAW,CAACa,oBAAoB,CAAC,CAAC;IAC7C;IACA,IAAI,CAACZ,MAAM,CAACa,GAAG,CAAC,CAAC;IACjB,MAAM;MAAEJ,IAAI;MAAEK,MAAM;MAAEC;IAAS,CAAC,GAAG,MAAM,IAAI,CAAChB,WAAW,CAACiB,MAAM,CAACX,OAAO,EAAE;MACxEC,GAAG;MACHC,KAAK;MACLC,GAAG;MACHC,IAAI,EAAE,CAACC,SAAS;MAChBC;IACF,CAAC,CAAC;IAEF,IAAIG,MAAM,EAAE;MACV,MAAMG,MAAM,GACVH,MAAM,IAAIA,MAAM,CAACI,MAAM,GAAGJ,MAAM,CAACK,GAAG,CAAEC,GAAG,IAAKA,GAAG,CAACC,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,GAAG,wBAAwB;MACrG,IAAI,CAACtB,MAAM,CAACuB,OAAO,CAACN,MAAM,CAAC;MAC3BO,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;IACjB;IAEA,IAAIV,QAAQ,EAAE;MACZ,IAAI,CAACf,MAAM,CAACuB,OAAO,CAAC,GAAGlB,OAAO,uCAAuCI,IAAI,EAAE,CAAC;IAC9E;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIe,OAAO,CAACE,EAAE,CAAC,YAAY,EAAGC,IAAI,IAAK;MACjC,IAAIA,IAAI,KAAK,CAAC,EAAE;QACd,IAAI,CAAC3B,MAAM,CAACuB,OAAO,CAAC,4DAA4D,CAAC;MACnF;IACF,CAAC,CAAC;EACJ;AACF;AAACK,OAAA,CAAA/B,MAAA,GAAAA,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["RunCmd","constructor","application","logger","_defineProperty","name","description","wait","appName","dev","watch","ssr","port","exactPort","args","loadAllAppsAsAspects","off","errors","isOldApi","runApp","errStr","length","map","err","toString","join","console","process","exit","on","code","exports"],"sources":["run.cmd.ts"],"sourcesContent":["import type { Command, CommandOptions } from '@teambit/cli';\nimport type { Logger } from '@teambit/logger';\nimport type { ApplicationMain } from './application.main.runtime';\n\ntype RunOptions = {\n dev: boolean;\n verbose: boolean;\n skipWatch: boolean;\n watch: boolean;\n ssr: boolean;\n port: string;\n args: string;\n};\n\nexport class RunCmd implements Command {\n name = 'run <app-name>';\n description = \"locally run an app component (independent of bit's dev server)\";\n helpUrl = 'reference/apps/apps-overview/';\n arguments = [\n {\n name: 'app-name',\n description:\n \"the app's name is registered by the app (run 'bit app list' to list the names of the available apps)\",\n },\n ];\n alias = 'c';\n group = 'run-serve';\n options = [\n ['d', 'dev', 'start the application in dev mode.'],\n ['p', 'port [port-number]', 'port to run the app on'],\n ['v', 'verbose', 'show verbose output for inspection and print stack trace'],\n // ['', 'skip-watch', 'avoid running the watch process that compiles components in the background'],\n ['w', 'watch', 'watch and compile your components upon changes'],\n [\n 'a',\n 'args <argv>',\n 'the arguments passing to the app. for example, --args=\"--a=1 --b\". don\\'t forget to use quotes to wrap the value to escape special characters.',\n ],\n ] as CommandOptions;\n\n constructor(\n /**\n * access to the extension instance.\n */\n private application: ApplicationMain,\n\n private logger: Logger\n ) {}\n\n async wait([appName]: [string], { dev, watch, ssr, port: exactPort, args }: RunOptions) {\n await this.application.loadAllAppsAsAspects();\n // remove wds logs until refactoring webpack to a worker through the Worker aspect.\n this.logger.off();\n const { port, errors, isOldApi } = await this.application.runApp(appName, {\n dev,\n watch,\n ssr,\n port: +exactPort,\n args,\n });\n\n if (errors) {\n const errStr =\n errors && errors.length ? errors.map((err) => err.toString()).join('\\n') : 'unknown error occurred';\n this.logger.console(errStr);\n process.exit(1);\n }\n\n if (isOldApi) {\n this.logger.console(`${appName} app is running on http://localhost:${port}`);\n }\n\n /**\n * normally, when running \"bit run <app-name>\", the app is running in the background, which keeps the event loop busy.\n * when the even loop is busy, the process doesn't exit, which is what we're looking for.\n *\n * however, if the app is not running in the background, the event loop is free, and the process exits. this is\n * very confusing to the end user, because there is no error and no message indicating what's happening.\n *\n * this \"beforeExit\" event is a good place to catch this case and print a message to the user.\n * it's better than using \"exit\" event, which can caused by the app itself running \"process.exit\".\n * \"beforeExit\" is called when the event loop is empty and the process is about to exit.\n */\n process.on('beforeExit', (code) => {\n if (code === 0) {\n this.logger.console('no app is running in the background, please check your app');\n }\n });\n }\n}\n"],"mappings":";;;;;;;;;AAcO,MAAMA,MAAM,CAAoB;EA0BrCC,WAAWA;EACT;AACJ;AACA;EACYC,WAA4B,EAE5BC,MAAc,EACtB;IAAA,KAHQD,WAA4B,GAA5BA,WAA4B;IAAA,KAE5BC,MAAc,GAAdA,MAAc;IAAAC,eAAA,eA/BjB,gBAAgB;IAAAA,eAAA,sBACT,gEAAgE;IAAAA,eAAA,kBACpE,+BAA+B;IAAAA,eAAA,oBAC7B,CACV;MACEC,IAAI,EAAE,UAAU;MAChBC,WAAW,EACT;IACJ,CAAC,CACF;IAAAF,eAAA,gBACO,GAAG;IAAAA,eAAA,gBACH,WAAW;IAAAA,eAAA,kBACT,CACR,CAAC,GAAG,EAAE,KAAK,EAAE,oCAAoC,CAAC,EAClD,CAAC,GAAG,EAAE,oBAAoB,EAAE,wBAAwB,CAAC,EACrD,CAAC,GAAG,EAAE,SAAS,EAAE,0DAA0D,CAAC;IAC5E;IACA,CAAC,GAAG,EAAE,OAAO,EAAE,gDAAgD,CAAC,EAChE,CACE,GAAG,EACH,aAAa,EACb,gJAAgJ,CACjJ,CACF;EASE;EAEH,MAAMG,IAAIA,CAAC,CAACC,OAAO,CAAW,EAAE;IAAEC,GAAG;IAAEC,KAAK;IAAEC,GAAG;IAAEC,IAAI,EAAEC,SAAS;IAAEC;EAAiB,CAAC,EAAE;IACtF,MAAM,IAAI,CAACZ,WAAW,CAACa,oBAAoB,CAAC,CAAC;IAC7C;IACA,IAAI,CAACZ,MAAM,CAACa,GAAG,CAAC,CAAC;IACjB,MAAM;MAAEJ,IAAI;MAAEK,MAAM;MAAEC;IAAS,CAAC,GAAG,MAAM,IAAI,CAAChB,WAAW,CAACiB,MAAM,CAACX,OAAO,EAAE;MACxEC,GAAG;MACHC,KAAK;MACLC,GAAG;MACHC,IAAI,EAAE,CAACC,SAAS;MAChBC;IACF,CAAC,CAAC;IAEF,IAAIG,MAAM,EAAE;MACV,MAAMG,MAAM,GACVH,MAAM,IAAIA,MAAM,CAACI,MAAM,GAAGJ,MAAM,CAACK,GAAG,CAAEC,GAAG,IAAKA,GAAG,CAACC,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,GAAG,wBAAwB;MACrG,IAAI,CAACtB,MAAM,CAACuB,OAAO,CAACN,MAAM,CAAC;MAC3BO,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;IACjB;IAEA,IAAIV,QAAQ,EAAE;MACZ,IAAI,CAACf,MAAM,CAACuB,OAAO,CAAC,GAAGlB,OAAO,uCAAuCI,IAAI,EAAE,CAAC;IAC9E;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIe,OAAO,CAACE,EAAE,CAAC,YAAY,EAAGC,IAAI,IAAK;MACjC,IAAIA,IAAI,KAAK,CAAC,EAAE;QACd,IAAI,CAAC3B,MAAM,CAACuB,OAAO,CAAC,4DAA4D,CAAC;MACnF;IACF,CAAC,CAAC;EACJ;AACF;AAACK,OAAA,CAAA/B,MAAA,GAAAA,MAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/application",
3
- "version": "1.0.666",
3
+ "version": "1.0.668",
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.666"
9
+ "version": "1.0.668"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "4.1.2",
@@ -16,16 +16,16 @@
16
16
  "@teambit/harmony": "0.4.7",
17
17
  "@teambit/bit-error": "0.0.404",
18
18
  "@teambit/cli-table": "0.0.50",
19
- "@teambit/builder": "1.0.666",
20
- "@teambit/component": "1.0.666",
21
- "@teambit/isolator": "1.0.666",
22
- "@teambit/envs": "1.0.666",
23
- "@teambit/logger": "0.0.1336",
24
- "@teambit/aspect-loader": "1.0.666",
25
- "@teambit/cli": "0.0.1243",
26
- "@teambit/scope": "1.0.666",
27
- "@teambit/watcher": "1.0.666",
28
- "@teambit/workspace": "1.0.666"
19
+ "@teambit/builder": "1.0.668",
20
+ "@teambit/component": "1.0.668",
21
+ "@teambit/isolator": "1.0.668",
22
+ "@teambit/envs": "1.0.668",
23
+ "@teambit/logger": "0.0.1338",
24
+ "@teambit/aspect-loader": "1.0.668",
25
+ "@teambit/cli": "0.0.1245",
26
+ "@teambit/scope": "1.0.668",
27
+ "@teambit/watcher": "1.0.668",
28
+ "@teambit/workspace": "1.0.668"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/lodash": "4.14.165",