@teambit/application 0.0.240 → 0.0.241
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/dist/app-build-result.d.ts +4 -0
- package/dist/app-build-result.js +3 -0
- package/dist/app-build-result.js.map +1 -0
- package/dist/application.d.ts +4 -2
- package/dist/application.main.runtime.d.ts +0 -8
- package/dist/application.main.runtime.js +16 -21
- package/dist/application.main.runtime.js.map +1 -1
- package/dist/build.task.d.ts +20 -0
- package/dist/build.task.js +110 -0
- package/dist/build.task.js.map +1 -0
- package/dist/deploy-context.d.ts +2 -2
- package/dist/deploy.task.d.ts +7 -5
- package/dist/deploy.task.js +45 -22
- package/dist/deploy.task.js.map +1 -1
- package/dist/deployment-provider.d.ts +2 -3
- package/dist/index.d.ts +2 -1
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -1
- package/package-tar/teambit-application-0.0.241.tgz +0 -0
- package/package.json +11 -11
- package/package-tar/teambit-application-0.0.240.tgz +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
package/dist/application.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ import { BuildContext } from '@teambit/builder';
|
|
|
2
2
|
import { Capsule } from '@teambit/isolator';
|
|
3
3
|
import { AppContext } from './app-context';
|
|
4
4
|
import { DeployContext } from './deploy-context';
|
|
5
|
+
import { AppBuildResult } from './app-build-result';
|
|
6
|
+
export declare type DeployFn = (context: DeployContext, capsule: Capsule) => Promise<void>;
|
|
5
7
|
export interface Application {
|
|
6
8
|
/**
|
|
7
9
|
* name of the application. e.g. ripple-ci.
|
|
@@ -14,9 +16,9 @@ export interface Application {
|
|
|
14
16
|
/**
|
|
15
17
|
* build the application.
|
|
16
18
|
*/
|
|
17
|
-
build?(context: BuildContext,
|
|
19
|
+
build?(context: BuildContext, capsule: Capsule): Promise<AppBuildResult>;
|
|
18
20
|
/**
|
|
19
21
|
* application deployment. this is a build task.
|
|
20
22
|
*/
|
|
21
|
-
deploy
|
|
23
|
+
deploy?: DeployFn;
|
|
22
24
|
}
|
|
@@ -48,14 +48,6 @@ export declare class ApplicationMain {
|
|
|
48
48
|
* list apps by a component id.
|
|
49
49
|
*/
|
|
50
50
|
listAppsById(id?: ComponentID): Application[] | undefined;
|
|
51
|
-
/**
|
|
52
|
-
* register new deployment provider like netlify, cloudflare pages or custom deployment.
|
|
53
|
-
*/
|
|
54
|
-
registerDeploymentProvider(provider: DeploymentProvider): this;
|
|
55
|
-
/**
|
|
56
|
-
* list all deployment providers
|
|
57
|
-
*/
|
|
58
|
-
listProviders(): DeploymentProvider[];
|
|
59
51
|
/**
|
|
60
52
|
* get an app.
|
|
61
53
|
*/
|
|
@@ -131,10 +131,10 @@ function _appList() {
|
|
|
131
131
|
return data;
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
function
|
|
135
|
-
const data = require("./
|
|
134
|
+
function _build() {
|
|
135
|
+
const data = require("./build.task");
|
|
136
136
|
|
|
137
|
-
|
|
137
|
+
_build = function () {
|
|
138
138
|
return data;
|
|
139
139
|
};
|
|
140
140
|
|
|
@@ -191,6 +191,16 @@ function _appType() {
|
|
|
191
191
|
return data;
|
|
192
192
|
}
|
|
193
193
|
|
|
194
|
+
function _deploy() {
|
|
195
|
+
const data = require("./deploy.task");
|
|
196
|
+
|
|
197
|
+
_deploy = function () {
|
|
198
|
+
return data;
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
return data;
|
|
202
|
+
}
|
|
203
|
+
|
|
194
204
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
195
205
|
|
|
196
206
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -243,23 +253,6 @@ class ApplicationMain {
|
|
|
243
253
|
if (!id) return undefined;
|
|
244
254
|
return this.appSlot.get(id.toString());
|
|
245
255
|
}
|
|
246
|
-
/**
|
|
247
|
-
* register new deployment provider like netlify, cloudflare pages or custom deployment.
|
|
248
|
-
*/
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
registerDeploymentProvider(provider) {
|
|
252
|
-
this.deploymentProviderSlot.register([provider]);
|
|
253
|
-
return this;
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* list all deployment providers
|
|
257
|
-
*/
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
listProviders() {
|
|
261
|
-
return (0, _lodash().flatten)(this.deploymentProviderSlot.values());
|
|
262
|
-
}
|
|
263
256
|
/**
|
|
264
257
|
* get an app.
|
|
265
258
|
*/
|
|
@@ -359,7 +352,9 @@ class ApplicationMain {
|
|
|
359
352
|
const appCmd = new (_app().AppCmd)();
|
|
360
353
|
appCmd.commands = [new (_app().AppListCmd)(application)];
|
|
361
354
|
aspectLoader.registerPlugins([new (_app2().AppPlugin)(appSlot)]);
|
|
362
|
-
builder.
|
|
355
|
+
builder.registerBuildTasks([new (_build().AppsBuildTask)(application)]);
|
|
356
|
+
builder.registerSnapTasks([new (_deploy().DeployTask)(application, builder)]);
|
|
357
|
+
builder.registerTagTasks([new (_deploy().DeployTask)(application, builder)]);
|
|
363
358
|
cli.registerGroup('apps', 'Applications');
|
|
364
359
|
cli.register(new (_run().RunCmd)(application, logger), new (_appList().AppListCmdDeprecated)(application), appCmd);
|
|
365
360
|
return application;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["application.main.runtime.ts"],"names":["ApplicationMain","constructor","appSlot","appTypeSlot","deploymentProviderSlot","envs","componentAspect","appService","aspectLoader","registerApp","app","register","listApps","values","mapApps","toArray","listAppsById","id","undefined","get","toString","registerDeploymentProvider","provider","listProviders","getApp","appName","apps","find","name","registerAppType","appType","plugin","AppTypePlugin","registerPlugins","getAppAspect","getAppOrThrow","AppNotFound","computeOptions","opts","defaultOpts","dev","defaultPortRange","runApp","options","context","createAppContext","port","run","getAppIdOrThrow","maybeApp","ComponentID","fromString","host","getHost","components","list","component","c","isEqual","env","createEnvironment","res","results","data","Object","assign","appComponent","cli","loggerAspect","builder","config","logger","createLogger","ApplicationAspect","AppService","application","appCmd","AppCmd","commands","AppListCmd","AppPlugin","registerTagTasks","DeployTask","registerGroup","RunCmd","AppListCmdDeprecated","MainRuntime","CLIAspect","LoggerAspect","BuilderAspect","EnvsAspect","ComponentAspect","AspectLoaderAspect","Slot","withType","addRuntime"],"mappings":"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","sourcesContent":["import { MainRuntime, CLIMain, CLIAspect } from '@teambit/cli';\nimport { flatten } from 'lodash';\nimport { AspectLoaderMain, AspectLoaderAspect } from '@teambit/aspect-loader';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport ComponentAspect, { ComponentMain, ComponentID } 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 { DeployTask } from './deploy.task';\nimport { RunCmd } from './run.cmd';\nimport { AppService } from './application.service';\nimport { AppCmd, AppListCmd } from './app.cmd';\nimport { AppPlugin } from './app.plugin';\nimport { AppTypePlugin } from './app-type.plugin';\nimport { AppContext } from './app-context';\n\nexport type ApplicationTypeSlot = SlotRegistry<ApplicationType<unknown>[]>;\nexport type ApplicationSlot = SlotRegistry<Application[]>;\nexport type DeploymentProviderSlot = SlotRegistry<DeploymentProvider[]>;\n\nexport type ApplicationAspectConfig = {};\n\nexport type ServeAppOptions = {\n /**\n * default port range used to serve applications.\n */\n defaultPortRange?: number[];\n\n /**\n * determine whether to start the application in dev mode.\n */\n dev: boolean;\n};\n\nexport class ApplicationMain {\n constructor(\n private appSlot: ApplicationSlot,\n private appTypeSlot: ApplicationTypeSlot,\n private deploymentProviderSlot: DeploymentProviderSlot,\n private envs: EnvsMain,\n private componentAspect: ComponentMain,\n private appService: AppService,\n private aspectLoader: AspectLoaderMain\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 * register new deployment provider like netlify, cloudflare pages or custom deployment.\n */\n registerDeploymentProvider(provider: DeploymentProvider) {\n this.deploymentProviderSlot.register([provider]);\n return this;\n }\n\n /**\n * list all deployment providers\n */\n listProviders() {\n return flatten(this.deploymentProviderSlot.values());\n }\n\n /**\n * get an app.\n */\n getApp(appName: string, id?: ComponentID): Application | undefined {\n const apps = this.listAppsById(id) || this.listApps();\n return apps.find((app) => app.name === appName);\n }\n\n /**\n * registers a new app and sets a plugin for it.\n */\n registerAppType<T>(appType: ApplicationType<T>) {\n const plugin = new AppTypePlugin(`*.${appType.name}.*`, appType, this.appSlot);\n this.aspectLoader.registerPlugins([plugin]);\n this.appTypeSlot.register([appType]);\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) {\n const app = this.getApp(appName);\n if (!app) throw new AppNotFound(appName);\n return app;\n }\n\n private computeOptions(opts: Partial<ServeAppOptions>) {\n const defaultOpts: ServeAppOptions = {\n dev: false,\n defaultPortRange: [3100, 3500],\n };\n\n return {\n defaultOpts,\n ...opts,\n };\n }\n\n async runApp(appName: string, options: Partial<ServeAppOptions> = {}) {\n const app = this.getAppOrThrow(appName);\n this.computeOptions(options);\n const context = await this.createAppContext(appName);\n if (!context) throw new AppNotFound(appName);\n const port = await app.run(context);\n return { app, port };\n }\n\n /**\n * get the component ID of a certain app.\n */\n 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 return ComponentID.fromString(maybeApp[0]);\n }\n\n private async createAppContext(appName: string): Promise<AppContext> {\n const host = this.componentAspect.getHost();\n const components = await host.list();\n const id = this.getAppIdOrThrow(appName);\n const component = components.find((c) => c.id.isEqual(id));\n if (!component) throw new AppNotFound(appName);\n // console.log(comp)\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 return Object.assign({}, context, {\n appName,\n appComponent: component,\n });\n }\n\n static runtime = MainRuntime;\n static dependencies = [CLIAspect, LoggerAspect, BuilderAspect, EnvsAspect, ComponentAspect, AspectLoaderAspect];\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]: [\n CLIMain,\n LoggerMain,\n BuilderMain,\n EnvsMain,\n ComponentMain,\n AspectLoaderMain\n ],\n config: ApplicationAspectConfig,\n [appTypeSlot, appSlot, deploymentProviderSlot]: [ApplicationTypeSlot, ApplicationSlot, DeploymentProviderSlot]\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 envs,\n component,\n appService,\n aspectLoader\n );\n const appCmd = new AppCmd();\n appCmd.commands = [new AppListCmd(application)];\n aspectLoader.registerPlugins([new AppPlugin(appSlot)]);\n builder.registerTagTasks([new DeployTask(application)]);\n cli.registerGroup('apps', 'Applications');\n cli.register(new RunCmd(application, logger), new AppListCmdDeprecated(application), appCmd);\n\n return application;\n }\n}\n\nApplicationAspect.addRuntime(ApplicationMain);\n"]}
|
|
1
|
+
{"version":3,"sources":["application.main.runtime.ts"],"names":["ApplicationMain","constructor","appSlot","appTypeSlot","deploymentProviderSlot","envs","componentAspect","appService","aspectLoader","registerApp","app","register","listApps","values","mapApps","toArray","listAppsById","id","undefined","get","toString","getApp","appName","apps","find","name","registerAppType","appType","plugin","AppTypePlugin","registerPlugins","getAppAspect","getAppOrThrow","AppNotFound","computeOptions","opts","defaultOpts","dev","defaultPortRange","runApp","options","context","createAppContext","port","run","getAppIdOrThrow","maybeApp","ComponentID","fromString","host","getHost","components","list","component","c","isEqual","env","createEnvironment","res","results","data","Object","assign","appComponent","provider","cli","loggerAspect","builder","config","logger","createLogger","ApplicationAspect","AppService","application","appCmd","AppCmd","commands","AppListCmd","AppPlugin","registerBuildTasks","AppsBuildTask","registerSnapTasks","DeployTask","registerTagTasks","registerGroup","RunCmd","AppListCmdDeprecated","MainRuntime","CLIAspect","LoggerAspect","BuilderAspect","EnvsAspect","ComponentAspect","AspectLoaderAspect","Slot","withType","addRuntime"],"mappings":"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","sourcesContent":["import { MainRuntime, CLIMain, CLIAspect } from '@teambit/cli';\nimport { flatten } from 'lodash';\nimport { AspectLoaderMain, AspectLoaderAspect } from '@teambit/aspect-loader';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport ComponentAspect, { ComponentMain, ComponentID } 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.task';\nimport { RunCmd } from './run.cmd';\nimport { AppService } from './application.service';\nimport { AppCmd, AppListCmd } from './app.cmd';\nimport { AppPlugin } 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\nexport type ServeAppOptions = {\n /**\n * default port range used to serve applications.\n */\n defaultPortRange?: number[];\n\n /**\n * determine whether to start the application in dev mode.\n */\n dev: boolean;\n};\n\nexport class ApplicationMain {\n constructor(\n private appSlot: ApplicationSlot,\n private appTypeSlot: ApplicationTypeSlot,\n private deploymentProviderSlot: DeploymentProviderSlot,\n private envs: EnvsMain,\n private componentAspect: ComponentMain,\n private appService: AppService,\n private aspectLoader: AspectLoaderMain\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 app.\n */\n getApp(appName: string, id?: ComponentID): Application | undefined {\n const apps = this.listAppsById(id) || this.listApps();\n return apps.find((app) => app.name === appName);\n }\n\n /**\n * registers a new app and sets a plugin for it.\n */\n registerAppType<T>(appType: ApplicationType<T>) {\n const plugin = new AppTypePlugin(`*.${appType.name}.*`, appType, this.appSlot);\n this.aspectLoader.registerPlugins([plugin]);\n this.appTypeSlot.register([appType]);\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) {\n const app = this.getApp(appName);\n if (!app) throw new AppNotFound(appName);\n return app;\n }\n\n private computeOptions(opts: Partial<ServeAppOptions>) {\n const defaultOpts: ServeAppOptions = {\n dev: false,\n defaultPortRange: [3100, 3500],\n };\n\n return {\n defaultOpts,\n ...opts,\n };\n }\n\n async runApp(appName: string, options: Partial<ServeAppOptions> = {}) {\n const app = this.getAppOrThrow(appName);\n this.computeOptions(options);\n const context = await this.createAppContext(appName);\n if (!context) throw new AppNotFound(appName);\n const port = await app.run(context);\n return { app, port };\n }\n\n /**\n * get the component ID of a certain app.\n */\n 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 return ComponentID.fromString(maybeApp[0]);\n }\n\n private async createAppContext(appName: string): Promise<AppContext> {\n const host = this.componentAspect.getHost();\n const components = await host.list();\n const id = this.getAppIdOrThrow(appName);\n const component = components.find((c) => c.id.isEqual(id));\n if (!component) throw new AppNotFound(appName);\n // console.log(comp)\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 return Object.assign({}, context, {\n appName,\n appComponent: component,\n });\n }\n\n static runtime = MainRuntime;\n static dependencies = [CLIAspect, LoggerAspect, BuilderAspect, EnvsAspect, ComponentAspect, AspectLoaderAspect];\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]: [\n CLIMain,\n LoggerMain,\n BuilderMain,\n EnvsMain,\n ComponentMain,\n AspectLoaderMain\n ],\n config: ApplicationAspectConfig,\n [appTypeSlot, appSlot, deploymentProviderSlot]: [ApplicationTypeSlot, ApplicationSlot, DeploymentProviderSlot]\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 envs,\n component,\n appService,\n aspectLoader\n );\n const appCmd = new AppCmd();\n appCmd.commands = [new AppListCmd(application)];\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 cli.registerGroup('apps', 'Applications');\n cli.register(new RunCmd(application, logger), new AppListCmdDeprecated(application), appCmd);\n\n return application;\n }\n}\n\nApplicationAspect.addRuntime(ApplicationMain);\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BuildTask, BuiltTaskResult, BuildContext, ComponentResult, ArtifactDefinition } from '@teambit/builder';
|
|
2
|
+
import { ApplicationMain } from './application.main.runtime';
|
|
3
|
+
export declare const BUILD_TASK = "build_application";
|
|
4
|
+
export declare type AppsResults = {
|
|
5
|
+
componentResult: ComponentResult;
|
|
6
|
+
artifacts?: ArtifactDefinition[];
|
|
7
|
+
};
|
|
8
|
+
export declare type Options = {
|
|
9
|
+
deploy: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare class AppsBuildTask implements BuildTask {
|
|
12
|
+
private application;
|
|
13
|
+
private opt;
|
|
14
|
+
name: string;
|
|
15
|
+
aspectId: string;
|
|
16
|
+
readonly location = "end";
|
|
17
|
+
constructor(application: ApplicationMain, opt?: Options);
|
|
18
|
+
execute(context: BuildContext): Promise<BuiltTaskResult>;
|
|
19
|
+
private getCapsule;
|
|
20
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/es.array.flat-map.js");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/es.array.unscopables.flat-map.js");
|
|
8
|
+
|
|
9
|
+
require("core-js/modules/es.promise.js");
|
|
10
|
+
|
|
11
|
+
Object.defineProperty(exports, "__esModule", {
|
|
12
|
+
value: true
|
|
13
|
+
});
|
|
14
|
+
exports.BUILD_TASK = exports.AppsBuildTask = void 0;
|
|
15
|
+
|
|
16
|
+
function _defineProperty2() {
|
|
17
|
+
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
18
|
+
|
|
19
|
+
_defineProperty2 = function () {
|
|
20
|
+
return data;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function _pMapSeries() {
|
|
27
|
+
const data = _interopRequireDefault(require("p-map-series"));
|
|
28
|
+
|
|
29
|
+
_pMapSeries = function () {
|
|
30
|
+
return data;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function _component() {
|
|
37
|
+
const data = require("@teambit/component");
|
|
38
|
+
|
|
39
|
+
_component = function () {
|
|
40
|
+
return data;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
return data;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function _application() {
|
|
47
|
+
const data = require("./application.aspect");
|
|
48
|
+
|
|
49
|
+
_application = function () {
|
|
50
|
+
return data;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
return data;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const BUILD_TASK = 'build_application';
|
|
57
|
+
exports.BUILD_TASK = BUILD_TASK;
|
|
58
|
+
|
|
59
|
+
class AppsBuildTask {
|
|
60
|
+
constructor(application, opt = {
|
|
61
|
+
deploy: true
|
|
62
|
+
}) {
|
|
63
|
+
this.application = application;
|
|
64
|
+
this.opt = opt;
|
|
65
|
+
(0, _defineProperty2().default)(this, "name", BUILD_TASK);
|
|
66
|
+
(0, _defineProperty2().default)(this, "aspectId", _application().ApplicationAspect.id);
|
|
67
|
+
(0, _defineProperty2().default)(this, "location", 'end');
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
async execute(context) {
|
|
71
|
+
const apps = this.application.listApps();
|
|
72
|
+
const componentsResults = await (0, _pMapSeries().default)(apps, async app => {
|
|
73
|
+
const aspectId = this.application.getAppAspect(app.name);
|
|
74
|
+
if (!aspectId) return undefined;
|
|
75
|
+
const capsules = context.capsuleNetwork.seedersCapsules;
|
|
76
|
+
const capsule = this.getCapsule(capsules, aspectId);
|
|
77
|
+
if (!capsule || !app.build) return undefined;
|
|
78
|
+
const deployContext = await app.build(context, capsule);
|
|
79
|
+
return {
|
|
80
|
+
artifacts: deployContext.artifacts,
|
|
81
|
+
componentResult: {
|
|
82
|
+
component: capsule.component
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
});
|
|
86
|
+
const artifacts = componentsResults.flatMap(res => {
|
|
87
|
+
return res === null || res === void 0 ? void 0 : res.artifacts;
|
|
88
|
+
}).filter(a => !!a);
|
|
89
|
+
|
|
90
|
+
const _componentsResults = componentsResults.map(res => {
|
|
91
|
+
return res === null || res === void 0 ? void 0 : res.componentResult;
|
|
92
|
+
}).filter(a => !!a);
|
|
93
|
+
|
|
94
|
+
return {
|
|
95
|
+
artifacts,
|
|
96
|
+
componentsResults: _componentsResults
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
getCapsule(capsules, aspectId) {
|
|
101
|
+
const aspectCapsuleId = _component().ComponentID.fromString(aspectId).toStringWithoutVersion();
|
|
102
|
+
|
|
103
|
+
return capsules.find(capsule => capsule.component.id.toStringWithoutVersion() === aspectCapsuleId);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
exports.AppsBuildTask = AppsBuildTask;
|
|
109
|
+
|
|
110
|
+
//# sourceMappingURL=build.task.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["build.task.ts"],"names":["BUILD_TASK","AppsBuildTask","constructor","application","opt","deploy","ApplicationAspect","id","execute","context","apps","listApps","componentsResults","app","aspectId","getAppAspect","name","undefined","capsules","capsuleNetwork","seedersCapsules","capsule","getCapsule","build","deployContext","artifacts","componentResult","component","flatMap","res","filter","a","_componentsResults","map","aspectCapsuleId","ComponentID","fromString","toStringWithoutVersion","find"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGO,MAAMA,UAAU,GAAG,mBAAnB;;;AAUA,MAAMC,aAAN,CAAyC;AAI9CC,EAAAA,WAAW,CAASC,WAAT,EAA+CC,GAAY,GAAG;AAAEC,IAAAA,MAAM,EAAE;AAAV,GAA9D,EAAgF;AAAA,SAAvEF,WAAuE,GAAvEA,WAAuE;AAAA,SAAjCC,GAAiC,GAAjCA,GAAiC;AAAA,kDAHpFJ,UAGoF;AAAA,sDAFhFM,iCAAkBC,EAE8D;AAAA,sDADvE,KACuE;AAAE;;AAEhF,QAAPC,OAAO,CAACC,OAAD,EAAkD;AAC7D,UAAMC,IAAI,GAAG,KAAKP,WAAL,CAAiBQ,QAAjB,EAAb;AACA,UAAMC,iBAAiB,GAAG,MAAM,2BAAUF,IAAV,EAAgB,MAAOG,GAAP,IAAiD;AAC/F,YAAMC,QAAQ,GAAG,KAAKX,WAAL,CAAiBY,YAAjB,CAA8BF,GAAG,CAACG,IAAlC,CAAjB;AACA,UAAI,CAACF,QAAL,EAAe,OAAOG,SAAP;AACf,YAAMC,QAAQ,GAAGT,OAAO,CAACU,cAAR,CAAuBC,eAAxC;AACA,YAAMC,OAAO,GAAG,KAAKC,UAAL,CAAgBJ,QAAhB,EAA0BJ,QAA1B,CAAhB;AACA,UAAI,CAACO,OAAD,IAAY,CAACR,GAAG,CAACU,KAArB,EAA4B,OAAON,SAAP;AAC5B,YAAMO,aAAa,GAAG,MAAMX,GAAG,CAACU,KAAJ,CAAUd,OAAV,EAAmBY,OAAnB,CAA5B;AACA,aAAO;AACLI,QAAAA,SAAS,EAAED,aAAa,CAACC,SADpB;AAELC,QAAAA,eAAe,EAAE;AAAEC,UAAAA,SAAS,EAAEN,OAAO,CAACM;AAArB;AAFZ,OAAP;AAID,KAX+B,CAAhC;AAaA,UAAMF,SAAS,GAAGb,iBAAiB,CAChCgB,OADe,CACNC,GAAD,IAAS;AAChB,aAAOA,GAAP,aAAOA,GAAP,uBAAOA,GAAG,CAAEJ,SAAZ;AACD,KAHe,EAIfK,MAJe,CAIPC,CAAD,IAAO,CAAC,CAACA,CAJD,CAAlB;;AAKA,UAAMC,kBAAkB,GAAGpB,iBAAiB,CACzCqB,GADwB,CACnBJ,GAAD,IAAS;AACZ,aAAOA,GAAP,aAAOA,GAAP,uBAAOA,GAAG,CAAEH,eAAZ;AACD,KAHwB,EAIxBI,MAJwB,CAIhBC,CAAD,IAAO,CAAC,CAACA,CAJQ,CAA3B;;AAKA,WAAO;AACLN,MAAAA,SADK;AAELb,MAAAA,iBAAiB,EAAEoB;AAFd,KAAP;AAID;;AAEOV,EAAAA,UAAU,CAACJ,QAAD,EAAsBJ,QAAtB,EAAwC;AACxD,UAAMoB,eAAe,GAAGC,yBAAYC,UAAZ,CAAuBtB,QAAvB,EAAiCuB,sBAAjC,EAAxB;;AACA,WAAOnB,QAAQ,CAACoB,IAAT,CAAejB,OAAD,IAAaA,OAAO,CAACM,SAAR,CAAkBpB,EAAlB,CAAqB8B,sBAArB,OAAkDH,eAA7E,CAAP;AACD;;AAxC6C","sourcesContent":["import mapSeries from 'p-map-series';\nimport { Capsule } from '@teambit/isolator';\nimport { BuildTask, BuiltTaskResult, BuildContext, ComponentResult, ArtifactDefinition } from '@teambit/builder';\nimport { ComponentID } from '@teambit/component';\nimport { ApplicationAspect } from './application.aspect';\nimport { ApplicationMain } from './application.main.runtime';\n\nexport const BUILD_TASK = 'build_application';\n\nexport type AppsResults = {\n componentResult: ComponentResult;\n artifacts?: ArtifactDefinition[];\n};\n\nexport type Options = {\n deploy: boolean;\n};\nexport class AppsBuildTask implements BuildTask {\n name = BUILD_TASK;\n aspectId = ApplicationAspect.id;\n readonly location = 'end';\n constructor(private application: ApplicationMain, private opt: Options = { deploy: true }) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n const apps = this.application.listApps();\n const componentsResults = await mapSeries(apps, async (app): Promise<AppsResults | undefined> => {\n const aspectId = this.application.getAppAspect(app.name);\n if (!aspectId) return undefined;\n const capsules = context.capsuleNetwork.seedersCapsules;\n const capsule = this.getCapsule(capsules, aspectId);\n if (!capsule || !app.build) return undefined;\n const deployContext = await app.build(context, capsule);\n return {\n artifacts: deployContext.artifacts,\n componentResult: { component: capsule.component },\n };\n });\n\n const artifacts = componentsResults\n .flatMap((res) => {\n return res?.artifacts;\n })\n .filter((a) => !!a) as ArtifactDefinition[];\n const _componentsResults = componentsResults\n .map((res) => {\n return res?.componentResult;\n })\n .filter((a) => !!a) as ComponentResult[];\n return {\n artifacts,\n componentsResults: _componentsResults,\n };\n }\n\n private getCapsule(capsules: Capsule[], aspectId: string) {\n const aspectCapsuleId = ComponentID.fromString(aspectId).toStringWithoutVersion();\n return capsules.find((capsule) => capsule.component.id.toStringWithoutVersion() === aspectCapsuleId);\n }\n}\n"]}
|
package/dist/deploy-context.d.ts
CHANGED
package/dist/deploy.task.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BuilderMain, BuildTask, BuildContext } from '@teambit/builder';
|
|
2
2
|
import { ApplicationMain } from './application.main.runtime';
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const DEPLOY_TASK = "deploy_application";
|
|
4
4
|
export declare class DeployTask implements BuildTask {
|
|
5
5
|
private application;
|
|
6
|
+
private builder;
|
|
6
7
|
name: string;
|
|
7
8
|
aspectId: string;
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
readonly location = "end";
|
|
10
|
+
constructor(application: ApplicationMain, builder: BuilderMain);
|
|
11
|
+
execute(context: BuildContext): Promise<any>;
|
|
12
|
+
private getBuildTask;
|
|
10
13
|
private getCapsule;
|
|
11
|
-
private deployToProviders;
|
|
12
14
|
}
|
package/dist/deploy.task.js
CHANGED
|
@@ -2,16 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
require("core-js/modules/es.array.flat-map.js");
|
|
6
|
-
|
|
7
|
-
require("core-js/modules/es.array.unscopables.flat-map.js");
|
|
8
|
-
|
|
9
5
|
require("core-js/modules/es.promise.js");
|
|
10
6
|
|
|
11
7
|
Object.defineProperty(exports, "__esModule", {
|
|
12
8
|
value: true
|
|
13
9
|
});
|
|
14
|
-
exports.DeployTask = exports.
|
|
10
|
+
exports.DeployTask = exports.DEPLOY_TASK = void 0;
|
|
15
11
|
|
|
16
12
|
function _defineProperty2() {
|
|
17
13
|
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
@@ -53,48 +49,75 @@ function _application() {
|
|
|
53
49
|
return data;
|
|
54
50
|
}
|
|
55
51
|
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
function _build() {
|
|
53
|
+
const data = require("./build.task");
|
|
54
|
+
|
|
55
|
+
_build = function () {
|
|
56
|
+
return data;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
return data;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const DEPLOY_TASK = 'deploy_application';
|
|
63
|
+
exports.DEPLOY_TASK = DEPLOY_TASK;
|
|
58
64
|
|
|
59
65
|
class DeployTask {
|
|
60
|
-
constructor(application) {
|
|
66
|
+
constructor(application, builder) {
|
|
61
67
|
this.application = application;
|
|
62
|
-
|
|
68
|
+
this.builder = builder;
|
|
69
|
+
(0, _defineProperty2().default)(this, "name", DEPLOY_TASK);
|
|
63
70
|
(0, _defineProperty2().default)(this, "aspectId", _application().ApplicationAspect.id);
|
|
71
|
+
(0, _defineProperty2().default)(this, "location", 'end');
|
|
64
72
|
}
|
|
65
73
|
|
|
66
74
|
async execute(context) {
|
|
67
75
|
const apps = this.application.listApps();
|
|
68
|
-
const
|
|
76
|
+
const componentsResults = await (0, _pMapSeries().default)(apps, async app => {
|
|
77
|
+
var _buildTask$artifacts;
|
|
78
|
+
|
|
69
79
|
const aspectId = this.application.getAppAspect(app.name);
|
|
70
80
|
if (!aspectId) return undefined;
|
|
71
81
|
const capsules = context.capsuleNetwork.seedersCapsules;
|
|
72
82
|
const capsule = this.getCapsule(capsules, aspectId);
|
|
73
|
-
if (!capsule) return undefined;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
83
|
+
if (!(capsule !== null && capsule !== void 0 && capsule.component)) return undefined;
|
|
84
|
+
const buildTask = this.getBuildTask(context.previousTasksResults);
|
|
85
|
+
if (!buildTask) return undefined;
|
|
86
|
+
const componentArtifacts = (_buildTask$artifacts = buildTask.artifacts) === null || _buildTask$artifacts === void 0 ? void 0 : _buildTask$artifacts.get(capsule.component);
|
|
87
|
+
const artifactList = componentArtifacts === null || componentArtifacts === void 0 ? void 0 : componentArtifacts[1];
|
|
88
|
+
const deployContext = Object.assign(context, {
|
|
89
|
+
artifactList
|
|
90
|
+
});
|
|
91
|
+
if (!capsule || !app.deploy) return undefined;
|
|
92
|
+
await app.deploy(deployContext, capsule);
|
|
78
93
|
return {
|
|
79
|
-
|
|
94
|
+
componentResult: {
|
|
95
|
+
component: capsule.component
|
|
96
|
+
}
|
|
80
97
|
};
|
|
81
98
|
});
|
|
99
|
+
|
|
100
|
+
const _componentsResults = componentsResults.map(res => {
|
|
101
|
+
return res === null || res === void 0 ? void 0 : res.componentResult;
|
|
102
|
+
}).filter(a => !!a);
|
|
103
|
+
|
|
82
104
|
return {
|
|
83
|
-
componentsResults:
|
|
105
|
+
componentsResults: _componentsResults
|
|
84
106
|
};
|
|
85
107
|
}
|
|
86
108
|
|
|
109
|
+
getBuildTask(taskResults) {
|
|
110
|
+
return taskResults.find(({
|
|
111
|
+
task
|
|
112
|
+
}) => task.aspectId === _application().ApplicationAspect.id && task.name === _build().BUILD_TASK);
|
|
113
|
+
}
|
|
114
|
+
|
|
87
115
|
getCapsule(capsules, aspectId) {
|
|
88
116
|
const aspectCapsuleId = _component().ComponentID.fromString(aspectId).toStringWithoutVersion();
|
|
89
117
|
|
|
90
118
|
return capsules.find(capsule => capsule.component.id.toStringWithoutVersion() === aspectCapsuleId);
|
|
91
119
|
}
|
|
92
120
|
|
|
93
|
-
async deployToProviders(deployContext, capsule) {
|
|
94
|
-
const providers = this.application.listProviders();
|
|
95
|
-
await (0, _pMapSeries().default)(providers, async provider => provider.deploy(deployContext, capsule));
|
|
96
|
-
}
|
|
97
|
-
|
|
98
121
|
}
|
|
99
122
|
|
|
100
123
|
exports.DeployTask = DeployTask;
|
package/dist/deploy.task.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["deploy.task.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["deploy.task.ts"],"names":["DEPLOY_TASK","DeployTask","constructor","application","builder","ApplicationAspect","id","execute","context","apps","listApps","componentsResults","app","aspectId","getAppAspect","name","undefined","capsules","capsuleNetwork","seedersCapsules","capsule","getCapsule","component","buildTask","getBuildTask","previousTasksResults","componentArtifacts","artifacts","get","artifactList","deployContext","Object","assign","deploy","componentResult","_componentsResults","map","res","filter","a","taskResults","find","task","BUILD_TASK","aspectCapsuleId","ComponentID","fromString","toStringWithoutVersion"],"mappings":"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","sourcesContent":["import mapSeries from 'p-map-series';\nimport { Capsule } from '@teambit/isolator';\nimport { BuilderMain, BuildTask, BuildContext, ComponentResult, TaskResults } from '@teambit/builder';\nimport { ComponentID } from '@teambit/component';\nimport { ApplicationAspect } from './application.aspect';\nimport { ApplicationMain } from './application.main.runtime';\nimport { BUILD_TASK } from './build.task';\nimport { DeployContext } from './deploy-context';\n\nexport const DEPLOY_TASK = 'deploy_application';\n\nexport class DeployTask implements BuildTask {\n name = DEPLOY_TASK;\n aspectId = ApplicationAspect.id;\n readonly location = 'end';\n constructor(private application: ApplicationMain, private builder: BuilderMain) {}\n\n async execute(context: BuildContext): Promise<any> {\n const apps = this.application.listApps();\n const componentsResults = await mapSeries(apps, async (app): Promise<any> => {\n const aspectId = this.application.getAppAspect(app.name);\n if (!aspectId) return undefined;\n const capsules = context.capsuleNetwork.seedersCapsules;\n const capsule = this.getCapsule(capsules, aspectId);\n if (!capsule?.component) return undefined;\n const buildTask = this.getBuildTask(context.previousTasksResults);\n if (!buildTask) return undefined;\n const componentArtifacts = buildTask.artifacts?.get(capsule.component);\n const artifactList = componentArtifacts?.[1];\n const deployContext: DeployContext = Object.assign(context, { artifactList });\n if (!capsule || !app.deploy) return undefined;\n await app.deploy(deployContext, capsule);\n\n return {\n componentResult: { component: capsule.component },\n };\n });\n\n const _componentsResults = componentsResults\n .map((res) => {\n return res?.componentResult;\n })\n .filter((a) => !!a) as ComponentResult[];\n\n return {\n componentsResults: _componentsResults,\n };\n }\n\n private getBuildTask(taskResults: TaskResults[]) {\n return taskResults.find(({ task }) => task.aspectId === ApplicationAspect.id && task.name === BUILD_TASK);\n }\n\n private getCapsule(capsules: Capsule[], aspectId: string) {\n const aspectCapsuleId = ComponentID.fromString(aspectId).toStringWithoutVersion();\n return capsules.find((capsule) => capsule.component.id.toStringWithoutVersion() === aspectCapsuleId);\n }\n}\n"]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Capsule } from '@teambit/isolator';
|
|
1
|
+
import { DeployFn } from './application';
|
|
3
2
|
export interface DeploymentProvider {
|
|
4
|
-
deploy
|
|
3
|
+
deploy: DeployFn;
|
|
5
4
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export { ApplicationAspect } from './application.aspect';
|
|
2
2
|
export type { ApplicationMain } from './application.main.runtime';
|
|
3
|
-
export type { Application } from './application';
|
|
3
|
+
export type { Application, DeployFn } from './application';
|
|
4
4
|
export { AppContext } from './app-context';
|
|
5
5
|
export { DeploymentProvider } from './deployment-provider';
|
|
6
6
|
export { ApplicationType } from './application-type';
|
|
7
7
|
export { DeployContext } from './deploy-context';
|
|
8
|
+
export { AppBuildResult } from './app-build-result';
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "AppBuildResult", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _appBuildResult().AppBuildResult;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
6
12
|
Object.defineProperty(exports, "AppContext", {
|
|
7
13
|
enumerable: true,
|
|
8
14
|
get: function () {
|
|
@@ -84,4 +90,14 @@ function _deployContext() {
|
|
|
84
90
|
return data;
|
|
85
91
|
}
|
|
86
92
|
|
|
93
|
+
function _appBuildResult() {
|
|
94
|
+
const data = require("./app-build-result");
|
|
95
|
+
|
|
96
|
+
_appBuildResult = function () {
|
|
97
|
+
return data;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
return data;
|
|
101
|
+
}
|
|
102
|
+
|
|
87
103
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA","sourcesContent":["export { ApplicationAspect } from './application.aspect';\nexport type { ApplicationMain } from './application.main.runtime';\nexport type { Application, DeployFn } from './application';\nexport { AppContext } from './app-context';\nexport { DeploymentProvider } from './deployment-provider';\nexport { ApplicationType } from './application-type';\nexport { DeployContext } from './deploy-context';\nexport { AppBuildResult } from './app-build-result';\n"]}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/application",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.241",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/harmony/application",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.harmony",
|
|
8
8
|
"name": "application",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.241"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
@@ -16,14 +16,14 @@
|
|
|
16
16
|
"ink": "3.0.8",
|
|
17
17
|
"@babel/runtime": "7.12.18",
|
|
18
18
|
"core-js": "^3.0.0",
|
|
19
|
-
"@teambit/
|
|
20
|
-
"@teambit/
|
|
19
|
+
"@teambit/builder": "0.0.599",
|
|
20
|
+
"@teambit/component": "0.0.599",
|
|
21
|
+
"@teambit/envs": "0.0.599",
|
|
21
22
|
"@teambit/cli-table": "0.0.33",
|
|
22
|
-
"@teambit/cli": "0.0.
|
|
23
|
-
"@teambit/aspect-loader": "0.0.
|
|
24
|
-
"@teambit/
|
|
25
|
-
"@teambit/
|
|
26
|
-
"@teambit/isolator": "0.0.598"
|
|
23
|
+
"@teambit/cli": "0.0.411",
|
|
24
|
+
"@teambit/aspect-loader": "0.0.599",
|
|
25
|
+
"@teambit/logger": "0.0.500",
|
|
26
|
+
"@teambit/isolator": "0.0.599"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/lodash": "4.14.165",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"@types/node": "12.20.4"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@teambit/legacy": "1.0.
|
|
38
|
+
"@teambit/legacy": "1.0.198",
|
|
39
39
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
40
40
|
"react": "^16.8.0 || ^17.0.0"
|
|
41
41
|
},
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"react": "-"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
66
|
-
"@teambit/legacy": "1.0.
|
|
66
|
+
"@teambit/legacy": "1.0.198",
|
|
67
67
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
68
68
|
"react": "^16.8.0 || ^17.0.0"
|
|
69
69
|
}
|
|
Binary file
|