@alicloud/alfa-react 1.3.4-alpha.1 → 1.4.0-alpha.1
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/LICENSE +21 -0
- package/dist/index.js +6 -6
- package/es/components/ErrorBoundary/index.js +6 -4
- package/es/createApplication.js +36 -27
- package/es/hooks/beforeLoadHook.js +24 -21
- package/es/hooks/beforeResolveHook.js +5 -14
- package/es/utils/getConsoleConfig.js +38 -14
- package/es/utils/getConsoleGlobal.js +28 -0
- package/es/version.js +1 -1
- package/lib/app.js +1 -1
- package/lib/components/ErrorBoundary/ErrorPanel.d.ts +1 -1
- package/lib/components/ErrorBoundary/index.d.ts +2 -1
- package/lib/components/ErrorBoundary/index.js +6 -4
- package/lib/createApplication.js +37 -27
- package/lib/hooks/beforeLoadHook.js +24 -20
- package/lib/hooks/beforeResolveHook.js +5 -14
- package/lib/types/index.d.ts +1 -0
- package/lib/utils/getConsoleConfig.d.ts +6 -6
- package/lib/utils/getConsoleConfig.js +38 -15
- package/lib/utils/getConsoleGlobal.d.ts +2 -0
- package/lib/utils/getConsoleGlobal.js +41 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +4 -4
|
@@ -25,7 +25,7 @@ var ErrorBoundary = /*#__PURE__*/function (_React$Component) {
|
|
|
25
25
|
_this = _super.call(this, props);
|
|
26
26
|
_this.state = {
|
|
27
27
|
hasError: false,
|
|
28
|
-
error:
|
|
28
|
+
error: undefined
|
|
29
29
|
};
|
|
30
30
|
return _this;
|
|
31
31
|
}
|
|
@@ -46,8 +46,9 @@ var ErrorBoundary = /*#__PURE__*/function (_React$Component) {
|
|
|
46
46
|
isFunction((_window = window) === null || _window === void 0 ? void 0 : (_window$__bl = _window.__bl) === null || _window$__bl === void 0 ? void 0 : _window$__bl.error) && ((_window2 = window) === null || _window2 === void 0 ? void 0 : (_window2$__bl = _window2.__bl) === null || _window2$__bl === void 0 ? void 0 : _window2$__bl.error(error, errorInfo)); // You can also log the error to an error reporting service in appDidCatch
|
|
47
47
|
|
|
48
48
|
appDidCatch && appDidCatch(error, errorInfo);
|
|
49
|
-
logger === null || logger === void 0 ? void 0 : logger.error({
|
|
50
|
-
|
|
49
|
+
(logger === null || logger === void 0 ? void 0 : logger.error) && logger.error({
|
|
50
|
+
E_CODE: 'RuntimeError',
|
|
51
|
+
E_MSG: error.message,
|
|
51
52
|
E_STACK: error,
|
|
52
53
|
C_STACK: errorInfo
|
|
53
54
|
});
|
|
@@ -58,7 +59,8 @@ var ErrorBoundary = /*#__PURE__*/function (_React$Component) {
|
|
|
58
59
|
var error = this.state.error;
|
|
59
60
|
|
|
60
61
|
if (this.state.hasError) {
|
|
61
|
-
// You can render any custom fallback UI
|
|
62
|
+
if (this.props.fallbackRender) return this.props.fallbackRender(error); // You can render any custom fallback UI
|
|
63
|
+
|
|
62
64
|
return /*#__PURE__*/React.createElement(ErrorPanel, {
|
|
63
65
|
error: error
|
|
64
66
|
});
|
package/es/createApplication.js
CHANGED
|
@@ -11,6 +11,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
11
11
|
import React, { useRef, useEffect, useState, useMemo } from 'react';
|
|
12
12
|
import Loading from './components/Loading';
|
|
13
13
|
import { normalizeName } from './utils';
|
|
14
|
+
import { version as loaderVersion } from './version';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* container for microApp mount
|
|
@@ -44,17 +45,23 @@ export default function createApplication(loader) {
|
|
|
44
45
|
app = _useState2[0],
|
|
45
46
|
setApp = _useState2[1];
|
|
46
47
|
|
|
47
|
-
var
|
|
48
|
+
var _useState3 = useState(null),
|
|
49
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
50
|
+
setError = _useState4[1];
|
|
51
|
+
|
|
52
|
+
var appRef = useRef(undefined);
|
|
48
53
|
var tagName = normalizeName(props.name);
|
|
49
54
|
var sandbox = useMemo(function () {
|
|
50
55
|
return _objectSpread(_objectSpread({}, customSandbox), {}, {
|
|
51
|
-
allowResources: [
|
|
56
|
+
// allowResources: [
|
|
57
|
+
// ...(customSandbox?.allowResources || []),
|
|
58
|
+
// /^https?:\/\/at\.alicdn\.com\//,
|
|
59
|
+
// ],
|
|
52
60
|
externalsVars: [].concat(_toConsumableArray((customSandbox === null || customSandbox === void 0 ? void 0 : customSandbox.externalsVars) || []), [// global vars used in ConsoleBase.forApp
|
|
53
61
|
'_console_base_ready_'])
|
|
54
62
|
});
|
|
55
63
|
}, [customSandbox]);
|
|
56
64
|
useEffect(function () {
|
|
57
|
-
// eslint-disable-next-line no-useless-catch
|
|
58
65
|
_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
59
66
|
var _yield$loader$registe, App, logger;
|
|
60
67
|
|
|
@@ -62,15 +69,7 @@ export default function createApplication(loader) {
|
|
|
62
69
|
while (1) {
|
|
63
70
|
switch (_context.prev = _context.next) {
|
|
64
71
|
case 0:
|
|
65
|
-
|
|
66
|
-
_context.next = 2;
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
return _context.abrupt("return");
|
|
71
|
-
|
|
72
|
-
case 2:
|
|
73
|
-
_context.next = 4;
|
|
72
|
+
_context.next = 2;
|
|
74
73
|
return loader.register({
|
|
75
74
|
entry: entry,
|
|
76
75
|
url: url,
|
|
@@ -90,47 +89,51 @@ export default function createApplication(loader) {
|
|
|
90
89
|
beforeUpdate: beforeUpdate
|
|
91
90
|
});
|
|
92
91
|
|
|
93
|
-
case
|
|
92
|
+
case 2:
|
|
94
93
|
_yield$loader$registe = _context.sent;
|
|
95
94
|
App = _yield$loader$registe.app;
|
|
96
95
|
logger = _yield$loader$registe.logger;
|
|
97
96
|
|
|
98
97
|
if (App) {
|
|
99
|
-
_context.next =
|
|
98
|
+
_context.next = 7;
|
|
100
99
|
break;
|
|
101
100
|
}
|
|
102
101
|
|
|
103
|
-
return _context.abrupt("return", logger === null || logger === void 0 ? void 0 : logger.error({
|
|
102
|
+
return _context.abrupt("return", (logger === null || logger === void 0 ? void 0 : logger.error) && logger.error({
|
|
103
|
+
E_CODE: 'RuntimeError',
|
|
104
104
|
E_MSG: 'load app failed.'
|
|
105
105
|
}));
|
|
106
106
|
|
|
107
|
-
case
|
|
107
|
+
case 7:
|
|
108
108
|
if (appRef.current) {
|
|
109
|
-
_context.next =
|
|
109
|
+
_context.next = 9;
|
|
110
110
|
break;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
return _context.abrupt("return", logger === null || logger === void 0 ? void 0 : logger.error({
|
|
113
|
+
return _context.abrupt("return", (logger === null || logger === void 0 ? void 0 : logger.error) && logger.error({
|
|
114
|
+
E_CODE: 'RuntimeError',
|
|
114
115
|
E_MSG: 'cannot find container.'
|
|
115
116
|
}));
|
|
116
117
|
|
|
117
|
-
case
|
|
118
|
-
_context.next =
|
|
118
|
+
case 9:
|
|
119
|
+
_context.next = 11;
|
|
119
120
|
return App.mount(appRef.current, {
|
|
120
121
|
customProps: customProps
|
|
121
122
|
});
|
|
122
123
|
|
|
123
|
-
case
|
|
124
|
+
case 11:
|
|
124
125
|
setApp(App);
|
|
125
126
|
|
|
126
|
-
case
|
|
127
|
+
case 12:
|
|
127
128
|
case "end":
|
|
128
129
|
return _context.stop();
|
|
129
130
|
}
|
|
130
131
|
}
|
|
131
132
|
}, _callee);
|
|
132
133
|
}))().catch(function (e) {
|
|
133
|
-
|
|
134
|
+
setError(function () {
|
|
135
|
+
throw e;
|
|
136
|
+
});
|
|
134
137
|
});
|
|
135
138
|
|
|
136
139
|
return function () {
|
|
@@ -142,15 +145,21 @@ export default function createApplication(loader) {
|
|
|
142
145
|
app.update(customProps);
|
|
143
146
|
}
|
|
144
147
|
|
|
148
|
+
var dataAttrs = {
|
|
149
|
+
'data-id': version,
|
|
150
|
+
'data-version': version,
|
|
151
|
+
'data-loader': loaderVersion
|
|
152
|
+
};
|
|
145
153
|
return /*#__PURE__*/React.createElement(React.Fragment, null, !app ? /*#__PURE__*/React.createElement(Loading, {
|
|
146
154
|
loading: loading
|
|
147
|
-
}) : null, sandbox && sandbox.disableFakeBody ? /*#__PURE__*/React.createElement(tagName, {
|
|
155
|
+
}) : null, sandbox && sandbox.disableFakeBody ? /*#__PURE__*/React.createElement(tagName, _objectSpread({
|
|
148
156
|
style: style,
|
|
149
157
|
className: className,
|
|
150
|
-
ref: appRef,
|
|
151
|
-
dataId: name
|
|
152
|
-
}) : /*#__PURE__*/React.createElement(tagName, {}, /*#__PURE__*/React.createElement('div', {
|
|
153
158
|
ref: appRef
|
|
159
|
+
}, dataAttrs)) : /*#__PURE__*/React.createElement(tagName, _objectSpread({}, dataAttrs), /*#__PURE__*/React.createElement('div', {
|
|
160
|
+
ref: appRef,
|
|
161
|
+
style: style,
|
|
162
|
+
className: className
|
|
154
163
|
})));
|
|
155
164
|
};
|
|
156
165
|
}
|
|
@@ -7,8 +7,9 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
7
7
|
|
|
8
8
|
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
9
|
|
|
10
|
-
import { getLocale } from '@alicloud/alfa-core';
|
|
11
|
-
import { getConsoleConfig } from '../utils/getConsoleConfig';
|
|
10
|
+
import { getConfig, getLocale } from '@alicloud/alfa-core';
|
|
11
|
+
import { getConsoleConfig } from '../utils/getConsoleConfig';
|
|
12
|
+
import { getConsoleGlobal } from '../utils/getConsoleGlobal'; // inject consoleConfig & locales after load
|
|
12
13
|
|
|
13
14
|
function afterLoadHook(_x) {
|
|
14
15
|
return _afterLoadHook.apply(this, arguments);
|
|
@@ -16,7 +17,7 @@ function afterLoadHook(_x) {
|
|
|
16
17
|
|
|
17
18
|
function _afterLoadHook() {
|
|
18
19
|
_afterLoadHook = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(appConfig) {
|
|
19
|
-
var app, logger, defaultConsoleConfig, CONFIG_START_TIME, _yield$Promise$all
|
|
20
|
+
var app, logger, defaultConsoleConfig, defaultConsoleGlobal, CONFIG_START_TIME, configData, _yield$Promise$all, _yield$Promise$all2, consoleConfig, consoleGlobal, messages, CONFIG_END_TIME, i18nMessages, END_TIME;
|
|
20
21
|
|
|
21
22
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
22
23
|
while (1) {
|
|
@@ -24,39 +25,41 @@ function _afterLoadHook() {
|
|
|
24
25
|
case 0:
|
|
25
26
|
app = appConfig.app, logger = appConfig.logger;
|
|
26
27
|
defaultConsoleConfig = window.ALIYUN_CONSOLE_CONFIG || {};
|
|
28
|
+
defaultConsoleGlobal = window.ALIYUN_CONSOLE_GLOBAL || {};
|
|
27
29
|
CONFIG_START_TIME = Date.now();
|
|
28
|
-
_context.next =
|
|
29
|
-
return
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
});
|
|
30
|
+
_context.next = 6;
|
|
31
|
+
return getConfig(appConfig);
|
|
32
|
+
|
|
33
|
+
case 6:
|
|
34
|
+
configData = _context.sent;
|
|
35
|
+
_context.next = 9;
|
|
36
|
+
return Promise.all([getConsoleConfig(configData, defaultConsoleConfig), getConsoleGlobal(configData, defaultConsoleGlobal), getLocale(appConfig)]);
|
|
36
37
|
|
|
37
|
-
case
|
|
38
|
-
_yield$Promise$all
|
|
39
|
-
_yield$Promise$
|
|
40
|
-
consoleConfig = _yield$Promise$
|
|
41
|
-
|
|
38
|
+
case 9:
|
|
39
|
+
_yield$Promise$all = _context.sent;
|
|
40
|
+
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3);
|
|
41
|
+
consoleConfig = _yield$Promise$all2[0];
|
|
42
|
+
consoleGlobal = _yield$Promise$all2[1];
|
|
43
|
+
messages = _yield$Promise$all2[2];
|
|
42
44
|
CONFIG_END_TIME = Date.now();
|
|
43
|
-
i18nMessages = _objectSpread(_objectSpread({}, window.ALIYUN_CONSOLE_I18N_MESSAGE), messages);
|
|
45
|
+
i18nMessages = _objectSpread(_objectSpread({}, window.ALIYUN_CONSOLE_I18N_MESSAGE), messages); // inject global variables
|
|
44
46
|
|
|
45
47
|
if (app && app.context) {
|
|
46
48
|
app.context.window.ALIYUN_CONSOLE_CONFIG = consoleConfig;
|
|
47
|
-
app.context.window.
|
|
49
|
+
app.context.window.ALIYUN_CONSOLE_GLOBAL = consoleGlobal;
|
|
50
|
+
app.context.window.ALIYUN_CONSOLE_I18N_MESSAGE = i18nMessages;
|
|
48
51
|
}
|
|
49
52
|
|
|
50
53
|
END_TIME = Date.now();
|
|
51
|
-
logger === null || logger === void 0 ? void 0 : logger.record({
|
|
54
|
+
(logger === null || logger === void 0 ? void 0 : logger.record) && logger.record({
|
|
52
55
|
CONFIG_START_TIME: CONFIG_START_TIME,
|
|
53
56
|
CONFIG_END_TIME: CONFIG_END_TIME,
|
|
54
57
|
END_TIME: END_TIME
|
|
55
58
|
});
|
|
56
|
-
logger === null || logger === void 0 ? void 0 : logger.send();
|
|
59
|
+
(logger === null || logger === void 0 ? void 0 : logger.send) && logger.send();
|
|
57
60
|
return _context.abrupt("return", appConfig);
|
|
58
61
|
|
|
59
|
-
case
|
|
62
|
+
case 21:
|
|
60
63
|
case "end":
|
|
61
64
|
return _context.stop();
|
|
62
65
|
}
|
|
@@ -10,30 +10,21 @@ function beforeResolveHook(_x) {
|
|
|
10
10
|
|
|
11
11
|
function _beforeResolveHook() {
|
|
12
12
|
_beforeResolveHook = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(appConfig) {
|
|
13
|
-
var
|
|
13
|
+
var logger, START_TIME, MANIFEST_START_TIME, resolvedManifest, MANIFEST_END_TIME;
|
|
14
14
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
15
15
|
while (1) {
|
|
16
16
|
switch (_context.prev = _context.next) {
|
|
17
17
|
case 0:
|
|
18
|
-
resolvedManifest = appConfig.manifest;
|
|
19
18
|
logger = appConfig.logger;
|
|
20
19
|
START_TIME = Date.now();
|
|
21
20
|
MANIFEST_START_TIME = Date.now();
|
|
22
|
-
|
|
23
|
-
if (resolvedManifest) {
|
|
24
|
-
_context.next = 8;
|
|
25
|
-
break;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
_context.next = 7;
|
|
21
|
+
_context.next = 5;
|
|
29
22
|
return getManifest(appConfig);
|
|
30
23
|
|
|
31
|
-
case
|
|
24
|
+
case 5:
|
|
32
25
|
resolvedManifest = _context.sent;
|
|
33
|
-
|
|
34
|
-
case 8:
|
|
35
26
|
MANIFEST_END_TIME = Date.now();
|
|
36
|
-
logger === null || logger === void 0 ? void 0 : logger.record({
|
|
27
|
+
(logger === null || logger === void 0 ? void 0 : logger.record) && logger.record({
|
|
37
28
|
LOADER_VERSION: LOADER_VERSION,
|
|
38
29
|
START_TIME: START_TIME,
|
|
39
30
|
MANIFEST_START_TIME: MANIFEST_START_TIME,
|
|
@@ -42,7 +33,7 @@ function _beforeResolveHook() {
|
|
|
42
33
|
appConfig.manifest = resolvedManifest;
|
|
43
34
|
return _context.abrupt("return", appConfig);
|
|
44
35
|
|
|
45
|
-
case
|
|
36
|
+
case 10:
|
|
46
37
|
case "end":
|
|
47
38
|
return _context.stop();
|
|
48
39
|
}
|
|
@@ -6,7 +6,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
6
6
|
|
|
7
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
8
|
|
|
9
|
-
import { getConfig } from '@alicloud/alfa-core';
|
|
10
9
|
import md5 from 'crypto-js/md5';
|
|
11
10
|
/**
|
|
12
11
|
* transform
|
|
@@ -14,12 +13,13 @@ import md5 from 'crypto-js/md5';
|
|
|
14
13
|
*/
|
|
15
14
|
|
|
16
15
|
var processFeatures = function processFeatures(features) {
|
|
16
|
+
if (!features) return {};
|
|
17
17
|
return Object.keys(features).reduce(function (newFeatures, key) {
|
|
18
18
|
var _ALIYUN_CONSOLE_CONFI;
|
|
19
19
|
|
|
20
|
-
var feature = features[key];
|
|
20
|
+
var feature = features === null || features === void 0 ? void 0 : features[key];
|
|
21
21
|
if (!feature) return newFeatures;
|
|
22
|
-
var uid = ((_ALIYUN_CONSOLE_CONFI = window.ALIYUN_CONSOLE_CONFIG) === null || _ALIYUN_CONSOLE_CONFI === void 0 ? void 0 : _ALIYUN_CONSOLE_CONFI.
|
|
22
|
+
var uid = ((_ALIYUN_CONSOLE_CONFI = window.ALIYUN_CONSOLE_CONFIG) === null || _ALIYUN_CONSOLE_CONFI === void 0 ? void 0 : _ALIYUN_CONSOLE_CONFI.MAIN_ACCOUNT_PK) || '';
|
|
23
23
|
var md5Uid = md5(uid).toString();
|
|
24
24
|
var enableBlockList = feature.enableBlockList,
|
|
25
25
|
enableSampling = feature.enableSampling,
|
|
@@ -44,35 +44,59 @@ var processFeatures = function processFeatures(features) {
|
|
|
44
44
|
}, {});
|
|
45
45
|
};
|
|
46
46
|
|
|
47
|
+
var getRegions = function getRegions(regions) {
|
|
48
|
+
if (!Array.isArray(regions) && regions.region) {
|
|
49
|
+
return regions.region || [];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return [];
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
var processChannelFeatures = function processChannelFeatures(allChannelFeatures, channel) {
|
|
56
|
+
var channelFeatures = allChannelFeatures === null || allChannelFeatures === void 0 ? void 0 : allChannelFeatures[channel];
|
|
57
|
+
if (!channelFeatures) return {};
|
|
58
|
+
return Object.keys(channelFeatures).reduce(function (newChannelFeatures, key) {
|
|
59
|
+
var channelFeature = channelFeatures[key];
|
|
60
|
+
if (!channelFeature) return newChannelFeatures;
|
|
61
|
+
|
|
62
|
+
if (newChannelFeatures) {
|
|
63
|
+
var status = channelFeature.status,
|
|
64
|
+
attribute = channelFeature.attribute;
|
|
65
|
+
newChannelFeatures[key] = {
|
|
66
|
+
status: status,
|
|
67
|
+
attribute: _objectSpread(_objectSpread({}, attribute), {}, {
|
|
68
|
+
regions: getRegions(channelFeature.attribute.regions)
|
|
69
|
+
})
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return newChannelFeatures;
|
|
74
|
+
}, {});
|
|
75
|
+
};
|
|
76
|
+
|
|
47
77
|
var mergeConfigDataWithConsoleConfig = function mergeConfigDataWithConsoleConfig(configData, consoleConfig) {
|
|
48
|
-
var _window, _window$ALIYUN_CONSOL, _configData$ALL_CHANN
|
|
78
|
+
var _window, _window$ALIYUN_CONSOL, _configData$ALL_CHANN;
|
|
49
79
|
|
|
50
80
|
var channel = ((_window = window) === null || _window === void 0 ? void 0 : (_window$ALIYUN_CONSOL = _window.ALIYUN_CONSOLE_CONFIG) === null || _window$ALIYUN_CONSOL === void 0 ? void 0 : _window$ALIYUN_CONSOL.CHANNEL) || 'OFFICIAL';
|
|
51
81
|
var channelLinks = ((_configData$ALL_CHANN = configData.ALL_CHANNEL_LINKS) === null || _configData$ALL_CHANN === void 0 ? void 0 : _configData$ALL_CHANN[channel]) || {};
|
|
52
|
-
var channelFeatures =
|
|
82
|
+
var channelFeatures = configData.ALL_CHANNEL_FEATURE_STATUS || {};
|
|
53
83
|
var features = configData.ALL_FEATURE_STATUS || {};
|
|
54
84
|
return _objectSpread(_objectSpread({}, consoleConfig), {}, {
|
|
55
85
|
CHANNEL_LINKS: channelLinks,
|
|
56
|
-
CHANNEL_FEATURE_STATUS: channelFeatures,
|
|
86
|
+
CHANNEL_FEATURE_STATUS: processChannelFeatures(channelFeatures, channel),
|
|
57
87
|
FEATURE_STATUS: processFeatures(features)
|
|
58
88
|
});
|
|
59
89
|
};
|
|
60
90
|
|
|
61
91
|
export var getConsoleConfig = /*#__PURE__*/function () {
|
|
62
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(
|
|
63
|
-
var configData;
|
|
92
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(configData, consoleConfig) {
|
|
64
93
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
65
94
|
while (1) {
|
|
66
95
|
switch (_context.prev = _context.next) {
|
|
67
96
|
case 0:
|
|
68
|
-
_context.next = 2;
|
|
69
|
-
return getConfig(config);
|
|
70
|
-
|
|
71
|
-
case 2:
|
|
72
|
-
configData = _context.sent;
|
|
73
97
|
return _context.abrupt("return", mergeConfigDataWithConsoleConfig(configData, consoleConfig));
|
|
74
98
|
|
|
75
|
-
case
|
|
99
|
+
case 1:
|
|
76
100
|
case "end":
|
|
77
101
|
return _context.stop();
|
|
78
102
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
3
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
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
|
+
export var getConsoleGlobal = /*#__PURE__*/function () {
|
|
10
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(configData, global) {
|
|
11
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
12
|
+
while (1) {
|
|
13
|
+
switch (_context.prev = _context.next) {
|
|
14
|
+
case 0:
|
|
15
|
+
return _context.abrupt("return", _objectSpread(_objectSpread({}, global), configData === null || configData === void 0 ? void 0 : configData.GLOBAL_DATA));
|
|
16
|
+
|
|
17
|
+
case 1:
|
|
18
|
+
case "end":
|
|
19
|
+
return _context.stop();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}, _callee);
|
|
23
|
+
}));
|
|
24
|
+
|
|
25
|
+
return function getConsoleGlobal(_x, _x2) {
|
|
26
|
+
return _ref.apply(this, arguments);
|
|
27
|
+
};
|
|
28
|
+
}();
|
package/es/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export var version = '1.
|
|
1
|
+
export var version = '1.4.0-alpha.1';
|
package/lib/app.js
CHANGED
|
@@ -80,7 +80,7 @@ var Application = function Application(props) {
|
|
|
80
80
|
app = _useState4[0],
|
|
81
81
|
setApp = _useState4[1];
|
|
82
82
|
|
|
83
|
-
var appRef = (0, _react.useRef)(
|
|
83
|
+
var appRef = (0, _react.useRef)(undefined);
|
|
84
84
|
(0, _react.useEffect)(function () {
|
|
85
85
|
(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
86
86
|
var App;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import React, { ErrorInfo } from 'react';
|
|
2
2
|
import { AlfaLogger } from '@alicloud/alfa-core';
|
|
3
3
|
interface IProps {
|
|
4
|
+
fallbackRender?: (error?: Error) => Element;
|
|
4
5
|
appDidCatch?: (error?: Error, info?: ErrorInfo) => void;
|
|
5
6
|
logger?: AlfaLogger;
|
|
6
7
|
}
|
|
7
8
|
interface State {
|
|
8
9
|
hasError: boolean;
|
|
9
|
-
error
|
|
10
|
+
error?: Error;
|
|
10
11
|
}
|
|
11
12
|
declare class ErrorBoundary extends React.Component<IProps, State> {
|
|
12
13
|
constructor(props: IProps);
|
|
@@ -39,7 +39,7 @@ var ErrorBoundary = /*#__PURE__*/function (_React$Component) {
|
|
|
39
39
|
_this = _super.call(this, props);
|
|
40
40
|
_this.state = {
|
|
41
41
|
hasError: false,
|
|
42
|
-
error:
|
|
42
|
+
error: undefined
|
|
43
43
|
};
|
|
44
44
|
return _this;
|
|
45
45
|
}
|
|
@@ -60,8 +60,9 @@ var ErrorBoundary = /*#__PURE__*/function (_React$Component) {
|
|
|
60
60
|
(0, _isFunction.default)((_window = window) === null || _window === void 0 ? void 0 : (_window$__bl = _window.__bl) === null || _window$__bl === void 0 ? void 0 : _window$__bl.error) && ((_window2 = window) === null || _window2 === void 0 ? void 0 : (_window2$__bl = _window2.__bl) === null || _window2$__bl === void 0 ? void 0 : _window2$__bl.error(error, errorInfo)); // You can also log the error to an error reporting service in appDidCatch
|
|
61
61
|
|
|
62
62
|
appDidCatch && appDidCatch(error, errorInfo);
|
|
63
|
-
logger === null || logger === void 0 ? void 0 : logger.error({
|
|
64
|
-
|
|
63
|
+
(logger === null || logger === void 0 ? void 0 : logger.error) && logger.error({
|
|
64
|
+
E_CODE: 'RuntimeError',
|
|
65
|
+
E_MSG: error.message,
|
|
65
66
|
E_STACK: error,
|
|
66
67
|
C_STACK: errorInfo
|
|
67
68
|
});
|
|
@@ -72,7 +73,8 @@ var ErrorBoundary = /*#__PURE__*/function (_React$Component) {
|
|
|
72
73
|
var error = this.state.error;
|
|
73
74
|
|
|
74
75
|
if (this.state.hasError) {
|
|
75
|
-
// You can render any custom fallback UI
|
|
76
|
+
if (this.props.fallbackRender) return this.props.fallbackRender(error); // You can render any custom fallback UI
|
|
77
|
+
|
|
76
78
|
return /*#__PURE__*/_react.default.createElement(_ErrorPanel.default, {
|
|
77
79
|
error: error
|
|
78
80
|
});
|
package/lib/createApplication.js
CHANGED
|
@@ -25,6 +25,8 @@ var _Loading = _interopRequireDefault(require("./components/Loading"));
|
|
|
25
25
|
|
|
26
26
|
var _utils = require("./utils");
|
|
27
27
|
|
|
28
|
+
var _version = require("./version");
|
|
29
|
+
|
|
28
30
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
31
|
|
|
30
32
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -65,17 +67,23 @@ function createApplication(loader) {
|
|
|
65
67
|
app = _useState2[0],
|
|
66
68
|
setApp = _useState2[1];
|
|
67
69
|
|
|
68
|
-
var
|
|
70
|
+
var _useState3 = (0, _react.useState)(null),
|
|
71
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
72
|
+
setError = _useState4[1];
|
|
73
|
+
|
|
74
|
+
var appRef = (0, _react.useRef)(undefined);
|
|
69
75
|
var tagName = (0, _utils.normalizeName)(props.name);
|
|
70
76
|
var sandbox = (0, _react.useMemo)(function () {
|
|
71
77
|
return _objectSpread(_objectSpread({}, customSandbox), {}, {
|
|
72
|
-
allowResources: [
|
|
78
|
+
// allowResources: [
|
|
79
|
+
// ...(customSandbox?.allowResources || []),
|
|
80
|
+
// /^https?:\/\/at\.alicdn\.com\//,
|
|
81
|
+
// ],
|
|
73
82
|
externalsVars: [].concat((0, _toConsumableArray2.default)((customSandbox === null || customSandbox === void 0 ? void 0 : customSandbox.externalsVars) || []), [// global vars used in ConsoleBase.forApp
|
|
74
83
|
'_console_base_ready_'])
|
|
75
84
|
});
|
|
76
85
|
}, [customSandbox]);
|
|
77
86
|
(0, _react.useEffect)(function () {
|
|
78
|
-
// eslint-disable-next-line no-useless-catch
|
|
79
87
|
(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
80
88
|
var _yield$loader$registe, App, logger;
|
|
81
89
|
|
|
@@ -83,15 +91,7 @@ function createApplication(loader) {
|
|
|
83
91
|
while (1) {
|
|
84
92
|
switch (_context.prev = _context.next) {
|
|
85
93
|
case 0:
|
|
86
|
-
|
|
87
|
-
_context.next = 2;
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
return _context.abrupt("return");
|
|
92
|
-
|
|
93
|
-
case 2:
|
|
94
|
-
_context.next = 4;
|
|
94
|
+
_context.next = 2;
|
|
95
95
|
return loader.register({
|
|
96
96
|
entry: entry,
|
|
97
97
|
url: url,
|
|
@@ -111,47 +111,51 @@ function createApplication(loader) {
|
|
|
111
111
|
beforeUpdate: beforeUpdate
|
|
112
112
|
});
|
|
113
113
|
|
|
114
|
-
case
|
|
114
|
+
case 2:
|
|
115
115
|
_yield$loader$registe = _context.sent;
|
|
116
116
|
App = _yield$loader$registe.app;
|
|
117
117
|
logger = _yield$loader$registe.logger;
|
|
118
118
|
|
|
119
119
|
if (App) {
|
|
120
|
-
_context.next =
|
|
120
|
+
_context.next = 7;
|
|
121
121
|
break;
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
-
return _context.abrupt("return", logger === null || logger === void 0 ? void 0 : logger.error({
|
|
124
|
+
return _context.abrupt("return", (logger === null || logger === void 0 ? void 0 : logger.error) && logger.error({
|
|
125
|
+
E_CODE: 'RuntimeError',
|
|
125
126
|
E_MSG: 'load app failed.'
|
|
126
127
|
}));
|
|
127
128
|
|
|
128
|
-
case
|
|
129
|
+
case 7:
|
|
129
130
|
if (appRef.current) {
|
|
130
|
-
_context.next =
|
|
131
|
+
_context.next = 9;
|
|
131
132
|
break;
|
|
132
133
|
}
|
|
133
134
|
|
|
134
|
-
return _context.abrupt("return", logger === null || logger === void 0 ? void 0 : logger.error({
|
|
135
|
+
return _context.abrupt("return", (logger === null || logger === void 0 ? void 0 : logger.error) && logger.error({
|
|
136
|
+
E_CODE: 'RuntimeError',
|
|
135
137
|
E_MSG: 'cannot find container.'
|
|
136
138
|
}));
|
|
137
139
|
|
|
138
|
-
case
|
|
139
|
-
_context.next =
|
|
140
|
+
case 9:
|
|
141
|
+
_context.next = 11;
|
|
140
142
|
return App.mount(appRef.current, {
|
|
141
143
|
customProps: customProps
|
|
142
144
|
});
|
|
143
145
|
|
|
144
|
-
case
|
|
146
|
+
case 11:
|
|
145
147
|
setApp(App);
|
|
146
148
|
|
|
147
|
-
case
|
|
149
|
+
case 12:
|
|
148
150
|
case "end":
|
|
149
151
|
return _context.stop();
|
|
150
152
|
}
|
|
151
153
|
}
|
|
152
154
|
}, _callee);
|
|
153
155
|
}))().catch(function (e) {
|
|
154
|
-
|
|
156
|
+
setError(function () {
|
|
157
|
+
throw e;
|
|
158
|
+
});
|
|
155
159
|
});
|
|
156
160
|
return function () {
|
|
157
161
|
app && app.unmount();
|
|
@@ -162,15 +166,21 @@ function createApplication(loader) {
|
|
|
162
166
|
app.update(customProps);
|
|
163
167
|
}
|
|
164
168
|
|
|
169
|
+
var dataAttrs = {
|
|
170
|
+
'data-id': version,
|
|
171
|
+
'data-version': version,
|
|
172
|
+
'data-loader': _version.version
|
|
173
|
+
};
|
|
165
174
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !app ? /*#__PURE__*/_react.default.createElement(_Loading.default, {
|
|
166
175
|
loading: loading
|
|
167
|
-
}) : null, sandbox && sandbox.disableFakeBody ? /*#__PURE__*/_react.default.createElement(tagName, {
|
|
176
|
+
}) : null, sandbox && sandbox.disableFakeBody ? /*#__PURE__*/_react.default.createElement(tagName, _objectSpread({
|
|
168
177
|
style: style,
|
|
169
178
|
className: className,
|
|
170
|
-
ref: appRef,
|
|
171
|
-
dataId: name
|
|
172
|
-
}) : /*#__PURE__*/_react.default.createElement(tagName, {}, /*#__PURE__*/_react.default.createElement('div', {
|
|
173
179
|
ref: appRef
|
|
180
|
+
}, dataAttrs)) : /*#__PURE__*/_react.default.createElement(tagName, _objectSpread({}, dataAttrs), /*#__PURE__*/_react.default.createElement('div', {
|
|
181
|
+
ref: appRef,
|
|
182
|
+
style: style,
|
|
183
|
+
className: className
|
|
174
184
|
})));
|
|
175
185
|
};
|
|
176
186
|
}
|