@teambit/application 1.0.107 → 1.0.109
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.
- package/artifacts/preview/teambit_harmony_application-preview.js +1 -0
- package/dist/app-build-context.d.ts +1 -1
- package/dist/app-context.d.ts +6 -6
- package/dist/app-context.js +1 -1
- package/dist/app-context.js.map +1 -1
- package/dist/app-deploy-context.d.ts +4 -4
- package/dist/app-instance.d.ts +2 -2
- package/dist/app-type-list.d.ts +1 -1
- package/dist/application.composition.d.ts +2 -2
- package/dist/application.d.ts +3 -3
- package/dist/application.main.runtime.d.ts +10 -10
- package/dist/application.main.runtime.js +3 -5
- package/dist/application.main.runtime.js.map +1 -1
- package/dist/application.service.d.ts +2 -2
- package/dist/application.service.js +1 -1
- package/dist/application.service.js.map +1 -1
- package/dist/build-application.task.d.ts +5 -5
- package/dist/deploy.task.js +6 -7
- package/dist/deploy.task.js.map +1 -1
- package/dist/{preview-1703590665075.js → preview-1703698405864.js} +2 -2
- package/dist/run.cmd.d.ts +1 -1
- package/package.json +23 -30
- package/tsconfig.json +16 -21
- package/types/asset.d.ts +15 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.harmony/application-preview"]=t():e["teambit.harmony/application-preview"]=t()}(self,(()=>(()=>{"use strict";var e={14576:(e,t,o)=>{var n={id:"teambit.harmony/application@1.0.109",homepage:"https://bit.cloud/teambit/harmony/application",exported:!0};function r(){const e=i(o(87363));return r=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,r.__bit_component=n,i.__bit_component=n;const a=()=>r().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},r().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/app.svg"}));a.__bit_component=n,t.Logo=a},87363:e=>{e.exports=React}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,o),i.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{o.r(n),o.d(n,{compositions:()=>l,compositions_metadata:()=>f,overview:()=>u});var e={};o.r(e),o.d(e,{default:()=>d});var t=o(14576);o(87363);const r=MdxJsReact,i=TeambitMdxUiMdxScopeContext;var a=["components"];function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},p.apply(this,arguments)}var c={},s="wrapper";function d(e){var t=e.components,o=function(e,t){if(null==e)return{};var o,n,r=function(e,t){if(null==e)return{};var o,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)o=i[n],t.indexOf(o)>=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)o=i[n],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}(e,a);return(0,r.mdx)(s,p({},c,o,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)(i.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"}))}d.isMDXComponent=!0;const l=[t],u=[e],f={compositions:[{displayName:"Logo",identifier:"Logo"}]}})(),n})()));
|
|
@@ -3,7 +3,7 @@ import { Capsule, Network } from '@teambit/isolator';
|
|
|
3
3
|
import { BuildContext, PipeName, TaskResults } from '@teambit/builder';
|
|
4
4
|
import { LaneId } from '@teambit/lane-id';
|
|
5
5
|
import { AppContext } from './app-context';
|
|
6
|
-
export
|
|
6
|
+
export type AppBuildContextCreate = {
|
|
7
7
|
appContext: AppContext;
|
|
8
8
|
buildContext: BuildContext;
|
|
9
9
|
name: string;
|
package/dist/app-context.d.ts
CHANGED
|
@@ -33,15 +33,15 @@ export declare class AppContext extends ExecutionContext {
|
|
|
33
33
|
* This can be used in different bundle options which run require.resolve
|
|
34
34
|
* for example when configuring webpack aliases or webpack expose loader on the peers deps
|
|
35
35
|
*/
|
|
36
|
-
readonly hostRootDir?: string
|
|
36
|
+
readonly hostRootDir?: string;
|
|
37
37
|
/**
|
|
38
38
|
* A port to run the app on
|
|
39
39
|
*/
|
|
40
|
-
readonly port?: number
|
|
40
|
+
readonly port?: number;
|
|
41
41
|
/**
|
|
42
42
|
* path to the application component in the workspace
|
|
43
43
|
*/
|
|
44
|
-
readonly workspaceComponentPath?: string
|
|
44
|
+
readonly workspaceComponentPath?: string;
|
|
45
45
|
/**
|
|
46
46
|
* list of env variables to include.
|
|
47
47
|
*/
|
|
@@ -77,15 +77,15 @@ export declare class AppContext extends ExecutionContext {
|
|
|
77
77
|
* This can be used in different bundle options which run require.resolve
|
|
78
78
|
* for example when configuring webpack aliases or webpack expose loader on the peers deps
|
|
79
79
|
*/
|
|
80
|
-
hostRootDir?: string
|
|
80
|
+
hostRootDir?: string,
|
|
81
81
|
/**
|
|
82
82
|
* A port to run the app on
|
|
83
83
|
*/
|
|
84
|
-
port?: number
|
|
84
|
+
port?: number,
|
|
85
85
|
/**
|
|
86
86
|
* path to the application component in the workspace
|
|
87
87
|
*/
|
|
88
|
-
workspaceComponentPath?: string
|
|
88
|
+
workspaceComponentPath?: string,
|
|
89
89
|
/**
|
|
90
90
|
* list of env variables to include.
|
|
91
91
|
*/
|
package/dist/app-context.js
CHANGED
|
@@ -94,7 +94,7 @@ class AppContext extends _envs().ExecutionContext {
|
|
|
94
94
|
return this.harmony.get(aspectId);
|
|
95
95
|
}
|
|
96
96
|
static compose(appContext, overrides) {
|
|
97
|
-
return new AppContext(
|
|
97
|
+
return new AppContext(overrides?.appName || appContext?.appName, overrides?.harmony || appContext?.harmony, overrides?.dev || appContext?.dev, overrides?.appComponent || appContext?.appComponent, overrides?.workdir || appContext?.workdir, overrides?.execContext || appContext?.execContext, overrides?.hostRootDir || appContext?.hostRootDir, overrides?.port || appContext?.port, overrides?.workspaceComponentPath || appContext?.workspaceComponentPath, overrides?.envVariables || appContext?.envVariables);
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
exports.AppContext = AppContext;
|
package/dist/app-context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_envs","data","require","_logger","AppContext","ExecutionContext","constructor","appName","harmony","dev","appComponent","workdir","execContext","hostRootDir","port","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 * 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?.workspaceComponentPath || appContext?.workspaceComponentPath,\n overrides?.envVariables || appContext?.envVariables\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;AAGA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMG,UAAU,SAASC,wBAAgB,CAAC;EAC/CC,WAAWA;EACT;AACJ;AACA;EACaC,OAAe;EAExB;AACJ;AACA;EACaC,OAAgB;EAEzB;AACJ;AACA;EACaC,GAAY;EAErB;AACJ;AACA;EACaC,YAAuB;EAEhC;AACJ;AACA;EACaC,OAAe;EAExB;AACJ;AACA;EACaC,WAA6B;EAEtC;AACJ;AACA;AACA;AACA;AACA;EACaC,WAAoB;EAE7B;AACJ;AACA;EACaC,IAAa;EAEtB;AACJ;AACA;EACaC,sBAA+B;EAExC;AACJ;AACA;EACaC,YAAoC,GAAG,CAAC,CAAC,EAClD;IACA,KAAK,CAACJ,WAAW,CAACK,KAAK,EAAEL,WAAW,CAACM,UAAU,EAAEN,WAAW,CAACO,UAAU,CAAC;IAAC,KAlDhEZ,OAAe,GAAfA,OAAe;IAAA,KAKfC,OAAgB,GAAhBA,OAAgB;IAAA,KAKhBC,GAAY,GAAZA,GAAY;IAAA,KAKZC,YAAuB,GAAvBA,YAAuB;IAAA,KAKvBC,OAAe,GAAfA,OAAe;IAAA,KAKfC,WAA6B,GAA7BA,WAA6B;IAAA,KAQ7BC,WAAoB,GAApBA,WAAoB;IAAA,KAKpBC,IAAa,GAAbA,IAAa;IAAA,KAKbC,sBAA+B,GAA/BA,sBAA+B;IAAA,KAK/BC,YAAoC,GAApCA,YAAoC;EAG/C;;EAEA;AACF;AACA;EACEI,YAAYA,CAACC,IAAa,EAAU;IAClC,MAAMC,UAAU,GAAG,IAAI,CAACd,OAAO,CAACe,GAAG,CAAaC,sBAAY,CAACC,EAAE,CAAC;IAChE,MAAMC,cAAc,GAAG,IAAI,CAAChB,YAAY,CAACe,EAAE;IAC3C,MAAME,UAAU,GAAGN,IAAI,GAAI,GAAEK,cAAc,CAACE,QAAQ,CAAC,CAAE,KAAIP,IAAK,EAAC,GAAGK,cAAc,CAACE,QAAQ,CAAC,CAAC;IAE7F,OAAON,UAAU,CAACF,YAAY,CAACO,UAAU,CAAC;EAC5C;;EAEA;AACF;AACA;AACA;EACEE,SAASA,CAAIC,QAAgB,EAAiB;IAC5C,OAAO,IAAI,CAACtB,OAAO,CAACe,GAAG,CAAIO,QAAQ,CAAC;EACtC;EAEA,OAAOC,OAAOA,CAACC,UAAsB,EAAEC,SAA+B,EAAE;IACtE,OAAO,IAAI7B,UAAU,
|
|
1
|
+
{"version":3,"names":["_envs","data","require","_logger","AppContext","ExecutionContext","constructor","appName","harmony","dev","appComponent","workdir","execContext","hostRootDir","port","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 * 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?.workspaceComponentPath || appContext?.workspaceComponentPath,\n overrides?.envVariables || appContext?.envVariables\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -8,11 +8,11 @@ export declare class AppDeployContext extends AppBuildContext {
|
|
|
8
8
|
/**
|
|
9
9
|
* public dir generated by the build.
|
|
10
10
|
*/
|
|
11
|
-
readonly publicDir?: string
|
|
11
|
+
readonly publicDir?: string;
|
|
12
12
|
/**
|
|
13
13
|
* ssr dir generated by the build.
|
|
14
14
|
*/
|
|
15
|
-
readonly ssrPublicDir?: string
|
|
15
|
+
readonly ssrPublicDir?: string;
|
|
16
16
|
constructor(
|
|
17
17
|
/**
|
|
18
18
|
* app build context.
|
|
@@ -25,9 +25,9 @@ export declare class AppDeployContext extends AppBuildContext {
|
|
|
25
25
|
/**
|
|
26
26
|
* public dir generated by the build.
|
|
27
27
|
*/
|
|
28
|
-
publicDir?: string
|
|
28
|
+
publicDir?: string,
|
|
29
29
|
/**
|
|
30
30
|
* ssr dir generated by the build.
|
|
31
31
|
*/
|
|
32
|
-
ssrPublicDir?: string
|
|
32
|
+
ssrPublicDir?: string);
|
|
33
33
|
}
|
package/dist/app-instance.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type ApplicationInstance = {
|
|
2
2
|
/**
|
|
3
3
|
* port in which app is running.
|
|
4
4
|
*/
|
|
@@ -15,7 +15,7 @@ export declare type ApplicationInstance = {
|
|
|
15
15
|
/**
|
|
16
16
|
* an instance of an application deployment.
|
|
17
17
|
*/
|
|
18
|
-
export
|
|
18
|
+
export type ApplicationDeployment = {
|
|
19
19
|
/**
|
|
20
20
|
* timestamp of the deployment.
|
|
21
21
|
*/
|
package/dist/app-type-list.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const Logo: () =>
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const Logo: () => JSX.Element;
|
package/dist/application.d.ts
CHANGED
|
@@ -3,9 +3,9 @@ import { AppDeployContext } from './app-deploy-context';
|
|
|
3
3
|
import { AppBuildContext } from './app-build-context';
|
|
4
4
|
import { AppBuildResult } from './app-build-result';
|
|
5
5
|
import { ApplicationDeployment, ApplicationInstance } from './app-instance';
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
6
|
+
export type DeployFn = (context: AppDeployContext) => Promise<ApplicationDeployment | void | undefined>;
|
|
7
|
+
export type BuildFn = (context: AppBuildContext) => Promise<AppBuildResult>;
|
|
8
|
+
export type AppResult = {
|
|
9
9
|
port?: number;
|
|
10
10
|
errors?: Error[];
|
|
11
11
|
};
|
|
@@ -13,10 +13,10 @@ import { Application } from './application';
|
|
|
13
13
|
import { DeploymentProvider } from './deployment-provider';
|
|
14
14
|
import { AppService } from './application.service';
|
|
15
15
|
import { AppContext } from './app-context';
|
|
16
|
-
export
|
|
17
|
-
export
|
|
18
|
-
export
|
|
19
|
-
export
|
|
16
|
+
export type ApplicationTypeSlot = SlotRegistry<ApplicationType<unknown>[]>;
|
|
17
|
+
export type ApplicationSlot = SlotRegistry<Application[]>;
|
|
18
|
+
export type DeploymentProviderSlot = SlotRegistry<DeploymentProvider[]>;
|
|
19
|
+
export type ApplicationAspectConfig = {
|
|
20
20
|
/**
|
|
21
21
|
* envs ids to load app types.
|
|
22
22
|
*/
|
|
@@ -25,11 +25,11 @@ export declare type ApplicationAspectConfig = {
|
|
|
25
25
|
/**
|
|
26
26
|
* Application meta data that is stored on the component on load if it's an application.
|
|
27
27
|
*/
|
|
28
|
-
export
|
|
28
|
+
export type ApplicationMetadata = {
|
|
29
29
|
appName: string;
|
|
30
30
|
type?: string;
|
|
31
31
|
};
|
|
32
|
-
export
|
|
32
|
+
export type ServeAppOptions = {
|
|
33
33
|
/**
|
|
34
34
|
* default port range used to serve applications.
|
|
35
35
|
*/
|
|
@@ -86,12 +86,12 @@ export declare class ApplicationMain {
|
|
|
86
86
|
/**
|
|
87
87
|
* get an application by a component id.
|
|
88
88
|
*/
|
|
89
|
-
getAppById(id: ComponentID): Promise<Application
|
|
89
|
+
getAppById(id: ComponentID): Promise<Application>;
|
|
90
90
|
/**
|
|
91
91
|
* calculate an application by a component.
|
|
92
92
|
* This should be only used during the on component load slot
|
|
93
93
|
*/
|
|
94
|
-
calculateAppByComponent(component: Component): Application
|
|
94
|
+
calculateAppByComponent(component: Component): Application;
|
|
95
95
|
listAppTypes(): ApplicationType<unknown>[];
|
|
96
96
|
/**
|
|
97
97
|
* @deprecated use `listAppsComponents` instead.
|
|
@@ -126,8 +126,8 @@ export declare class ApplicationMain {
|
|
|
126
126
|
loadAppsToSlot(): Promise<this>;
|
|
127
127
|
runApp(appName: string, options?: ServeAppOptions): Promise<{
|
|
128
128
|
app: Application;
|
|
129
|
-
port: number
|
|
130
|
-
errors:
|
|
129
|
+
port: number;
|
|
130
|
+
errors: any;
|
|
131
131
|
isOldApi: boolean;
|
|
132
132
|
}>;
|
|
133
133
|
/**
|
|
@@ -288,14 +288,13 @@ class ApplicationMain {
|
|
|
288
288
|
// const app = require(appPath);
|
|
289
289
|
const appManifests = Promise.all((0, _lodash().compact)(pluginsToLoad.map(async pluginPath => {
|
|
290
290
|
try {
|
|
291
|
-
var _require;
|
|
292
291
|
const isModule = await this.aspectLoader.isEsmModule(pluginPath);
|
|
293
292
|
if (isModule) {
|
|
294
293
|
const appManifest = await this.aspectLoader.loadEsm(pluginPath);
|
|
295
294
|
return appManifest;
|
|
296
295
|
}
|
|
297
296
|
// eslint-disable-next-line
|
|
298
|
-
const appManifest =
|
|
297
|
+
const appManifest = require(pluginPath)?.default;
|
|
299
298
|
return appManifest;
|
|
300
299
|
} catch (err) {
|
|
301
300
|
this.logger.error(`failed loading app manifest: ${pluginPath}`);
|
|
@@ -365,8 +364,7 @@ class ApplicationMain {
|
|
|
365
364
|
* get an app AspectId.
|
|
366
365
|
*/
|
|
367
366
|
getAppAspect(appName) {
|
|
368
|
-
|
|
369
|
-
return (_this$appSlot$toArray = this.appSlot.toArray().find(([, apps]) => apps.find(app => app.name === appName))) === null || _this$appSlot$toArray === void 0 ? void 0 : _this$appSlot$toArray[0];
|
|
367
|
+
return this.appSlot.toArray().find(([, apps]) => apps.find(app => app.name === appName))?.[0];
|
|
370
368
|
}
|
|
371
369
|
|
|
372
370
|
/**
|
|
@@ -401,7 +399,7 @@ class ApplicationMain {
|
|
|
401
399
|
});
|
|
402
400
|
}
|
|
403
401
|
const isOldApi = typeof instance === 'number';
|
|
404
|
-
const port = isOldApi ? instance : instance
|
|
402
|
+
const port = isOldApi ? instance : instance?.port;
|
|
405
403
|
return {
|
|
406
404
|
app,
|
|
407
405
|
port,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_lodash","_aspectLoader","_harmony","_workspace","_interopRequireDefault","_bitError","_watcher","_builder","_scope","_logger","_envs","_component","_exceptions","_application","_appList","_buildApplication","_run","_application2","_app","_app2","_appType","_appContext","_deploy","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","ApplicationMain","constructor","appSlot","appTypeSlot","deploymentProviderSlot","config","envs","componentAspect","appService","aspectLoader","workspace","logger","watcher","harmony","dev","ssr","watch","defaultPortRange","registerApp","app","register","listApps","flatten","values","mapApps","toArray","listAppsById","id","undefined","get","toString","getAppById","apps","head","calculateAppByComponent","component","listAppTypes","listAppsFromComponents","listAppsComponents","components","getHost","list","appTypesPatterns","getAppPatterns","appsComponents","hasAppTypePattern","patterns","files","filesystem","byGlob","appTypes","map","appType","getAppPattern","concat","BIT_APP_PATTERN","loadApps","pluginsToLoad","flatMap","appComponent","file","path","appManifests","Promise","all","compact","pluginPath","_require","isModule","isEsmModule","appManifest","loadEsm","err","error","loadAppsFromComponent","rootDir","isApp","allPluginDefs","getPluginDefs","appsPluginDefs","pluginDef","includes","pattern","plugins","getPluginsFromDefs","loadedPlugins","has","load","MainRuntime","name","loadExtensionsByManifests","seeders","getApp","appName","find","getAppByNameOrId","appNameOrId","byName","byId","BitError","globPattern","registerAppType","AppTypePlugin","registerPlugins","getAppAspect","_this$appSlot$toArray","getAppOrThrow","AppNotFound","computeOptions","opts","defaultOpts","loadAppsToSlot","runApp","options","context","createAppContext","port","instance","run","preCompile","compile","catch","isOldApi","errors","getAppIdOrThrow","maybeApp","host","resolveComponentId","env","createEnvironment","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","AppListCmdDeprecated","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 { AppListCmdDeprecated } from './app-list.cmd';\nimport { AppsBuildTask } from './build-application.task';\nimport { RunCmd } from './run.cmd';\nimport { AppService } from './application.service';\nimport { AppCmd, AppListCmd } from './app.cmd';\nimport { AppPlugin, BIT_APP_PATTERN } from './app.plugin';\nimport { AppTypePlugin } from './app-type.plugin';\nimport { AppContext } from './app-context';\nimport { DeployTask } from './deploy.task';\n\nexport type ApplicationTypeSlot = SlotRegistry<ApplicationType<unknown>[]>;\nexport type ApplicationSlot = SlotRegistry<Application[]>;\nexport type DeploymentProviderSlot = SlotRegistry<DeploymentProvider[]>;\n\nexport type ApplicationAspectConfig = {\n /**\n * envs ids to load app types.\n */\n envs?: string[];\n};\n\n/**\n * Application meta data that is stored on the component on load if it's an application.\n */\nexport type ApplicationMetadata = {\n appName: string;\n type?: string;\n};\n\nexport type ServeAppOptions = {\n /**\n * default port range used to serve applications.\n */\n defaultPortRange?: [start: number, end: number];\n\n /**\n * determine whether to start the application in dev mode.\n */\n dev: boolean;\n\n /**\n * actively watch and compile the workspace (like the bit watch command)\n * @default true\n */\n watch?: boolean;\n\n /**\n * determine whether to start the application in server side mode.\n * @default false\n */\n ssr?: boolean;\n\n /**\n * exact port to run the app\n */\n port?: number;\n};\n\nexport class ApplicationMain {\n constructor(\n private appSlot: ApplicationSlot,\n // TODO unused\n private appTypeSlot: ApplicationTypeSlot,\n private deploymentProviderSlot: DeploymentProviderSlot,\n private config: ApplicationAspectConfig,\n private envs: EnvsMain,\n private componentAspect: ComponentMain,\n private appService: AppService,\n private aspectLoader: AspectLoaderMain,\n private workspace: Workspace,\n private logger: Logger,\n private watcher: WatcherMain,\n private harmony: Harmony\n ) {}\n\n /**\n * register a new app.\n */\n registerApp(app: Application) {\n this.appSlot.register([app]);\n return this;\n }\n\n /**\n * list all registered apps.\n */\n listApps(): Application[] {\n return flatten(this.appSlot.values());\n }\n\n /**\n * map all apps by component ID.\n */\n mapApps() {\n return this.appSlot.toArray();\n }\n\n /**\n * list apps by a component id.\n */\n listAppsById(id?: ComponentID): Application[] | undefined {\n if (!id) return undefined;\n return this.appSlot.get(id.toString());\n }\n\n /**\n * get an application by a component id.\n */\n async getAppById(id: ComponentID) {\n const apps = await this.listAppsById(id);\n if (!apps) return undefined;\n return head(apps);\n }\n\n /**\n * calculate an application by a component.\n * This should be only used during the on component load slot\n */\n calculateAppByComponent(component: Component) {\n const apps = this.appSlot.get(component.id.toString());\n if (!apps) return undefined;\n return head(apps);\n }\n\n listAppTypes() {\n return flatten(this.appTypeSlot.values());\n }\n\n /**\n * @deprecated use `listAppsComponents` instead.\n * @returns\n */\n async listAppsFromComponents(): Promise<Component[]> {\n return this.listAppsComponents();\n }\n\n async listAppsComponents(): Promise<Component[]> {\n const components = await this.componentAspect.getHost().list();\n const appTypesPatterns = this.getAppPatterns();\n const appsComponents = components.filter((component) => this.hasAppTypePattern(component, appTypesPatterns));\n return appsComponents;\n }\n\n private hasAppTypePattern(component: Component, appTypesPatterns?: string[]): boolean {\n const patterns = appTypesPatterns || this.getAppPatterns();\n // has app plugin from registered types.\n const files = component.filesystem.byGlob(patterns);\n return !!files.length;\n }\n\n getAppPatterns() {\n const appTypes = this.listAppTypes();\n const appTypesPatterns = appTypes.map((appType) => {\n return this.getAppPattern(appType);\n });\n\n return appTypesPatterns.concat(BIT_APP_PATTERN);\n }\n\n async loadApps(): Promise<Application[]> {\n const apps = await this.listAppsComponents();\n const appTypesPatterns = this.getAppPatterns();\n\n const pluginsToLoad = apps.flatMap((appComponent) => {\n const files = appComponent.filesystem.byGlob(appTypesPatterns);\n return files.map((file) => file.path);\n });\n\n // const app = require(appPath);\n const appManifests = Promise.all(\n compact(\n pluginsToLoad.map(async (pluginPath) => {\n try {\n const isModule = await this.aspectLoader.isEsmModule(pluginPath);\n if (isModule) {\n const appManifest = await this.aspectLoader.loadEsm(pluginPath);\n return appManifest;\n }\n // eslint-disable-next-line\n const appManifest = require(pluginPath)?.default;\n return appManifest;\n } catch (err) {\n this.logger.error(`failed loading app manifest: ${pluginPath}`);\n return undefined;\n }\n })\n )\n );\n\n return appManifests;\n }\n\n async loadAppsFromComponent(component: Component, rootDir: string): Promise<Application[] | undefined> {\n const appTypesPatterns = this.getAppPatterns();\n const isApp = this.hasAppTypePattern(component, appTypesPatterns);\n if (!isApp) return undefined;\n\n const allPluginDefs = this.aspectLoader.getPluginDefs();\n\n const appsPluginDefs = allPluginDefs.filter((pluginDef) => {\n return appTypesPatterns.includes(pluginDef.pattern.toString());\n });\n // const fileResolver = this.aspectLoader.pluginFileResolver(component, rootDir);\n\n const plugins = this.aspectLoader.getPluginsFromDefs(component, rootDir, appsPluginDefs);\n let loadedPlugins;\n if (plugins.has()) {\n loadedPlugins = await plugins.load(MainRuntime.name);\n await this.aspectLoader.loadExtensionsByManifests([loadedPlugins], { seeders: [component.id.toString()] });\n }\n\n const listAppsById = this.listAppsById(component.id);\n return listAppsById;\n }\n\n /**\n * get an app.\n */\n getApp(appName: string, id?: ComponentID): Application | undefined {\n const apps = id ? this.listAppsById(id) : this.listApps();\n if (!apps) return undefined;\n return apps.find((app) => app.name === appName);\n }\n\n getAppByNameOrId(appNameOrId: string): Application | undefined {\n const byName = this.getApp(appNameOrId);\n if (byName) return byName;\n const byId = this.appSlot.get(appNameOrId);\n if (!byId || !byId.length) return undefined;\n if (byId.length > 1) {\n throw new BitError(\n `unable to figure out what app to retrieve. the id \"${appNameOrId}\" has more than one app. please use the app-name`\n );\n }\n return byId[0];\n }\n\n getAppPattern(appType: ApplicationType<unknown>) {\n if (appType.globPattern) return appType.globPattern;\n return `*.${appType.name}.*`;\n }\n\n /**\n * registers a new app and sets a plugin for it.\n */\n registerAppType<T>(...appTypes: Array<ApplicationType<T>>) {\n const plugins = appTypes.map((appType) => {\n return new AppTypePlugin(this.getAppPattern(appType), appType, this.appSlot);\n });\n\n this.aspectLoader.registerPlugins(plugins);\n this.appTypeSlot.register(appTypes);\n return this;\n }\n\n /**\n * get an app AspectId.\n */\n getAppAspect(appName: string): string | undefined {\n return this.appSlot.toArray().find(([, apps]) => apps.find((app) => app.name === appName))?.[0];\n }\n\n /**\n * get app to throw.\n */\n getAppOrThrow(appName: string): Application {\n const app = this.getAppByNameOrId(appName);\n if (!app) throw new AppNotFound(appName);\n return app;\n }\n\n defaultOpts: ServeAppOptions = {\n dev: false,\n ssr: false,\n watch: true,\n defaultPortRange: [3100, 3500],\n };\n private computeOptions(opts: Partial<ServeAppOptions> = {}) {\n return {\n ...this.defaultOpts,\n ...opts,\n };\n }\n\n async loadAppsToSlot() {\n const apps = await this.loadApps();\n this.appSlot.register(apps);\n return this;\n }\n\n async runApp(appName: string, options?: ServeAppOptions) {\n options = this.computeOptions(options);\n const app = this.getAppOrThrow(appName);\n const context = await this.createAppContext(app.name, options.port);\n if (!context) throw new AppNotFound(appName);\n\n const instance = await app.run(context);\n if (options.watch) {\n this.watcher\n .watch({\n preCompile: false,\n compile: true,\n })\n .catch((err) => {\n // don't throw an error, we don't want to break the \"run\" process\n this.logger.error(`compilation failed`, err);\n });\n }\n\n const isOldApi = typeof instance === 'number';\n const port = isOldApi ? 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): Promise<AppContext> {\n const host = this.componentAspect.getHost();\n // const components = await host.list();\n const id = await this.getAppIdOrThrow(appName);\n // const component = components.find((c) => c.id.isEqual(id));\n const component = await host.get(id);\n if (!component) throw new AppNotFound(appName);\n\n const env = await this.envs.createEnvironment([component]);\n const res = await env.run(this.appService);\n const context = res.results[0].data;\n if (!context) throw new AppNotFound(appName);\n const hostRootDir = await this.workspace.getComponentPackagePath(component);\n const workspaceComponentDir = this.workspace.componentDir(component.id);\n\n const appContext = new AppContext(\n appName,\n this.harmony,\n context.dev,\n component,\n this.workspace.path,\n context,\n hostRootDir,\n port,\n workspaceComponentDir\n );\n return appContext;\n }\n\n async createAppBuildContext(id: ComponentID, appName: string, capsuleRootDir: string, rootDir?: string) {\n const host = this.componentAspect.getHost();\n // const components = await host.list();\n // const component = components.find((c) => c.id.isEqual(id));\n const component = await host.get(id);\n if (!component) throw new AppNotFound(appName);\n\n const env = await this.envs.createEnvironment([component]);\n const res = await env.run(this.appService);\n const context = res.results[0].data;\n if (!context) throw new AppNotFound(appName);\n\n const appContext = new AppContext(\n appName,\n this.harmony,\n context.dev,\n component,\n capsuleRootDir,\n context,\n rootDir,\n undefined,\n undefined\n );\n return appContext;\n }\n\n 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();\n appCmd.commands = [new AppListCmd(application), new RunCmd(application, logger)];\n aspectLoader.registerPlugins([new AppPlugin(appSlot)]);\n builder.registerBuildTasks([new AppsBuildTask(application)]);\n builder.registerSnapTasks([new DeployTask(application, builder)]);\n builder.registerTagTasks([new DeployTask(application, builder)]);\n envs.registerService(appService);\n cli.registerGroup('apps', 'Applications');\n cli.register(new RunCmd(application, logger), new AppListCmdDeprecated(application), appCmd);\n // cli.registerOnStart(async () => {\n // await application.loadAppsToSlot();\n // });\n 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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"}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_lodash","_aspectLoader","_harmony","_workspace","_interopRequireDefault","_bitError","_watcher","_builder","_scope","_logger","_envs","_component","_exceptions","_application","_appList","_buildApplication","_run","_application2","_app","_app2","_appType","_appContext","_deploy","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","ApplicationMain","constructor","appSlot","appTypeSlot","deploymentProviderSlot","config","envs","componentAspect","appService","aspectLoader","workspace","logger","watcher","harmony","dev","ssr","watch","defaultPortRange","registerApp","app","register","listApps","flatten","values","mapApps","toArray","listAppsById","id","undefined","get","toString","getAppById","apps","head","calculateAppByComponent","component","listAppTypes","listAppsFromComponents","listAppsComponents","components","getHost","list","appTypesPatterns","getAppPatterns","appsComponents","hasAppTypePattern","patterns","files","filesystem","byGlob","appTypes","map","appType","getAppPattern","concat","BIT_APP_PATTERN","loadApps","pluginsToLoad","flatMap","appComponent","file","path","appManifests","Promise","all","compact","pluginPath","isModule","isEsmModule","appManifest","loadEsm","err","error","loadAppsFromComponent","rootDir","isApp","allPluginDefs","getPluginDefs","appsPluginDefs","pluginDef","includes","pattern","plugins","getPluginsFromDefs","loadedPlugins","has","load","MainRuntime","name","loadExtensionsByManifests","seeders","getApp","appName","find","getAppByNameOrId","appNameOrId","byName","byId","BitError","globPattern","registerAppType","AppTypePlugin","registerPlugins","getAppAspect","getAppOrThrow","AppNotFound","computeOptions","opts","defaultOpts","loadAppsToSlot","runApp","options","context","createAppContext","port","instance","run","preCompile","compile","catch","isOldApi","errors","getAppIdOrThrow","maybeApp","host","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","AppListCmdDeprecated","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 { AppListCmdDeprecated } from './app-list.cmd';\nimport { AppsBuildTask } from './build-application.task';\nimport { RunCmd } from './run.cmd';\nimport { AppService } from './application.service';\nimport { AppCmd, AppListCmd } from './app.cmd';\nimport { AppPlugin, BIT_APP_PATTERN } from './app.plugin';\nimport { AppTypePlugin } from './app-type.plugin';\nimport { AppContext } from './app-context';\nimport { DeployTask } from './deploy.task';\n\nexport type ApplicationTypeSlot = SlotRegistry<ApplicationType<unknown>[]>;\nexport type ApplicationSlot = SlotRegistry<Application[]>;\nexport type DeploymentProviderSlot = SlotRegistry<DeploymentProvider[]>;\n\nexport type ApplicationAspectConfig = {\n /**\n * envs ids to load app types.\n */\n envs?: string[];\n};\n\n/**\n * Application meta data that is stored on the component on load if it's an application.\n */\nexport type ApplicationMetadata = {\n appName: string;\n type?: string;\n};\n\nexport type ServeAppOptions = {\n /**\n * default port range used to serve applications.\n */\n defaultPortRange?: [start: number, end: number];\n\n /**\n * determine whether to start the application in dev mode.\n */\n dev: boolean;\n\n /**\n * actively watch and compile the workspace (like the bit watch command)\n * @default true\n */\n watch?: boolean;\n\n /**\n * determine whether to start the application in server side mode.\n * @default false\n */\n ssr?: boolean;\n\n /**\n * exact port to run the app\n */\n port?: number;\n};\n\nexport class ApplicationMain {\n constructor(\n private appSlot: ApplicationSlot,\n // TODO unused\n private appTypeSlot: ApplicationTypeSlot,\n private deploymentProviderSlot: DeploymentProviderSlot,\n private config: ApplicationAspectConfig,\n private envs: EnvsMain,\n private componentAspect: ComponentMain,\n private appService: AppService,\n private aspectLoader: AspectLoaderMain,\n private workspace: Workspace,\n private logger: Logger,\n private watcher: WatcherMain,\n private harmony: Harmony\n ) {}\n\n /**\n * register a new app.\n */\n registerApp(app: Application) {\n this.appSlot.register([app]);\n return this;\n }\n\n /**\n * list all registered apps.\n */\n listApps(): Application[] {\n return flatten(this.appSlot.values());\n }\n\n /**\n * map all apps by component ID.\n */\n mapApps() {\n return this.appSlot.toArray();\n }\n\n /**\n * list apps by a component id.\n */\n listAppsById(id?: ComponentID): Application[] | undefined {\n if (!id) return undefined;\n return this.appSlot.get(id.toString());\n }\n\n /**\n * get an application by a component id.\n */\n async getAppById(id: ComponentID) {\n const apps = await this.listAppsById(id);\n if (!apps) return undefined;\n return head(apps);\n }\n\n /**\n * calculate an application by a component.\n * This should be only used during the on component load slot\n */\n calculateAppByComponent(component: Component) {\n const apps = this.appSlot.get(component.id.toString());\n if (!apps) return undefined;\n return head(apps);\n }\n\n listAppTypes() {\n return flatten(this.appTypeSlot.values());\n }\n\n /**\n * @deprecated use `listAppsComponents` instead.\n * @returns\n */\n async listAppsFromComponents(): Promise<Component[]> {\n return this.listAppsComponents();\n }\n\n async listAppsComponents(): Promise<Component[]> {\n const components = await this.componentAspect.getHost().list();\n const appTypesPatterns = this.getAppPatterns();\n const appsComponents = components.filter((component) => this.hasAppTypePattern(component, appTypesPatterns));\n return appsComponents;\n }\n\n private hasAppTypePattern(component: Component, appTypesPatterns?: string[]): boolean {\n const patterns = appTypesPatterns || this.getAppPatterns();\n // has app plugin from registered types.\n const files = component.filesystem.byGlob(patterns);\n return !!files.length;\n }\n\n getAppPatterns() {\n const appTypes = this.listAppTypes();\n const appTypesPatterns = appTypes.map((appType) => {\n return this.getAppPattern(appType);\n });\n\n return appTypesPatterns.concat(BIT_APP_PATTERN);\n }\n\n async loadApps(): Promise<Application[]> {\n const apps = await this.listAppsComponents();\n const appTypesPatterns = this.getAppPatterns();\n\n const pluginsToLoad = apps.flatMap((appComponent) => {\n const files = appComponent.filesystem.byGlob(appTypesPatterns);\n return files.map((file) => file.path);\n });\n\n // const app = require(appPath);\n const appManifests = Promise.all(\n compact(\n pluginsToLoad.map(async (pluginPath) => {\n try {\n const isModule = await this.aspectLoader.isEsmModule(pluginPath);\n if (isModule) {\n const appManifest = await this.aspectLoader.loadEsm(pluginPath);\n return appManifest;\n }\n // eslint-disable-next-line\n const appManifest = require(pluginPath)?.default;\n return appManifest;\n } catch (err) {\n this.logger.error(`failed loading app manifest: ${pluginPath}`);\n return undefined;\n }\n })\n )\n );\n\n return appManifests;\n }\n\n async loadAppsFromComponent(component: Component, rootDir: string): Promise<Application[] | undefined> {\n const appTypesPatterns = this.getAppPatterns();\n const isApp = this.hasAppTypePattern(component, appTypesPatterns);\n if (!isApp) return undefined;\n\n const allPluginDefs = this.aspectLoader.getPluginDefs();\n\n const appsPluginDefs = allPluginDefs.filter((pluginDef) => {\n return appTypesPatterns.includes(pluginDef.pattern.toString());\n });\n // const fileResolver = this.aspectLoader.pluginFileResolver(component, rootDir);\n\n const plugins = this.aspectLoader.getPluginsFromDefs(component, rootDir, appsPluginDefs);\n let loadedPlugins;\n if (plugins.has()) {\n loadedPlugins = await plugins.load(MainRuntime.name);\n await this.aspectLoader.loadExtensionsByManifests([loadedPlugins], { seeders: [component.id.toString()] });\n }\n\n const listAppsById = this.listAppsById(component.id);\n return listAppsById;\n }\n\n /**\n * get an app.\n */\n getApp(appName: string, id?: ComponentID): Application | undefined {\n const apps = id ? this.listAppsById(id) : this.listApps();\n if (!apps) return undefined;\n return apps.find((app) => app.name === appName);\n }\n\n getAppByNameOrId(appNameOrId: string): Application | undefined {\n const byName = this.getApp(appNameOrId);\n if (byName) return byName;\n const byId = this.appSlot.get(appNameOrId);\n if (!byId || !byId.length) return undefined;\n if (byId.length > 1) {\n throw new BitError(\n `unable to figure out what app to retrieve. the id \"${appNameOrId}\" has more than one app. please use the app-name`\n );\n }\n return byId[0];\n }\n\n getAppPattern(appType: ApplicationType<unknown>) {\n if (appType.globPattern) return appType.globPattern;\n return `*.${appType.name}.*`;\n }\n\n /**\n * registers a new app and sets a plugin for it.\n */\n registerAppType<T>(...appTypes: Array<ApplicationType<T>>) {\n const plugins = appTypes.map((appType) => {\n return new AppTypePlugin(this.getAppPattern(appType), appType, this.appSlot);\n });\n\n this.aspectLoader.registerPlugins(plugins);\n this.appTypeSlot.register(appTypes);\n return this;\n }\n\n /**\n * get an app AspectId.\n */\n getAppAspect(appName: string): string | undefined {\n return this.appSlot.toArray().find(([, apps]) => apps.find((app) => app.name === appName))?.[0];\n }\n\n /**\n * get app to throw.\n */\n getAppOrThrow(appName: string): Application {\n const app = this.getAppByNameOrId(appName);\n if (!app) throw new AppNotFound(appName);\n return app;\n }\n\n defaultOpts: ServeAppOptions = {\n dev: false,\n ssr: false,\n watch: true,\n defaultPortRange: [3100, 3500],\n };\n private computeOptions(opts: Partial<ServeAppOptions> = {}) {\n return {\n ...this.defaultOpts,\n ...opts,\n };\n }\n\n async loadAppsToSlot() {\n const apps = await this.loadApps();\n this.appSlot.register(apps);\n return this;\n }\n\n async runApp(appName: string, options?: ServeAppOptions) {\n options = this.computeOptions(options);\n const app = this.getAppOrThrow(appName);\n const context = await this.createAppContext(app.name, options.port);\n if (!context) throw new AppNotFound(appName);\n\n const instance = await app.run(context);\n if (options.watch) {\n this.watcher\n .watch({\n preCompile: false,\n compile: true,\n })\n .catch((err) => {\n // don't throw an error, we don't want to break the \"run\" process\n this.logger.error(`compilation failed`, err);\n });\n }\n\n const isOldApi = typeof instance === 'number';\n const port = isOldApi ? 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): Promise<AppContext> {\n const host = this.componentAspect.getHost();\n // const components = await host.list();\n const id = await this.getAppIdOrThrow(appName);\n // const component = components.find((c) => c.id.isEqual(id));\n const component = await host.get(id);\n if (!component) throw new AppNotFound(appName);\n\n const env = await this.envs.createEnvironment([component]);\n const res = await env.run(this.appService);\n const context = res.results[0].data;\n if (!context) throw new AppNotFound(appName);\n const hostRootDir = await this.workspace.getComponentPackagePath(component);\n const workspaceComponentDir = this.workspace.componentDir(component.id);\n\n const appContext = new AppContext(\n appName,\n this.harmony,\n context.dev,\n component,\n this.workspace.path,\n context,\n hostRootDir,\n port,\n workspaceComponentDir\n );\n return appContext;\n }\n\n async createAppBuildContext(id: ComponentID, appName: string, capsuleRootDir: string, rootDir?: string) {\n const host = this.componentAspect.getHost();\n // const components = await host.list();\n // const component = components.find((c) => c.id.isEqual(id));\n const component = await host.get(id);\n if (!component) throw new AppNotFound(appName);\n\n const env = await this.envs.createEnvironment([component]);\n const res = await env.run(this.appService);\n const context = res.results[0].data;\n if (!context) throw new AppNotFound(appName);\n\n const appContext = new AppContext(\n appName,\n this.harmony,\n context.dev,\n component,\n capsuleRootDir,\n context,\n rootDir,\n undefined,\n undefined\n );\n return appContext;\n }\n\n 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();\n appCmd.commands = [new AppListCmd(application), new RunCmd(application, logger)];\n aspectLoader.registerPlugins([new AppPlugin(appSlot)]);\n builder.registerBuildTasks([new AppsBuildTask(application)]);\n builder.registerSnapTasks([new DeployTask(application, builder)]);\n builder.registerTagTasks([new DeployTask(application, builder)]);\n envs.registerService(appService);\n cli.registerGroup('apps', 'Applications');\n cli.register(new RunCmd(application, logger), new AppListCmdDeprecated(application), appCmd);\n // cli.registerOnStart(async () => {\n // await application.loadAppsToSlot();\n // });\n 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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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EnvService, Env, EnvContext, ServiceTransformationMap, ExecutionContext } from '@teambit/envs';
|
|
2
2
|
import { ApplicationType } from './application-type';
|
|
3
|
-
|
|
3
|
+
type ApplicationTransformationMap = ServiceTransformationMap & {
|
|
4
4
|
getAppTypes: () => ApplicationType<any>[];
|
|
5
5
|
};
|
|
6
6
|
export declare class AppService implements EnvService<any> {
|
|
@@ -8,7 +8,7 @@ export declare class AppService implements EnvService<any> {
|
|
|
8
8
|
registerAppType: (...appType: Array<ApplicationType<any>>) => void;
|
|
9
9
|
run(context: ExecutionContext): Promise<ExecutionContext & {
|
|
10
10
|
dev: boolean;
|
|
11
|
-
errors:
|
|
11
|
+
errors: any[];
|
|
12
12
|
}>;
|
|
13
13
|
transform(env: Env, context: EnvContext): ApplicationTransformationMap | undefined;
|
|
14
14
|
}
|
|
@@ -21,7 +21,7 @@ class AppService {
|
|
|
21
21
|
}
|
|
22
22
|
transform(env, context) {
|
|
23
23
|
// Old env
|
|
24
|
-
if (!
|
|
24
|
+
if (!env?.apps) return undefined;
|
|
25
25
|
const appTypesList = env.apps()(context);
|
|
26
26
|
const appTypes = appTypesList.compute();
|
|
27
27
|
this.registerAppType(...appTypes);
|
|
@@ -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,
|
|
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"}
|
|
@@ -2,19 +2,19 @@ import { BuildTask, BuiltTaskResult, BuildContext, ComponentResult, ArtifactDefi
|
|
|
2
2
|
import { ApplicationMain } from './application.main.runtime';
|
|
3
3
|
export declare const BUILD_TASK = "build_application";
|
|
4
4
|
export declare const ARTIFACTS_DIR_NAME = "apps";
|
|
5
|
-
export
|
|
5
|
+
export type OneAppResult = {
|
|
6
6
|
componentResult: ComponentResult;
|
|
7
7
|
artifacts?: ArtifactDefinition[];
|
|
8
8
|
};
|
|
9
|
-
export
|
|
9
|
+
export type OneComponentResult = {
|
|
10
10
|
componentResult: ComponentResult;
|
|
11
11
|
artifacts?: ArtifactDefinition[];
|
|
12
12
|
};
|
|
13
|
-
export
|
|
13
|
+
export type BuildAppResult = {
|
|
14
14
|
componentResult: ComponentResult;
|
|
15
15
|
artifacts?: ArtifactDefinition[];
|
|
16
16
|
};
|
|
17
|
-
export
|
|
17
|
+
export type BuildDeployContexts = {
|
|
18
18
|
deployContext: {
|
|
19
19
|
publicDir?: string;
|
|
20
20
|
ssrPublicDir?: string;
|
|
@@ -22,7 +22,7 @@ export declare type BuildDeployContexts = {
|
|
|
22
22
|
name: string;
|
|
23
23
|
appType: string;
|
|
24
24
|
};
|
|
25
|
-
export
|
|
25
|
+
export type Options = {
|
|
26
26
|
deploy: boolean;
|
|
27
27
|
};
|
|
28
28
|
export declare class AppsBuildTask implements BuildTask {
|
package/dist/deploy.task.js
CHANGED
|
@@ -95,9 +95,9 @@ class DeployTask {
|
|
|
95
95
|
deployments: deploys.map(deploy => {
|
|
96
96
|
const deployObject = deploy || {};
|
|
97
97
|
return {
|
|
98
|
-
appName: deployObject
|
|
99
|
-
timestamp: deployObject
|
|
100
|
-
url: deployObject
|
|
98
|
+
appName: deployObject?.appName,
|
|
99
|
+
timestamp: deployObject?.timestamp,
|
|
100
|
+
url: deployObject?.url
|
|
101
101
|
};
|
|
102
102
|
})
|
|
103
103
|
}
|
|
@@ -110,7 +110,7 @@ class DeployTask {
|
|
|
110
110
|
async runForOneApp(app, capsule, context) {
|
|
111
111
|
const aspectId = this.application.getAppAspect(app.name);
|
|
112
112
|
if (!aspectId) return undefined;
|
|
113
|
-
if (!capsule || !
|
|
113
|
+
if (!capsule || !capsule?.component) return undefined;
|
|
114
114
|
const buildTask = this.getBuildTask(context.previousTasksResults, context.envRuntime.id);
|
|
115
115
|
const metadata = this.getBuildMetadata(buildTask, capsule.component);
|
|
116
116
|
if (!metadata) return undefined;
|
|
@@ -137,16 +137,15 @@ class DeployTask {
|
|
|
137
137
|
return (0, _lodash().join)(_builder().CAPSULE_ARTIFACTS_DIR, _buildApplication().ARTIFACTS_DIR_NAME);
|
|
138
138
|
}
|
|
139
139
|
getBuildMetadata(buildTask, component) {
|
|
140
|
-
var _componentResults$met;
|
|
141
140
|
if (!buildTask) {
|
|
142
141
|
const appData = this.builder.getDataByAspect(component, _application().ApplicationAspect.id);
|
|
143
142
|
if (!appData) return undefined;
|
|
144
143
|
return appData.buildDeployContexts;
|
|
145
144
|
}
|
|
146
|
-
const componentResults = buildTask
|
|
145
|
+
const componentResults = buildTask?.componentsResults.find(res => res.component.id.isEqual(component.id, {
|
|
147
146
|
ignoreVersion: true
|
|
148
147
|
}));
|
|
149
|
-
return componentResults
|
|
148
|
+
return componentResults?.metadata?.buildDeployContexts;
|
|
150
149
|
}
|
|
151
150
|
getBuildTask(taskResults, runtime) {
|
|
152
151
|
return taskResults.find(({
|
package/dist/deploy.task.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_builder","_lodash","_application","_buildApplication","_appDeployContext","_appBuildContext","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","DEPLOY_TASK","exports","DeployTask","constructor","application","builder","ApplicationAspect","id","execute","context","originalSeedersIds","capsuleNetwork","originalSeedersCapsules","map","c","component","toString","components","mapSeries","capsule","length","includes","undefined","apps","loadAppsFromComponent","path","appDeployments","compact","app","runForOneApp","deploys","_componentsResults","metadata","deployments","deploy","deployObject","appName","timestamp","url","componentsResults","aspectId","getAppAspect","name","buildTask","getBuildTask","previousTasksResults","envRuntime","getBuildMetadata","buildDeployContexts","find","ctx","appType","applicationType","artifacts","getArtifacts","appContext","createAppBuildContext","artifactsDir","getArtifactDirectory","appBuildContext","AppBuildContext","create","buildContext","appComponent","appDeployContext","AppDeployContext","deployContext","publicDir","ssrPublicDir","join","CAPSULE_ARTIFACTS_DIR","ARTIFACTS_DIR_NAME","_componentResults$met","appData","getDataByAspect","componentResults","res","isEqual","ignoreVersion","taskResults","runtime","task","env","BUILD_TASK"],"sources":["deploy.task.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport {\n BuilderMain,\n BuildTask,\n BuildContext,\n ComponentResult,\n TaskResults,\n BuiltTaskResult,\n CAPSULE_ARTIFACTS_DIR,\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(private application: ApplicationMain, private builder: BuilderMain) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n const originalSeedersIds = context.capsuleNetwork.originalSeedersCapsules.map((c) => c.component.id.toString());\n const { capsuleNetwork } = context;\n\n const components = await mapSeries(capsuleNetwork.originalSeedersCapsules, async (capsule) => {\n const component = capsule.component;\n if (originalSeedersIds && originalSeedersIds.length && !originalSeedersIds.includes(component.id.toString())) {\n return undefined;\n }\n const apps = await this.application.loadAppsFromComponent(component, capsule.path);\n if (!apps || !apps.length) return undefined;\n const appDeployments = await mapSeries(compact(apps), async (app) => this.runForOneApp(app, capsule, context));\n const deploys = compact(appDeployments);\n return { component, deploys };\n });\n\n const _componentsResults: ComponentResult[] = compact(components).map(({ component, deploys }) => {\n return {\n component,\n metadata: {\n deployments: deploys.map((deploy) => {\n const deployObject = deploy || {};\n return {\n appName: deployObject?.appName,\n timestamp: deployObject?.timestamp,\n url: deployObject?.url,\n };\n }),\n },\n };\n });\n\n return {\n componentsResults: _componentsResults,\n };\n }\n\n private async runForOneApp(\n app: Application,\n capsule: Capsule,\n context: BuildContext\n ): Promise<ApplicationDeployment | void | undefined> {\n const aspectId = this.application.getAppAspect(app.name);\n if (!aspectId) return undefined;\n\n if (!capsule || !capsule?.component) return undefined;\n\n const buildTask = this.getBuildTask(context.previousTasksResults, context.envRuntime.id);\n\n const metadata = this.getBuildMetadata(buildTask, capsule.component);\n if (!metadata) return undefined;\n const buildDeployContexts = metadata.find((ctx) => ctx.name === app.name && ctx.appType === app.applicationType);\n if (!buildDeployContexts) return undefined;\n\n const artifacts = this.builder.getArtifacts(capsule.component);\n const appContext = await this.application.createAppBuildContext(capsule.component.id, app.name, capsule.path);\n const artifactsDir = this.getArtifactDirectory();\n const appBuildContext = AppBuildContext.create({\n appContext,\n buildContext: context,\n appComponent: capsule.component,\n name: app.name,\n capsule,\n artifactsDir,\n });\n\n const appDeployContext = new AppDeployContext(\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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"}
|
|
1
|
+
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_builder","_lodash","_application","_buildApplication","_appDeployContext","_appBuildContext","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","DEPLOY_TASK","exports","DeployTask","constructor","application","builder","ApplicationAspect","id","execute","context","originalSeedersIds","capsuleNetwork","originalSeedersCapsules","map","c","component","toString","components","mapSeries","capsule","length","includes","undefined","apps","loadAppsFromComponent","path","appDeployments","compact","app","runForOneApp","deploys","_componentsResults","metadata","deployments","deploy","deployObject","appName","timestamp","url","componentsResults","aspectId","getAppAspect","name","buildTask","getBuildTask","previousTasksResults","envRuntime","getBuildMetadata","buildDeployContexts","find","ctx","appType","applicationType","artifacts","getArtifacts","appContext","createAppBuildContext","artifactsDir","getArtifactDirectory","appBuildContext","AppBuildContext","create","buildContext","appComponent","appDeployContext","AppDeployContext","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} from '@teambit/builder';\nimport { compact, join } from 'lodash';\nimport { Capsule } from '@teambit/isolator';\nimport { Component } from '@teambit/component';\nimport { ApplicationAspect } from './application.aspect';\nimport { ApplicationMain } from './application.main.runtime';\nimport { ARTIFACTS_DIR_NAME, BUILD_TASK, BuildDeployContexts } from './build-application.task';\nimport { AppDeployContext } from './app-deploy-context';\nimport { Application } from './application';\nimport { ApplicationDeployment } from './app-instance';\nimport { AppBuildContext } from './app-build-context';\n\nexport const DEPLOY_TASK = 'deploy_application';\n\nexport class DeployTask implements BuildTask {\n name = DEPLOY_TASK;\n aspectId = ApplicationAspect.id;\n readonly location = 'end';\n constructor(private application: ApplicationMain, private builder: BuilderMain) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n const originalSeedersIds = context.capsuleNetwork.originalSeedersCapsules.map((c) => c.component.id.toString());\n const { capsuleNetwork } = context;\n\n const components = await mapSeries(capsuleNetwork.originalSeedersCapsules, async (capsule) => {\n const component = capsule.component;\n if (originalSeedersIds && originalSeedersIds.length && !originalSeedersIds.includes(component.id.toString())) {\n return undefined;\n }\n const apps = await this.application.loadAppsFromComponent(component, capsule.path);\n if (!apps || !apps.length) return undefined;\n const appDeployments = await mapSeries(compact(apps), async (app) => this.runForOneApp(app, capsule, context));\n const deploys = compact(appDeployments);\n return { component, deploys };\n });\n\n const _componentsResults: ComponentResult[] = compact(components).map(({ component, deploys }) => {\n return {\n component,\n metadata: {\n deployments: deploys.map((deploy) => {\n const deployObject = deploy || {};\n return {\n appName: deployObject?.appName,\n timestamp: deployObject?.timestamp,\n url: deployObject?.url,\n };\n }),\n },\n };\n });\n\n return {\n componentsResults: _componentsResults,\n };\n }\n\n private async runForOneApp(\n app: Application,\n capsule: Capsule,\n context: BuildContext\n ): Promise<ApplicationDeployment | void | undefined> {\n const aspectId = this.application.getAppAspect(app.name);\n if (!aspectId) return undefined;\n\n if (!capsule || !capsule?.component) return undefined;\n\n const buildTask = this.getBuildTask(context.previousTasksResults, context.envRuntime.id);\n\n const metadata = this.getBuildMetadata(buildTask, capsule.component);\n if (!metadata) return undefined;\n const buildDeployContexts = metadata.find((ctx) => ctx.name === app.name && ctx.appType === app.applicationType);\n if (!buildDeployContexts) return undefined;\n\n const artifacts = this.builder.getArtifacts(capsule.component);\n const appContext = await this.application.createAppBuildContext(capsule.component.id, app.name, capsule.path);\n const artifactsDir = this.getArtifactDirectory();\n const appBuildContext = AppBuildContext.create({\n appContext,\n buildContext: context,\n appComponent: capsule.component,\n name: app.name,\n capsule,\n artifactsDir,\n });\n\n const appDeployContext = new AppDeployContext(\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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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_application@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_application@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_application@1.0.109/dist/application.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_application@1.0.109/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
|
@@ -3,7 +3,7 @@ import { Command, CommandOptions } from '@teambit/cli';
|
|
|
3
3
|
import { Logger } from '@teambit/logger';
|
|
4
4
|
import type { RenderResult } from '@teambit/legacy/dist/cli/command';
|
|
5
5
|
import { ApplicationMain } from './application.main.runtime';
|
|
6
|
-
|
|
6
|
+
type RunOptions = {
|
|
7
7
|
dev: boolean;
|
|
8
8
|
verbose: boolean;
|
|
9
9
|
skipWatch: boolean;
|
package/package.json
CHANGED
|
@@ -1,50 +1,46 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/application",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.109",
|
|
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.
|
|
9
|
+
"version": "1.0.109"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
13
13
|
"lodash": "4.17.21",
|
|
14
14
|
"p-map-series": "2.1.0",
|
|
15
|
-
"ink": "3.2.0",
|
|
16
15
|
"pluralize": "8.0.0",
|
|
17
|
-
"
|
|
18
|
-
"@babel/runtime": "7.20.0",
|
|
16
|
+
"ink": "3.2.0",
|
|
19
17
|
"@teambit/lane-id": "0.0.311",
|
|
20
18
|
"@teambit/harmony": "0.4.6",
|
|
21
19
|
"@teambit/bit-error": "0.0.404",
|
|
22
|
-
"@teambit/builder": "1.0.
|
|
23
|
-
"@teambit/component": "1.0.
|
|
24
|
-
"@teambit/isolator": "1.0.
|
|
25
|
-
"@teambit/envs": "1.0.
|
|
26
|
-
"@teambit/logger": "0.0.
|
|
27
|
-
"@teambit/cli-table": "0.0.
|
|
28
|
-
"@teambit/cli": "0.0.
|
|
29
|
-
"@teambit/aspect-loader": "1.0.
|
|
30
|
-
"@teambit/scope": "1.0.
|
|
31
|
-
"@teambit/watcher": "1.0.
|
|
32
|
-
"@teambit/workspace": "1.0.
|
|
20
|
+
"@teambit/builder": "1.0.109",
|
|
21
|
+
"@teambit/component": "1.0.109",
|
|
22
|
+
"@teambit/isolator": "1.0.109",
|
|
23
|
+
"@teambit/envs": "1.0.109",
|
|
24
|
+
"@teambit/logger": "0.0.934",
|
|
25
|
+
"@teambit/cli-table": "0.0.46",
|
|
26
|
+
"@teambit/cli": "0.0.841",
|
|
27
|
+
"@teambit/aspect-loader": "1.0.109",
|
|
28
|
+
"@teambit/scope": "1.0.109",
|
|
29
|
+
"@teambit/watcher": "1.0.109",
|
|
30
|
+
"@teambit/workspace": "1.0.109"
|
|
33
31
|
},
|
|
34
32
|
"devDependencies": {
|
|
35
|
-
"@types/react": "^17.0.8",
|
|
36
33
|
"@types/lodash": "4.14.165",
|
|
37
34
|
"@types/pluralize": "0.0.29",
|
|
38
35
|
"@types/mocha": "9.1.0",
|
|
39
|
-
"@types/
|
|
40
|
-
"@types/
|
|
41
|
-
"@
|
|
42
|
-
"@types/testing-library__jest-dom": "5.9.5"
|
|
36
|
+
"@types/jest": "^29.2.2",
|
|
37
|
+
"@types/testing-library__jest-dom": "^5.9.5",
|
|
38
|
+
"@teambit/harmony.envs.core-aspect-env": "0.0.14"
|
|
43
39
|
},
|
|
44
40
|
"peerDependencies": {
|
|
45
|
-
"
|
|
46
|
-
"react": "^
|
|
47
|
-
"
|
|
41
|
+
"react": "^17.0.0 || ^18.0.0",
|
|
42
|
+
"@types/react": "^18.2.12",
|
|
43
|
+
"@teambit/legacy": "1.0.624"
|
|
48
44
|
},
|
|
49
45
|
"license": "Apache-2.0",
|
|
50
46
|
"optionalDependencies": {},
|
|
@@ -58,7 +54,7 @@
|
|
|
58
54
|
},
|
|
59
55
|
"private": false,
|
|
60
56
|
"engines": {
|
|
61
|
-
"node": ">=
|
|
57
|
+
"node": ">=16.0.0"
|
|
62
58
|
},
|
|
63
59
|
"repository": {
|
|
64
60
|
"type": "git",
|
|
@@ -67,12 +63,9 @@
|
|
|
67
63
|
"keywords": [
|
|
68
64
|
"bit",
|
|
69
65
|
"bit-aspect",
|
|
66
|
+
"bit-core-aspect",
|
|
70
67
|
"components",
|
|
71
68
|
"collaboration",
|
|
72
|
-
"web"
|
|
73
|
-
"react",
|
|
74
|
-
"react-components",
|
|
75
|
-
"angular",
|
|
76
|
-
"angular-components"
|
|
69
|
+
"web"
|
|
77
70
|
]
|
|
78
71
|
}
|
package/tsconfig.json
CHANGED
|
@@ -1,38 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
3
|
"lib": [
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"DOM.Iterable",
|
|
8
|
-
"ScriptHost"
|
|
4
|
+
"esnext",
|
|
5
|
+
"dom",
|
|
6
|
+
"dom.Iterable"
|
|
9
7
|
],
|
|
10
|
-
"target": "
|
|
11
|
-
"module": "
|
|
12
|
-
"jsx": "react",
|
|
13
|
-
"allowJs": true,
|
|
14
|
-
"composite": true,
|
|
8
|
+
"target": "es2020",
|
|
9
|
+
"module": "es2020",
|
|
10
|
+
"jsx": "react-jsx",
|
|
15
11
|
"declaration": true,
|
|
16
12
|
"sourceMap": true,
|
|
17
|
-
"skipLibCheck": true,
|
|
18
13
|
"experimentalDecorators": true,
|
|
19
|
-
"
|
|
14
|
+
"skipLibCheck": true,
|
|
20
15
|
"moduleResolution": "node",
|
|
21
16
|
"esModuleInterop": true,
|
|
22
|
-
"rootDir": ".",
|
|
23
17
|
"resolveJsonModule": true,
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"strictPropertyInitialization": false,
|
|
28
|
-
"strict": true,
|
|
29
|
-
"noImplicitAny": false,
|
|
30
|
-
"preserveConstEnums": true
|
|
18
|
+
"allowJs": true,
|
|
19
|
+
"outDir": "dist",
|
|
20
|
+
"emitDeclarationOnly": true
|
|
31
21
|
},
|
|
32
22
|
"exclude": [
|
|
23
|
+
"artifacts",
|
|
24
|
+
"public",
|
|
33
25
|
"dist",
|
|
26
|
+
"node_modules",
|
|
27
|
+
"package.json",
|
|
34
28
|
"esm.mjs",
|
|
35
|
-
"
|
|
29
|
+
"**/*.cjs",
|
|
30
|
+
"./dist"
|
|
36
31
|
],
|
|
37
32
|
"include": [
|
|
38
33
|
"**/*",
|
package/types/asset.d.ts
CHANGED
|
@@ -5,12 +5,12 @@ declare module '*.png' {
|
|
|
5
5
|
declare module '*.svg' {
|
|
6
6
|
import type { FunctionComponent, SVGProps } from 'react';
|
|
7
7
|
|
|
8
|
-
export const ReactComponent: FunctionComponent<
|
|
8
|
+
export const ReactComponent: FunctionComponent<
|
|
9
|
+
SVGProps<SVGSVGElement> & { title?: string }
|
|
10
|
+
>;
|
|
9
11
|
const src: string;
|
|
10
12
|
export default src;
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
// @TODO Gilad
|
|
14
14
|
declare module '*.jpg' {
|
|
15
15
|
const value: any;
|
|
16
16
|
export = value;
|
|
@@ -27,3 +27,15 @@ declare module '*.bmp' {
|
|
|
27
27
|
const value: any;
|
|
28
28
|
export = value;
|
|
29
29
|
}
|
|
30
|
+
declare module '*.otf' {
|
|
31
|
+
const value: any;
|
|
32
|
+
export = value;
|
|
33
|
+
}
|
|
34
|
+
declare module '*.woff' {
|
|
35
|
+
const value: any;
|
|
36
|
+
export = value;
|
|
37
|
+
}
|
|
38
|
+
declare module '*.woff2' {
|
|
39
|
+
const value: any;
|
|
40
|
+
export = value;
|
|
41
|
+
}
|