@teambit/ui 0.0.1157 → 0.0.1159
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/ui-bundle/public/bit/asset-manifest.json +6 -6
- package/artifacts/ui-bundle/public/bit/index.html +1 -1
- package/artifacts/ui-bundle/public/bit/service-worker.js +1 -1
- package/artifacts/ui-bundle/public/bit/static/js/{254.7b8d87c9.js → 885.59341e01.js} +4 -4
- package/artifacts/ui-bundle/public/bit/static/js/{254.7b8d87c9.js.LICENSE.txt → 885.59341e01.js.LICENSE.txt} +1 -1
- package/artifacts/ui-bundle/public/bit/static/js/{main.54445e09.js → main.040e7f54.js} +1 -1
- package/dist/bundle-ui.task.js +6 -13
- package/dist/bundle-ui.task.js.map +1 -1
- package/dist/create-root.js +0 -3
- package/dist/create-root.js.map +1 -1
- package/dist/events/ui-server-started-event.js +4 -11
- package/dist/events/ui-server-started-event.js.map +1 -1
- package/dist/{preview-1694488626516.js → preview-1694624356552.js} +2 -2
- package/dist/ssr-middleware/ssr-middleware.js +5 -10
- package/dist/ssr-middleware/ssr-middleware.js.map +1 -1
- package/dist/start.cmd.js +10 -16
- package/dist/start.cmd.js.map +1 -1
- package/dist/ui/client-context.js +1 -2
- package/dist/ui/client-context.js.map +1 -1
- package/dist/ui-build.cmd.js +9 -16
- package/dist/ui-build.cmd.js.map +1 -1
- package/dist/ui-server.js +8 -14
- package/dist/ui-server.js.map +1 -1
- package/dist/ui.composition.js +1 -1
- package/dist/ui.composition.js.map +1 -1
- package/dist/ui.main.runtime.js +10 -17
- package/dist/ui.main.runtime.js.map +1 -1
- package/dist/ui.ui.runtime.js +9 -15
- package/dist/ui.ui.runtime.js.map +1 -1
- package/dist/webpack/webpack.base.config.js +5 -11
- package/dist/webpack/webpack.base.config.js.map +1 -1
- package/dist/webpack/webpack.browser.config.js +1 -3
- package/dist/webpack/webpack.browser.config.js.map +1 -1
- package/dist/webpack/webpack.dev.config.js +2 -1
- package/dist/webpack/webpack.dev.config.js.map +1 -1
- package/dist/webpack/webpack.ssr.config.js +1 -1
- package/dist/webpack/webpack.ssr.config.js.map +1 -1
- package/package.json +21 -23
- package/webpack/webpack.dev.config.ts +1 -0
- /package/artifacts/ui-bundle/public/bit/static/css/{254.d25a08a4.css → 885.d25a08a4.css} +0 -0
package/dist/ui-build.cmd.js
CHANGED
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
require("core-js/modules/es.array.iterator.js");
|
|
5
|
-
require("core-js/modules/es.promise.js");
|
|
6
3
|
Object.defineProperty(exports, "__esModule", {
|
|
7
4
|
value: true
|
|
8
5
|
});
|
|
9
6
|
exports.UIBuildCmd = void 0;
|
|
10
|
-
function _defineProperty2() {
|
|
11
|
-
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
_defineProperty2 = function () {
|
|
13
|
-
return data;
|
|
14
|
-
};
|
|
15
|
-
return data;
|
|
16
|
-
}
|
|
17
7
|
function _exceptions() {
|
|
18
8
|
const data = require("./exceptions");
|
|
19
9
|
_exceptions = function () {
|
|
@@ -21,6 +11,9 @@ function _exceptions() {
|
|
|
21
11
|
};
|
|
22
12
|
return data;
|
|
23
13
|
}
|
|
14
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
16
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
24
17
|
class UIBuildCmd {
|
|
25
18
|
constructor(
|
|
26
19
|
/**
|
|
@@ -28,12 +21,12 @@ class UIBuildCmd {
|
|
|
28
21
|
*/
|
|
29
22
|
ui) {
|
|
30
23
|
this.ui = ui;
|
|
31
|
-
(
|
|
32
|
-
(
|
|
33
|
-
(
|
|
34
|
-
(
|
|
35
|
-
(
|
|
36
|
-
(
|
|
24
|
+
_defineProperty(this, "name", 'ui-build [type]');
|
|
25
|
+
_defineProperty(this, "description", 'build production assets for deployment.');
|
|
26
|
+
_defineProperty(this, "alias", 'c');
|
|
27
|
+
_defineProperty(this, "group", 'development');
|
|
28
|
+
_defineProperty(this, "options", []);
|
|
29
|
+
_defineProperty(this, "private", true);
|
|
37
30
|
}
|
|
38
31
|
async report([type]) {
|
|
39
32
|
// teambit.workspace/variants should be the one to take care of component patterns.
|
package/dist/ui-build.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_exceptions","data","require","
|
|
1
|
+
{"version":3,"names":["_exceptions","data","require","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","UIBuildCmd","constructor","ui","report","type","stats","build","UnknownBuildError","toString","exports"],"sources":["ui-build.cmd.tsx"],"sourcesContent":["import { Command } from '@teambit/cli';\nimport { UnknownBuildError } from './exceptions';\n\nimport { UiMain } from './ui.main.runtime';\n\nexport class UIBuildCmd implements Command {\n name = 'ui-build [type]';\n description = 'build production assets for deployment.';\n alias = 'c';\n group = 'development';\n options = [];\n private = true;\n\n constructor(\n /**\n * access to the extension instance.\n */\n private ui: UiMain\n ) {}\n\n async report([type]: [string]): Promise<string> {\n // teambit.workspace/variants should be the one to take care of component patterns.\n const stats = await this.ui.build(type);\n if (!stats) throw new UnknownBuildError();\n return stats.toString();\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAiD,SAAAE,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAI1C,MAAMU,UAAU,CAAoB;EAQzCC,WAAWA;EACT;AACJ;AACA;EACYC,EAAU,EAClB;IAAA,KADQA,EAAU,GAAVA,EAAU;IAAAzB,eAAA,eAXb,iBAAiB;IAAAA,eAAA,sBACV,yCAAyC;IAAAA,eAAA,gBAC/C,GAAG;IAAAA,eAAA,gBACH,aAAa;IAAAA,eAAA,kBACX,EAAE;IAAAA,eAAA,kBACF,IAAI;EAOX;EAEH,MAAM0B,MAAMA,CAAC,CAACC,IAAI,CAAW,EAAmB;IAC9C;IACA,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACH,EAAE,CAACI,KAAK,CAACF,IAAI,CAAC;IACvC,IAAI,CAACC,KAAK,EAAE,MAAM,KAAIE,+BAAiB,EAAC,CAAC;IACzC,OAAOF,KAAK,CAACG,QAAQ,CAAC,CAAC;EACzB;AACF;AAACC,OAAA,CAAAT,UAAA,GAAAA,UAAA"}
|
package/dist/ui-server.js
CHANGED
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
require("core-js/modules/es.array.iterator.js");
|
|
5
|
-
require("core-js/modules/es.promise.js");
|
|
6
3
|
Object.defineProperty(exports, "__esModule", {
|
|
7
4
|
value: true
|
|
8
5
|
});
|
|
9
6
|
exports.UIServer = void 0;
|
|
10
|
-
function _defineProperty2() {
|
|
11
|
-
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
_defineProperty2 = function () {
|
|
13
|
-
return data;
|
|
14
|
-
};
|
|
15
|
-
return data;
|
|
16
|
-
}
|
|
17
7
|
function _lodash() {
|
|
18
8
|
const data = require("lodash");
|
|
19
9
|
_lodash = function () {
|
|
@@ -98,8 +88,12 @@ function _webpackDev() {
|
|
|
98
88
|
};
|
|
99
89
|
return data;
|
|
100
90
|
}
|
|
91
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
101
92
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
102
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (
|
|
93
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
94
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
95
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
96
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
103
97
|
class UIServer {
|
|
104
98
|
constructor(graphql, expressExtension, ui, uiRoot, uiRootExtension, logger, publicDir, plugins) {
|
|
105
99
|
this.graphql = graphql;
|
|
@@ -110,9 +104,9 @@ class UIServer {
|
|
|
110
104
|
this.logger = logger;
|
|
111
105
|
this.publicDir = publicDir;
|
|
112
106
|
this.plugins = plugins;
|
|
113
|
-
(
|
|
114
|
-
(
|
|
115
|
-
(
|
|
107
|
+
_defineProperty(this, "_port", 0);
|
|
108
|
+
_defineProperty(this, "setReady", void 0);
|
|
109
|
+
_defineProperty(this, "startPromise", new Promise(resolve => this.setReady = resolve));
|
|
116
110
|
}
|
|
117
111
|
getName() {
|
|
118
112
|
return this.uiRoot.name;
|
package/dist/ui-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","data","require","_express","_interopRequireDefault","_expressHistoryApiFallback","_toolboxNetwork","_utils","_httpProxy","_path","_webpack","_webpackDevServer","_ssrMiddleware","_ui","_webpackDev","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","UIServer","constructor","graphql","expressExtension","ui","uiRoot","uiRootExtension","logger","publicDir","plugins","Promise","resolve","setReady","getName","name","port","_port","host","fullUrl","buildOptions","getDevConfig","aspects","resolveAspects","UIRuntime","devConfig","path","generateRoot","whenReady","all","startPromise","map","x","start","bundleUiRoot","portRange","app","createApp","defaultRoot","join","root","server","createServer","configureProxy","use","express","static","index","Port","getPortFromRange","setupServerSideRendering","fallback","listen","info","getPluginsComponents","plugin","render","_this$buildOptions","ssr","ssrMiddleware","createSsrMiddleware","title","warn","get","debug","proxServer","httpProxy","createProxyServer","on","e","error","message","proxyEntries","getProxyFromPlugins","req","socket","head","entry","find","proxy","context","some","item","stripTrailingChar","url","ws","route","res","originalUrl","web","dev","devServerPort","selectPort","expressAppPort","config","compiler","webpack","devServerConfig","getDevServerConfig","devServer","WebpackDevServer","proxiesByPlugin","getProxy","flatten","gqlProxies","changeOrigin","concat","appPort","gqlPort","devServerConf","create","props","startPlugins","exports"],"sources":["ui-server.ts"],"sourcesContent":["import { flatten } from 'lodash';\nimport { ExpressMain } from '@teambit/express';\nimport { GraphqlMain } from '@teambit/graphql';\nimport { Logger } from '@teambit/logger';\nimport express, { Express } from 'express';\nimport fallback from 'express-history-api-fallback';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport { stripTrailingChar } from '@teambit/legacy/dist/utils';\nimport { Server } from 'http';\nimport httpProxy from 'http-proxy';\nimport { join } from 'path';\nimport webpack from 'webpack';\nimport WebpackDevServer, { Configuration as WdsConfiguration } from 'webpack-dev-server';\nimport { createSsrMiddleware } from './ssr-middleware';\nimport { StartPlugin } from './start-plugin';\nimport { ProxyEntry, UIRoot } from './ui-root';\nimport { UIRuntime } from './ui.aspect';\nimport { UiMain } from './ui.main.runtime';\n\nimport { devConfig } from './webpack/webpack.dev.config';\n\nexport type UIServerProps = {\n graphql: GraphqlMain;\n express: ExpressMain;\n ui: UiMain;\n uiRoot: UIRoot;\n uiRootExtension: string;\n logger: Logger;\n publicDir: string;\n startPlugins: StartPlugin[];\n};\n\nexport type StartOptions = {\n /**\n * Absolute path to the ui bundle (generated during the bit build).\n */\n bundleUiRoot?: string;\n /**\n * port range for the UI server to bind. default is a port range of 4000-4200.\n */\n portRange?: number[] | number;\n};\n\nexport class UIServer {\n constructor(\n private graphql: GraphqlMain,\n private expressExtension: ExpressMain,\n private ui: UiMain,\n private uiRoot: UIRoot,\n private uiRootExtension: string,\n private logger: Logger,\n private publicDir: string,\n private plugins: StartPlugin[]\n ) {}\n\n getName() {\n return this.uiRoot.name;\n }\n\n private _port = 0;\n\n get port() {\n return this._port;\n }\n\n /** the hostname for the server to listen at. Currently statically 'localhost' */\n get host() {\n return 'localhost';\n }\n\n /** the server listens at this url */\n get fullUrl() {\n const port = this.port !== 80 ? `:${this.port}` : '';\n return `http://${this.host}${port}`;\n }\n\n get buildOptions() {\n return this.uiRoot.buildOptions;\n }\n\n /**\n * get the webpack configuration of the UI server.\n */\n async getDevConfig() {\n const aspects = await this.uiRoot.resolveAspects(UIRuntime.name);\n\n return devConfig(this.uiRoot.path, [await this.ui.generateRoot(aspects, this.uiRootExtension)], this.uiRoot.name);\n }\n\n private setReady: () => void;\n private startPromise = new Promise<void>((resolve) => (this.setReady = resolve));\n get whenReady() {\n return Promise.all([this.startPromise, ...this.plugins.map((x) => x?.whenReady)]);\n }\n\n /**\n * start a UI server.\n */\n async start({ bundleUiRoot, portRange }: StartOptions = {}) {\n const app = this.expressExtension.createApp();\n const publicDir = `/${this.publicDir}`;\n const defaultRoot = join(this.uiRoot.path, publicDir);\n const root = bundleUiRoot || defaultRoot;\n const server = await this.graphql.createServer({ app });\n\n // set up proxy, for things like preview, e.g. '/preview/teambit.react/react'\n await this.configureProxy(app, server);\n\n // pass through files from public /folder:\n // setting `index: false` so index.html will be served by the fallback() middleware\n app.use(express.static(root, { index: false }));\n\n const port = await Port.getPortFromRange(portRange || [3100, 3200]);\n\n await this.setupServerSideRendering({ root, port, app });\n\n // in any and all other cases, serve index.html.\n // No any other endpoints past this will execute\n app.use(fallback('index.html', { root }));\n\n server.listen(port);\n this._port = port;\n\n // important: we use the string of the following message for the http.e2e.ts. if you change the message,\n // please make sure you change the `HTTP_SERVER_READY_MSG` const.\n this.logger.info(`UI server of ${this.uiRootExtension} is listening to port ${port}`);\n\n this.setReady();\n }\n\n getPluginsComponents() {\n return this.plugins.map((plugin) => plugin.render);\n }\n\n private async setupServerSideRendering({ root, port, app }: { root: string; port: number; app: Express }) {\n if (!this.buildOptions?.ssr) return;\n\n const ssrMiddleware = await createSsrMiddleware({\n root,\n port,\n title: this.uiRoot.name,\n logger: this.logger,\n });\n\n if (!ssrMiddleware) {\n this.logger.warn('[ssr] middleware failed setup');\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n app.get('*', ssrMiddleware);\n this.logger.debug('[ssr] serving for \"*\"');\n }\n\n private async configureProxy(app: Express, server: Server) {\n const proxServer = httpProxy.createProxyServer();\n proxServer.on('error', (e) => this.logger.error(e.message));\n const proxyEntries = await this.getProxyFromPlugins();\n\n // TODO - should use https://github.com/chimurai/http-proxy-middleware\n server.on('upgrade', function (req, socket, head) {\n const entry = proxyEntries.find((proxy) =>\n proxy.context.some((item) => item === stripTrailingChar(req.url, '/'))\n );\n if (!entry) return;\n proxServer.ws(req, socket, head, {\n target: entry.target,\n });\n });\n\n proxyEntries.forEach((entry) => {\n entry.context.forEach((route) => {\n app.use(`${route}/*`, (req, res) => {\n req.url = req.originalUrl;\n proxServer.web(req, res, entry);\n });\n });\n });\n }\n\n /**\n * start a UI dev server.\n */\n async dev({ portRange }: StartOptions = {}) {\n const devServerPort = await this.selectPort(portRange);\n await this.start({ portRange: [4100, 4200] });\n const expressAppPort = this._port;\n\n const config = await this.getDevConfig();\n const compiler = webpack(config);\n const devServerConfig = await this.getDevServerConfig(devServerPort, expressAppPort, config.devServer);\n // @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler\n const devServer = new WebpackDevServer(devServerConfig, compiler);\n\n await devServer.start();\n this._port = devServerPort;\n return devServer;\n }\n\n private async selectPort(portRange?: number[] | number) {\n return Port.getPortFromRange(portRange || [3100, 3200]);\n }\n\n private async getProxyFromPlugins(): Promise<ProxyEntry[]> {\n const proxiesByPlugin = this.plugins.map((plugin) => {\n return plugin.getProxy ? plugin.getProxy() : [];\n });\n\n return flatten(await Promise.all(proxiesByPlugin));\n }\n\n private async getProxy(port = 4000) {\n const proxyEntries = await this.getProxyFromPlugins();\n\n const gqlProxies: ProxyEntry[] = [\n {\n context: ['/graphql', '/api'],\n target: `http://${this.host}:${port}`,\n changeOrigin: true,\n },\n {\n context: ['/subscriptions'],\n target: `ws://${this.host}:${port}`,\n ws: true,\n },\n ];\n\n return gqlProxies.concat(proxyEntries);\n }\n\n private async getDevServerConfig(\n appPort: number,\n gqlPort: number,\n config?: WdsConfiguration\n ): Promise<WdsConfiguration> {\n const proxy = await this.getProxy(gqlPort);\n const devServerConf = { ...config, proxy, port: appPort };\n\n return devServerConf;\n }\n\n static create(props: UIServerProps) {\n return new UIServer(\n props.graphql,\n props.express,\n props.ui,\n props.uiRoot,\n props.uiRootExtension,\n props.logger,\n props.publicDir,\n props.startPlugins\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_lodash","data","require","_express","_interopRequireDefault","_expressHistoryApiFallback","_toolboxNetwork","_utils","_httpProxy","_path","_webpack","_webpackDevServer","_ssrMiddleware","_ui","_webpackDev","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","UIServer","constructor","graphql","expressExtension","ui","uiRoot","uiRootExtension","logger","publicDir","plugins","Promise","resolve","setReady","getName","name","port","_port","host","fullUrl","buildOptions","getDevConfig","aspects","resolveAspects","UIRuntime","devConfig","path","generateRoot","whenReady","all","startPromise","map","x","start","bundleUiRoot","portRange","app","createApp","defaultRoot","join","root","server","createServer","configureProxy","use","express","static","index","Port","getPortFromRange","setupServerSideRendering","fallback","listen","info","getPluginsComponents","plugin","render","_this$buildOptions","ssr","ssrMiddleware","createSsrMiddleware","title","warn","get","debug","proxServer","httpProxy","createProxyServer","on","e","error","message","proxyEntries","getProxyFromPlugins","req","socket","head","entry","find","proxy","context","some","item","stripTrailingChar","url","ws","route","originalUrl","web","dev","devServerPort","selectPort","expressAppPort","config","compiler","webpack","devServerConfig","getDevServerConfig","devServer","WebpackDevServer","proxiesByPlugin","getProxy","flatten","gqlProxies","changeOrigin","concat","appPort","gqlPort","devServerConf","create","props","startPlugins","exports"],"sources":["ui-server.ts"],"sourcesContent":["import { flatten } from 'lodash';\nimport { ExpressMain } from '@teambit/express';\nimport { GraphqlMain } from '@teambit/graphql';\nimport { Logger } from '@teambit/logger';\nimport express, { Express } from 'express';\nimport fallback from 'express-history-api-fallback';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport { stripTrailingChar } from '@teambit/legacy/dist/utils';\nimport { Server } from 'http';\nimport httpProxy from 'http-proxy';\nimport { join } from 'path';\nimport webpack from 'webpack';\nimport WebpackDevServer, { Configuration as WdsConfiguration } from 'webpack-dev-server';\nimport { createSsrMiddleware } from './ssr-middleware';\nimport { StartPlugin } from './start-plugin';\nimport { ProxyEntry, UIRoot } from './ui-root';\nimport { UIRuntime } from './ui.aspect';\nimport { UiMain } from './ui.main.runtime';\n\nimport { devConfig } from './webpack/webpack.dev.config';\n\nexport type UIServerProps = {\n graphql: GraphqlMain;\n express: ExpressMain;\n ui: UiMain;\n uiRoot: UIRoot;\n uiRootExtension: string;\n logger: Logger;\n publicDir: string;\n startPlugins: StartPlugin[];\n};\n\nexport type StartOptions = {\n /**\n * Absolute path to the ui bundle (generated during the bit build).\n */\n bundleUiRoot?: string;\n /**\n * port range for the UI server to bind. default is a port range of 4000-4200.\n */\n portRange?: number[] | number;\n};\n\nexport class UIServer {\n constructor(\n private graphql: GraphqlMain,\n private expressExtension: ExpressMain,\n private ui: UiMain,\n private uiRoot: UIRoot,\n private uiRootExtension: string,\n private logger: Logger,\n private publicDir: string,\n private plugins: StartPlugin[]\n ) {}\n\n getName() {\n return this.uiRoot.name;\n }\n\n private _port = 0;\n\n get port() {\n return this._port;\n }\n\n /** the hostname for the server to listen at. Currently statically 'localhost' */\n get host() {\n return 'localhost';\n }\n\n /** the server listens at this url */\n get fullUrl() {\n const port = this.port !== 80 ? `:${this.port}` : '';\n return `http://${this.host}${port}`;\n }\n\n get buildOptions() {\n return this.uiRoot.buildOptions;\n }\n\n /**\n * get the webpack configuration of the UI server.\n */\n async getDevConfig() {\n const aspects = await this.uiRoot.resolveAspects(UIRuntime.name);\n\n return devConfig(this.uiRoot.path, [await this.ui.generateRoot(aspects, this.uiRootExtension)], this.uiRoot.name);\n }\n\n private setReady: () => void;\n private startPromise = new Promise<void>((resolve) => (this.setReady = resolve));\n get whenReady() {\n return Promise.all([this.startPromise, ...this.plugins.map((x) => x?.whenReady)]);\n }\n\n /**\n * start a UI server.\n */\n async start({ bundleUiRoot, portRange }: StartOptions = {}) {\n const app = this.expressExtension.createApp();\n const publicDir = `/${this.publicDir}`;\n const defaultRoot = join(this.uiRoot.path, publicDir);\n const root = bundleUiRoot || defaultRoot;\n const server = await this.graphql.createServer({ app });\n\n // set up proxy, for things like preview, e.g. '/preview/teambit.react/react'\n await this.configureProxy(app, server);\n\n // pass through files from public /folder:\n // setting `index: false` so index.html will be served by the fallback() middleware\n app.use(express.static(root, { index: false }));\n\n const port = await Port.getPortFromRange(portRange || [3100, 3200]);\n\n await this.setupServerSideRendering({ root, port, app });\n\n // in any and all other cases, serve index.html.\n // No any other endpoints past this will execute\n app.use(fallback('index.html', { root }));\n\n server.listen(port);\n this._port = port;\n\n // important: we use the string of the following message for the http.e2e.ts. if you change the message,\n // please make sure you change the `HTTP_SERVER_READY_MSG` const.\n this.logger.info(`UI server of ${this.uiRootExtension} is listening to port ${port}`);\n\n this.setReady();\n }\n\n getPluginsComponents() {\n return this.plugins.map((plugin) => plugin.render);\n }\n\n private async setupServerSideRendering({ root, port, app }: { root: string; port: number; app: Express }) {\n if (!this.buildOptions?.ssr) return;\n\n const ssrMiddleware = await createSsrMiddleware({\n root,\n port,\n title: this.uiRoot.name,\n logger: this.logger,\n });\n\n if (!ssrMiddleware) {\n this.logger.warn('[ssr] middleware failed setup');\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n app.get('*', ssrMiddleware);\n this.logger.debug('[ssr] serving for \"*\"');\n }\n\n private async configureProxy(app: Express, server: Server) {\n const proxServer = httpProxy.createProxyServer();\n proxServer.on('error', (e) => this.logger.error(e.message));\n const proxyEntries = await this.getProxyFromPlugins();\n\n // TODO - should use https://github.com/chimurai/http-proxy-middleware\n server.on('upgrade', function (req, socket, head) {\n const entry = proxyEntries.find((proxy) =>\n proxy.context.some((item) => item === stripTrailingChar(req.url, '/'))\n );\n if (!entry) return;\n proxServer.ws(req, socket, head, {\n target: entry.target,\n });\n });\n\n proxyEntries.forEach((entry) => {\n entry.context.forEach((route) => {\n app.use(`${route}/*`, (req, res) => {\n req.url = req.originalUrl;\n proxServer.web(req, res, entry);\n });\n });\n });\n }\n\n /**\n * start a UI dev server.\n */\n async dev({ portRange }: StartOptions = {}) {\n const devServerPort = await this.selectPort(portRange);\n await this.start({ portRange: [4100, 4200] });\n const expressAppPort = this._port;\n\n const config = await this.getDevConfig();\n const compiler = webpack(config);\n const devServerConfig = await this.getDevServerConfig(devServerPort, expressAppPort, config.devServer);\n // @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler\n const devServer = new WebpackDevServer(devServerConfig, compiler);\n\n await devServer.start();\n this._port = devServerPort;\n return devServer;\n }\n\n private async selectPort(portRange?: number[] | number) {\n return Port.getPortFromRange(portRange || [3100, 3200]);\n }\n\n private async getProxyFromPlugins(): Promise<ProxyEntry[]> {\n const proxiesByPlugin = this.plugins.map((plugin) => {\n return plugin.getProxy ? plugin.getProxy() : [];\n });\n\n return flatten(await Promise.all(proxiesByPlugin));\n }\n\n private async getProxy(port = 4000) {\n const proxyEntries = await this.getProxyFromPlugins();\n\n const gqlProxies: ProxyEntry[] = [\n {\n context: ['/graphql', '/api'],\n target: `http://${this.host}:${port}`,\n changeOrigin: true,\n },\n {\n context: ['/subscriptions'],\n target: `ws://${this.host}:${port}`,\n ws: true,\n },\n ];\n\n return gqlProxies.concat(proxyEntries);\n }\n\n private async getDevServerConfig(\n appPort: number,\n gqlPort: number,\n config?: WdsConfiguration\n ): Promise<WdsConfiguration> {\n const proxy = await this.getProxy(gqlPort);\n const devServerConf = { ...config, proxy, port: appPort };\n\n return devServerConf;\n }\n\n static create(props: UIServerProps) {\n return new UIServer(\n props.graphql,\n props.express,\n props.ui,\n props.uiRoot,\n props.uiRootExtension,\n props.logger,\n props.publicDir,\n props.startPlugins\n );\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAE,SAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,2BAAA;EAAA,MAAAJ,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAG,0BAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,gBAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,eAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,OAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,MAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,WAAA;EAAA,MAAAP,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAM,UAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,MAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,KAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,SAAA;EAAA,MAAAT,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAQ,QAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,kBAAA;EAAA,MAAAV,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAS,iBAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,eAAA;EAAA,MAAAX,IAAA,GAAAC,OAAA;EAAAU,cAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAY,IAAA;EAAA,MAAAZ,IAAA,GAAAC,OAAA;EAAAW,GAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAa,YAAA;EAAA,MAAAb,IAAA,GAAAC,OAAA;EAAAY,WAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAyD,SAAAG,uBAAAW,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,IAAAC,eAAA,CAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAO,gBAAAxB,GAAA,EAAAuB,GAAA,EAAAK,KAAA,IAAAL,GAAA,GAAAM,cAAA,CAAAN,GAAA,OAAAA,GAAA,IAAAvB,GAAA,IAAAO,MAAA,CAAAoB,cAAA,CAAA3B,GAAA,EAAAuB,GAAA,IAAAK,KAAA,EAAAA,KAAA,EAAAf,UAAA,QAAAiB,YAAA,QAAAC,QAAA,oBAAA/B,GAAA,CAAAuB,GAAA,IAAAK,KAAA,WAAA5B,GAAA;AAAA,SAAA6B,eAAAG,GAAA,QAAAT,GAAA,GAAAU,YAAA,CAAAD,GAAA,2BAAAT,GAAA,gBAAAA,GAAA,GAAAW,MAAA,CAAAX,GAAA;AAAA,SAAAU,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAwBlD,MAAMU,QAAQ,CAAC;EACpBC,WAAWA,CACDC,OAAoB,EACpBC,gBAA6B,EAC7BC,EAAU,EACVC,MAAc,EACdC,eAAuB,EACvBC,MAAc,EACdC,SAAiB,EACjBC,OAAsB,EAC9B;IAAA,KARQP,OAAoB,GAApBA,OAAoB;IAAA,KACpBC,gBAA6B,GAA7BA,gBAA6B;IAAA,KAC7BC,EAAU,GAAVA,EAAU;IAAA,KACVC,MAAc,GAAdA,MAAc;IAAA,KACdC,eAAuB,GAAvBA,eAAuB;IAAA,KACvBC,MAAc,GAAdA,MAAc;IAAA,KACdC,SAAiB,GAAjBA,SAAiB;IAAA,KACjBC,OAAsB,GAAtBA,OAAsB;IAAA9B,eAAA,gBAOhB,CAAC;IAAAA,eAAA;IAAAA,eAAA,uBA+BM,IAAI+B,OAAO,CAAQC,OAAO,IAAM,IAAI,CAACC,QAAQ,GAAGD,OAAQ,CAAC;EArC7E;EAEHE,OAAOA,CAAA,EAAG;IACR,OAAO,IAAI,CAACR,MAAM,CAACS,IAAI;EACzB;EAIA,IAAIC,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACC,KAAK;EACnB;;EAEA;EACA,IAAIC,IAAIA,CAAA,EAAG;IACT,OAAO,WAAW;EACpB;;EAEA;EACA,IAAIC,OAAOA,CAAA,EAAG;IACZ,MAAMH,IAAI,GAAG,IAAI,CAACA,IAAI,KAAK,EAAE,GAAI,IAAG,IAAI,CAACA,IAAK,EAAC,GAAG,EAAE;IACpD,OAAQ,UAAS,IAAI,CAACE,IAAK,GAAEF,IAAK,EAAC;EACrC;EAEA,IAAII,YAAYA,CAAA,EAAG;IACjB,OAAO,IAAI,CAACd,MAAM,CAACc,YAAY;EACjC;;EAEA;AACF;AACA;EACE,MAAMC,YAAYA,CAAA,EAAG;IACnB,MAAMC,OAAO,GAAG,MAAM,IAAI,CAAChB,MAAM,CAACiB,cAAc,CAACC,eAAS,CAACT,IAAI,CAAC;IAEhE,OAAO,IAAAU,uBAAS,EAAC,IAAI,CAACnB,MAAM,CAACoB,IAAI,EAAE,CAAC,MAAM,IAAI,CAACrB,EAAE,CAACsB,YAAY,CAACL,OAAO,EAAE,IAAI,CAACf,eAAe,CAAC,CAAC,EAAE,IAAI,CAACD,MAAM,CAACS,IAAI,CAAC;EACnH;EAIA,IAAIa,SAASA,CAAA,EAAG;IACd,OAAOjB,OAAO,CAACkB,GAAG,CAAC,CAAC,IAAI,CAACC,YAAY,EAAE,GAAG,IAAI,CAACpB,OAAO,CAACqB,GAAG,CAAEC,CAAC,IAAKA,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAEJ,SAAS,CAAC,CAAC,CAAC;EACnF;;EAEA;AACF;AACA;EACE,MAAMK,KAAKA,CAAC;IAAEC,YAAY;IAAEC;EAAwB,CAAC,GAAG,CAAC,CAAC,EAAE;IAC1D,MAAMC,GAAG,GAAG,IAAI,CAAChC,gBAAgB,CAACiC,SAAS,CAAC,CAAC;IAC7C,MAAM5B,SAAS,GAAI,IAAG,IAAI,CAACA,SAAU,EAAC;IACtC,MAAM6B,WAAW,GAAG,IAAAC,YAAI,EAAC,IAAI,CAACjC,MAAM,CAACoB,IAAI,EAAEjB,SAAS,CAAC;IACrD,MAAM+B,IAAI,GAAGN,YAAY,IAAII,WAAW;IACxC,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACtC,OAAO,CAACuC,YAAY,CAAC;MAAEN;IAAI,CAAC,CAAC;;IAEvD;IACA,MAAM,IAAI,CAACO,cAAc,CAACP,GAAG,EAAEK,MAAM,CAAC;;IAEtC;IACA;IACAL,GAAG,CAACQ,GAAG,CAACC,kBAAO,CAACC,MAAM,CAACN,IAAI,EAAE;MAAEO,KAAK,EAAE;IAAM,CAAC,CAAC,CAAC;IAE/C,MAAM/B,IAAI,GAAG,MAAMgC,sBAAI,CAACC,gBAAgB,CAACd,SAAS,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEnE,MAAM,IAAI,CAACe,wBAAwB,CAAC;MAAEV,IAAI;MAAExB,IAAI;MAAEoB;IAAI,CAAC,CAAC;;IAExD;IACA;IACAA,GAAG,CAACQ,GAAG,CAAC,IAAAO,oCAAQ,EAAC,YAAY,EAAE;MAAEX;IAAK,CAAC,CAAC,CAAC;IAEzCC,MAAM,CAACW,MAAM,CAACpC,IAAI,CAAC;IACnB,IAAI,CAACC,KAAK,GAAGD,IAAI;;IAEjB;IACA;IACA,IAAI,CAACR,MAAM,CAAC6C,IAAI,CAAE,gBAAe,IAAI,CAAC9C,eAAgB,yBAAwBS,IAAK,EAAC,CAAC;IAErF,IAAI,CAACH,QAAQ,CAAC,CAAC;EACjB;EAEAyC,oBAAoBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAAC5C,OAAO,CAACqB,GAAG,CAAEwB,MAAM,IAAKA,MAAM,CAACC,MAAM,CAAC;EACpD;EAEA,MAAcN,wBAAwBA,CAAC;IAAEV,IAAI;IAAExB,IAAI;IAAEoB;EAAkD,CAAC,EAAE;IAAA,IAAAqB,kBAAA;IACxG,IAAI,GAAAA,kBAAA,GAAC,IAAI,CAACrC,YAAY,cAAAqC,kBAAA,eAAjBA,kBAAA,CAAmBC,GAAG,GAAE;IAE7B,MAAMC,aAAa,GAAG,MAAM,IAAAC,oCAAmB,EAAC;MAC9CpB,IAAI;MACJxB,IAAI;MACJ6C,KAAK,EAAE,IAAI,CAACvD,MAAM,CAACS,IAAI;MACvBP,MAAM,EAAE,IAAI,CAACA;IACf,CAAC,CAAC;IAEF,IAAI,CAACmD,aAAa,EAAE;MAClB,IAAI,CAACnD,MAAM,CAACsD,IAAI,CAAC,+BAA+B,CAAC;MACjD;IACF;;IAEA;IACA1B,GAAG,CAAC2B,GAAG,CAAC,GAAG,EAAEJ,aAAa,CAAC;IAC3B,IAAI,CAACnD,MAAM,CAACwD,KAAK,CAAC,uBAAuB,CAAC;EAC5C;EAEA,MAAcrB,cAAcA,CAACP,GAAY,EAAEK,MAAc,EAAE;IACzD,MAAMwB,UAAU,GAAGC,oBAAS,CAACC,iBAAiB,CAAC,CAAC;IAChDF,UAAU,CAACG,EAAE,CAAC,OAAO,EAAGC,CAAC,IAAK,IAAI,CAAC7D,MAAM,CAAC8D,KAAK,CAACD,CAAC,CAACE,OAAO,CAAC,CAAC;IAC3D,MAAMC,YAAY,GAAG,MAAM,IAAI,CAACC,mBAAmB,CAAC,CAAC;;IAErD;IACAhC,MAAM,CAAC2B,EAAE,CAAC,SAAS,EAAE,UAAUM,GAAG,EAAEC,MAAM,EAAEC,IAAI,EAAE;MAChD,MAAMC,KAAK,GAAGL,YAAY,CAACM,IAAI,CAAEC,KAAK,IACpCA,KAAK,CAACC,OAAO,CAACC,IAAI,CAAEC,IAAI,IAAKA,IAAI,KAAK,IAAAC,0BAAiB,EAACT,GAAG,CAACU,GAAG,EAAE,GAAG,CAAC,CACvE,CAAC;MACD,IAAI,CAACP,KAAK,EAAE;MACZZ,UAAU,CAACoB,EAAE,CAACX,GAAG,EAAEC,MAAM,EAAEC,IAAI,EAAE;QAC/BvG,MAAM,EAAEwG,KAAK,CAACxG;MAChB,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFmG,YAAY,CAAC9F,OAAO,CAAEmG,KAAK,IAAK;MAC9BA,KAAK,CAACG,OAAO,CAACtG,OAAO,CAAE4G,KAAK,IAAK;QAC/BlD,GAAG,CAACQ,GAAG,CAAE,GAAE0C,KAAM,IAAG,EAAE,CAACZ,GAAG,EAAE7E,GAAG,KAAK;UAClC6E,GAAG,CAACU,GAAG,GAAGV,GAAG,CAACa,WAAW;UACzBtB,UAAU,CAACuB,GAAG,CAACd,GAAG,EAAE7E,GAAG,EAAEgF,KAAK,CAAC;QACjC,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACE,MAAMY,GAAGA,CAAC;IAAEtD;EAAwB,CAAC,GAAG,CAAC,CAAC,EAAE;IAC1C,MAAMuD,aAAa,GAAG,MAAM,IAAI,CAACC,UAAU,CAACxD,SAAS,CAAC;IACtD,MAAM,IAAI,CAACF,KAAK,CAAC;MAAEE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI;IAAE,CAAC,CAAC;IAC7C,MAAMyD,cAAc,GAAG,IAAI,CAAC3E,KAAK;IAEjC,MAAM4E,MAAM,GAAG,MAAM,IAAI,CAACxE,YAAY,CAAC,CAAC;IACxC,MAAMyE,QAAQ,GAAG,IAAAC,kBAAO,EAACF,MAAM,CAAC;IAChC,MAAMG,eAAe,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAACP,aAAa,EAAEE,cAAc,EAAEC,MAAM,CAACK,SAAS,CAAC;IACtG;IACA,MAAMA,SAAS,GAAG,KAAIC,2BAAgB,EAACH,eAAe,EAAEF,QAAQ,CAAC;IAEjE,MAAMI,SAAS,CAACjE,KAAK,CAAC,CAAC;IACvB,IAAI,CAAChB,KAAK,GAAGyE,aAAa;IAC1B,OAAOQ,SAAS;EAClB;EAEA,MAAcP,UAAUA,CAACxD,SAA6B,EAAE;IACtD,OAAOa,sBAAI,CAACC,gBAAgB,CAACd,SAAS,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EACzD;EAEA,MAAcsC,mBAAmBA,CAAA,EAA0B;IACzD,MAAM2B,eAAe,GAAG,IAAI,CAAC1F,OAAO,CAACqB,GAAG,CAAEwB,MAAM,IAAK;MACnD,OAAOA,MAAM,CAAC8C,QAAQ,GAAG9C,MAAM,CAAC8C,QAAQ,CAAC,CAAC,GAAG,EAAE;IACjD,CAAC,CAAC;IAEF,OAAO,IAAAC,iBAAO,EAAC,MAAM3F,OAAO,CAACkB,GAAG,CAACuE,eAAe,CAAC,CAAC;EACpD;EAEA,MAAcC,QAAQA,CAACrF,IAAI,GAAG,IAAI,EAAE;IAClC,MAAMwD,YAAY,GAAG,MAAM,IAAI,CAACC,mBAAmB,CAAC,CAAC;IAErD,MAAM8B,UAAwB,GAAG,CAC/B;MACEvB,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;MAC7B3G,MAAM,EAAG,UAAS,IAAI,CAAC6C,IAAK,IAAGF,IAAK,EAAC;MACrCwF,YAAY,EAAE;IAChB,CAAC,EACD;MACExB,OAAO,EAAE,CAAC,gBAAgB,CAAC;MAC3B3G,MAAM,EAAG,QAAO,IAAI,CAAC6C,IAAK,IAAGF,IAAK,EAAC;MACnCqE,EAAE,EAAE;IACN,CAAC,CACF;IAED,OAAOkB,UAAU,CAACE,MAAM,CAACjC,YAAY,CAAC;EACxC;EAEA,MAAcyB,kBAAkBA,CAC9BS,OAAe,EACfC,OAAe,EACfd,MAAyB,EACE;IAC3B,MAAMd,KAAK,GAAG,MAAM,IAAI,CAACsB,QAAQ,CAACM,OAAO,CAAC;IAC1C,MAAMC,aAAa,GAAAxI,aAAA,CAAAA,aAAA,KAAQyH,MAAM;MAAEd,KAAK;MAAE/D,IAAI,EAAE0F;IAAO,EAAE;IAEzD,OAAOE,aAAa;EACtB;EAEA,OAAOC,MAAMA,CAACC,KAAoB,EAAE;IAClC,OAAO,IAAI7G,QAAQ,CACjB6G,KAAK,CAAC3G,OAAO,EACb2G,KAAK,CAACjE,OAAO,EACbiE,KAAK,CAACzG,EAAE,EACRyG,KAAK,CAACxG,MAAM,EACZwG,KAAK,CAACvG,eAAe,EACrBuG,KAAK,CAACtG,MAAM,EACZsG,KAAK,CAACrG,SAAS,EACfqG,KAAK,CAACC,YACR,CAAC;EACH;AACF;AAACC,OAAA,CAAA/G,QAAA,GAAAA,QAAA"}
|
package/dist/ui.composition.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -12,6 +11,7 @@ function _react() {
|
|
|
12
11
|
};
|
|
13
12
|
return data;
|
|
14
13
|
}
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
const Logo = () => /*#__PURE__*/_react().default.createElement("div", {
|
|
16
16
|
style: {
|
|
17
17
|
height: '100%',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","obj","__esModule","default","Logo","createElement","style","height","display","justifyContent","width","src","exports"],"sources":["ui.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/ui.svg\" />\n </div>\n);\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEnB,MAAMG,IAAI,GAAGA,CAAA,kBAClBP,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAM;IAAEC,OAAO,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAS;AAAE,gBACxEZ,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEI,KAAK,EAAE;EAAG,CAAE;EAACC,GAAG,EAAC;AAAgD,CAAE,CAC9E,CACN;AAACC,OAAA,CAAAR,IAAA,GAAAA,IAAA"}
|
package/dist/ui.main.runtime.js
CHANGED
|
@@ -1,20 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
require("core-js/modules/es.array.iterator.js");
|
|
5
|
-
require("core-js/modules/es.array.sort.js");
|
|
6
|
-
require("core-js/modules/es.promise.js");
|
|
7
3
|
Object.defineProperty(exports, "__esModule", {
|
|
8
4
|
value: true
|
|
9
5
|
});
|
|
10
6
|
exports.UiMain = void 0;
|
|
11
|
-
function _defineProperty2() {
|
|
12
|
-
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
_defineProperty2 = function () {
|
|
14
|
-
return data;
|
|
15
|
-
};
|
|
16
|
-
return data;
|
|
17
|
-
}
|
|
18
7
|
function _fs() {
|
|
19
8
|
const data = require("fs");
|
|
20
9
|
_fs = function () {
|
|
@@ -211,6 +200,10 @@ function _bundleUi() {
|
|
|
211
200
|
};
|
|
212
201
|
return data;
|
|
213
202
|
}
|
|
203
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
204
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
205
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
206
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
214
207
|
class UiMain {
|
|
215
208
|
constructor(
|
|
216
209
|
/**
|
|
@@ -271,11 +264,11 @@ class UiMain {
|
|
|
271
264
|
this.logger = logger;
|
|
272
265
|
this.harmony = harmony;
|
|
273
266
|
this.startPluginSlot = startPluginSlot;
|
|
274
|
-
(
|
|
267
|
+
_defineProperty(this, "_isBundleUiServed", false);
|
|
275
268
|
/**
|
|
276
269
|
* Events
|
|
277
270
|
*/
|
|
278
|
-
(
|
|
271
|
+
_defineProperty(this, "createUiServerStartedEvent", (targetHost, targetPort, uiRoot) => {
|
|
279
272
|
return new (_events().UiServerStartedEvent)(Date.now(), targetHost, targetPort, uiRoot);
|
|
280
273
|
});
|
|
281
274
|
}
|
|
@@ -618,14 +611,14 @@ class UiMain {
|
|
|
618
611
|
}
|
|
619
612
|
}
|
|
620
613
|
exports.UiMain = UiMain;
|
|
621
|
-
(
|
|
614
|
+
_defineProperty(UiMain, "defaultConfig", {
|
|
622
615
|
publicDir: 'public/bit',
|
|
623
616
|
portRange: [3000, 3100],
|
|
624
617
|
host: 'localhost'
|
|
625
618
|
});
|
|
626
|
-
(
|
|
627
|
-
(
|
|
628
|
-
(
|
|
619
|
+
_defineProperty(UiMain, "runtime", _cli().MainRuntime);
|
|
620
|
+
_defineProperty(UiMain, "dependencies", [_pubsub().default, _cli().CLIAspect, _graphql().GraphqlAspect, _express().ExpressAspect, _component().ComponentAspect, _cache().CacheAspect, _logger().LoggerAspect]);
|
|
621
|
+
_defineProperty(UiMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
|
|
629
622
|
_ui().UIAspect.addRuntime(UiMain);
|
|
630
623
|
|
|
631
624
|
//# sourceMappingURL=ui.main.runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_fs","data","require","_aspectLoader","_cache","_cli","_component","_express","_graphql","_chalk","_interopRequireDefault","_harmony","_logger","_pubsub","_utils","_pMapSeries","_fsExtra","_toolboxNetwork","_path","_util","_webpack","_events","_createRoot","_exceptions","_start","_uiBuild","_uiServer","_ui","_webpackBrowser","_webpackSsr","_bundleUi","UiMain","constructor","pubsub","config","graphql","uiRootSlot","express","preStartSlot","onStartSlot","publicDirOverwriteSlot","buildMethodOverwriteSlot","componentExtension","cache","logger","harmony","startPluginSlot","_defineProperty2","default","targetHost","targetPort","uiRoot","UiServerStartedEvent","Date","now","publicDir","overwriteFn","getOverwritePublic","hasDir","startsWith","substring","getUiByName","name","roots","toArray","root","find","build","uiRootName","customOutputPath","_uiRoot$buildOptions","debug","maybeUiRoot","getUi","UnknownUI","possibleUis","ssr","buildOptions","mainEntry","generateRoot","resolveAspects","UIRuntime","outputPath","path","browserConfig","createWebpackConfig","ssrConfig","createSsrWebpackConfig","filter","x","compiler","webpack","compilerRun","promisify","run","bind","results","UnknownBuildError","hasErrors","clearConsole","Error","toString","registerStartPlugin","startPlugin","register","initiatePlugins","options","plugins","values","pMapSeries","plugin","initiate","createRuntime","pattern","dev","port","rebuild","verbose","skipUiBuild","isHost","setHostPriority","uiServer","UIServer","create","uiRootExtension","ui","startPlugins","addSignalListener","portRange","buildUI","bundleUiPath","getBundleUiPath","bundleUiPublicPath","join","undefined","bundleUiRoot","_isBundleUiServed","existsSync","start","pub","UIAspect","id","createUiServerStartedEvent","host","process","on","exit","getPort","selectPort","registerPreStart","preStartFn","registerOnStart","onStartFn","registerBuildUIOverwrite","fn","registerPublicDirOverwrite","getOverwriteBuildFn","buildMethodOverwrite","overwritePublic","invokePreStart","preStartOpts","onPreStartFuncs","invokeOnStart","onStartFuncs","registerUiRoot","get","uis","length","priority","isHostAvailable","Boolean","getHost","getUiName","map","createLink","aspectDefs","rootExtensionName","createRoot","runtimeName","rootAspect","ignoreVersion","contents","toObject","filepath","resolve","__dirname","sha1","fs","outputFileSync","from","to","usedPorts","Port","set","concat","overwrite","shouldServeBundleUi","buildIfChanged","buildIfNoBundle","force","_uiRoot$buildOptions2","prebundle","currentBundleUiHash","createBundleUiHash","cachedBundleUiHash","readBundleUiHash","isLocalBuildAvailable","currentBuildUiHash","createBuildUiHash","cachedBuildUiHash","console","chalk","cyan","configFile","runtime","aspects","sort","a","b","aspectPath","aspectPathStrings","aspect","runtimePath","buildUiHash","getId","aspectIds","bundleUiPathFromBvm","hashFilePath","BUNDLE_UI_HASH_FILENAME","readFileSync","uiPathFromBvm","getAspectDirFromBvm","BundleUiTask","getArtifactDirectory","err","info","_config$output","output","pathExistsSync","hash","stdout","write","platform","publicUrl","provider","cli","loggerMain","proxyGetterSlot","createLogger","StartCmd","UIBuildCmd","exports","MainRuntime","PubsubAspect","CLIAspect","GraphqlAspect","ExpressAspect","ComponentAspect","CacheAspect","LoggerAspect","Slot","withType","addRuntime"],"sources":["ui.main.runtime.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'fs';\nimport { ComponentType } from 'react';\nimport type { AspectMain } from '@teambit/aspect';\nimport { AspectDefinition, getAspectDirFromBvm } from '@teambit/aspect-loader';\nimport { CacheAspect, CacheMain } from '@teambit/cache';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport type { ComponentMain } from '@teambit/component';\nimport { ComponentAspect } from '@teambit/component';\nimport { ExpressAspect, ExpressMain } from '@teambit/express';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport chalk from 'chalk';\nimport { Slot, SlotRegistry, Harmony } from '@teambit/harmony';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport PubsubAspect, { PubsubMain } from '@teambit/pubsub';\nimport { sha1 } from '@teambit/legacy/dist/utils';\nimport pMapSeries from 'p-map-series';\nimport fs from 'fs-extra';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport { join, resolve } from 'path';\nimport { promisify } from 'util';\nimport webpack from 'webpack';\nimport { UiServerStartedEvent } from './events';\nimport { createRoot } from './create-root';\nimport { UnknownUI, UnknownBuildError } from './exceptions';\nimport { StartCmd } from './start.cmd';\nimport { UIBuildCmd } from './ui-build.cmd';\nimport { UIRoot } from './ui-root';\nimport { UIServer } from './ui-server';\nimport { UIAspect, UIRuntime } from './ui.aspect';\nimport createWebpackConfig from './webpack/webpack.browser.config';\nimport createSsrWebpackConfig from './webpack/webpack.ssr.config';\nimport { StartPlugin, StartPluginOptions } from './start-plugin';\nimport { BundleUiTask, BUNDLE_UI_HASH_FILENAME } from './bundle-ui.task';\n\nexport type UIDeps = [PubsubMain, CLIMain, GraphqlMain, ExpressMain, ComponentMain, CacheMain, LoggerMain, AspectMain];\n\nexport type UIRootRegistry = SlotRegistry<UIRoot>;\n\nexport type PreStart = (preStartOpts: PreStartOpts) => Promise<void>;\n\nexport type PreStartOpts = { skipCompilation?: boolean };\n\nexport type OnStart = () => Promise<undefined | ComponentType<{}>>;\n\nexport type StartPluginSlot = SlotRegistry<StartPlugin>;\n\nexport type PublicDirOverwrite = (uiRoot: UIRoot) => Promise<string | undefined>;\n\nexport type BuildMethodOverwrite = (name: string, uiRoot: UIRoot, rebuild?: boolean) => Promise<string>;\n\nexport type PreStartSlot = SlotRegistry<PreStart>;\n\nexport type OnStartSlot = SlotRegistry<OnStart>;\n\nexport type PublicDirOverwriteSlot = SlotRegistry<PublicDirOverwrite>;\n\nexport type BuildMethodOverwriteSlot = SlotRegistry<BuildMethodOverwrite>;\n\nexport type UIConfig = {\n /**\n * port for the UI root to use.\n */\n port?: number;\n\n /**\n * port range for the UI root to use.\n */\n portRange: [number, number];\n\n /**\n * host for the UI root\n */\n host: string;\n\n /**\n * directory in workspace to use for public assets.\n * always relative to the workspace root directory.\n */\n publicDir: string;\n\n /** the url to display when server is listening. Note that bit does not provide proxying to this url */\n publicUrl?: string;\n};\n\nexport type RuntimeOptions = {\n /**\n * determine whether to initiate on verbose mode.\n */\n verbose?: boolean;\n\n /**\n * name of the UI root to load.\n */\n uiRootName?: string;\n\n /**\n * component selector pattern to load.\n */\n pattern?: string;\n\n /**\n * determine whether to start a dev server (defaults to false).\n */\n dev?: boolean;\n\n /**\n * port of the config.\n */\n port?: number;\n\n /**\n * determine whether to rebuild the UI before start.\n */\n rebuild?: boolean;\n\n /**\n * skip build the UI before start\n */\n skipUiBuild?: boolean;\n};\n\nexport class UiMain {\n private _isBundleUiServed = false;\n\n constructor(\n /**\n * Pubsub extension.\n */\n private pubsub: PubsubMain,\n\n private config: UIConfig,\n\n /**\n * graphql extension.\n */\n private graphql: GraphqlMain,\n\n /**\n * slot registry of ui roots.\n */\n private uiRootSlot: UIRootRegistry,\n\n /**\n * express extension.\n */\n private express: ExpressMain,\n\n /**\n * pre-start slot\n */\n private preStartSlot: PreStartSlot,\n\n /**\n * on start slot\n */\n private onStartSlot: OnStartSlot,\n\n /**\n * Overwrite the public dir Slot\n */\n private publicDirOverwriteSlot: PublicDirOverwriteSlot,\n\n /**\n * Overwrite the build ui method\n */\n private buildMethodOverwriteSlot: BuildMethodOverwriteSlot,\n\n /**\n * component extension.\n */\n private componentExtension: ComponentMain,\n\n /**\n * ui logger instance.\n */\n private cache: CacheMain,\n\n /**\n * ui logger instance.\n */\n private logger: Logger,\n\n private harmony: Harmony,\n\n private startPluginSlot: StartPluginSlot\n ) {}\n\n async publicDir(uiRoot: UIRoot) {\n const overwriteFn = this.getOverwritePublic();\n if (overwriteFn) {\n const hasDir = await overwriteFn(uiRoot);\n if (hasDir) return hasDir;\n }\n\n if (this.config.publicDir.startsWith('/')) {\n return this.config.publicDir.substring(1);\n }\n\n return this.config.publicDir;\n }\n\n private getUiByName(name: string) {\n const roots = this.uiRootSlot.toArray();\n const [, root] =\n roots.find(([, uiRoot]) => {\n return uiRoot.name === name;\n }) || [];\n\n return root;\n }\n\n /**\n * create a build of the given UI root.\n */\n async build(uiRootName?: string, customOutputPath?: string): Promise<webpack.MultiStats | undefined> {\n // TODO: change to MultiStats from webpack once they export it in their types\n this.logger.debug(`build, uiRootName: \"${uiRootName}\"`);\n const maybeUiRoot = this.getUi(uiRootName);\n\n if (!maybeUiRoot) throw new UnknownUI(uiRootName, this.possibleUis());\n const [name, uiRoot] = maybeUiRoot;\n\n // TODO: @uri refactor all dev server related code to use the bundler extension instead.\n const ssr = uiRoot.buildOptions?.ssr || false;\n const mainEntry = await this.generateRoot(await uiRoot.resolveAspects(UIRuntime.name), name);\n const outputPath = customOutputPath || uiRoot.path;\n\n const browserConfig = createWebpackConfig(outputPath, [mainEntry], uiRoot.name, await this.publicDir(uiRoot));\n const ssrConfig = ssr && createSsrWebpackConfig(outputPath, [mainEntry], await this.publicDir(uiRoot));\n\n const config = [browserConfig, ssrConfig].filter((x) => !!x) as webpack.Configuration[];\n const compiler = webpack(config);\n this.logger.debug(`build, uiRootName: \"${uiRootName}\" running webpack`);\n const compilerRun = promisify(compiler.run.bind(compiler));\n const results = await compilerRun();\n this.logger.debug(`build, uiRootName: \"${uiRootName}\" completed webpack`);\n if (!results) throw new UnknownBuildError();\n if (results?.hasErrors()) {\n this.clearConsole();\n throw new Error(results?.toString());\n }\n\n return results;\n }\n\n registerStartPlugin(startPlugin: StartPlugin) {\n this.startPluginSlot.register(startPlugin);\n return this;\n }\n\n private async initiatePlugins(options: StartPluginOptions) {\n const plugins = this.startPluginSlot.values();\n await pMapSeries(plugins, (plugin) => plugin.initiate(options));\n return plugins;\n }\n\n /**\n * create a Bit UI runtime.\n */\n async createRuntime({ uiRootName, pattern, dev, port, rebuild, verbose, skipUiBuild }: RuntimeOptions) {\n const maybeUiRoot = this.getUi(uiRootName);\n if (!maybeUiRoot) throw new UnknownUI(uiRootName, this.possibleUis());\n\n const [name, uiRoot] = maybeUiRoot;\n\n const plugins = await this.initiatePlugins({\n verbose,\n pattern,\n });\n\n if (this.componentExtension.isHost(name)) this.componentExtension.setHostPriority(name);\n\n const publicDir = await this.publicDir(uiRoot);\n const uiServer = UIServer.create({\n express: this.express,\n graphql: this.graphql,\n uiRoot,\n uiRootExtension: name,\n ui: this,\n logger: this.logger,\n publicDir,\n startPlugins: plugins,\n });\n\n // Adding signal listeners to make sure we immediately close the process on sigint / sigterm (otherwise webpack dev server closing will take time)\n this.addSignalListener();\n if (dev) {\n await uiServer.dev({ portRange: port || this.config.portRange });\n } else {\n if (!skipUiBuild) await this.buildUI(name, uiRoot, rebuild);\n const bundleUiPath = this.getBundleUiPath();\n const bundleUiPublicPath = bundleUiPath ? join(bundleUiPath, publicDir) : undefined;\n const bundleUiRoot =\n this._isBundleUiServed && bundleUiPublicPath && existsSync(bundleUiPublicPath || '')\n ? bundleUiPublicPath\n : undefined;\n await uiServer.start({ portRange: port || this.config.portRange, bundleUiRoot });\n }\n\n this.pubsub.pub(UIAspect.id, this.createUiServerStartedEvent(this.config.host, uiServer.port, uiRoot));\n\n return uiServer;\n }\n\n private addSignalListener() {\n process.on('SIGTERM', () => {\n process.exit();\n });\n\n process.on('SIGINT', () => {\n process.exit();\n });\n }\n\n async getPort(port?: number): Promise<number> {\n if (port) return port;\n return this.config.port || this.selectPort();\n }\n\n /**\n * Events\n */\n private createUiServerStartedEvent = (targetHost, targetPort, uiRoot) => {\n return new UiServerStartedEvent(Date.now(), targetHost, targetPort, uiRoot);\n };\n\n /**\n * pre-start events are triggered and *completed* before the webserver started.\n * (the promise is awaited)\n */\n registerPreStart(preStartFn: PreStart) {\n this.preStartSlot.register(preStartFn);\n }\n\n /**\n * bind to ui server start event.\n */\n registerOnStart(onStartFn: OnStart) {\n this.onStartSlot.register(onStartFn);\n return this;\n }\n\n /**\n * overwrite the build ui function\n */\n registerBuildUIOverwrite(fn: BuildMethodOverwrite) {\n this.buildMethodOverwriteSlot.register(fn);\n return this;\n }\n\n /**\n * overwrite the build ui function\n */\n registerPublicDirOverwrite(fn: PublicDirOverwrite) {\n this.publicDirOverwriteSlot.register(fn);\n return this;\n }\n\n private getOverwriteBuildFn() {\n const buildMethodOverwrite = this.buildMethodOverwriteSlot.toArray();\n if (buildMethodOverwrite[0]) {\n const [, fn] = buildMethodOverwrite[0];\n return fn;\n }\n return undefined;\n }\n\n private getOverwritePublic() {\n const overwritePublic = this.publicDirOverwriteSlot.toArray();\n if (overwritePublic[0]) {\n const [, fn] = overwritePublic[0];\n return fn;\n }\n return undefined;\n }\n\n async invokePreStart(preStartOpts: PreStartOpts): Promise<void> {\n const onPreStartFuncs = this.preStartSlot.values();\n await pMapSeries(onPreStartFuncs, async (fn) => fn(preStartOpts));\n }\n\n async invokeOnStart(): Promise<ComponentType[]> {\n const onStartFuncs = this.onStartSlot.values();\n const startPlugins = await pMapSeries(onStartFuncs, async (fn) => fn());\n return startPlugins.filter((plugin) => !!plugin) as ComponentType[];\n }\n\n /**\n * register a UI slot.\n */\n registerUiRoot(uiRoot: UIRoot) {\n return this.uiRootSlot.register(uiRoot);\n }\n\n /**\n * get a UI runtime instance.\n */\n getUi(uiRootName?: string): [string, UIRoot] | undefined {\n if (uiRootName) {\n const root = this.uiRootSlot.get(uiRootName) || this.getUiByName(uiRootName);\n if (!root) return undefined;\n return [uiRootName, root];\n }\n const uis = this.uiRootSlot.toArray();\n if (uis.length === 1) return uis[0];\n return uis.find(([, root]) => root.priority);\n }\n\n isHostAvailable(): boolean {\n return Boolean(this.componentExtension.getHost());\n }\n\n getUiName(uiRootName?: string): string | undefined {\n const [, ui] = this.getUi(uiRootName) || [];\n if (!ui) return undefined;\n\n return ui.name;\n }\n\n private possibleUis() {\n return this.uiRootSlot.toArray().map(([id]) => id);\n }\n\n createLink(aspectDefs: AspectDefinition[], rootExtensionName: string) {\n return createRoot(aspectDefs, rootExtensionName);\n }\n\n /**\n * generate the root file of the UI runtime.\n */\n async generateRoot(\n aspectDefs: AspectDefinition[],\n rootExtensionName: string,\n runtimeName = UIRuntime.name,\n rootAspect = UIAspect.id,\n config?: object,\n path?: string,\n ignoreVersion?: boolean\n ) {\n const contents = await createRoot(\n aspectDefs,\n rootExtensionName,\n rootAspect,\n runtimeName,\n config || this.harmony.config.toObject(),\n ignoreVersion\n );\n const filepath = resolve(join(path || __dirname, `${runtimeName}.root${sha1(contents)}.js`));\n if (fs.existsSync(filepath)) return filepath;\n fs.outputFileSync(filepath, contents);\n return filepath;\n }\n\n private async selectPort() {\n const [from, to] = this.config.portRange;\n const usedPorts = (await this.cache.get<number[]>(`${from}${to}`)) || [];\n const port = await Port.getPort(from, to, usedPorts);\n // this will lock the port for 1 min to avoid race conditions\n await this.cache.set(`${from}${to}`, usedPorts.concat(port), 5000);\n return port;\n }\n\n private async buildUI(name: string, uiRoot: UIRoot, rebuild?: boolean): Promise<string> {\n this.logger.debug(`buildUI, name ${name}`);\n\n const overwrite = this.getOverwriteBuildFn();\n if (overwrite) return overwrite(name, uiRoot, rebuild);\n\n this._isBundleUiServed = await this.shouldServeBundleUi(uiRoot, rebuild);\n await this.buildIfChanged(name, uiRoot, rebuild);\n await this.buildIfNoBundle(name, uiRoot);\n return '';\n }\n\n private async shouldServeBundleUi(uiRoot: UIRoot, force: boolean | undefined): Promise<boolean> {\n if (!uiRoot.buildOptions?.prebundle) {\n return false;\n }\n\n const currentBundleUiHash = await this.createBundleUiHash(uiRoot);\n const cachedBundleUiHash = this.readBundleUiHash();\n const isLocalBuildAvailable = existsSync(join(uiRoot.path, await this.publicDir(uiRoot)));\n\n return currentBundleUiHash === cachedBundleUiHash && !isLocalBuildAvailable && !force;\n }\n\n async buildIfChanged(name: string, uiRoot: UIRoot, force: boolean | undefined): Promise<boolean> {\n this.logger.debug(`buildIfChanged, name ${name}`);\n\n if (this._isBundleUiServed) {\n this.logger.debug(`buildIfChanged, name ${name}, returned from ui bundle cache`);\n return false;\n }\n\n const currentBuildUiHash = await this.createBuildUiHash(uiRoot);\n const cachedBuildUiHash = await this.cache.get(uiRoot.path);\n if (currentBuildUiHash === cachedBuildUiHash && !force) {\n this.logger.debug(`buildIfChanged, name ${name}, returned from ui build cache`);\n return false;\n }\n\n if (!cachedBuildUiHash) {\n this.logger.console(\n `Building UI assets for '${chalk.cyan(uiRoot.name)}' in target directory: ${chalk.cyan(\n await this.publicDir(uiRoot)\n )}. The first time we build the UI it may take a few minutes.`\n );\n } else {\n this.logger.console(\n `Rebuilding UI assets for '${chalk.cyan(uiRoot.name)} in target directory: ${chalk.cyan(\n await this.publicDir(uiRoot)\n )}' as ${uiRoot.configFile} has been changed.`\n );\n }\n\n await this.build(name);\n await this.cache.set(uiRoot.path, currentBuildUiHash);\n return true;\n }\n\n private async createBuildUiHash(uiRoot: UIRoot, runtime = 'ui'): Promise<string> {\n const aspects = await uiRoot.resolveAspects(runtime);\n aspects.sort((a, b) => (a.aspectPath > b.aspectPath ? 1 : -1));\n const aspectPathStrings = aspects.map((aspect) => {\n return [aspect.aspectPath, aspect.runtimePath].join('');\n });\n return sha1(aspectPathStrings.join(''));\n }\n\n /**\n * Generate hash for a given root\n * This API is public and used by external users, do not rename this function\n */\n async buildUiHash(uiRoot: UIRoot, runtime = 'ui'): Promise<string> {\n return this.createBuildUiHash(uiRoot, runtime);\n }\n\n async createBundleUiHash(uiRoot: UIRoot, runtime = 'ui'): Promise<string> {\n const aspects = await uiRoot.resolveAspects(runtime);\n aspects.sort((a, b) => ((a.getId || a.aspectPath) > (b.getId || b.aspectPath) ? 1 : -1));\n const aspectIds = aspects.map((aspect) => aspect.getId || aspect.aspectPath);\n return sha1(aspectIds.join(''));\n }\n\n private readBundleUiHash() {\n const bundleUiPathFromBvm = this.getBundleUiPath();\n if (!bundleUiPathFromBvm) {\n return '';\n }\n const hashFilePath = join(bundleUiPathFromBvm, BUNDLE_UI_HASH_FILENAME);\n if (existsSync(hashFilePath)) {\n return readFileSync(hashFilePath).toString();\n }\n return '';\n }\n\n private getBundleUiPath(): string | undefined {\n try {\n const uiPathFromBvm = getAspectDirFromBvm(UIAspect.id);\n return join(uiPathFromBvm, BundleUiTask.getArtifactDirectory());\n } catch (err) {\n this.logger.info(`getBundleUiPath, getAspectDirFromBvm failed with err: ${err}`);\n return undefined;\n }\n }\n\n private async buildIfNoBundle(name: string, uiRoot: UIRoot): Promise<boolean> {\n if (this._isBundleUiServed) return false;\n\n const config = createWebpackConfig(\n uiRoot.path,\n [await this.generateRoot(await uiRoot.resolveAspects(UIRuntime.name), name)],\n uiRoot.name,\n await this.publicDir(uiRoot)\n );\n if (config.output?.path && fs.pathExistsSync(config.output.path)) return false;\n const hash = await this.createBuildUiHash(uiRoot);\n await this.build(name);\n await this.cache.set(uiRoot.path, hash);\n return true;\n }\n\n clearConsole() {\n process.stdout.write(process.platform === 'win32' ? '\\x1B[2J\\x1B[0f' : '\\x1B[2J\\x1B[3J\\x1B[H');\n }\n\n get publicUrl() {\n return this.config.publicUrl;\n }\n\n static defaultConfig: UIConfig = {\n publicDir: 'public/bit',\n portRange: [3000, 3100],\n host: 'localhost',\n };\n\n static runtime = MainRuntime;\n static dependencies = [\n PubsubAspect,\n CLIAspect,\n GraphqlAspect,\n ExpressAspect,\n ComponentAspect,\n CacheAspect,\n LoggerAspect,\n ];\n\n static slots = [\n Slot.withType<UIRoot>(),\n Slot.withType<PreStart>(),\n Slot.withType<OnStart>(),\n Slot.withType<PublicDirOverwriteSlot>(),\n Slot.withType<BuildMethodOverwriteSlot>(),\n Slot.withType<StartPlugin>(),\n ];\n\n static async provider(\n [pubsub, cli, graphql, express, componentExtension, cache, loggerMain]: UIDeps,\n config,\n [uiRootSlot, preStartSlot, onStartSlot, publicDirOverwriteSlot, buildMethodOverwriteSlot, proxyGetterSlot]: [\n UIRootRegistry,\n PreStartSlot,\n OnStartSlot,\n PublicDirOverwriteSlot,\n BuildMethodOverwriteSlot,\n StartPluginSlot\n ],\n harmony: Harmony\n ) {\n // aspectExtension.registerRuntime(new RuntimeDefinition('ui', []))\n const logger = loggerMain.createLogger(UIAspect.id);\n\n const ui = new UiMain(\n pubsub,\n config,\n graphql,\n uiRootSlot,\n express,\n preStartSlot,\n onStartSlot,\n publicDirOverwriteSlot,\n buildMethodOverwriteSlot,\n componentExtension,\n cache,\n logger,\n harmony,\n proxyGetterSlot\n );\n\n cli.register(new StartCmd(ui, logger), new UIBuildCmd(ui));\n\n return ui;\n }\n}\n\nUIAspect.addRuntime(UiMain);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_fs","data","require","_aspectLoader","_cache","_cli","_component","_express","_graphql","_chalk","_interopRequireDefault","_harmony","_logger","_pubsub","_utils","_pMapSeries","_fsExtra","_toolboxNetwork","_path","_util","_webpack","_events","_createRoot","_exceptions","_start","_uiBuild","_uiServer","_ui","_webpackBrowser","_webpackSsr","_bundleUi","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","UiMain","constructor","pubsub","config","graphql","uiRootSlot","express","preStartSlot","onStartSlot","publicDirOverwriteSlot","buildMethodOverwriteSlot","componentExtension","cache","logger","harmony","startPluginSlot","targetHost","targetPort","uiRoot","UiServerStartedEvent","Date","now","publicDir","overwriteFn","getOverwritePublic","hasDir","startsWith","substring","getUiByName","name","roots","toArray","root","find","build","uiRootName","customOutputPath","_uiRoot$buildOptions","debug","maybeUiRoot","getUi","UnknownUI","possibleUis","ssr","buildOptions","mainEntry","generateRoot","resolveAspects","UIRuntime","outputPath","path","browserConfig","createWebpackConfig","ssrConfig","createSsrWebpackConfig","filter","x","compiler","webpack","compilerRun","promisify","run","bind","results","UnknownBuildError","hasErrors","clearConsole","Error","toString","registerStartPlugin","startPlugin","register","initiatePlugins","options","plugins","values","pMapSeries","plugin","initiate","createRuntime","pattern","dev","port","rebuild","verbose","skipUiBuild","isHost","setHostPriority","uiServer","UIServer","create","uiRootExtension","ui","startPlugins","addSignalListener","portRange","buildUI","bundleUiPath","getBundleUiPath","bundleUiPublicPath","join","bundleUiRoot","_isBundleUiServed","existsSync","start","pub","UIAspect","id","createUiServerStartedEvent","host","process","on","exit","getPort","selectPort","registerPreStart","preStartFn","registerOnStart","onStartFn","registerBuildUIOverwrite","fn","registerPublicDirOverwrite","getOverwriteBuildFn","buildMethodOverwrite","overwritePublic","invokePreStart","preStartOpts","onPreStartFuncs","invokeOnStart","onStartFuncs","registerUiRoot","get","uis","length","priority","isHostAvailable","Boolean","getHost","getUiName","map","createLink","aspectDefs","rootExtensionName","createRoot","runtimeName","rootAspect","ignoreVersion","contents","toObject","filepath","resolve","__dirname","sha1","fs","outputFileSync","from","to","usedPorts","Port","set","concat","overwrite","shouldServeBundleUi","buildIfChanged","buildIfNoBundle","force","_uiRoot$buildOptions2","prebundle","currentBundleUiHash","createBundleUiHash","cachedBundleUiHash","readBundleUiHash","isLocalBuildAvailable","currentBuildUiHash","createBuildUiHash","cachedBuildUiHash","console","chalk","cyan","configFile","runtime","aspects","sort","a","b","aspectPath","aspectPathStrings","aspect","runtimePath","buildUiHash","getId","aspectIds","bundleUiPathFromBvm","hashFilePath","BUNDLE_UI_HASH_FILENAME","readFileSync","uiPathFromBvm","getAspectDirFromBvm","BundleUiTask","getArtifactDirectory","err","info","_config$output","output","pathExistsSync","hash","stdout","write","platform","publicUrl","provider","cli","loggerMain","proxyGetterSlot","createLogger","StartCmd","UIBuildCmd","exports","MainRuntime","PubsubAspect","CLIAspect","GraphqlAspect","ExpressAspect","ComponentAspect","CacheAspect","LoggerAspect","Slot","withType","addRuntime"],"sources":["ui.main.runtime.ts"],"sourcesContent":["import { existsSync, readFileSync } from 'fs';\nimport { ComponentType } from 'react';\nimport type { AspectMain } from '@teambit/aspect';\nimport { AspectDefinition, getAspectDirFromBvm } from '@teambit/aspect-loader';\nimport { CacheAspect, CacheMain } from '@teambit/cache';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport type { ComponentMain } from '@teambit/component';\nimport { ComponentAspect } from '@teambit/component';\nimport { ExpressAspect, ExpressMain } from '@teambit/express';\nimport type { GraphqlMain } from '@teambit/graphql';\nimport { GraphqlAspect } from '@teambit/graphql';\nimport chalk from 'chalk';\nimport { Slot, SlotRegistry, Harmony } from '@teambit/harmony';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport PubsubAspect, { PubsubMain } from '@teambit/pubsub';\nimport { sha1 } from '@teambit/legacy/dist/utils';\nimport pMapSeries from 'p-map-series';\nimport fs from 'fs-extra';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport { join, resolve } from 'path';\nimport { promisify } from 'util';\nimport webpack from 'webpack';\nimport { UiServerStartedEvent } from './events';\nimport { createRoot } from './create-root';\nimport { UnknownUI, UnknownBuildError } from './exceptions';\nimport { StartCmd } from './start.cmd';\nimport { UIBuildCmd } from './ui-build.cmd';\nimport { UIRoot } from './ui-root';\nimport { UIServer } from './ui-server';\nimport { UIAspect, UIRuntime } from './ui.aspect';\nimport createWebpackConfig from './webpack/webpack.browser.config';\nimport createSsrWebpackConfig from './webpack/webpack.ssr.config';\nimport { StartPlugin, StartPluginOptions } from './start-plugin';\nimport { BundleUiTask, BUNDLE_UI_HASH_FILENAME } from './bundle-ui.task';\n\nexport type UIDeps = [PubsubMain, CLIMain, GraphqlMain, ExpressMain, ComponentMain, CacheMain, LoggerMain, AspectMain];\n\nexport type UIRootRegistry = SlotRegistry<UIRoot>;\n\nexport type PreStart = (preStartOpts: PreStartOpts) => Promise<void>;\n\nexport type PreStartOpts = { skipCompilation?: boolean };\n\nexport type OnStart = () => Promise<undefined | ComponentType<{}>>;\n\nexport type StartPluginSlot = SlotRegistry<StartPlugin>;\n\nexport type PublicDirOverwrite = (uiRoot: UIRoot) => Promise<string | undefined>;\n\nexport type BuildMethodOverwrite = (name: string, uiRoot: UIRoot, rebuild?: boolean) => Promise<string>;\n\nexport type PreStartSlot = SlotRegistry<PreStart>;\n\nexport type OnStartSlot = SlotRegistry<OnStart>;\n\nexport type PublicDirOverwriteSlot = SlotRegistry<PublicDirOverwrite>;\n\nexport type BuildMethodOverwriteSlot = SlotRegistry<BuildMethodOverwrite>;\n\nexport type UIConfig = {\n /**\n * port for the UI root to use.\n */\n port?: number;\n\n /**\n * port range for the UI root to use.\n */\n portRange: [number, number];\n\n /**\n * host for the UI root\n */\n host: string;\n\n /**\n * directory in workspace to use for public assets.\n * always relative to the workspace root directory.\n */\n publicDir: string;\n\n /** the url to display when server is listening. Note that bit does not provide proxying to this url */\n publicUrl?: string;\n};\n\nexport type RuntimeOptions = {\n /**\n * determine whether to initiate on verbose mode.\n */\n verbose?: boolean;\n\n /**\n * name of the UI root to load.\n */\n uiRootName?: string;\n\n /**\n * component selector pattern to load.\n */\n pattern?: string;\n\n /**\n * determine whether to start a dev server (defaults to false).\n */\n dev?: boolean;\n\n /**\n * port of the config.\n */\n port?: number;\n\n /**\n * determine whether to rebuild the UI before start.\n */\n rebuild?: boolean;\n\n /**\n * skip build the UI before start\n */\n skipUiBuild?: boolean;\n};\n\nexport class UiMain {\n private _isBundleUiServed = false;\n\n constructor(\n /**\n * Pubsub extension.\n */\n private pubsub: PubsubMain,\n\n private config: UIConfig,\n\n /**\n * graphql extension.\n */\n private graphql: GraphqlMain,\n\n /**\n * slot registry of ui roots.\n */\n private uiRootSlot: UIRootRegistry,\n\n /**\n * express extension.\n */\n private express: ExpressMain,\n\n /**\n * pre-start slot\n */\n private preStartSlot: PreStartSlot,\n\n /**\n * on start slot\n */\n private onStartSlot: OnStartSlot,\n\n /**\n * Overwrite the public dir Slot\n */\n private publicDirOverwriteSlot: PublicDirOverwriteSlot,\n\n /**\n * Overwrite the build ui method\n */\n private buildMethodOverwriteSlot: BuildMethodOverwriteSlot,\n\n /**\n * component extension.\n */\n private componentExtension: ComponentMain,\n\n /**\n * ui logger instance.\n */\n private cache: CacheMain,\n\n /**\n * ui logger instance.\n */\n private logger: Logger,\n\n private harmony: Harmony,\n\n private startPluginSlot: StartPluginSlot\n ) {}\n\n async publicDir(uiRoot: UIRoot) {\n const overwriteFn = this.getOverwritePublic();\n if (overwriteFn) {\n const hasDir = await overwriteFn(uiRoot);\n if (hasDir) return hasDir;\n }\n\n if (this.config.publicDir.startsWith('/')) {\n return this.config.publicDir.substring(1);\n }\n\n return this.config.publicDir;\n }\n\n private getUiByName(name: string) {\n const roots = this.uiRootSlot.toArray();\n const [, root] =\n roots.find(([, uiRoot]) => {\n return uiRoot.name === name;\n }) || [];\n\n return root;\n }\n\n /**\n * create a build of the given UI root.\n */\n async build(uiRootName?: string, customOutputPath?: string): Promise<webpack.MultiStats | undefined> {\n // TODO: change to MultiStats from webpack once they export it in their types\n this.logger.debug(`build, uiRootName: \"${uiRootName}\"`);\n const maybeUiRoot = this.getUi(uiRootName);\n\n if (!maybeUiRoot) throw new UnknownUI(uiRootName, this.possibleUis());\n const [name, uiRoot] = maybeUiRoot;\n\n // TODO: @uri refactor all dev server related code to use the bundler extension instead.\n const ssr = uiRoot.buildOptions?.ssr || false;\n const mainEntry = await this.generateRoot(await uiRoot.resolveAspects(UIRuntime.name), name);\n const outputPath = customOutputPath || uiRoot.path;\n\n const browserConfig = createWebpackConfig(outputPath, [mainEntry], uiRoot.name, await this.publicDir(uiRoot));\n const ssrConfig = ssr && createSsrWebpackConfig(outputPath, [mainEntry], await this.publicDir(uiRoot));\n\n const config = [browserConfig, ssrConfig].filter((x) => !!x) as webpack.Configuration[];\n const compiler = webpack(config);\n this.logger.debug(`build, uiRootName: \"${uiRootName}\" running webpack`);\n const compilerRun = promisify(compiler.run.bind(compiler));\n const results = await compilerRun();\n this.logger.debug(`build, uiRootName: \"${uiRootName}\" completed webpack`);\n if (!results) throw new UnknownBuildError();\n if (results?.hasErrors()) {\n this.clearConsole();\n throw new Error(results?.toString());\n }\n\n return results;\n }\n\n registerStartPlugin(startPlugin: StartPlugin) {\n this.startPluginSlot.register(startPlugin);\n return this;\n }\n\n private async initiatePlugins(options: StartPluginOptions) {\n const plugins = this.startPluginSlot.values();\n await pMapSeries(plugins, (plugin) => plugin.initiate(options));\n return plugins;\n }\n\n /**\n * create a Bit UI runtime.\n */\n async createRuntime({ uiRootName, pattern, dev, port, rebuild, verbose, skipUiBuild }: RuntimeOptions) {\n const maybeUiRoot = this.getUi(uiRootName);\n if (!maybeUiRoot) throw new UnknownUI(uiRootName, this.possibleUis());\n\n const [name, uiRoot] = maybeUiRoot;\n\n const plugins = await this.initiatePlugins({\n verbose,\n pattern,\n });\n\n if (this.componentExtension.isHost(name)) this.componentExtension.setHostPriority(name);\n\n const publicDir = await this.publicDir(uiRoot);\n const uiServer = UIServer.create({\n express: this.express,\n graphql: this.graphql,\n uiRoot,\n uiRootExtension: name,\n ui: this,\n logger: this.logger,\n publicDir,\n startPlugins: plugins,\n });\n\n // Adding signal listeners to make sure we immediately close the process on sigint / sigterm (otherwise webpack dev server closing will take time)\n this.addSignalListener();\n if (dev) {\n await uiServer.dev({ portRange: port || this.config.portRange });\n } else {\n if (!skipUiBuild) await this.buildUI(name, uiRoot, rebuild);\n const bundleUiPath = this.getBundleUiPath();\n const bundleUiPublicPath = bundleUiPath ? join(bundleUiPath, publicDir) : undefined;\n const bundleUiRoot =\n this._isBundleUiServed && bundleUiPublicPath && existsSync(bundleUiPublicPath || '')\n ? bundleUiPublicPath\n : undefined;\n await uiServer.start({ portRange: port || this.config.portRange, bundleUiRoot });\n }\n\n this.pubsub.pub(UIAspect.id, this.createUiServerStartedEvent(this.config.host, uiServer.port, uiRoot));\n\n return uiServer;\n }\n\n private addSignalListener() {\n process.on('SIGTERM', () => {\n process.exit();\n });\n\n process.on('SIGINT', () => {\n process.exit();\n });\n }\n\n async getPort(port?: number): Promise<number> {\n if (port) return port;\n return this.config.port || this.selectPort();\n }\n\n /**\n * Events\n */\n private createUiServerStartedEvent = (targetHost, targetPort, uiRoot) => {\n return new UiServerStartedEvent(Date.now(), targetHost, targetPort, uiRoot);\n };\n\n /**\n * pre-start events are triggered and *completed* before the webserver started.\n * (the promise is awaited)\n */\n registerPreStart(preStartFn: PreStart) {\n this.preStartSlot.register(preStartFn);\n }\n\n /**\n * bind to ui server start event.\n */\n registerOnStart(onStartFn: OnStart) {\n this.onStartSlot.register(onStartFn);\n return this;\n }\n\n /**\n * overwrite the build ui function\n */\n registerBuildUIOverwrite(fn: BuildMethodOverwrite) {\n this.buildMethodOverwriteSlot.register(fn);\n return this;\n }\n\n /**\n * overwrite the build ui function\n */\n registerPublicDirOverwrite(fn: PublicDirOverwrite) {\n this.publicDirOverwriteSlot.register(fn);\n return this;\n }\n\n private getOverwriteBuildFn() {\n const buildMethodOverwrite = this.buildMethodOverwriteSlot.toArray();\n if (buildMethodOverwrite[0]) {\n const [, fn] = buildMethodOverwrite[0];\n return fn;\n }\n return undefined;\n }\n\n private getOverwritePublic() {\n const overwritePublic = this.publicDirOverwriteSlot.toArray();\n if (overwritePublic[0]) {\n const [, fn] = overwritePublic[0];\n return fn;\n }\n return undefined;\n }\n\n async invokePreStart(preStartOpts: PreStartOpts): Promise<void> {\n const onPreStartFuncs = this.preStartSlot.values();\n await pMapSeries(onPreStartFuncs, async (fn) => fn(preStartOpts));\n }\n\n async invokeOnStart(): Promise<ComponentType[]> {\n const onStartFuncs = this.onStartSlot.values();\n const startPlugins = await pMapSeries(onStartFuncs, async (fn) => fn());\n return startPlugins.filter((plugin) => !!plugin) as ComponentType[];\n }\n\n /**\n * register a UI slot.\n */\n registerUiRoot(uiRoot: UIRoot) {\n return this.uiRootSlot.register(uiRoot);\n }\n\n /**\n * get a UI runtime instance.\n */\n getUi(uiRootName?: string): [string, UIRoot] | undefined {\n if (uiRootName) {\n const root = this.uiRootSlot.get(uiRootName) || this.getUiByName(uiRootName);\n if (!root) return undefined;\n return [uiRootName, root];\n }\n const uis = this.uiRootSlot.toArray();\n if (uis.length === 1) return uis[0];\n return uis.find(([, root]) => root.priority);\n }\n\n isHostAvailable(): boolean {\n return Boolean(this.componentExtension.getHost());\n }\n\n getUiName(uiRootName?: string): string | undefined {\n const [, ui] = this.getUi(uiRootName) || [];\n if (!ui) return undefined;\n\n return ui.name;\n }\n\n private possibleUis() {\n return this.uiRootSlot.toArray().map(([id]) => id);\n }\n\n createLink(aspectDefs: AspectDefinition[], rootExtensionName: string) {\n return createRoot(aspectDefs, rootExtensionName);\n }\n\n /**\n * generate the root file of the UI runtime.\n */\n async generateRoot(\n aspectDefs: AspectDefinition[],\n rootExtensionName: string,\n runtimeName = UIRuntime.name,\n rootAspect = UIAspect.id,\n config?: object,\n path?: string,\n ignoreVersion?: boolean\n ) {\n const contents = await createRoot(\n aspectDefs,\n rootExtensionName,\n rootAspect,\n runtimeName,\n config || this.harmony.config.toObject(),\n ignoreVersion\n );\n const filepath = resolve(join(path || __dirname, `${runtimeName}.root${sha1(contents)}.js`));\n if (fs.existsSync(filepath)) return filepath;\n fs.outputFileSync(filepath, contents);\n return filepath;\n }\n\n private async selectPort() {\n const [from, to] = this.config.portRange;\n const usedPorts = (await this.cache.get<number[]>(`${from}${to}`)) || [];\n const port = await Port.getPort(from, to, usedPorts);\n // this will lock the port for 1 min to avoid race conditions\n await this.cache.set(`${from}${to}`, usedPorts.concat(port), 5000);\n return port;\n }\n\n private async buildUI(name: string, uiRoot: UIRoot, rebuild?: boolean): Promise<string> {\n this.logger.debug(`buildUI, name ${name}`);\n\n const overwrite = this.getOverwriteBuildFn();\n if (overwrite) return overwrite(name, uiRoot, rebuild);\n\n this._isBundleUiServed = await this.shouldServeBundleUi(uiRoot, rebuild);\n await this.buildIfChanged(name, uiRoot, rebuild);\n await this.buildIfNoBundle(name, uiRoot);\n return '';\n }\n\n private async shouldServeBundleUi(uiRoot: UIRoot, force: boolean | undefined): Promise<boolean> {\n if (!uiRoot.buildOptions?.prebundle) {\n return false;\n }\n\n const currentBundleUiHash = await this.createBundleUiHash(uiRoot);\n const cachedBundleUiHash = this.readBundleUiHash();\n const isLocalBuildAvailable = existsSync(join(uiRoot.path, await this.publicDir(uiRoot)));\n\n return currentBundleUiHash === cachedBundleUiHash && !isLocalBuildAvailable && !force;\n }\n\n async buildIfChanged(name: string, uiRoot: UIRoot, force: boolean | undefined): Promise<boolean> {\n this.logger.debug(`buildIfChanged, name ${name}`);\n\n if (this._isBundleUiServed) {\n this.logger.debug(`buildIfChanged, name ${name}, returned from ui bundle cache`);\n return false;\n }\n\n const currentBuildUiHash = await this.createBuildUiHash(uiRoot);\n const cachedBuildUiHash = await this.cache.get(uiRoot.path);\n if (currentBuildUiHash === cachedBuildUiHash && !force) {\n this.logger.debug(`buildIfChanged, name ${name}, returned from ui build cache`);\n return false;\n }\n\n if (!cachedBuildUiHash) {\n this.logger.console(\n `Building UI assets for '${chalk.cyan(uiRoot.name)}' in target directory: ${chalk.cyan(\n await this.publicDir(uiRoot)\n )}. The first time we build the UI it may take a few minutes.`\n );\n } else {\n this.logger.console(\n `Rebuilding UI assets for '${chalk.cyan(uiRoot.name)} in target directory: ${chalk.cyan(\n await this.publicDir(uiRoot)\n )}' as ${uiRoot.configFile} has been changed.`\n );\n }\n\n await this.build(name);\n await this.cache.set(uiRoot.path, currentBuildUiHash);\n return true;\n }\n\n private async createBuildUiHash(uiRoot: UIRoot, runtime = 'ui'): Promise<string> {\n const aspects = await uiRoot.resolveAspects(runtime);\n aspects.sort((a, b) => (a.aspectPath > b.aspectPath ? 1 : -1));\n const aspectPathStrings = aspects.map((aspect) => {\n return [aspect.aspectPath, aspect.runtimePath].join('');\n });\n return sha1(aspectPathStrings.join(''));\n }\n\n /**\n * Generate hash for a given root\n * This API is public and used by external users, do not rename this function\n */\n async buildUiHash(uiRoot: UIRoot, runtime = 'ui'): Promise<string> {\n return this.createBuildUiHash(uiRoot, runtime);\n }\n\n async createBundleUiHash(uiRoot: UIRoot, runtime = 'ui'): Promise<string> {\n const aspects = await uiRoot.resolveAspects(runtime);\n aspects.sort((a, b) => ((a.getId || a.aspectPath) > (b.getId || b.aspectPath) ? 1 : -1));\n const aspectIds = aspects.map((aspect) => aspect.getId || aspect.aspectPath);\n return sha1(aspectIds.join(''));\n }\n\n private readBundleUiHash() {\n const bundleUiPathFromBvm = this.getBundleUiPath();\n if (!bundleUiPathFromBvm) {\n return '';\n }\n const hashFilePath = join(bundleUiPathFromBvm, BUNDLE_UI_HASH_FILENAME);\n if (existsSync(hashFilePath)) {\n return readFileSync(hashFilePath).toString();\n }\n return '';\n }\n\n private getBundleUiPath(): string | undefined {\n try {\n const uiPathFromBvm = getAspectDirFromBvm(UIAspect.id);\n return join(uiPathFromBvm, BundleUiTask.getArtifactDirectory());\n } catch (err) {\n this.logger.info(`getBundleUiPath, getAspectDirFromBvm failed with err: ${err}`);\n return undefined;\n }\n }\n\n private async buildIfNoBundle(name: string, uiRoot: UIRoot): Promise<boolean> {\n if (this._isBundleUiServed) return false;\n\n const config = createWebpackConfig(\n uiRoot.path,\n [await this.generateRoot(await uiRoot.resolveAspects(UIRuntime.name), name)],\n uiRoot.name,\n await this.publicDir(uiRoot)\n );\n if (config.output?.path && fs.pathExistsSync(config.output.path)) return false;\n const hash = await this.createBuildUiHash(uiRoot);\n await this.build(name);\n await this.cache.set(uiRoot.path, hash);\n return true;\n }\n\n clearConsole() {\n process.stdout.write(process.platform === 'win32' ? '\\x1B[2J\\x1B[0f' : '\\x1B[2J\\x1B[3J\\x1B[H');\n }\n\n get publicUrl() {\n return this.config.publicUrl;\n }\n\n static defaultConfig: UIConfig = {\n publicDir: 'public/bit',\n portRange: [3000, 3100],\n host: 'localhost',\n };\n\n static runtime = MainRuntime;\n static dependencies = [\n PubsubAspect,\n CLIAspect,\n GraphqlAspect,\n ExpressAspect,\n ComponentAspect,\n CacheAspect,\n LoggerAspect,\n ];\n\n static slots = [\n Slot.withType<UIRoot>(),\n Slot.withType<PreStart>(),\n Slot.withType<OnStart>(),\n Slot.withType<PublicDirOverwriteSlot>(),\n Slot.withType<BuildMethodOverwriteSlot>(),\n Slot.withType<StartPlugin>(),\n ];\n\n static async provider(\n [pubsub, cli, graphql, express, componentExtension, cache, loggerMain]: UIDeps,\n config,\n [uiRootSlot, preStartSlot, onStartSlot, publicDirOverwriteSlot, buildMethodOverwriteSlot, proxyGetterSlot]: [\n UIRootRegistry,\n PreStartSlot,\n OnStartSlot,\n PublicDirOverwriteSlot,\n BuildMethodOverwriteSlot,\n StartPluginSlot\n ],\n harmony: Harmony\n ) {\n // aspectExtension.registerRuntime(new RuntimeDefinition('ui', []))\n const logger = loggerMain.createLogger(UIAspect.id);\n\n const ui = new UiMain(\n pubsub,\n config,\n graphql,\n uiRootSlot,\n express,\n preStartSlot,\n onStartSlot,\n publicDirOverwriteSlot,\n buildMethodOverwriteSlot,\n componentExtension,\n cache,\n logger,\n harmony,\n proxyGetterSlot\n );\n\n cli.register(new StartCmd(ui, logger), new UIBuildCmd(ui));\n\n return ui;\n }\n}\n\nUIAspect.addRuntime(UiMain);\n"],"mappings":"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"}
|
package/dist/ui.ui.runtime.js
CHANGED
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
require("core-js/modules/es.array.iterator.js");
|
|
5
|
-
require("core-js/modules/es.promise.js");
|
|
6
3
|
Object.defineProperty(exports, "__esModule", {
|
|
7
4
|
value: true
|
|
8
5
|
});
|
|
9
6
|
exports.UiUI = void 0;
|
|
10
|
-
function _defineProperty2() {
|
|
11
|
-
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
_defineProperty2 = function () {
|
|
13
|
-
return data;
|
|
14
|
-
};
|
|
15
|
-
return data;
|
|
16
|
-
}
|
|
17
7
|
function _graphql() {
|
|
18
8
|
const data = require("@teambit/graphql");
|
|
19
9
|
_graphql = function () {
|
|
@@ -70,8 +60,12 @@ function _clientContext() {
|
|
|
70
60
|
};
|
|
71
61
|
return data;
|
|
72
62
|
}
|
|
63
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
73
64
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
74
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (
|
|
65
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
66
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
67
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
68
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
75
69
|
/**
|
|
76
70
|
* extension
|
|
77
71
|
*/
|
|
@@ -92,7 +86,7 @@ class UiUI {
|
|
|
92
86
|
this.hudSlot = hudSlot;
|
|
93
87
|
this.renderPluginsSlot = renderPluginsSlot;
|
|
94
88
|
/** adds elements to the Heads Up Display */
|
|
95
|
-
(
|
|
89
|
+
_defineProperty(this, "registerHudItem", element => {
|
|
96
90
|
this.hudSlot.register(element);
|
|
97
91
|
});
|
|
98
92
|
}
|
|
@@ -162,9 +156,9 @@ class UiUI {
|
|
|
162
156
|
}
|
|
163
157
|
}
|
|
164
158
|
exports.UiUI = UiUI;
|
|
165
|
-
(
|
|
166
|
-
(
|
|
167
|
-
(
|
|
159
|
+
_defineProperty(UiUI, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
|
|
160
|
+
_defineProperty(UiUI, "dependencies", [_graphql().GraphqlAspect, _reactRouter().ReactRouterAspect]);
|
|
161
|
+
_defineProperty(UiUI, "runtime", _ui().UIRuntime);
|
|
168
162
|
_ui().UIAspect.addRuntime(UiUI);
|
|
169
163
|
|
|
170
164
|
//# sourceMappingURL=ui.ui.runtime.js.map
|