@alicloud/alfa-react 1.3.0-canary.1 → 1.3.0-canary.5
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/app/createIsomorphicMicroApp.js +36 -0
- package/es/app/getConsoleConfig.js +1 -1
- package/es/app.js +29 -41
- 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 +2 -2
- package/es/utils/index.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.js +55 -0
- package/lib/app/getConsoleConfig.js +1 -1
- package/lib/app.js +28 -40
- package/lib/base.d.ts +0 -3
- package/lib/context.d.ts +7 -0
- package/lib/context.js +15 -0
- package/lib/createAlfaApp.d.ts +4 -0
- package/lib/createAlfaApp.js +135 -0
- package/lib/createAlfaWidget.d.ts +4 -0
- package/lib/createAlfaWidget.js +145 -0
- package/lib/createApplication.d.ts +12 -0
- package/lib/createApplication.js +133 -0
- package/lib/types/base.d.ts +11 -0
- package/lib/types/base.js +37 -0
- package/lib/types/index.d.ts +86 -0
- package/lib/types/index.js +5 -0
- package/lib/types.d.ts +0 -1
- package/lib/utils/getConsoleConfig.d.ts +21 -2
- package/lib/utils/getConsoleConfig.js +2 -2
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +12 -0
- 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.js +0 -7
- package/package.json +5 -8
|
@@ -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,55 @@
|
|
|
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.createAlfaApp = createAlfaApp;
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
|
|
14
|
+
var _alfaCore = require("@alicloud/alfa-core");
|
|
15
|
+
|
|
16
|
+
var _context = _interopRequireDefault(require("../context"));
|
|
17
|
+
|
|
18
|
+
var _ErrorBoundary = _interopRequireDefault(require("../components/ErrorBoundary"));
|
|
19
|
+
|
|
20
|
+
var _Loading = _interopRequireDefault(require("../components/Loading"));
|
|
21
|
+
|
|
22
|
+
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); }
|
|
23
|
+
|
|
24
|
+
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; }
|
|
25
|
+
|
|
26
|
+
var App = function App(props) {
|
|
27
|
+
var env = (0, _react.useContext)(_context.default); // 如果 env 为空,则返回 loading
|
|
28
|
+
|
|
29
|
+
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)) {
|
|
30
|
+
return /*#__PURE__*/_react.default.createElement(_Loading.default, {
|
|
31
|
+
loading: props.loading
|
|
32
|
+
});
|
|
33
|
+
} // get server render string
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
var renderString = (0, _alfaCore.renderToString)(props, env);
|
|
37
|
+
|
|
38
|
+
if (!renderString) {
|
|
39
|
+
return /*#__PURE__*/_react.default.createElement(_Loading.default, {
|
|
40
|
+
loading: props.loading
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
45
|
+
dangerouslySetInnerHTML: {
|
|
46
|
+
__html: renderString
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
function createAlfaApp(option) {
|
|
52
|
+
return function (props) {
|
|
53
|
+
return /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, props, /*#__PURE__*/_react.default.createElement(App, props));
|
|
54
|
+
};
|
|
55
|
+
}
|
|
@@ -15,7 +15,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
15
15
|
|
|
16
16
|
var _alfaCore = require("@alicloud/alfa-core");
|
|
17
17
|
|
|
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; }
|
|
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; }
|
|
19
19
|
|
|
20
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; }
|
|
21
21
|
|
package/lib/app.js
CHANGED
|
@@ -33,7 +33,7 @@ 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
37
|
|
|
38
38
|
var _utils = require("./utils");
|
|
39
39
|
|
|
@@ -55,8 +55,10 @@ var getProps = function getProps(props) {
|
|
|
55
55
|
delete parcelProps.loading;
|
|
56
56
|
delete parcelProps.entry;
|
|
57
57
|
delete parcelProps.container;
|
|
58
|
-
delete parcelProps.logger;
|
|
59
|
-
|
|
58
|
+
delete parcelProps.logger; // @ts-ignore
|
|
59
|
+
|
|
60
|
+
delete parcelProps.env; // @ts-ignore
|
|
61
|
+
|
|
60
62
|
delete parcelProps.dependencies;
|
|
61
63
|
return parcelProps;
|
|
62
64
|
};
|
|
@@ -67,8 +69,7 @@ var Application = function Application(props) {
|
|
|
67
69
|
loading = props.loading,
|
|
68
70
|
style = props.style,
|
|
69
71
|
className = props.className,
|
|
70
|
-
consoleConfig = props.consoleConfig
|
|
71
|
-
i18nMessages = props.i18nMessages;
|
|
72
|
+
consoleConfig = props.consoleConfig;
|
|
72
73
|
|
|
73
74
|
var _useState = (0, _react.useState)(false),
|
|
74
75
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
@@ -83,7 +84,7 @@ var Application = function Application(props) {
|
|
|
83
84
|
var appRef = (0, _react.useRef)(null);
|
|
84
85
|
(0, _react.useEffect)(function () {
|
|
85
86
|
(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
86
|
-
var
|
|
87
|
+
var app;
|
|
87
88
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
88
89
|
while (1) {
|
|
89
90
|
switch (_context.prev = _context.next) {
|
|
@@ -97,35 +98,27 @@ var Application = function Application(props) {
|
|
|
97
98
|
});
|
|
98
99
|
|
|
99
100
|
case 2:
|
|
100
|
-
|
|
101
|
+
app = _context.sent;
|
|
101
102
|
|
|
102
|
-
if (
|
|
103
|
-
|
|
104
|
-
|
|
103
|
+
if (app.context && app.context.baseFrame) {
|
|
104
|
+
// @ts-ignore
|
|
105
|
+
app.context.baseFrame.contentWindow.ALIYUN_CONSOLE_CONFIG = consoleConfig;
|
|
105
106
|
}
|
|
106
107
|
|
|
107
108
|
_context.next = 6;
|
|
108
|
-
return
|
|
109
|
+
return app.load();
|
|
109
110
|
|
|
110
111
|
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, {
|
|
112
|
+
_context.next = 8;
|
|
113
|
+
return app.mount(appRef.current, {
|
|
121
114
|
customProps: getProps(props)
|
|
122
115
|
});
|
|
123
116
|
|
|
124
|
-
case
|
|
117
|
+
case 8:
|
|
125
118
|
setMounted(true);
|
|
126
|
-
setApp(
|
|
119
|
+
setApp(app);
|
|
127
120
|
|
|
128
|
-
case
|
|
121
|
+
case 10:
|
|
129
122
|
case "end":
|
|
130
123
|
return _context.stop();
|
|
131
124
|
}
|
|
@@ -148,9 +141,11 @@ var Application = function Application(props) {
|
|
|
148
141
|
className: className,
|
|
149
142
|
ref: appRef,
|
|
150
143
|
dataId: name
|
|
151
|
-
}) : /*#__PURE__*/_react.default.createElement(name, {
|
|
152
|
-
|
|
153
|
-
|
|
144
|
+
}) : /*#__PURE__*/_react.default.createElement(name, {
|
|
145
|
+
children: /*#__PURE__*/_react.default.createElement('div', {
|
|
146
|
+
ref: appRef
|
|
147
|
+
})
|
|
148
|
+
}));
|
|
154
149
|
};
|
|
155
150
|
|
|
156
151
|
function createAlfaApp(option) {
|
|
@@ -158,7 +153,7 @@ function createAlfaApp(option) {
|
|
|
158
153
|
loading = option.loading,
|
|
159
154
|
manifest = option.manifest;
|
|
160
155
|
var AlfaApp = /*#__PURE__*/(0, _react.lazy)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
161
|
-
var resolvedManifest, consoleConfig,
|
|
156
|
+
var resolvedManifest, consoleConfig, AlfaApp;
|
|
162
157
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
163
158
|
while (1) {
|
|
164
159
|
switch (_context2.prev = _context2.next) {
|
|
@@ -177,6 +172,7 @@ function createAlfaApp(option) {
|
|
|
177
172
|
resolvedManifest = _context2.sent;
|
|
178
173
|
|
|
179
174
|
case 5:
|
|
175
|
+
// @ts-ignore
|
|
180
176
|
consoleConfig = window.ALIYUN_CONSOLE_CONFIG || {};
|
|
181
177
|
|
|
182
178
|
if (!option.dynamicConfig) {
|
|
@@ -191,28 +187,20 @@ function createAlfaApp(option) {
|
|
|
191
187
|
consoleConfig = _context2.sent;
|
|
192
188
|
|
|
193
189
|
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) {
|
|
190
|
+
AlfaApp = function AlfaApp(props) {
|
|
202
191
|
return /*#__PURE__*/_react.default.createElement(Application, (0, _extends2.default)({
|
|
203
192
|
manifest: resolvedManifest
|
|
204
193
|
}, props, {
|
|
205
194
|
name: (0, _utils.normalizeName)(name),
|
|
206
|
-
consoleConfig: consoleConfig
|
|
207
|
-
i18nMessages: i18nMessages
|
|
195
|
+
consoleConfig: consoleConfig
|
|
208
196
|
}));
|
|
209
197
|
};
|
|
210
198
|
|
|
211
199
|
return _context2.abrupt("return", {
|
|
212
|
-
default:
|
|
200
|
+
default: AlfaApp
|
|
213
201
|
});
|
|
214
202
|
|
|
215
|
-
case
|
|
203
|
+
case 12:
|
|
216
204
|
case "end":
|
|
217
205
|
return _context2.stop();
|
|
218
206
|
}
|
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
|
}
|
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;
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
|
|
16
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireDefault(require("react"));
|
|
19
|
+
|
|
20
|
+
var _alfaCore = require("@alicloud/alfa-core");
|
|
21
|
+
|
|
22
|
+
var _ErrorBoundary = _interopRequireDefault(require("./components/ErrorBoundary"));
|
|
23
|
+
|
|
24
|
+
var _getConsoleConfig = require("./utils/getConsoleConfig");
|
|
25
|
+
|
|
26
|
+
var _createApplication = _interopRequireDefault(require("./createApplication"));
|
|
27
|
+
|
|
28
|
+
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; }
|
|
29
|
+
|
|
30
|
+
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; }
|
|
31
|
+
|
|
32
|
+
var loader = _alfaCore.BaseLoader.create(); // get manifest before resolve
|
|
33
|
+
// normalize name
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
loader.beforeResolve.use( /*#__PURE__*/function () {
|
|
37
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(appConfig) {
|
|
38
|
+
var resolvedManifest;
|
|
39
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
40
|
+
while (1) {
|
|
41
|
+
switch (_context.prev = _context.next) {
|
|
42
|
+
case 0:
|
|
43
|
+
resolvedManifest = appConfig.manifest;
|
|
44
|
+
|
|
45
|
+
if (resolvedManifest) {
|
|
46
|
+
_context.next = 5;
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
_context.next = 4;
|
|
51
|
+
return (0, _alfaCore.getManifest)(appConfig);
|
|
52
|
+
|
|
53
|
+
case 4:
|
|
54
|
+
resolvedManifest = _context.sent;
|
|
55
|
+
|
|
56
|
+
case 5:
|
|
57
|
+
return _context.abrupt("return", _objectSpread(_objectSpread({}, appConfig), {}, {
|
|
58
|
+
manifest: resolvedManifest
|
|
59
|
+
}));
|
|
60
|
+
|
|
61
|
+
case 6:
|
|
62
|
+
case "end":
|
|
63
|
+
return _context.stop();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}, _callee);
|
|
67
|
+
}));
|
|
68
|
+
|
|
69
|
+
return function (_x) {
|
|
70
|
+
return _ref.apply(this, arguments);
|
|
71
|
+
};
|
|
72
|
+
}(), undefined); // inject consoleConfig & locales after load
|
|
73
|
+
|
|
74
|
+
loader.afterLoad.use( /*#__PURE__*/function () {
|
|
75
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(appConfig) {
|
|
76
|
+
var app, defaultConsoleConfig, consoleConfig, messages, i18nMessages;
|
|
77
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
78
|
+
while (1) {
|
|
79
|
+
switch (_context2.prev = _context2.next) {
|
|
80
|
+
case 0:
|
|
81
|
+
app = appConfig.app;
|
|
82
|
+
defaultConsoleConfig = window.ALIYUN_CONSOLE_CONFIG || {};
|
|
83
|
+
_context2.next = 4;
|
|
84
|
+
return (0, _getConsoleConfig.getConsoleConfig)(appConfig, defaultConsoleConfig);
|
|
85
|
+
|
|
86
|
+
case 4:
|
|
87
|
+
consoleConfig = _context2.sent;
|
|
88
|
+
_context2.next = 7;
|
|
89
|
+
return (0, _alfaCore.getLocale)(appConfig);
|
|
90
|
+
|
|
91
|
+
case 7:
|
|
92
|
+
messages = _context2.sent;
|
|
93
|
+
i18nMessages = _objectSpread(_objectSpread({}, window.ALIYUN_CONSOLE_I18N_MESSAGE), messages);
|
|
94
|
+
|
|
95
|
+
if (app && app.context) {
|
|
96
|
+
app.context.window.ALIYUN_CONSOLE_CONFIG = consoleConfig;
|
|
97
|
+
app.context.window.ALIYUN_CONSOLE_I18N_MESSAGE = i18nMessages;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return _context2.abrupt("return", appConfig);
|
|
101
|
+
|
|
102
|
+
case 11:
|
|
103
|
+
case "end":
|
|
104
|
+
return _context2.stop();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}, _callee2);
|
|
108
|
+
}));
|
|
109
|
+
|
|
110
|
+
return function (_x2) {
|
|
111
|
+
return _ref2.apply(this, arguments);
|
|
112
|
+
};
|
|
113
|
+
}(), undefined);
|
|
114
|
+
var Application = (0, _createApplication.default)(loader);
|
|
115
|
+
|
|
116
|
+
function createAlfaApp(option) {
|
|
117
|
+
var _ref3 = option || {},
|
|
118
|
+
name = _ref3.name,
|
|
119
|
+
dependencies = _ref3.dependencies; // check app option
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
if (!name) return function () {
|
|
123
|
+
return null;
|
|
124
|
+
};
|
|
125
|
+
var passedInOption = option;
|
|
126
|
+
return /*#__PURE__*/_react.default.memo(function (props) {
|
|
127
|
+
return /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, null, /*#__PURE__*/_react.default.createElement(Application, (0, _extends2.default)({}, passedInOption, {
|
|
128
|
+
deps: dependencies || {},
|
|
129
|
+
customProps: props
|
|
130
|
+
})));
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
var _default = createAlfaApp;
|
|
135
|
+
exports.default = _default;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AlfaFactoryOption } from './types';
|
|
3
|
+
declare function createAlfaApp<P = any>(option: AlfaFactoryOption): ((props: P) => JSX.Element) | (() => null) | React.MemoExoticComponent<(props: P) => JSX.Element>;
|
|
4
|
+
export default createAlfaApp;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
|
|
16
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireDefault(require("react"));
|
|
19
|
+
|
|
20
|
+
var _alfaCore = require("@alicloud/alfa-core");
|
|
21
|
+
|
|
22
|
+
var _ErrorBoundary = _interopRequireDefault(require("./components/ErrorBoundary"));
|
|
23
|
+
|
|
24
|
+
var _getConsoleConfig = require("./utils/getConsoleConfig");
|
|
25
|
+
|
|
26
|
+
var _widget = require("./widget");
|
|
27
|
+
|
|
28
|
+
var _createApplication = _interopRequireDefault(require("./createApplication"));
|
|
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 loader = _alfaCore.BaseLoader.create(); // get manifest before resolve
|
|
35
|
+
// normalize name
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
loader.beforeResolve.use( /*#__PURE__*/function () {
|
|
39
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(appConfig) {
|
|
40
|
+
var resolvedManifest;
|
|
41
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
42
|
+
while (1) {
|
|
43
|
+
switch (_context.prev = _context.next) {
|
|
44
|
+
case 0:
|
|
45
|
+
resolvedManifest = appConfig.manifest;
|
|
46
|
+
|
|
47
|
+
if (resolvedManifest) {
|
|
48
|
+
_context.next = 5;
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
_context.next = 4;
|
|
53
|
+
return (0, _alfaCore.getManifest)(appConfig);
|
|
54
|
+
|
|
55
|
+
case 4:
|
|
56
|
+
resolvedManifest = _context.sent;
|
|
57
|
+
|
|
58
|
+
case 5:
|
|
59
|
+
return _context.abrupt("return", _objectSpread(_objectSpread({}, appConfig), {}, {
|
|
60
|
+
manifest: resolvedManifest
|
|
61
|
+
}));
|
|
62
|
+
|
|
63
|
+
case 6:
|
|
64
|
+
case "end":
|
|
65
|
+
return _context.stop();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}, _callee);
|
|
69
|
+
}));
|
|
70
|
+
|
|
71
|
+
return function (_x) {
|
|
72
|
+
return _ref.apply(this, arguments);
|
|
73
|
+
};
|
|
74
|
+
}(), undefined); // inject consoleConfig & locales after load
|
|
75
|
+
// remove history in vm context
|
|
76
|
+
|
|
77
|
+
loader.afterLoad.use( /*#__PURE__*/function () {
|
|
78
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(appConfig) {
|
|
79
|
+
var app, defaultConsoleConfig, consoleConfig, messages, i18nMessages;
|
|
80
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
81
|
+
while (1) {
|
|
82
|
+
switch (_context2.prev = _context2.next) {
|
|
83
|
+
case 0:
|
|
84
|
+
app = appConfig.app;
|
|
85
|
+
defaultConsoleConfig = window.ALIYUN_CONSOLE_CONFIG || {};
|
|
86
|
+
_context2.next = 4;
|
|
87
|
+
return (0, _getConsoleConfig.getConsoleConfig)(appConfig, defaultConsoleConfig);
|
|
88
|
+
|
|
89
|
+
case 4:
|
|
90
|
+
consoleConfig = _context2.sent;
|
|
91
|
+
_context2.next = 7;
|
|
92
|
+
return (0, _alfaCore.getLocale)(appConfig);
|
|
93
|
+
|
|
94
|
+
case 7:
|
|
95
|
+
messages = _context2.sent;
|
|
96
|
+
i18nMessages = _objectSpread(_objectSpread({}, window.ALIYUN_CONSOLE_I18N_MESSAGE), messages);
|
|
97
|
+
|
|
98
|
+
if (app && app.context) {
|
|
99
|
+
app.context.window.ALIYUN_CONSOLE_CONFIG = consoleConfig;
|
|
100
|
+
app.context.window.ALIYUN_CONSOLE_I18N_MESSAGE = i18nMessages;
|
|
101
|
+
app.context.history = {};
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return _context2.abrupt("return", appConfig);
|
|
105
|
+
|
|
106
|
+
case 11:
|
|
107
|
+
case "end":
|
|
108
|
+
return _context2.stop();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}, _callee2);
|
|
112
|
+
}));
|
|
113
|
+
|
|
114
|
+
return function (_x2) {
|
|
115
|
+
return _ref2.apply(this, arguments);
|
|
116
|
+
};
|
|
117
|
+
}(), undefined);
|
|
118
|
+
var Application = (0, _createApplication.default)(loader);
|
|
119
|
+
|
|
120
|
+
function createAlfaApp(option) {
|
|
121
|
+
var _ref3 = option || {},
|
|
122
|
+
name = _ref3.name,
|
|
123
|
+
dependencies = _ref3.dependencies;
|
|
124
|
+
|
|
125
|
+
if (!name.match(/@ali\/widget-/)) {
|
|
126
|
+
// TODO load style
|
|
127
|
+
return (0, _widget.createCWSWidget)(option);
|
|
128
|
+
} // check app option
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
if (!name) return function () {
|
|
132
|
+
return null;
|
|
133
|
+
};
|
|
134
|
+
var passedInOption = option;
|
|
135
|
+
return /*#__PURE__*/_react.default.memo(function (props) {
|
|
136
|
+
return /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, null, /*#__PURE__*/_react.default.createElement(Application, (0, _extends2.default)({}, passedInOption, {
|
|
137
|
+
// name={name}
|
|
138
|
+
deps: dependencies || {},
|
|
139
|
+
customProps: props
|
|
140
|
+
})));
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
var _default = createAlfaApp;
|
|
145
|
+
exports.default = _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseLoader } from '@alicloud/alfa-core';
|
|
2
|
+
import { AlfaFactoryOption } from './types';
|
|
3
|
+
interface IProps<C = any> extends AlfaFactoryOption {
|
|
4
|
+
customProps: C;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* container for microApp mount
|
|
8
|
+
* @param loader alfa-core loader
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
export default function createApplication(loader: BaseLoader): <C = any>(props: IProps<C>) => JSX.Element;
|
|
12
|
+
export {};
|