@alicloud/alfa-react 1.3.4 → 1.4.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +6 -6
- package/es/components/ErrorBoundary/index.js +6 -4
- package/es/createApplication.js +9 -9
- package/es/hooks/beforeLoadHook.js +24 -21
- package/es/hooks/beforeResolveHook.js +5 -14
- package/es/utils/getConsoleConfig.js +5 -11
- 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 +9 -9
- 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 +3 -3
- package/lib/utils/getConsoleConfig.js +5 -12
- 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 +3 -3
|
@@ -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
|
@@ -45,7 +45,7 @@ export default function createApplication(loader) {
|
|
|
45
45
|
app = _useState2[0],
|
|
46
46
|
setApp = _useState2[1];
|
|
47
47
|
|
|
48
|
-
var appRef = useRef(
|
|
48
|
+
var appRef = useRef(undefined);
|
|
49
49
|
var tagName = normalizeName(props.name);
|
|
50
50
|
var sandbox = useMemo(function () {
|
|
51
51
|
return _objectSpread(_objectSpread({}, customSandbox), {}, {
|
|
@@ -95,7 +95,8 @@ export default function createApplication(loader) {
|
|
|
95
95
|
break;
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
return _context.abrupt("return", logger === null || logger === void 0 ? void 0 : logger.error({
|
|
98
|
+
return _context.abrupt("return", (logger === null || logger === void 0 ? void 0 : logger.error) && logger.error({
|
|
99
|
+
E_CODE: 'RuntimeError',
|
|
99
100
|
E_MSG: 'load app failed.'
|
|
100
101
|
}));
|
|
101
102
|
|
|
@@ -105,7 +106,8 @@ export default function createApplication(loader) {
|
|
|
105
106
|
break;
|
|
106
107
|
}
|
|
107
108
|
|
|
108
|
-
return _context.abrupt("return", logger === null || logger === void 0 ? void 0 : logger.error({
|
|
109
|
+
return _context.abrupt("return", (logger === null || logger === void 0 ? void 0 : logger.error) && logger.error({
|
|
110
|
+
E_CODE: 'RuntimeError',
|
|
109
111
|
E_MSG: 'cannot find container.'
|
|
110
112
|
}));
|
|
111
113
|
|
|
@@ -138,9 +140,9 @@ export default function createApplication(loader) {
|
|
|
138
140
|
}
|
|
139
141
|
|
|
140
142
|
var dataAttrs = {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
143
|
+
'data-id': version,
|
|
144
|
+
'data-version': version,
|
|
145
|
+
'data-loader': loaderVersion
|
|
144
146
|
};
|
|
145
147
|
return /*#__PURE__*/React.createElement(React.Fragment, null, !app ? /*#__PURE__*/React.createElement(Loading, {
|
|
146
148
|
loading: loading
|
|
@@ -148,9 +150,7 @@ export default function createApplication(loader) {
|
|
|
148
150
|
style: style,
|
|
149
151
|
className: className,
|
|
150
152
|
ref: appRef
|
|
151
|
-
}, dataAttrs)) : /*#__PURE__*/React.createElement(tagName, {
|
|
152
|
-
dataAttrs: dataAttrs
|
|
153
|
-
}, /*#__PURE__*/React.createElement('div', {
|
|
153
|
+
}, dataAttrs)) : /*#__PURE__*/React.createElement(tagName, _objectSpread({}, dataAttrs), /*#__PURE__*/React.createElement('div', {
|
|
154
154
|
ref: appRef,
|
|
155
155
|
style: style,
|
|
156
156
|
className: className
|
|
@@ -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,
|
|
@@ -59,20 +59,14 @@ var mergeConfigDataWithConsoleConfig = function mergeConfigDataWithConsoleConfig
|
|
|
59
59
|
};
|
|
60
60
|
|
|
61
61
|
export var getConsoleConfig = /*#__PURE__*/function () {
|
|
62
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(
|
|
63
|
-
var configData;
|
|
62
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(configData, consoleConfig) {
|
|
64
63
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
65
64
|
while (1) {
|
|
66
65
|
switch (_context.prev = _context.next) {
|
|
67
66
|
case 0:
|
|
68
|
-
_context.next = 2;
|
|
69
|
-
return getConfig(config);
|
|
70
|
-
|
|
71
|
-
case 2:
|
|
72
|
-
configData = _context.sent;
|
|
73
67
|
return _context.abrupt("return", mergeConfigDataWithConsoleConfig(configData, consoleConfig));
|
|
74
68
|
|
|
75
|
-
case
|
|
69
|
+
case 1:
|
|
76
70
|
case "end":
|
|
77
71
|
return _context.stop();
|
|
78
72
|
}
|
|
@@ -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.0';
|
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
|
@@ -67,7 +67,7 @@ function createApplication(loader) {
|
|
|
67
67
|
app = _useState2[0],
|
|
68
68
|
setApp = _useState2[1];
|
|
69
69
|
|
|
70
|
-
var appRef = (0, _react.useRef)(
|
|
70
|
+
var appRef = (0, _react.useRef)(undefined);
|
|
71
71
|
var tagName = (0, _utils.normalizeName)(props.name);
|
|
72
72
|
var sandbox = (0, _react.useMemo)(function () {
|
|
73
73
|
return _objectSpread(_objectSpread({}, customSandbox), {}, {
|
|
@@ -117,7 +117,8 @@ function createApplication(loader) {
|
|
|
117
117
|
break;
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
return _context.abrupt("return", logger === null || logger === void 0 ? void 0 : logger.error({
|
|
120
|
+
return _context.abrupt("return", (logger === null || logger === void 0 ? void 0 : logger.error) && logger.error({
|
|
121
|
+
E_CODE: 'RuntimeError',
|
|
121
122
|
E_MSG: 'load app failed.'
|
|
122
123
|
}));
|
|
123
124
|
|
|
@@ -127,7 +128,8 @@ function createApplication(loader) {
|
|
|
127
128
|
break;
|
|
128
129
|
}
|
|
129
130
|
|
|
130
|
-
return _context.abrupt("return", logger === null || logger === void 0 ? void 0 : logger.error({
|
|
131
|
+
return _context.abrupt("return", (logger === null || logger === void 0 ? void 0 : logger.error) && logger.error({
|
|
132
|
+
E_CODE: 'RuntimeError',
|
|
131
133
|
E_MSG: 'cannot find container.'
|
|
132
134
|
}));
|
|
133
135
|
|
|
@@ -159,9 +161,9 @@ function createApplication(loader) {
|
|
|
159
161
|
}
|
|
160
162
|
|
|
161
163
|
var dataAttrs = {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
164
|
+
'data-id': version,
|
|
165
|
+
'data-version': version,
|
|
166
|
+
'data-loader': _version.version
|
|
165
167
|
};
|
|
166
168
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !app ? /*#__PURE__*/_react.default.createElement(_Loading.default, {
|
|
167
169
|
loading: loading
|
|
@@ -169,9 +171,7 @@ function createApplication(loader) {
|
|
|
169
171
|
style: style,
|
|
170
172
|
className: className,
|
|
171
173
|
ref: appRef
|
|
172
|
-
}, dataAttrs)) : /*#__PURE__*/_react.default.createElement(tagName, {
|
|
173
|
-
dataAttrs: dataAttrs
|
|
174
|
-
}, /*#__PURE__*/_react.default.createElement('div', {
|
|
174
|
+
}, dataAttrs)) : /*#__PURE__*/_react.default.createElement(tagName, _objectSpread({}, dataAttrs), /*#__PURE__*/_react.default.createElement('div', {
|
|
175
175
|
ref: appRef,
|
|
176
176
|
style: style,
|
|
177
177
|
className: className
|
|
@@ -19,6 +19,8 @@ var _alfaCore = require("@alicloud/alfa-core");
|
|
|
19
19
|
|
|
20
20
|
var _getConsoleConfig = require("../utils/getConsoleConfig");
|
|
21
21
|
|
|
22
|
+
var _getConsoleGlobal = require("../utils/getConsoleGlobal");
|
|
23
|
+
|
|
22
24
|
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; }
|
|
23
25
|
|
|
24
26
|
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; }
|
|
@@ -30,7 +32,7 @@ function afterLoadHook(_x) {
|
|
|
30
32
|
|
|
31
33
|
function _afterLoadHook() {
|
|
32
34
|
_afterLoadHook = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(appConfig) {
|
|
33
|
-
var app, logger, defaultConsoleConfig, CONFIG_START_TIME, _yield$Promise$all
|
|
35
|
+
var app, logger, defaultConsoleConfig, defaultConsoleGlobal, CONFIG_START_TIME, configData, _yield$Promise$all, _yield$Promise$all2, consoleConfig, consoleGlobal, messages, CONFIG_END_TIME, i18nMessages, END_TIME;
|
|
34
36
|
|
|
35
37
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
36
38
|
while (1) {
|
|
@@ -38,39 +40,41 @@ function _afterLoadHook() {
|
|
|
38
40
|
case 0:
|
|
39
41
|
app = appConfig.app, logger = appConfig.logger;
|
|
40
42
|
defaultConsoleConfig = window.ALIYUN_CONSOLE_CONFIG || {};
|
|
43
|
+
defaultConsoleGlobal = window.ALIYUN_CONSOLE_GLOBAL || {};
|
|
41
44
|
CONFIG_START_TIME = Date.now();
|
|
42
|
-
_context.next =
|
|
43
|
-
return
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
_yield$Promise$
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
messages = _yield$Promise$
|
|
45
|
+
_context.next = 6;
|
|
46
|
+
return (0, _alfaCore.getConfig)(appConfig);
|
|
47
|
+
|
|
48
|
+
case 6:
|
|
49
|
+
configData = _context.sent;
|
|
50
|
+
_context.next = 9;
|
|
51
|
+
return Promise.all([(0, _getConsoleConfig.getConsoleConfig)(configData, defaultConsoleConfig), (0, _getConsoleGlobal.getConsoleGlobal)(configData, defaultConsoleGlobal), (0, _alfaCore.getLocale)(appConfig)]);
|
|
52
|
+
|
|
53
|
+
case 9:
|
|
54
|
+
_yield$Promise$all = _context.sent;
|
|
55
|
+
_yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 3);
|
|
56
|
+
consoleConfig = _yield$Promise$all2[0];
|
|
57
|
+
consoleGlobal = _yield$Promise$all2[1];
|
|
58
|
+
messages = _yield$Promise$all2[2];
|
|
56
59
|
CONFIG_END_TIME = Date.now();
|
|
57
|
-
i18nMessages = _objectSpread(_objectSpread({}, window.ALIYUN_CONSOLE_I18N_MESSAGE), messages);
|
|
60
|
+
i18nMessages = _objectSpread(_objectSpread({}, window.ALIYUN_CONSOLE_I18N_MESSAGE), messages); // inject global variables
|
|
58
61
|
|
|
59
62
|
if (app && app.context) {
|
|
60
63
|
app.context.window.ALIYUN_CONSOLE_CONFIG = consoleConfig;
|
|
61
|
-
app.context.window.
|
|
64
|
+
app.context.window.ALIYUN_CONSOLE_GLOBAL = consoleGlobal;
|
|
65
|
+
app.context.window.ALIYUN_CONSOLE_I18N_MESSAGE = i18nMessages;
|
|
62
66
|
}
|
|
63
67
|
|
|
64
68
|
END_TIME = Date.now();
|
|
65
|
-
logger === null || logger === void 0 ? void 0 : logger.record({
|
|
69
|
+
(logger === null || logger === void 0 ? void 0 : logger.record) && logger.record({
|
|
66
70
|
CONFIG_START_TIME: CONFIG_START_TIME,
|
|
67
71
|
CONFIG_END_TIME: CONFIG_END_TIME,
|
|
68
72
|
END_TIME: END_TIME
|
|
69
73
|
});
|
|
70
|
-
logger === null || logger === void 0 ? void 0 : logger.send();
|
|
74
|
+
(logger === null || logger === void 0 ? void 0 : logger.send) && logger.send();
|
|
71
75
|
return _context.abrupt("return", appConfig);
|
|
72
76
|
|
|
73
|
-
case
|
|
77
|
+
case 21:
|
|
74
78
|
case "end":
|
|
75
79
|
return _context.stop();
|
|
76
80
|
}
|
|
@@ -23,30 +23,21 @@ function beforeResolveHook(_x) {
|
|
|
23
23
|
|
|
24
24
|
function _beforeResolveHook() {
|
|
25
25
|
_beforeResolveHook = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(appConfig) {
|
|
26
|
-
var
|
|
26
|
+
var logger, START_TIME, MANIFEST_START_TIME, resolvedManifest, MANIFEST_END_TIME;
|
|
27
27
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
28
28
|
while (1) {
|
|
29
29
|
switch (_context.prev = _context.next) {
|
|
30
30
|
case 0:
|
|
31
|
-
resolvedManifest = appConfig.manifest;
|
|
32
31
|
logger = appConfig.logger;
|
|
33
32
|
START_TIME = Date.now();
|
|
34
33
|
MANIFEST_START_TIME = Date.now();
|
|
35
|
-
|
|
36
|
-
if (resolvedManifest) {
|
|
37
|
-
_context.next = 8;
|
|
38
|
-
break;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
_context.next = 7;
|
|
34
|
+
_context.next = 5;
|
|
42
35
|
return (0, _alfaCore.getManifest)(appConfig);
|
|
43
36
|
|
|
44
|
-
case
|
|
37
|
+
case 5:
|
|
45
38
|
resolvedManifest = _context.sent;
|
|
46
|
-
|
|
47
|
-
case 8:
|
|
48
39
|
MANIFEST_END_TIME = Date.now();
|
|
49
|
-
logger === null || logger === void 0 ? void 0 : logger.record({
|
|
40
|
+
(logger === null || logger === void 0 ? void 0 : logger.record) && logger.record({
|
|
50
41
|
LOADER_VERSION: _version.version,
|
|
51
42
|
START_TIME: START_TIME,
|
|
52
43
|
MANIFEST_START_TIME: MANIFEST_START_TIME,
|
|
@@ -55,7 +46,7 @@ function _beforeResolveHook() {
|
|
|
55
46
|
appConfig.manifest = resolvedManifest;
|
|
56
47
|
return _context.abrupt("return", appConfig);
|
|
57
48
|
|
|
58
|
-
case
|
|
49
|
+
case 10:
|
|
59
50
|
case "end":
|
|
60
51
|
return _context.stop();
|
|
61
52
|
}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export interface AlfaFactoryOption extends IAppConfig {
|
|
|
20
20
|
js?: Record<string, string>;
|
|
21
21
|
};
|
|
22
22
|
runtimeVersion?: string;
|
|
23
|
+
fallbackRender?: (error: Error) => Element;
|
|
23
24
|
}
|
|
24
25
|
declare type OmitKeys = 'manifest';
|
|
25
26
|
export interface WidgetFactoryOption extends Omit<AlfaFactoryOption, OmitKeys> {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const getConsoleConfig: (
|
|
1
|
+
import { AlfaConfig } from '@alicloud/alfa-core';
|
|
2
|
+
export declare const getConsoleConfig: (configData: AlfaConfig, consoleConfig: any) => Promise<{
|
|
3
3
|
CHANNEL_LINKS: Partial<Record<string, string>>;
|
|
4
4
|
CHANNEL_FEATURE_STATUS: Partial<Record<string, {
|
|
5
5
|
status: boolean;
|
|
@@ -11,7 +11,7 @@ export declare const getConsoleConfig: (config: IAppConfig, consoleConfig: any)
|
|
|
11
11
|
};
|
|
12
12
|
}>>;
|
|
13
13
|
FEATURE_STATUS: Partial<Record<string, boolean>>;
|
|
14
|
-
fEnv?: "
|
|
14
|
+
fEnv?: "pre" | "local" | "prod" | "daily" | undefined;
|
|
15
15
|
LOCALE?: string | undefined;
|
|
16
16
|
CHANNEL?: string | undefined;
|
|
17
17
|
SEC_TOKEN?: string | undefined;
|
|
@@ -13,8 +13,6 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
13
13
|
|
|
14
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
15
|
|
|
16
|
-
var _alfaCore = require("@alicloud/alfa-core");
|
|
17
|
-
|
|
18
16
|
var _md = _interopRequireDefault(require("crypto-js/md5"));
|
|
19
17
|
|
|
20
18
|
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; }
|
|
@@ -26,12 +24,13 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
26
24
|
* @param features
|
|
27
25
|
*/
|
|
28
26
|
var processFeatures = function processFeatures(features) {
|
|
27
|
+
if (!features) return {};
|
|
29
28
|
return Object.keys(features).reduce(function (newFeatures, key) {
|
|
30
29
|
var _ALIYUN_CONSOLE_CONFI;
|
|
31
30
|
|
|
32
|
-
var feature = features[key];
|
|
31
|
+
var feature = features === null || features === void 0 ? void 0 : features[key];
|
|
33
32
|
if (!feature) return newFeatures;
|
|
34
|
-
var uid = ((_ALIYUN_CONSOLE_CONFI = window.ALIYUN_CONSOLE_CONFIG) === null || _ALIYUN_CONSOLE_CONFI === void 0 ? void 0 : _ALIYUN_CONSOLE_CONFI.
|
|
33
|
+
var uid = ((_ALIYUN_CONSOLE_CONFI = window.ALIYUN_CONSOLE_CONFIG) === null || _ALIYUN_CONSOLE_CONFI === void 0 ? void 0 : _ALIYUN_CONSOLE_CONFI.MAIN_ACCOUNT_PK) || '';
|
|
35
34
|
var md5Uid = (0, _md.default)(uid).toString();
|
|
36
35
|
var enableBlockList = feature.enableBlockList,
|
|
37
36
|
enableSampling = feature.enableSampling,
|
|
@@ -71,20 +70,14 @@ var mergeConfigDataWithConsoleConfig = function mergeConfigDataWithConsoleConfig
|
|
|
71
70
|
};
|
|
72
71
|
|
|
73
72
|
var getConsoleConfig = /*#__PURE__*/function () {
|
|
74
|
-
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(
|
|
75
|
-
var configData;
|
|
73
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(configData, consoleConfig) {
|
|
76
74
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
77
75
|
while (1) {
|
|
78
76
|
switch (_context.prev = _context.next) {
|
|
79
77
|
case 0:
|
|
80
|
-
_context.next = 2;
|
|
81
|
-
return (0, _alfaCore.getConfig)(config);
|
|
82
|
-
|
|
83
|
-
case 2:
|
|
84
|
-
configData = _context.sent;
|
|
85
78
|
return _context.abrupt("return", mergeConfigDataWithConsoleConfig(configData, consoleConfig));
|
|
86
79
|
|
|
87
|
-
case
|
|
80
|
+
case 1:
|
|
88
81
|
case "end":
|
|
89
82
|
return _context.stop();
|
|
90
83
|
}
|