@alicloud/alfa-react 1.3.0-alpha.0 → 1.3.0-canary.10
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/app/createIsomorphicMicroApp.js +45 -0
- package/es/app/getConsoleConfig.js +49 -0
- package/es/app.js +36 -42
- package/es/components/Loading/index.js +17 -1
- package/es/context.js +7 -0
- package/es/createAlfaApp.js +116 -0
- package/es/createAlfaWidget.js +125 -0
- package/es/createApplication.js +113 -0
- package/es/types/base.js +26 -0
- package/es/types/index.js +1 -0
- package/es/utils/getConsoleConfig.js +5 -3
- package/es/utils/index.js +3 -0
- package/es/utils.js +3 -0
- package/es/widget/emitter.js +4 -4
- package/es/widget/getWidgetConfigById.js +6 -5
- package/es/widget/getWidgetDeps.js +1 -1
- package/es/widget.js +0 -6
- package/lib/app/createIsomorphicMicroApp.d.ts +2 -0
- package/lib/app/createIsomorphicMicroApp.js +65 -0
- package/lib/app/getConsoleConfig.d.ts +2 -0
- package/lib/{utils → app}/getConsoleConfig.js +5 -43
- package/lib/app.d.ts +1 -2
- package/lib/app.js +35 -40
- package/lib/base.d.ts +0 -3
- package/lib/components/Loading/Title.d.ts +0 -1
- package/lib/components/Loading/index.d.ts +5 -2
- package/lib/components/Loading/index.js +18 -1
- package/lib/context.d.ts +7 -0
- package/lib/context.js +15 -0
- package/lib/types.d.ts +0 -1
- package/lib/utils.d.ts +1 -0
- package/lib/utils.js +8 -2
- package/lib/widget/emitter.d.ts +1 -0
- package/lib/widget/emitter.js +4 -4
- package/lib/widget/getWidgetConfigById.js +6 -5
- package/lib/widget/getWidgetDeps.js +1 -1
- package/lib/widget.d.ts +0 -1
- package/lib/widget.js +0 -7
- package/package.json +6 -10
- package/lib/utils/getConsoleConfig.d.ts +0 -33
|
@@ -12,6 +12,7 @@ import md5 from 'crypto-js/md5';
|
|
|
12
12
|
* transform
|
|
13
13
|
* @param features
|
|
14
14
|
*/
|
|
15
|
+
//@ts-ignore
|
|
15
16
|
|
|
16
17
|
var processFeatures = function processFeatures(features) {
|
|
17
18
|
return Object.keys(features).reduce(function (newFeatures, key) {
|
|
@@ -49,7 +50,8 @@ var mergeConfigDataWithConsoleConfig = function mergeConfigDataWithConsoleConfig
|
|
|
49
50
|
|
|
50
51
|
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
52
|
var channelLinks = ((_configData$ALL_CHANN = configData.ALL_CHANNEL_LINKS) === null || _configData$ALL_CHANN === void 0 ? void 0 : _configData$ALL_CHANN[channel]) || {};
|
|
52
|
-
var channelFeatures = ((_configData$ALL_CHANN2 = configData.ALL_CHANNEL_FEATURE_STATUS) === null || _configData$ALL_CHANN2 === void 0 ? void 0 : _configData$ALL_CHANN2[channel]) || {};
|
|
53
|
+
var channelFeatures = ((_configData$ALL_CHANN2 = configData.ALL_CHANNEL_FEATURE_STATUS) === null || _configData$ALL_CHANN2 === void 0 ? void 0 : _configData$ALL_CHANN2[channel]) || {}; //@ts-ignore
|
|
54
|
+
|
|
53
55
|
var features = configData.ALL_FEATURE_STATUS || {};
|
|
54
56
|
return _objectSpread(_objectSpread({}, consoleConfig), {}, {
|
|
55
57
|
CHANNEL_LINKS: channelLinks,
|
|
@@ -59,14 +61,14 @@ var mergeConfigDataWithConsoleConfig = function mergeConfigDataWithConsoleConfig
|
|
|
59
61
|
};
|
|
60
62
|
|
|
61
63
|
export var getConsoleConfig = /*#__PURE__*/function () {
|
|
62
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(
|
|
64
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(config, consoleConfig) {
|
|
63
65
|
var configData;
|
|
64
66
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
65
67
|
while (1) {
|
|
66
68
|
switch (_context.prev = _context.next) {
|
|
67
69
|
case 0:
|
|
68
70
|
_context.next = 2;
|
|
69
|
-
return getConfig(
|
|
71
|
+
return getConfig(config);
|
|
70
72
|
|
|
71
73
|
case 2:
|
|
72
74
|
configData = _context.sent;
|
package/es/utils.js
CHANGED
package/es/widget/emitter.js
CHANGED
|
@@ -18,13 +18,13 @@ var WidgetEventEmitter = /*#__PURE__*/function (_EventEmitter) {
|
|
|
18
18
|
function WidgetEventEmitter() {
|
|
19
19
|
_classCallCheck(this, WidgetEventEmitter);
|
|
20
20
|
|
|
21
|
-
return _super.
|
|
22
|
-
}
|
|
21
|
+
return _super.call(this);
|
|
22
|
+
} // Compatible with the old api, this may get removed at sometime later.
|
|
23
|
+
|
|
23
24
|
|
|
24
25
|
_createClass(WidgetEventEmitter, [{
|
|
25
26
|
key: "refersh",
|
|
26
|
-
value:
|
|
27
|
-
function refersh(widgetId) {
|
|
27
|
+
value: function refersh(widgetId) {
|
|
28
28
|
return this.emit("".concat(widgetId, ":REFRESH"));
|
|
29
29
|
}
|
|
30
30
|
}, {
|
|
@@ -12,25 +12,26 @@ export var getWidgetConfigById = /*#__PURE__*/function () {
|
|
|
12
12
|
switch (_context.prev = _context.next) {
|
|
13
13
|
case 0:
|
|
14
14
|
env = ENV[option.env || getConsoleEnv()];
|
|
15
|
+
console.log(env.configUrl);
|
|
15
16
|
|
|
16
17
|
if (cachedConfig[option.name]) {
|
|
17
|
-
_context.next =
|
|
18
|
+
_context.next = 7;
|
|
18
19
|
break;
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
_context.next =
|
|
22
|
+
_context.next = 5;
|
|
22
23
|
return axios.get(template(env.configUrl)({
|
|
23
24
|
id: option.name
|
|
24
25
|
}));
|
|
25
26
|
|
|
26
|
-
case
|
|
27
|
+
case 5:
|
|
27
28
|
resp = _context.sent;
|
|
28
29
|
cachedConfig[option.name] = resp.data;
|
|
29
30
|
|
|
30
|
-
case
|
|
31
|
+
case 7:
|
|
31
32
|
return _context.abrupt("return", cachedConfig[option.name]);
|
|
32
33
|
|
|
33
|
-
case
|
|
34
|
+
case 8:
|
|
34
35
|
case "end":
|
|
35
36
|
return _context.stop();
|
|
36
37
|
}
|
|
@@ -160,7 +160,7 @@ export var getWidgetDeps = /*#__PURE__*/function () {
|
|
|
160
160
|
react: react,
|
|
161
161
|
'react-dom': reactDom,
|
|
162
162
|
'prop-types': propTypes,
|
|
163
|
-
axios: axios
|
|
163
|
+
'axios': axios
|
|
164
164
|
}, cachedRuntime[version].default), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, WIDGET_UTILS_PKG_NAME, injectedWidgetUtils), _defineProperty(_objectSpread2, '@ali/widget-utils-config', injectedWidgetUtils), _defineProperty(_objectSpread2, '@ali/widget-loader', createWidget), _objectSpread2)));
|
|
165
165
|
|
|
166
166
|
case 31:
|
package/es/widget.js
CHANGED
|
@@ -9,17 +9,11 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
9
9
|
|
|
10
10
|
import React, { lazy, Suspense } from 'react';
|
|
11
11
|
import { loadBundle } from '@alicloud/console-os-loader';
|
|
12
|
-
import { createAlfaApp } from './app';
|
|
13
12
|
import { getWidgetVersionById, getWidgetDeps, getWidgetConfigById, eventEmitter } from './widget/index';
|
|
14
13
|
import ErrorBoundary from './components/ErrorBoundary';
|
|
15
14
|
import Loading from './components/Loading';
|
|
16
15
|
import { normalizeName } from './utils';
|
|
17
16
|
export function createAlfaWidget(option) {
|
|
18
|
-
if (!option.name.match(/@ali\/widget-/)) {
|
|
19
|
-
// TODO load style
|
|
20
|
-
return createAlfaApp(option);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
17
|
var AlfaWidget = /*#__PURE__*/lazy( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
24
18
|
var url, config, _yield$getWidgetVersi, version, entryUrl, deps;
|
|
25
19
|
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.createIsomorphicAlfaApp = createIsomorphicAlfaApp;
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _alfaCore = require("@alicloud/alfa-core");
|
|
17
|
+
|
|
18
|
+
var _context = _interopRequireDefault(require("../context"));
|
|
19
|
+
|
|
20
|
+
var _ErrorBoundary = _interopRequireDefault(require("../components/ErrorBoundary"));
|
|
21
|
+
|
|
22
|
+
var _Loading = _interopRequireDefault(require("../components/Loading"));
|
|
23
|
+
|
|
24
|
+
var _utils = require("../utils");
|
|
25
|
+
|
|
26
|
+
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); }
|
|
27
|
+
|
|
28
|
+
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; }
|
|
29
|
+
|
|
30
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
31
|
+
|
|
32
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
33
|
+
|
|
34
|
+
var App = function App(props) {
|
|
35
|
+
var env = (0, _react.useContext)(_context.default); // 如果 env 为空,则返回 loading
|
|
36
|
+
|
|
37
|
+
if (!(env !== null && env !== void 0 && env.getJson) || !(env !== null && env !== void 0 && env.fetchBundle) || !(env !== null && env !== void 0 && env.getBundle) || !(env !== null && env !== void 0 && env.fetchJsonResource)) {
|
|
38
|
+
return /*#__PURE__*/_react.default.createElement(_Loading.default, {
|
|
39
|
+
loading: props.loading
|
|
40
|
+
});
|
|
41
|
+
} // get server render string
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
var renderString = (0, _alfaCore.renderToString)(props, env);
|
|
45
|
+
|
|
46
|
+
if (!renderString) {
|
|
47
|
+
return /*#__PURE__*/_react.default.createElement(_Loading.default, {
|
|
48
|
+
loading: props.loading
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return /*#__PURE__*/_react.default.createElement((0, _utils.normalizeName)(props.name), {
|
|
53
|
+
children: /*#__PURE__*/_react.default.createElement("div", {
|
|
54
|
+
dangerouslySetInnerHTML: {
|
|
55
|
+
__html: renderString
|
|
56
|
+
}
|
|
57
|
+
})
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
function createIsomorphicAlfaApp(option) {
|
|
62
|
+
return function (props) {
|
|
63
|
+
return /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, props, /*#__PURE__*/_react.default.createElement(App, _objectSpread(_objectSpread({}, props), option)));
|
|
64
|
+
};
|
|
65
|
+
}
|
|
@@ -15,58 +15,20 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
15
15
|
|
|
16
16
|
var _alfaCore = require("@alicloud/alfa-core");
|
|
17
17
|
|
|
18
|
-
var _md = _interopRequireDefault(require("crypto-js/md5"));
|
|
19
|
-
|
|
20
18
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
21
19
|
|
|
22
20
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
21
|
|
|
24
|
-
/**
|
|
25
|
-
* transform
|
|
26
|
-
* @param features
|
|
27
|
-
*/
|
|
28
|
-
var processFeatures = function processFeatures(features) {
|
|
29
|
-
return Object.keys(features).reduce(function (newFeatures, key) {
|
|
30
|
-
var _ALIYUN_CONSOLE_CONFI;
|
|
31
|
-
|
|
32
|
-
var feature = features[key];
|
|
33
|
-
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.CURRENT_PK) || '';
|
|
35
|
-
var md5Uid = (0, _md.default)(uid).toString();
|
|
36
|
-
var enableBlockList = feature.enableBlockList,
|
|
37
|
-
enableSampling = feature.enableSampling,
|
|
38
|
-
enableWhiteList = feature.enableWhiteList,
|
|
39
|
-
sampling = feature.sampling,
|
|
40
|
-
blockList = feature.blockList,
|
|
41
|
-
whiteList = feature.whiteList;
|
|
42
|
-
|
|
43
|
-
if (enableBlockList && blockList.includes(md5Uid)) {
|
|
44
|
-
newFeatures[key] = false;
|
|
45
|
-
} else if (enableWhiteList && whiteList.includes(md5Uid)) {
|
|
46
|
-
newFeatures[key] = true;
|
|
47
|
-
} else if (enableSampling) {
|
|
48
|
-
var gray = uid.substring(uid.length - 2);
|
|
49
|
-
if (Number(gray) >= sampling * 100 || sampling === 0) newFeatures[key] = false;
|
|
50
|
-
newFeatures[key] = true;
|
|
51
|
-
} else {
|
|
52
|
-
newFeatures[key] = false;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
return newFeatures;
|
|
56
|
-
}, {});
|
|
57
|
-
};
|
|
58
|
-
|
|
59
22
|
var mergeConfigDataWithConsoleConfig = function mergeConfigDataWithConsoleConfig(configData, consoleConfig) {
|
|
60
|
-
var _window, _window$ALIYUN_CONSOL
|
|
23
|
+
var _window, _window$ALIYUN_CONSOL;
|
|
61
24
|
|
|
25
|
+
// @ts-ignore
|
|
62
26
|
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';
|
|
63
|
-
var channelLinks =
|
|
64
|
-
var
|
|
65
|
-
var features = configData.ALL_FEATURE_STATUS || {};
|
|
27
|
+
var channelLinks = configData.ALL_CHANNEL_LINKS ? configData.ALL_CHANNEL_LINKS[channel] : {};
|
|
28
|
+
var features = configData.ALL_CHANNEL_FEATURE_STATUS ? configData.ALL_CHANNEL_FEATURE_STATUS[channel] : {};
|
|
66
29
|
return _objectSpread(_objectSpread({}, consoleConfig), {}, {
|
|
67
30
|
CHANNEL_LINKS: channelLinks,
|
|
68
|
-
CHANNEL_FEATURE_STATUS:
|
|
69
|
-
FEATURE_STATUS: processFeatures(features)
|
|
31
|
+
CHANNEL_FEATURE_STATUS: features
|
|
70
32
|
});
|
|
71
33
|
};
|
|
72
34
|
|
package/lib/app.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
import { AlfaFactoryOption } from '@alicloud/alfa-core';
|
|
1
|
+
import { AlfaFactoryOption } from './types';
|
|
3
2
|
export declare function createAlfaApp<T = any>(option: AlfaFactoryOption): (props: T) => JSX.Element;
|
|
4
3
|
export { AlfaFactoryOption } from './types';
|
package/lib/app.js
CHANGED
|
@@ -33,7 +33,9 @@ var _Loading = _interopRequireDefault(require("./components/Loading"));
|
|
|
33
33
|
|
|
34
34
|
var _ErrorBoundary = _interopRequireDefault(require("./components/ErrorBoundary"));
|
|
35
35
|
|
|
36
|
-
var _getConsoleConfig = require("./
|
|
36
|
+
var _getConsoleConfig = require("./app/getConsoleConfig");
|
|
37
|
+
|
|
38
|
+
var _createIsomorphicMicroApp = require("./app/createIsomorphicMicroApp");
|
|
37
39
|
|
|
38
40
|
var _utils = require("./utils");
|
|
39
41
|
|
|
@@ -55,8 +57,10 @@ var getProps = function getProps(props) {
|
|
|
55
57
|
delete parcelProps.loading;
|
|
56
58
|
delete parcelProps.entry;
|
|
57
59
|
delete parcelProps.container;
|
|
58
|
-
delete parcelProps.logger;
|
|
59
|
-
|
|
60
|
+
delete parcelProps.logger; // @ts-ignore
|
|
61
|
+
|
|
62
|
+
delete parcelProps.env; // @ts-ignore
|
|
63
|
+
|
|
60
64
|
delete parcelProps.dependencies;
|
|
61
65
|
return parcelProps;
|
|
62
66
|
};
|
|
@@ -67,8 +71,7 @@ var Application = function Application(props) {
|
|
|
67
71
|
loading = props.loading,
|
|
68
72
|
style = props.style,
|
|
69
73
|
className = props.className,
|
|
70
|
-
consoleConfig = props.consoleConfig
|
|
71
|
-
i18nMessages = props.i18nMessages;
|
|
74
|
+
consoleConfig = props.consoleConfig;
|
|
72
75
|
|
|
73
76
|
var _useState = (0, _react.useState)(false),
|
|
74
77
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
@@ -83,7 +86,7 @@ var Application = function Application(props) {
|
|
|
83
86
|
var appRef = (0, _react.useRef)(null);
|
|
84
87
|
(0, _react.useEffect)(function () {
|
|
85
88
|
(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
86
|
-
var
|
|
89
|
+
var app;
|
|
87
90
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
88
91
|
while (1) {
|
|
89
92
|
switch (_context.prev = _context.next) {
|
|
@@ -97,35 +100,27 @@ var Application = function Application(props) {
|
|
|
97
100
|
});
|
|
98
101
|
|
|
99
102
|
case 2:
|
|
100
|
-
|
|
103
|
+
app = _context.sent;
|
|
101
104
|
|
|
102
|
-
if (
|
|
103
|
-
|
|
104
|
-
|
|
105
|
+
if (app.context && app.context.baseFrame) {
|
|
106
|
+
// @ts-ignore
|
|
107
|
+
app.context.baseFrame.contentWindow.ALIYUN_CONSOLE_CONFIG = consoleConfig;
|
|
105
108
|
}
|
|
106
109
|
|
|
107
110
|
_context.next = 6;
|
|
108
|
-
return
|
|
111
|
+
return app.load();
|
|
109
112
|
|
|
110
113
|
case 6:
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
break;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
return _context.abrupt("return");
|
|
117
|
-
|
|
118
|
-
case 8:
|
|
119
|
-
_context.next = 10;
|
|
120
|
-
return App.mount(appRef.current, {
|
|
114
|
+
_context.next = 8;
|
|
115
|
+
return app.mount(appRef.current, {
|
|
121
116
|
customProps: getProps(props)
|
|
122
117
|
});
|
|
123
118
|
|
|
124
|
-
case
|
|
119
|
+
case 8:
|
|
125
120
|
setMounted(true);
|
|
126
|
-
setApp(
|
|
121
|
+
setApp(app);
|
|
127
122
|
|
|
128
|
-
case
|
|
123
|
+
case 10:
|
|
129
124
|
case "end":
|
|
130
125
|
return _context.stop();
|
|
131
126
|
}
|
|
@@ -148,17 +143,24 @@ var Application = function Application(props) {
|
|
|
148
143
|
className: className,
|
|
149
144
|
ref: appRef,
|
|
150
145
|
dataId: name
|
|
151
|
-
}) : /*#__PURE__*/_react.default.createElement(name, {
|
|
152
|
-
|
|
153
|
-
|
|
146
|
+
}) : /*#__PURE__*/_react.default.createElement(name, {
|
|
147
|
+
children: /*#__PURE__*/_react.default.createElement('div', {
|
|
148
|
+
ref: appRef
|
|
149
|
+
})
|
|
150
|
+
}));
|
|
154
151
|
};
|
|
155
152
|
|
|
156
153
|
function createAlfaApp(option) {
|
|
157
154
|
var name = option.name,
|
|
158
155
|
loading = option.loading,
|
|
159
156
|
manifest = option.manifest;
|
|
157
|
+
|
|
158
|
+
if ((0, _utils.isSSR)()) {
|
|
159
|
+
return (0, _createIsomorphicMicroApp.createIsomorphicAlfaApp)(option);
|
|
160
|
+
}
|
|
161
|
+
|
|
160
162
|
var AlfaApp = /*#__PURE__*/(0, _react.lazy)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
161
|
-
var resolvedManifest, consoleConfig,
|
|
163
|
+
var resolvedManifest, consoleConfig, AlfaApp;
|
|
162
164
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
163
165
|
while (1) {
|
|
164
166
|
switch (_context2.prev = _context2.next) {
|
|
@@ -177,6 +179,7 @@ function createAlfaApp(option) {
|
|
|
177
179
|
resolvedManifest = _context2.sent;
|
|
178
180
|
|
|
179
181
|
case 5:
|
|
182
|
+
// @ts-ignore
|
|
180
183
|
consoleConfig = window.ALIYUN_CONSOLE_CONFIG || {};
|
|
181
184
|
|
|
182
185
|
if (!option.dynamicConfig) {
|
|
@@ -191,28 +194,20 @@ function createAlfaApp(option) {
|
|
|
191
194
|
consoleConfig = _context2.sent;
|
|
192
195
|
|
|
193
196
|
case 10:
|
|
194
|
-
|
|
195
|
-
return (0, _alfaCore.getLocale)(option);
|
|
196
|
-
|
|
197
|
-
case 12:
|
|
198
|
-
messages = _context2.sent;
|
|
199
|
-
i18nMessages = _objectSpread(_objectSpread({}, window.ALIYUN_CONSOLE_I18N_MESSAGE), messages);
|
|
200
|
-
|
|
201
|
-
App = function App(props) {
|
|
197
|
+
AlfaApp = function AlfaApp(props) {
|
|
202
198
|
return /*#__PURE__*/_react.default.createElement(Application, (0, _extends2.default)({
|
|
203
199
|
manifest: resolvedManifest
|
|
204
200
|
}, props, {
|
|
205
201
|
name: (0, _utils.normalizeName)(name),
|
|
206
|
-
consoleConfig: consoleConfig
|
|
207
|
-
i18nMessages: i18nMessages
|
|
202
|
+
consoleConfig: consoleConfig
|
|
208
203
|
}));
|
|
209
204
|
};
|
|
210
205
|
|
|
211
206
|
return _context2.abrupt("return", {
|
|
212
|
-
default:
|
|
207
|
+
default: AlfaApp
|
|
213
208
|
});
|
|
214
209
|
|
|
215
|
-
case
|
|
210
|
+
case 12:
|
|
216
211
|
case "end":
|
|
217
212
|
return _context2.stop();
|
|
218
213
|
}
|
package/lib/base.d.ts
CHANGED
|
@@ -3,9 +3,6 @@ import { IAppConfig, IOptions } from '@alicloud/alfa-core';
|
|
|
3
3
|
export interface IProps<T = any> extends HTMLAttributes<Element>, IAppConfig, IOptions {
|
|
4
4
|
loading?: boolean | React.ReactChild;
|
|
5
5
|
consoleConfig?: any;
|
|
6
|
-
i18nMessages?: any;
|
|
7
|
-
env?: string;
|
|
8
|
-
dependencies?: any;
|
|
9
6
|
}
|
|
10
7
|
export default class MicroAppBase<T> extends React.Component<Partial<IProps<T>>> {
|
|
11
8
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
interface IProps {
|
|
3
3
|
loading?: boolean | React.ReactChild;
|
|
4
|
-
|
|
4
|
+
microAppContainer?: string;
|
|
5
|
+
}
|
|
6
|
+
export default function getLoading({ loading, microAppContainer }: IProps): JSX.Element | null;
|
|
7
|
+
export {};
|
|
@@ -11,8 +11,25 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _Skeleton = _interopRequireDefault(require("./Skeleton"));
|
|
13
13
|
|
|
14
|
+
var initialPath = window.location.pathname;
|
|
15
|
+
|
|
14
16
|
function getLoading(_ref) {
|
|
15
|
-
var loading = _ref.loading
|
|
17
|
+
var loading = _ref.loading,
|
|
18
|
+
microAppContainer = _ref.microAppContainer;
|
|
19
|
+
|
|
20
|
+
// 第一次如果是 ssr 出来的内容直接拿 ssr 的内容作为骨架做展示
|
|
21
|
+
// 防止出现首屏抖动
|
|
22
|
+
if (microAppContainer) {
|
|
23
|
+
var node = document.querySelector(microAppContainer); //@ts-ignore
|
|
24
|
+
|
|
25
|
+
if (initialPath === window.location.pathname && window.__isSSR) {
|
|
26
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
27
|
+
dangerouslySetInnerHTML: {
|
|
28
|
+
__html: node ? node.innerHTML : ''
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
16
33
|
|
|
17
34
|
if (loading === false) {
|
|
18
35
|
return null;
|
package/lib/context.d.ts
ADDED
package/lib/context.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* 用来提供 ssr 状态下的获取 服务端 manifest & bundle 的实现
|
|
12
|
+
*/
|
|
13
|
+
var EnvContext = /*#__PURE__*/(0, _react.createContext)({});
|
|
14
|
+
var _default = EnvContext;
|
|
15
|
+
exports.default = _default;
|
package/lib/types.d.ts
CHANGED
|
@@ -24,7 +24,6 @@ declare type OmitKeys = 'manifest';
|
|
|
24
24
|
export interface WidgetFactoryOption extends Omit<AlfaFactoryOption, OmitKeys> {
|
|
25
25
|
runtimeVersion?: string;
|
|
26
26
|
alfaLoader?: boolean;
|
|
27
|
-
theme?: string;
|
|
28
27
|
}
|
|
29
28
|
export interface AlfaEnvConfigDescriptor {
|
|
30
29
|
releaseUrl: string;
|
package/lib/utils.d.ts
CHANGED
package/lib/utils.js
CHANGED
|
@@ -3,10 +3,16 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.normalizeName = void 0;
|
|
6
|
+
exports.normalizeName = exports.isSSR = void 0;
|
|
7
7
|
|
|
8
8
|
var normalizeName = function normalizeName(name) {
|
|
9
9
|
return name.replace(/@/g, '').replace(/\//g, '-');
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
exports.normalizeName = normalizeName;
|
|
12
|
+
exports.normalizeName = normalizeName;
|
|
13
|
+
|
|
14
|
+
var isSSR = function isSSR() {
|
|
15
|
+
return typeof document === 'undefined';
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
exports.isSSR = isSSR;
|
package/lib/widget/emitter.d.ts
CHANGED
package/lib/widget/emitter.js
CHANGED
|
@@ -30,13 +30,13 @@ var WidgetEventEmitter = /*#__PURE__*/function (_EventEmitter) {
|
|
|
30
30
|
|
|
31
31
|
function WidgetEventEmitter() {
|
|
32
32
|
(0, _classCallCheck2.default)(this, WidgetEventEmitter);
|
|
33
|
-
return _super.
|
|
34
|
-
}
|
|
33
|
+
return _super.call(this);
|
|
34
|
+
} // Compatible with the old api, this may get removed at sometime later.
|
|
35
|
+
|
|
35
36
|
|
|
36
37
|
(0, _createClass2.default)(WidgetEventEmitter, [{
|
|
37
38
|
key: "refersh",
|
|
38
|
-
value:
|
|
39
|
-
function refersh(widgetId) {
|
|
39
|
+
value: function refersh(widgetId) {
|
|
40
40
|
return this.emit("".concat(widgetId, ":REFRESH"));
|
|
41
41
|
}
|
|
42
42
|
}, {
|
|
@@ -27,25 +27,26 @@ var getWidgetConfigById = /*#__PURE__*/function () {
|
|
|
27
27
|
switch (_context.prev = _context.next) {
|
|
28
28
|
case 0:
|
|
29
29
|
env = _env.ENV[option.env || (0, _env.getConsoleEnv)()];
|
|
30
|
+
console.log(env.configUrl);
|
|
30
31
|
|
|
31
32
|
if (cachedConfig[option.name]) {
|
|
32
|
-
_context.next =
|
|
33
|
+
_context.next = 7;
|
|
33
34
|
break;
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
_context.next =
|
|
37
|
+
_context.next = 5;
|
|
37
38
|
return _axios.default.get((0, _template.default)(env.configUrl)({
|
|
38
39
|
id: option.name
|
|
39
40
|
}));
|
|
40
41
|
|
|
41
|
-
case
|
|
42
|
+
case 5:
|
|
42
43
|
resp = _context.sent;
|
|
43
44
|
cachedConfig[option.name] = resp.data;
|
|
44
45
|
|
|
45
|
-
case
|
|
46
|
+
case 7:
|
|
46
47
|
return _context.abrupt("return", cachedConfig[option.name]);
|
|
47
48
|
|
|
48
|
-
case
|
|
49
|
+
case 8:
|
|
49
50
|
case "end":
|
|
50
51
|
return _context.stop();
|
|
51
52
|
}
|
|
@@ -185,7 +185,7 @@ var getWidgetDeps = /*#__PURE__*/function () {
|
|
|
185
185
|
react: _react.default,
|
|
186
186
|
'react-dom': _reactDom.default,
|
|
187
187
|
'prop-types': propTypes,
|
|
188
|
-
axios: _axios.default
|
|
188
|
+
'axios': _axios.default
|
|
189
189
|
}, cachedRuntime[version].default), {}, (_objectSpread2 = {}, (0, _defineProperty2.default)(_objectSpread2, WIDGET_UTILS_PKG_NAME, injectedWidgetUtils), (0, _defineProperty2.default)(_objectSpread2, '@ali/widget-utils-config', injectedWidgetUtils), (0, _defineProperty2.default)(_objectSpread2, '@ali/widget-loader', createWidget), _objectSpread2)));
|
|
190
190
|
|
|
191
191
|
case 31:
|
package/lib/widget.d.ts
CHANGED
package/lib/widget.js
CHANGED
|
@@ -21,8 +21,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
21
21
|
|
|
22
22
|
var _consoleOsLoader = require("@alicloud/console-os-loader");
|
|
23
23
|
|
|
24
|
-
var _app = require("./app");
|
|
25
|
-
|
|
26
24
|
var _index = require("./widget/index");
|
|
27
25
|
|
|
28
26
|
var _ErrorBoundary = _interopRequireDefault(require("./components/ErrorBoundary"));
|
|
@@ -40,11 +38,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
40
38
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
41
39
|
|
|
42
40
|
function createAlfaWidget(option) {
|
|
43
|
-
if (!option.name.match(/@ali\/widget-/)) {
|
|
44
|
-
// TODO load style
|
|
45
|
-
return (0, _app.createAlfaApp)(option);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
41
|
var AlfaWidget = /*#__PURE__*/(0, _react.lazy)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
49
42
|
var url, config, _yield$getWidgetVersi, version, entryUrl, deps;
|
|
50
43
|
|