@alicloud/alfa-core 1.3.0-canary.7 → 1.3.2
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/breezr.config.js +3 -3
- package/dist/index.js +4 -4
- package/es/base.js +82 -27
- package/es/createMicroApp.js +3 -2
- package/es/index.js +8 -5
- package/es/types/index.js +5 -0
- package/es/utils/getAlfaConfig.js +1 -1
- package/es/utils/getAlfaManifest.js +21 -15
- package/es/utils/hookManager.js +2 -1
- package/es/utils/logger.js +91 -0
- package/lib/base.d.ts +7 -1
- package/lib/base.js +82 -26
- package/lib/createMicroApp.d.ts +1 -1
- package/lib/createMicroApp.js +2 -1
- package/lib/index.d.ts +8 -5
- package/lib/index.js +78 -23
- package/lib/types/index.d.ts +10 -7
- package/lib/types/index.js +17 -1
- package/lib/utils/getAlfaConfig.js +1 -1
- package/lib/utils/getAlfaManifest.js +21 -15
- package/lib/utils/hookManager.d.ts +1 -1
- package/lib/utils/hookManager.js +2 -1
- package/lib/utils/index.d.ts +2 -2
- package/lib/utils/index.js +1 -1
- package/lib/utils/logger.d.ts +20 -0
- package/lib/utils/logger.js +100 -0
- package/package.json +4 -4
- package/es/createIsomorphicMicroApp.js +0 -61
- package/es/env.js +0 -36
- package/es/resolveAlfaConfig.js +0 -74
- package/es/resolveAlfaManifest.js +0 -46
- package/es/resolveAlfaRelease.js +0 -29
- package/es/types.js +0 -0
- package/es/utils.js +0 -43
- package/lib/createIsomorphicMicroApp.d.ts +0 -4
- package/lib/createIsomorphicMicroApp.js +0 -78
- package/lib/env.d.ts +0 -3
- package/lib/env.js +0 -46
- package/lib/resolveAlfaConfig.d.ts +0 -7
- package/lib/resolveAlfaConfig.js +0 -89
- package/lib/resolveAlfaManifest.d.ts +0 -3
- package/lib/resolveAlfaManifest.js +0 -64
- package/lib/types.d.ts +0 -61
- package/lib/types.js +0 -1
- package/lib/utils.d.ts +0 -14
- package/lib/utils.js +0 -67
package/es/base.js
CHANGED
|
@@ -1,16 +1,24 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
1
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
3
2
|
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
4
3
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
4
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
5
6
|
|
|
6
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
7
|
+
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; }
|
|
7
8
|
|
|
8
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
9
|
+
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; }
|
|
9
10
|
|
|
10
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
11
11
|
import { createMicroApp } from '@alicloud/console-os-kernal';
|
|
12
|
-
import { getManifestFromConfig, getURL } from './utils';
|
|
12
|
+
import { getManifestFromConfig, getURL, getAlfaEnv } from './utils';
|
|
13
13
|
import Hook from './utils/hookManager';
|
|
14
|
+
import Logger from './utils/logger';
|
|
15
|
+
|
|
16
|
+
var mergeConfig = function mergeConfig(appConfig, logger) {
|
|
17
|
+
return _objectSpread(_objectSpread({}, appConfig), {}, {
|
|
18
|
+
env: appConfig.env || getAlfaEnv(),
|
|
19
|
+
logger: appConfig.logger || logger
|
|
20
|
+
});
|
|
21
|
+
};
|
|
14
22
|
|
|
15
23
|
var BaseLoader = /*#__PURE__*/function () {
|
|
16
24
|
function BaseLoader() {
|
|
@@ -25,21 +33,33 @@ var BaseLoader = /*#__PURE__*/function () {
|
|
|
25
33
|
_createClass(BaseLoader, [{
|
|
26
34
|
key: "register",
|
|
27
35
|
value: function () {
|
|
28
|
-
var _register = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(
|
|
29
|
-
var chains, flattenHookHandlers, promise;
|
|
36
|
+
var _register = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(passInConfig) {
|
|
37
|
+
var logger, _this$config, name, version, env, chains, flattenHookHandlers, promise;
|
|
38
|
+
|
|
30
39
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
31
40
|
while (1) {
|
|
32
41
|
switch (_context.prev = _context.next) {
|
|
33
42
|
case 0:
|
|
34
|
-
|
|
35
|
-
|
|
43
|
+
logger = new Logger();
|
|
44
|
+
|
|
45
|
+
if (passInConfig) {
|
|
46
|
+
_context.next = 4;
|
|
36
47
|
break;
|
|
37
48
|
}
|
|
38
49
|
|
|
39
|
-
|
|
50
|
+
logger.error({
|
|
51
|
+
E_MSG: 'cannot find config before start.'
|
|
52
|
+
});
|
|
53
|
+
return _context.abrupt("return", Promise.reject(new Error('[alfa-core] cannot find config before start.')));
|
|
40
54
|
|
|
41
|
-
case
|
|
42
|
-
this.config =
|
|
55
|
+
case 4:
|
|
56
|
+
this.config = mergeConfig(passInConfig, logger);
|
|
57
|
+
_this$config = this.config, name = _this$config.name, version = _this$config.version, env = _this$config.env;
|
|
58
|
+
logger.setContext({
|
|
59
|
+
NAME: name,
|
|
60
|
+
VERSION: version,
|
|
61
|
+
ENV: env
|
|
62
|
+
});
|
|
43
63
|
chains = [];
|
|
44
64
|
|
|
45
65
|
flattenHookHandlers = function flattenHookHandlers(handler) {
|
|
@@ -53,7 +73,8 @@ var BaseLoader = /*#__PURE__*/function () {
|
|
|
53
73
|
|
|
54
74
|
chains.push(this.resolve, undefined); // modify resolved config
|
|
55
75
|
|
|
56
|
-
this.afterResolve.handlers.forEach(flattenHookHandlers);
|
|
76
|
+
this.afterResolve.handlers.forEach(flattenHookHandlers);
|
|
77
|
+
chains.push(this.init, undefined); // update props before load
|
|
57
78
|
|
|
58
79
|
this.beforeLoad.handlers.forEach(flattenHookHandlers); // TODO: handle beforeLoad error
|
|
59
80
|
|
|
@@ -66,9 +87,11 @@ var BaseLoader = /*#__PURE__*/function () {
|
|
|
66
87
|
promise = promise.then(chains.shift(), chains.shift());
|
|
67
88
|
}
|
|
68
89
|
|
|
69
|
-
return _context.abrupt("return", promise)
|
|
90
|
+
return _context.abrupt("return", promise.catch(function (e) {
|
|
91
|
+
throw e;
|
|
92
|
+
}));
|
|
70
93
|
|
|
71
|
-
case
|
|
94
|
+
case 19:
|
|
72
95
|
case "end":
|
|
73
96
|
return _context.stop();
|
|
74
97
|
}
|
|
@@ -128,21 +151,21 @@ var BaseLoader = /*#__PURE__*/function () {
|
|
|
128
151
|
return resolve;
|
|
129
152
|
}()
|
|
130
153
|
/**
|
|
131
|
-
*
|
|
154
|
+
* init config for micro app
|
|
132
155
|
* @param config
|
|
133
156
|
* @returns
|
|
134
157
|
*/
|
|
135
158
|
|
|
136
159
|
}, {
|
|
137
|
-
key: "
|
|
160
|
+
key: "init",
|
|
138
161
|
value: function () {
|
|
139
|
-
var
|
|
140
|
-
var name, container, manifest, props, deps, url, beforeMount, afterMount, beforeUnmount, afterUnmount, beforeUpdate, sandbox,
|
|
162
|
+
var _init = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(config) {
|
|
163
|
+
var name, container, manifest, props, deps, url, beforeMount, afterMount, beforeUnmount, afterUnmount, beforeUpdate, sandbox, app;
|
|
141
164
|
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
142
165
|
while (1) {
|
|
143
166
|
switch (_context3.prev = _context3.next) {
|
|
144
167
|
case 0:
|
|
145
|
-
name = config.name, container = config.container, manifest = config.manifest, props = config.props, deps = config.deps, url = config.url, beforeMount = config.beforeMount, afterMount = config.afterMount, beforeUnmount = config.beforeUnmount, afterUnmount = config.afterUnmount, beforeUpdate = config.beforeUpdate, sandbox = config.sandbox
|
|
168
|
+
name = config.name, container = config.container, manifest = config.manifest, props = config.props, deps = config.deps, url = config.url, beforeMount = config.beforeMount, afterMount = config.afterMount, beforeUnmount = config.beforeUnmount, afterUnmount = config.afterUnmount, beforeUpdate = config.beforeUpdate, sandbox = config.sandbox;
|
|
146
169
|
_context3.next = 3;
|
|
147
170
|
return createMicroApp({
|
|
148
171
|
name: name,
|
|
@@ -151,7 +174,7 @@ var BaseLoader = /*#__PURE__*/function () {
|
|
|
151
174
|
customProps: props,
|
|
152
175
|
deps: deps,
|
|
153
176
|
url: url,
|
|
154
|
-
|
|
177
|
+
// logger,
|
|
155
178
|
appWillMount: beforeMount,
|
|
156
179
|
appDidMount: afterMount,
|
|
157
180
|
appWillUnmount: beforeUnmount,
|
|
@@ -164,15 +187,11 @@ var BaseLoader = /*#__PURE__*/function () {
|
|
|
164
187
|
|
|
165
188
|
case 3:
|
|
166
189
|
app = _context3.sent;
|
|
167
|
-
_context3.next = 6;
|
|
168
|
-
return app.load();
|
|
169
|
-
|
|
170
|
-
case 6:
|
|
171
190
|
return _context3.abrupt("return", _objectSpread(_objectSpread({}, config), {}, {
|
|
172
191
|
app: app
|
|
173
192
|
}));
|
|
174
193
|
|
|
175
|
-
case
|
|
194
|
+
case 5:
|
|
176
195
|
case "end":
|
|
177
196
|
return _context3.stop();
|
|
178
197
|
}
|
|
@@ -180,7 +199,43 @@ var BaseLoader = /*#__PURE__*/function () {
|
|
|
180
199
|
}, _callee3);
|
|
181
200
|
}));
|
|
182
201
|
|
|
183
|
-
function
|
|
202
|
+
function init(_x3) {
|
|
203
|
+
return _init.apply(this, arguments);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
return init;
|
|
207
|
+
}()
|
|
208
|
+
/**
|
|
209
|
+
* loadApp from remote
|
|
210
|
+
* @param config
|
|
211
|
+
* @returns
|
|
212
|
+
*/
|
|
213
|
+
|
|
214
|
+
}, {
|
|
215
|
+
key: "load",
|
|
216
|
+
value: function () {
|
|
217
|
+
var _load = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(config) {
|
|
218
|
+
var _config$app;
|
|
219
|
+
|
|
220
|
+
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
221
|
+
while (1) {
|
|
222
|
+
switch (_context4.prev = _context4.next) {
|
|
223
|
+
case 0:
|
|
224
|
+
_context4.next = 2;
|
|
225
|
+
return config === null || config === void 0 ? void 0 : (_config$app = config.app) === null || _config$app === void 0 ? void 0 : _config$app.load();
|
|
226
|
+
|
|
227
|
+
case 2:
|
|
228
|
+
return _context4.abrupt("return", config);
|
|
229
|
+
|
|
230
|
+
case 3:
|
|
231
|
+
case "end":
|
|
232
|
+
return _context4.stop();
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}, _callee4);
|
|
236
|
+
}));
|
|
237
|
+
|
|
238
|
+
function load(_x4) {
|
|
184
239
|
return _load.apply(this, arguments);
|
|
185
240
|
}
|
|
186
241
|
|
package/es/createMicroApp.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { createMicroApp as createConsoleOSMicroApp } from '@alicloud/console-os-kernal';
|
|
2
|
-
import {
|
|
2
|
+
import { getManifestFromConfig, getURL } from './utils';
|
|
3
|
+
// TODO: deprecate in next major version
|
|
3
4
|
export var createMicroApp = function createMicroApp(appConfig) {
|
|
4
5
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
5
|
-
var manifest =
|
|
6
|
+
var manifest = getManifestFromConfig(appConfig);
|
|
6
7
|
var url = getURL(appConfig);
|
|
7
8
|
|
|
8
9
|
if (!manifest && !url) {
|
package/es/index.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export { createMicroApp } from './createMicroApp';
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
2
|
+
export { getManifest } from './utils/getAlfaManifest';
|
|
3
|
+
export { getConfig } from './utils/getAlfaConfig';
|
|
4
|
+
export { getLocale } from './utils/getAlfaLocale';
|
|
5
|
+
export { default as BaseLoader } from './base';
|
|
6
|
+
export { default as Logger } from './utils/logger';
|
|
7
|
+
export * from './utils/index';
|
|
8
|
+
export { createEventBus, prefetch } from '@alicloud/console-os-kernal';
|
|
9
|
+
export { IAppConfig, IOptions, AlfaFactoryOption, AlfaDynamicConfig as AlfaConfig, IWin, EnvEnum as AlfaEnvEnum, AlfaLogger } from './types';
|
package/es/types/index.js
CHANGED
|
@@ -31,7 +31,7 @@ export var getConfig = /*#__PURE__*/function () {
|
|
|
31
31
|
configEntry = (_releaseConfig$config = releaseConfig['config-versions']) === null || _releaseConfig$config === void 0 ? void 0 : (_releaseConfig$config2 = _releaseConfig$config[version]) === null || _releaseConfig$config2 === void 0 ? void 0 : _releaseConfig$config2.entry;
|
|
32
32
|
configData = defaultConfig; // when config is not valid, return empty
|
|
33
33
|
|
|
34
|
-
if (!(!version || configEntry)) {
|
|
34
|
+
if (!(!version || !configEntry)) {
|
|
35
35
|
_context.next = 8;
|
|
36
36
|
break;
|
|
37
37
|
}
|
|
@@ -3,44 +3,50 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
|
3
3
|
import { getRelease } from './getAlfaRelease';
|
|
4
4
|
export var getManifest = /*#__PURE__*/function () {
|
|
5
5
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(config) {
|
|
6
|
-
var _releaseConfig$distT2;
|
|
6
|
+
var _releaseConfig$distT, _releaseConfig$distT2, _releaseConfig$versio;
|
|
7
7
|
|
|
8
|
-
var name, version, releaseConfig, _releaseConfig$
|
|
8
|
+
var name, logger, version, releaseConfig, latestVersion, versionEntry, _releaseConfig$versio2;
|
|
9
9
|
|
|
10
10
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
11
11
|
while (1) {
|
|
12
12
|
switch (_context.prev = _context.next) {
|
|
13
13
|
case 0:
|
|
14
|
-
name = config.name;
|
|
14
|
+
name = config.name, logger = config.logger;
|
|
15
15
|
version = config.version;
|
|
16
16
|
_context.next = 4;
|
|
17
17
|
return getRelease(config);
|
|
18
18
|
|
|
19
19
|
case 4:
|
|
20
20
|
releaseConfig = _context.sent;
|
|
21
|
+
latestVersion = (_releaseConfig$distT = releaseConfig['dist-tags']) === null || _releaseConfig$distT === void 0 ? void 0 : _releaseConfig$distT.latest; // if version is in dist-tags, return value
|
|
21
22
|
|
|
22
|
-
if (
|
|
23
|
-
version =
|
|
24
|
-
}
|
|
23
|
+
if ((_releaseConfig$distT2 = releaseConfig['dist-tags']) !== null && _releaseConfig$distT2 !== void 0 && _releaseConfig$distT2[version]) {
|
|
24
|
+
version = releaseConfig['dist-tags'][version];
|
|
25
|
+
}
|
|
25
26
|
|
|
27
|
+
versionEntry = (_releaseConfig$versio = releaseConfig.versions) === null || _releaseConfig$versio === void 0 ? void 0 : _releaseConfig$versio[version];
|
|
26
28
|
|
|
27
|
-
if (
|
|
28
|
-
|
|
29
|
+
if (versionEntry) {
|
|
30
|
+
_context.next = 13;
|
|
31
|
+
break;
|
|
29
32
|
}
|
|
30
33
|
|
|
31
|
-
|
|
34
|
+
logger === null || logger === void 0 ? void 0 : logger.error({
|
|
35
|
+
E_MSG: "cannot find ".concat(name, "@").concat(version, ".")
|
|
36
|
+
});
|
|
37
|
+
versionEntry = (_releaseConfig$versio2 = releaseConfig.versions) === null || _releaseConfig$versio2 === void 0 ? void 0 : _releaseConfig$versio2[latestVersion];
|
|
32
38
|
|
|
33
|
-
if (
|
|
34
|
-
_context.next =
|
|
39
|
+
if (versionEntry) {
|
|
40
|
+
_context.next = 13;
|
|
35
41
|
break;
|
|
36
42
|
}
|
|
37
43
|
|
|
38
|
-
throw new Error("".concat(name, "@
|
|
44
|
+
throw new Error("cannot find ".concat(name, "@latest, please check release."));
|
|
39
45
|
|
|
40
|
-
case
|
|
41
|
-
return _context.abrupt("return",
|
|
46
|
+
case 13:
|
|
47
|
+
return _context.abrupt("return", versionEntry.entry);
|
|
42
48
|
|
|
43
|
-
case
|
|
49
|
+
case 14:
|
|
44
50
|
case "end":
|
|
45
51
|
return _context.stop();
|
|
46
52
|
}
|
package/es/utils/hookManager.js
CHANGED
|
@@ -10,9 +10,10 @@ var Hook = /*#__PURE__*/function () {
|
|
|
10
10
|
|
|
11
11
|
_createClass(Hook, [{
|
|
12
12
|
key: "use",
|
|
13
|
-
value: function use(fulfilled
|
|
13
|
+
value: function use(fulfilled) {
|
|
14
14
|
var _this = this;
|
|
15
15
|
|
|
16
|
+
var rejected = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
16
17
|
var handler = {
|
|
17
18
|
fulfilled: fulfilled,
|
|
18
19
|
rejected: rejected
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
4
|
+
|
|
5
|
+
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; }
|
|
6
|
+
|
|
7
|
+
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; }
|
|
8
|
+
|
|
9
|
+
import createLogger from '@alicloud/console-logger-sls';
|
|
10
|
+
var logger = createLogger({
|
|
11
|
+
project: 'alfa',
|
|
12
|
+
endpoint: 'cn-wulanchabu.log.aliyuncs.com',
|
|
13
|
+
// project_xx 的外网域名,在 SLS project 概览里可以找到
|
|
14
|
+
logstore: 'loader' // 日志落库的地方
|
|
15
|
+
|
|
16
|
+
});
|
|
17
|
+
var Method;
|
|
18
|
+
|
|
19
|
+
(function (Method) {
|
|
20
|
+
Method["log"] = "log";
|
|
21
|
+
Method["info"] = "info";
|
|
22
|
+
Method["warn"] = "warn";
|
|
23
|
+
Method["error"] = "error";
|
|
24
|
+
})(Method || (Method = {}));
|
|
25
|
+
|
|
26
|
+
var Logger = /*#__PURE__*/function () {
|
|
27
|
+
function Logger() {
|
|
28
|
+
var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
29
|
+
|
|
30
|
+
_classCallCheck(this, Logger);
|
|
31
|
+
|
|
32
|
+
this.cache = {};
|
|
33
|
+
this.context = context;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
_createClass(Logger, [{
|
|
37
|
+
key: "setContext",
|
|
38
|
+
value: function setContext(params) {
|
|
39
|
+
this.context = _objectSpread(_objectSpread({}, this.context), params);
|
|
40
|
+
}
|
|
41
|
+
}, {
|
|
42
|
+
key: "record",
|
|
43
|
+
value: function record(params) {
|
|
44
|
+
this.cache = _objectSpread(_objectSpread({}, this.cache), params);
|
|
45
|
+
}
|
|
46
|
+
}, {
|
|
47
|
+
key: "send",
|
|
48
|
+
value: function send() {
|
|
49
|
+
this.track(Method.log, 'METRIC', this.cache);
|
|
50
|
+
this.cache = {};
|
|
51
|
+
}
|
|
52
|
+
}, {
|
|
53
|
+
key: "info",
|
|
54
|
+
value: function info(params) {
|
|
55
|
+
this.track(Method.info, 'INFO', params);
|
|
56
|
+
}
|
|
57
|
+
}, {
|
|
58
|
+
key: "debug",
|
|
59
|
+
value: function debug(params) {
|
|
60
|
+
// do not log debug message in production env
|
|
61
|
+
if (this.context.env === 'prod') return;
|
|
62
|
+
console.log('DEBUG', this.mergeData(params));
|
|
63
|
+
}
|
|
64
|
+
}, {
|
|
65
|
+
key: "warn",
|
|
66
|
+
value: function warn(params) {
|
|
67
|
+
this.track(Method.warn, 'WARN', params);
|
|
68
|
+
}
|
|
69
|
+
}, {
|
|
70
|
+
key: "error",
|
|
71
|
+
value: function error(params) {
|
|
72
|
+
this.track(Method.error, 'ERROR', params);
|
|
73
|
+
}
|
|
74
|
+
}, {
|
|
75
|
+
key: "mergeData",
|
|
76
|
+
value: function mergeData(params) {
|
|
77
|
+
return _objectSpread(_objectSpread({}, this.context), params);
|
|
78
|
+
}
|
|
79
|
+
}, {
|
|
80
|
+
key: "track",
|
|
81
|
+
value: function track(method, topic, params) {
|
|
82
|
+
// do not track during development
|
|
83
|
+
if (this.context.ENV === 'local') return;
|
|
84
|
+
logger[method](topic, this.mergeData(params));
|
|
85
|
+
}
|
|
86
|
+
}]);
|
|
87
|
+
|
|
88
|
+
return Logger;
|
|
89
|
+
}();
|
|
90
|
+
|
|
91
|
+
export { Logger as default };
|
package/lib/base.d.ts
CHANGED
|
@@ -8,13 +8,19 @@ export default class BaseLoader {
|
|
|
8
8
|
afterLoad: Hook<IAppConfig>;
|
|
9
9
|
config: IAppConfig;
|
|
10
10
|
constructor();
|
|
11
|
-
register<P = {}, C = {}>(
|
|
11
|
+
register<P = {}, C = {}>(passInConfig: IAppConfig<P> & C): Promise<IAppConfig<any>>;
|
|
12
12
|
/**
|
|
13
13
|
* resolve config and rewrite manifest and url
|
|
14
14
|
* @param config
|
|
15
15
|
* @returns
|
|
16
16
|
*/
|
|
17
17
|
private resolve;
|
|
18
|
+
/**
|
|
19
|
+
* init config for micro app
|
|
20
|
+
* @param config
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
private init;
|
|
18
24
|
/**
|
|
19
25
|
* loadApp from remote
|
|
20
26
|
* @param config
|
package/lib/base.js
CHANGED
|
@@ -9,23 +9,32 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
13
|
|
|
16
14
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
15
|
|
|
18
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
17
|
|
|
18
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
|
+
|
|
20
20
|
var _consoleOsKernal = require("@alicloud/console-os-kernal");
|
|
21
21
|
|
|
22
22
|
var _utils = require("./utils");
|
|
23
23
|
|
|
24
24
|
var _hookManager = _interopRequireDefault(require("./utils/hookManager"));
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
var _logger = _interopRequireDefault(require("./utils/logger"));
|
|
27
|
+
|
|
28
|
+
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; }
|
|
29
|
+
|
|
30
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
27
31
|
|
|
28
|
-
|
|
32
|
+
var mergeConfig = function mergeConfig(appConfig, logger) {
|
|
33
|
+
return _objectSpread(_objectSpread({}, appConfig), {}, {
|
|
34
|
+
env: appConfig.env || (0, _utils.getAlfaEnv)(),
|
|
35
|
+
logger: appConfig.logger || logger
|
|
36
|
+
});
|
|
37
|
+
};
|
|
29
38
|
|
|
30
39
|
var BaseLoader = /*#__PURE__*/function () {
|
|
31
40
|
function BaseLoader() {
|
|
@@ -39,21 +48,33 @@ var BaseLoader = /*#__PURE__*/function () {
|
|
|
39
48
|
(0, _createClass2.default)(BaseLoader, [{
|
|
40
49
|
key: "register",
|
|
41
50
|
value: function () {
|
|
42
|
-
var _register = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(
|
|
43
|
-
var chains, flattenHookHandlers, promise;
|
|
51
|
+
var _register = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(passInConfig) {
|
|
52
|
+
var logger, _this$config, name, version, env, chains, flattenHookHandlers, promise;
|
|
53
|
+
|
|
44
54
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
45
55
|
while (1) {
|
|
46
56
|
switch (_context.prev = _context.next) {
|
|
47
57
|
case 0:
|
|
48
|
-
|
|
49
|
-
|
|
58
|
+
logger = new _logger.default();
|
|
59
|
+
|
|
60
|
+
if (passInConfig) {
|
|
61
|
+
_context.next = 4;
|
|
50
62
|
break;
|
|
51
63
|
}
|
|
52
64
|
|
|
53
|
-
|
|
65
|
+
logger.error({
|
|
66
|
+
E_MSG: 'cannot find config before start.'
|
|
67
|
+
});
|
|
68
|
+
return _context.abrupt("return", Promise.reject(new Error('[alfa-core] cannot find config before start.')));
|
|
54
69
|
|
|
55
|
-
case
|
|
56
|
-
this.config =
|
|
70
|
+
case 4:
|
|
71
|
+
this.config = mergeConfig(passInConfig, logger);
|
|
72
|
+
_this$config = this.config, name = _this$config.name, version = _this$config.version, env = _this$config.env;
|
|
73
|
+
logger.setContext({
|
|
74
|
+
NAME: name,
|
|
75
|
+
VERSION: version,
|
|
76
|
+
ENV: env
|
|
77
|
+
});
|
|
57
78
|
chains = [];
|
|
58
79
|
|
|
59
80
|
flattenHookHandlers = function flattenHookHandlers(handler) {
|
|
@@ -67,7 +88,8 @@ var BaseLoader = /*#__PURE__*/function () {
|
|
|
67
88
|
|
|
68
89
|
chains.push(this.resolve, undefined); // modify resolved config
|
|
69
90
|
|
|
70
|
-
this.afterResolve.handlers.forEach(flattenHookHandlers);
|
|
91
|
+
this.afterResolve.handlers.forEach(flattenHookHandlers);
|
|
92
|
+
chains.push(this.init, undefined); // update props before load
|
|
71
93
|
|
|
72
94
|
this.beforeLoad.handlers.forEach(flattenHookHandlers); // TODO: handle beforeLoad error
|
|
73
95
|
|
|
@@ -80,9 +102,11 @@ var BaseLoader = /*#__PURE__*/function () {
|
|
|
80
102
|
promise = promise.then(chains.shift(), chains.shift());
|
|
81
103
|
}
|
|
82
104
|
|
|
83
|
-
return _context.abrupt("return", promise)
|
|
105
|
+
return _context.abrupt("return", promise.catch(function (e) {
|
|
106
|
+
throw e;
|
|
107
|
+
}));
|
|
84
108
|
|
|
85
|
-
case
|
|
109
|
+
case 19:
|
|
86
110
|
case "end":
|
|
87
111
|
return _context.stop();
|
|
88
112
|
}
|
|
@@ -142,21 +166,21 @@ var BaseLoader = /*#__PURE__*/function () {
|
|
|
142
166
|
return resolve;
|
|
143
167
|
}()
|
|
144
168
|
/**
|
|
145
|
-
*
|
|
169
|
+
* init config for micro app
|
|
146
170
|
* @param config
|
|
147
171
|
* @returns
|
|
148
172
|
*/
|
|
149
173
|
|
|
150
174
|
}, {
|
|
151
|
-
key: "
|
|
175
|
+
key: "init",
|
|
152
176
|
value: function () {
|
|
153
|
-
var
|
|
154
|
-
var name, container, manifest, props, deps, url, beforeMount, afterMount, beforeUnmount, afterUnmount, beforeUpdate, sandbox,
|
|
177
|
+
var _init = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(config) {
|
|
178
|
+
var name, container, manifest, props, deps, url, beforeMount, afterMount, beforeUnmount, afterUnmount, beforeUpdate, sandbox, app;
|
|
155
179
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
156
180
|
while (1) {
|
|
157
181
|
switch (_context3.prev = _context3.next) {
|
|
158
182
|
case 0:
|
|
159
|
-
name = config.name, container = config.container, manifest = config.manifest, props = config.props, deps = config.deps, url = config.url, beforeMount = config.beforeMount, afterMount = config.afterMount, beforeUnmount = config.beforeUnmount, afterUnmount = config.afterUnmount, beforeUpdate = config.beforeUpdate, sandbox = config.sandbox
|
|
183
|
+
name = config.name, container = config.container, manifest = config.manifest, props = config.props, deps = config.deps, url = config.url, beforeMount = config.beforeMount, afterMount = config.afterMount, beforeUnmount = config.beforeUnmount, afterUnmount = config.afterUnmount, beforeUpdate = config.beforeUpdate, sandbox = config.sandbox;
|
|
160
184
|
_context3.next = 3;
|
|
161
185
|
return (0, _consoleOsKernal.createMicroApp)({
|
|
162
186
|
name: name,
|
|
@@ -165,7 +189,7 @@ var BaseLoader = /*#__PURE__*/function () {
|
|
|
165
189
|
customProps: props,
|
|
166
190
|
deps: deps,
|
|
167
191
|
url: url,
|
|
168
|
-
|
|
192
|
+
// logger,
|
|
169
193
|
appWillMount: beforeMount,
|
|
170
194
|
appDidMount: afterMount,
|
|
171
195
|
appWillUnmount: beforeUnmount,
|
|
@@ -178,15 +202,11 @@ var BaseLoader = /*#__PURE__*/function () {
|
|
|
178
202
|
|
|
179
203
|
case 3:
|
|
180
204
|
app = _context3.sent;
|
|
181
|
-
_context3.next = 6;
|
|
182
|
-
return app.load();
|
|
183
|
-
|
|
184
|
-
case 6:
|
|
185
205
|
return _context3.abrupt("return", _objectSpread(_objectSpread({}, config), {}, {
|
|
186
206
|
app: app
|
|
187
207
|
}));
|
|
188
208
|
|
|
189
|
-
case
|
|
209
|
+
case 5:
|
|
190
210
|
case "end":
|
|
191
211
|
return _context3.stop();
|
|
192
212
|
}
|
|
@@ -194,7 +214,43 @@ var BaseLoader = /*#__PURE__*/function () {
|
|
|
194
214
|
}, _callee3);
|
|
195
215
|
}));
|
|
196
216
|
|
|
197
|
-
function
|
|
217
|
+
function init(_x3) {
|
|
218
|
+
return _init.apply(this, arguments);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
return init;
|
|
222
|
+
}()
|
|
223
|
+
/**
|
|
224
|
+
* loadApp from remote
|
|
225
|
+
* @param config
|
|
226
|
+
* @returns
|
|
227
|
+
*/
|
|
228
|
+
|
|
229
|
+
}, {
|
|
230
|
+
key: "load",
|
|
231
|
+
value: function () {
|
|
232
|
+
var _load = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(config) {
|
|
233
|
+
var _config$app;
|
|
234
|
+
|
|
235
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
236
|
+
while (1) {
|
|
237
|
+
switch (_context4.prev = _context4.next) {
|
|
238
|
+
case 0:
|
|
239
|
+
_context4.next = 2;
|
|
240
|
+
return config === null || config === void 0 ? void 0 : (_config$app = config.app) === null || _config$app === void 0 ? void 0 : _config$app.load();
|
|
241
|
+
|
|
242
|
+
case 2:
|
|
243
|
+
return _context4.abrupt("return", config);
|
|
244
|
+
|
|
245
|
+
case 3:
|
|
246
|
+
case "end":
|
|
247
|
+
return _context4.stop();
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}, _callee4);
|
|
251
|
+
}));
|
|
252
|
+
|
|
253
|
+
function load(_x4) {
|
|
198
254
|
return _load.apply(this, arguments);
|
|
199
255
|
}
|
|
200
256
|
|
package/lib/createMicroApp.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { IAppConfig, IOptions } from './types';
|
|
2
|
-
export declare const createMicroApp: <T>(appConfig: IAppConfig<T>, options?: IOptions
|
|
2
|
+
export declare const createMicroApp: <T>(appConfig: IAppConfig<T>, options?: IOptions) => Promise<import("@alicloud/console-os-kernal/lib/application/Application").Application>;
|
package/lib/createMicroApp.js
CHANGED
|
@@ -9,9 +9,10 @@ var _consoleOsKernal = require("@alicloud/console-os-kernal");
|
|
|
9
9
|
|
|
10
10
|
var _utils = require("./utils");
|
|
11
11
|
|
|
12
|
+
// TODO: deprecate in next major version
|
|
12
13
|
var createMicroApp = function createMicroApp(appConfig) {
|
|
13
14
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
14
|
-
var manifest = (0, _utils.
|
|
15
|
+
var manifest = (0, _utils.getManifestFromConfig)(appConfig);
|
|
15
16
|
var url = (0, _utils.getURL)(appConfig);
|
|
16
17
|
|
|
17
18
|
if (!manifest && !url) {
|