@alicloud/alfa-react 1.3.0-canary.9 → 1.3.1-alpha.3

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.
Files changed (72) hide show
  1. package/dist/index.js +6 -6
  2. package/es/app.js +47 -48
  3. package/es/components/ErrorBoundary/ErrorPanel.js +2 -2
  4. package/es/components/ErrorBoundary/index.js +15 -15
  5. package/es/components/Loading/Skeleton.js +2 -2
  6. package/es/components/Loading/Title.js +2 -2
  7. package/es/createAlfaApp.js +15 -95
  8. package/es/createAlfaWidget.js +29 -81
  9. package/es/createApplication.js +52 -28
  10. package/es/hooks/afterLoadHook.js +69 -0
  11. package/es/hooks/beforeLoadHook.js +69 -0
  12. package/es/hooks/beforeResolveHook.js +55 -0
  13. package/es/index.js +2 -2
  14. package/es/types/base.js +2 -1
  15. package/es/utils/getConsoleConfig.js +3 -5
  16. package/es/version.js +1 -0
  17. package/es/widget/emitter.js +4 -4
  18. package/es/widget/getWidgetConfigById.js +5 -6
  19. package/es/widget/getWidgetDeps.js +5 -5
  20. package/es/widget.js +3 -3
  21. package/lib/app.d.ts +1 -1
  22. package/lib/app.js +45 -48
  23. package/lib/components/ErrorBoundary/ErrorPanel.d.ts +1 -1
  24. package/lib/components/ErrorBoundary/ErrorPanel.js +2 -2
  25. package/lib/components/ErrorBoundary/index.d.ts +7 -9
  26. package/lib/components/ErrorBoundary/index.js +15 -15
  27. package/lib/components/Loading/Skeleton.js +2 -2
  28. package/lib/components/Loading/Title.js +2 -2
  29. package/lib/createAlfaApp.d.ts +4 -0
  30. package/lib/createAlfaApp.js +54 -0
  31. package/lib/createAlfaWidget.d.ts +4 -0
  32. package/lib/createAlfaWidget.js +94 -0
  33. package/lib/createApplication.d.ts +12 -0
  34. package/lib/createApplication.js +157 -0
  35. package/lib/hooks/afterLoadHook.d.ts +3 -0
  36. package/lib/hooks/afterLoadHook.js +84 -0
  37. package/lib/hooks/beforeLoadHook.d.ts +3 -0
  38. package/lib/hooks/beforeLoadHook.js +84 -0
  39. package/lib/hooks/beforeResolveHook.d.ts +3 -0
  40. package/lib/hooks/beforeResolveHook.js +69 -0
  41. package/lib/index.d.ts +2 -2
  42. package/lib/index.js +6 -4
  43. package/lib/{base.d.ts → types/base.d.ts} +4 -1
  44. package/lib/{base.js → types/base.js} +3 -1
  45. package/lib/{types.d.ts → types/index.d.ts} +9 -8
  46. package/lib/{types.js → types/index.js} +0 -0
  47. package/lib/utils/getConsoleConfig.d.ts +21 -0
  48. package/lib/utils/getConsoleConfig.js +100 -0
  49. package/lib/{utils.d.ts → utils/index.d.ts} +0 -1
  50. package/lib/{utils.js → utils/index.js} +2 -8
  51. package/lib/version.d.ts +1 -0
  52. package/lib/version.js +8 -0
  53. package/lib/widget/emitter.d.ts +0 -1
  54. package/lib/widget/emitter.js +4 -4
  55. package/lib/widget/getWidgetConfigById.js +5 -6
  56. package/lib/widget/getWidgetDeps.js +4 -4
  57. package/lib/widget.d.ts +1 -1
  58. package/lib/widget.js +4 -4
  59. package/package.json +12 -7
  60. package/LICENSE +0 -21
  61. package/es/app/createIsomorphicMicroApp.js +0 -45
  62. package/es/app/getConsoleConfig.js +0 -49
  63. package/es/base.js +0 -26
  64. package/es/context.js +0 -7
  65. package/es/types.js +0 -1
  66. package/es/utils.js +0 -6
  67. package/lib/app/createIsomorphicMicroApp.d.ts +0 -2
  68. package/lib/app/createIsomorphicMicroApp.js +0 -65
  69. package/lib/app/getConsoleConfig.d.ts +0 -2
  70. package/lib/app/getConsoleConfig.js +0 -62
  71. package/lib/context.d.ts +0 -7
  72. package/lib/context.js +0 -15
package/lib/app.js CHANGED
@@ -31,23 +31,21 @@ var _alfaCore = require("@alicloud/alfa-core");
31
31
 
32
32
  var _Loading = _interopRequireDefault(require("./components/Loading"));
33
33
 
34
- var _ErrorBoundary = _interopRequireDefault(require("./components/ErrorBoundary"));
34
+ var _types = require("./types");
35
35
 
36
- var _getConsoleConfig = require("./app/getConsoleConfig");
36
+ var _ErrorBoundary = _interopRequireDefault(require("./components/ErrorBoundary"));
37
37
 
38
- var _createIsomorphicMicroApp = require("./app/createIsomorphicMicroApp");
38
+ var _getConsoleConfig = require("./utils/getConsoleConfig");
39
39
 
40
40
  var _utils = require("./utils");
41
41
 
42
- var _types = require("./types");
43
-
44
42
  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); }
45
43
 
46
44
  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; }
47
45
 
48
- 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; }
46
+ 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; }
49
47
 
50
- 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; }
48
+ 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; }
51
49
 
52
50
  var getProps = function getProps(props) {
53
51
  var parcelProps = _objectSpread({}, props);
@@ -57,10 +55,8 @@ var getProps = function getProps(props) {
57
55
  delete parcelProps.loading;
58
56
  delete parcelProps.entry;
59
57
  delete parcelProps.container;
60
- delete parcelProps.logger; // @ts-ignore
61
-
62
- delete parcelProps.env; // @ts-ignore
63
-
58
+ delete parcelProps.logger;
59
+ delete parcelProps.env;
64
60
  delete parcelProps.dependencies;
65
61
  return parcelProps;
66
62
  };
@@ -71,7 +67,8 @@ var Application = function Application(props) {
71
67
  loading = props.loading,
72
68
  style = props.style,
73
69
  className = props.className,
74
- consoleConfig = props.consoleConfig;
70
+ consoleConfig = props.consoleConfig,
71
+ i18nMessages = props.i18nMessages;
75
72
 
76
73
  var _useState = (0, _react.useState)(false),
77
74
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -86,7 +83,7 @@ var Application = function Application(props) {
86
83
  var appRef = (0, _react.useRef)(null);
87
84
  (0, _react.useEffect)(function () {
88
85
  (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
89
- var app;
86
+ var App;
90
87
  return _regenerator.default.wrap(function _callee$(_context) {
91
88
  while (1) {
92
89
  switch (_context.prev = _context.next) {
@@ -100,27 +97,35 @@ var Application = function Application(props) {
100
97
  });
101
98
 
102
99
  case 2:
103
- app = _context.sent;
100
+ App = _context.sent;
104
101
 
105
- if (app.context && app.context.baseFrame) {
106
- // @ts-ignore
107
- app.context.baseFrame.contentWindow.ALIYUN_CONSOLE_CONFIG = consoleConfig;
102
+ if (App.context && App.context) {
103
+ App.context.window.ALIYUN_CONSOLE_CONFIG = consoleConfig;
104
+ App.context.window.ALIYUN_CONSOLE_I18N_MESSAGE = i18nMessages;
108
105
  }
109
106
 
110
107
  _context.next = 6;
111
- return app.load();
108
+ return App.load();
112
109
 
113
110
  case 6:
114
- _context.next = 8;
115
- return app.mount(appRef.current, {
111
+ if (appRef.current) {
112
+ _context.next = 8;
113
+ break;
114
+ }
115
+
116
+ return _context.abrupt("return");
117
+
118
+ case 8:
119
+ _context.next = 10;
120
+ return App.mount(appRef.current, {
116
121
  customProps: getProps(props)
117
122
  });
118
123
 
119
- case 8:
124
+ case 10:
120
125
  setMounted(true);
121
- setApp(app);
126
+ setApp(App);
122
127
 
123
- case 10:
128
+ case 12:
124
129
  case "end":
125
130
  return _context.stop();
126
131
  }
@@ -143,24 +148,17 @@ var Application = function Application(props) {
143
148
  className: className,
144
149
  ref: appRef,
145
150
  dataId: name
146
- }) : /*#__PURE__*/_react.default.createElement(name, {
147
- children: /*#__PURE__*/_react.default.createElement('div', {
148
- ref: appRef
149
- })
150
- }));
151
+ }) : /*#__PURE__*/_react.default.createElement(name, {}, /*#__PURE__*/_react.default.createElement('div', {
152
+ ref: appRef
153
+ })));
151
154
  };
152
155
 
153
156
  function createAlfaApp(option) {
154
157
  var name = option.name,
155
158
  loading = option.loading,
156
159
  manifest = option.manifest;
157
-
158
- if ((0, _utils.isSSR)()) {
159
- return (0, _createIsomorphicMicroApp.createIsomorphicAlfaApp)(option);
160
- }
161
-
162
160
  var AlfaApp = /*#__PURE__*/(0, _react.lazy)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
163
- var resolvedManifest, consoleConfig, AlfaApp;
161
+ var resolvedManifest, consoleConfig, messages, i18nMessages, App;
164
162
  return _regenerator.default.wrap(function _callee2$(_context2) {
165
163
  while (1) {
166
164
  switch (_context2.prev = _context2.next) {
@@ -179,35 +177,34 @@ function createAlfaApp(option) {
179
177
  resolvedManifest = _context2.sent;
180
178
 
181
179
  case 5:
182
- // @ts-ignore
183
180
  consoleConfig = window.ALIYUN_CONSOLE_CONFIG || {};
184
-
185
- if (!option.dynamicConfig) {
186
- _context2.next = 10;
187
- break;
188
- }
189
-
190
- _context2.next = 9;
181
+ _context2.next = 8;
191
182
  return (0, _getConsoleConfig.getConsoleConfig)(option, consoleConfig);
192
183
 
193
- case 9:
184
+ case 8:
194
185
  consoleConfig = _context2.sent;
186
+ _context2.next = 11;
187
+ return (0, _alfaCore.getLocale)(option);
188
+
189
+ case 11:
190
+ messages = _context2.sent;
191
+ i18nMessages = _objectSpread(_objectSpread({}, window.ALIYUN_CONSOLE_I18N_MESSAGE), messages);
195
192
 
196
- case 10:
197
- AlfaApp = function AlfaApp(props) {
193
+ App = function App(props) {
198
194
  return /*#__PURE__*/_react.default.createElement(Application, (0, _extends2.default)({
199
195
  manifest: resolvedManifest
200
196
  }, props, {
201
197
  name: (0, _utils.normalizeName)(name),
202
- consoleConfig: consoleConfig
198
+ consoleConfig: consoleConfig,
199
+ i18nMessages: i18nMessages
203
200
  }));
204
201
  };
205
202
 
206
203
  return _context2.abrupt("return", {
207
- default: AlfaApp
204
+ default: App
208
205
  });
209
206
 
210
- case 12:
207
+ case 15:
211
208
  case "end":
212
209
  return _context2.stop();
213
210
  }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  interface IProps {
3
- error: Error;
3
+ error: Error | null;
4
4
  }
5
5
  declare const ErrorPanel: React.FC<IProps>;
6
6
  export default ErrorPanel;
@@ -31,11 +31,11 @@ var ErrorPanel = function ErrorPanel(props) {
31
31
  style: containerStyle
32
32
  }, /*#__PURE__*/_react.default.createElement("div", {
33
33
  style: commonErrorStyle
34
- }, error.message), /*#__PURE__*/_react.default.createElement("pre", {
34
+ }, error === null || error === void 0 ? void 0 : error.message), /*#__PURE__*/_react.default.createElement("pre", {
35
35
  style: {
36
36
  overflow: 'scroll'
37
37
  }
38
- }, error.stack)) : /*#__PURE__*/_react.default.createElement("div", {
38
+ }, error === null || error === void 0 ? void 0 : error.stack)) : /*#__PURE__*/_react.default.createElement("div", {
39
39
  style: commonErrorStyle
40
40
  }, "Error"));
41
41
  };
@@ -1,17 +1,15 @@
1
1
  import React, { ErrorInfo } from 'react';
2
- export interface Logger {
3
- error: (...args: any[]) => void;
4
- }
5
- interface IProp {
6
- logger?: Logger;
7
- appDidCatch?: (error: Error) => void;
2
+ import { AlfaLogger } from '@alicloud/alfa-core';
3
+ interface IProps {
4
+ appDidCatch?: (error?: Error, info?: ErrorInfo) => void;
5
+ logger?: AlfaLogger;
8
6
  }
9
7
  interface State {
10
8
  hasError: boolean;
11
- error: Error;
9
+ error: Error | null;
12
10
  }
13
- declare class ErrorBoundary extends React.Component<IProp, State> {
14
- constructor(props: IProp);
11
+ declare class ErrorBoundary extends React.Component<IProps, State> {
12
+ constructor(props: IProps);
15
13
  componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
16
14
  render(): {} | null | undefined;
17
15
  }
@@ -39,7 +39,6 @@ var ErrorBoundary = /*#__PURE__*/function (_React$Component) {
39
39
  _this = _super.call(this, props);
40
40
  _this.state = {
41
41
  hasError: false,
42
- // @ts-ignore
43
42
  error: null
44
43
  };
45
44
  return _this;
@@ -48,23 +47,24 @@ var ErrorBoundary = /*#__PURE__*/function (_React$Component) {
48
47
  (0, _createClass2.default)(ErrorBoundary, [{
49
48
  key: "componentDidCatch",
50
49
  value: function componentDidCatch(error, errorInfo) {
51
- // Display fallback UI
50
+ var _window, _window$__bl, _window2, _window2$__bl;
51
+
52
+ var _this$props = this.props,
53
+ appDidCatch = _this$props.appDidCatch,
54
+ logger = _this$props.logger; // Display fallback UI
55
+
52
56
  this.setState({
53
57
  hasError: true,
54
58
  error: error
55
- }); // You can also log the error to an error reporting service
56
-
57
- if (this.props.logger) {
58
- this.props.logger.error(error, errorInfo);
59
- } else {
60
- var _window, _window$__bl;
61
-
62
- // @ts-ignore
63
- (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) && window.__bl.error(error, errorInfo);
64
- }
65
-
66
- console.error(error);
67
- this.props.appDidCatch && this.props.appDidCatch(error);
59
+ });
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
+
62
+ appDidCatch && appDidCatch(error, errorInfo);
63
+ logger === null || logger === void 0 ? void 0 : logger.error({
64
+ E_MSG: '',
65
+ E_STACK: error,
66
+ C_STACK: errorInfo
67
+ });
68
68
  }
69
69
  }, {
70
70
  key: "render",
@@ -37,9 +37,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
37
37
 
38
38
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
39
39
 
40
- 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; }
40
+ 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; }
41
41
 
42
- 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; }
42
+ 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; }
43
43
 
44
44
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
45
45
 
@@ -19,9 +19,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
19
19
 
20
20
  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; }
21
21
 
22
- 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; }
22
+ 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
23
 
24
- 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; }
24
+ 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; }
25
25
 
26
26
  var Title = function Title(_ref) {
27
27
  var prefixCls = _ref.prefixCls,
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { AlfaFactoryOption } from './types';
3
+ declare function createAlfaApp<P = any>(option: AlfaFactoryOption): (() => null) | React.MemoExoticComponent<(props: P) => JSX.Element>;
4
+ export default createAlfaApp;
@@ -0,0 +1,54 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _alfaCore = require("@alicloud/alfa-core");
15
+
16
+ var _ErrorBoundary = _interopRequireDefault(require("./components/ErrorBoundary"));
17
+
18
+ var _createApplication = _interopRequireDefault(require("./createApplication"));
19
+
20
+ var _beforeResolveHook = _interopRequireDefault(require("./hooks/beforeResolveHook"));
21
+
22
+ var _beforeLoadHook = _interopRequireDefault(require("./hooks/beforeLoadHook"));
23
+
24
+ var loader = _alfaCore.BaseLoader.create();
25
+
26
+ loader.beforeResolve.use(_beforeResolveHook.default);
27
+ loader.beforeLoad.use(_beforeLoadHook.default);
28
+ var Application = (0, _createApplication.default)(loader);
29
+
30
+ function createAlfaApp(option) {
31
+ var _ref = option || {},
32
+ name = _ref.name,
33
+ dependencies = _ref.dependencies; // check app option
34
+
35
+
36
+ if (!name) return function () {
37
+ return null;
38
+ };
39
+ var passedInOption = option;
40
+ return /*#__PURE__*/_react.default.memo(function (props) {
41
+ if ('sandbox' in props) {
42
+ console.warn('');
43
+ }
44
+
45
+ return /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, props, /*#__PURE__*/_react.default.createElement(Application, (0, _extends2.default)({}, passedInOption, {
46
+ sandbox: option.sandbox || props.sandbox,
47
+ deps: dependencies || {},
48
+ customProps: props
49
+ })));
50
+ });
51
+ }
52
+
53
+ var _default = createAlfaApp;
54
+ 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,94 @@
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 _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _react = _interopRequireDefault(require("react"));
17
+
18
+ var _alfaCore = require("@alicloud/alfa-core");
19
+
20
+ var _ErrorBoundary = _interopRequireDefault(require("./components/ErrorBoundary"));
21
+
22
+ var _widget = require("./widget");
23
+
24
+ var _createApplication = _interopRequireDefault(require("./createApplication"));
25
+
26
+ var _beforeResolveHook = _interopRequireDefault(require("./hooks/beforeResolveHook"));
27
+
28
+ var _beforeLoadHook = _interopRequireDefault(require("./hooks/beforeLoadHook"));
29
+
30
+ var loader = _alfaCore.BaseLoader.create();
31
+
32
+ loader.beforeResolve.use(_beforeResolveHook.default);
33
+ loader.beforeLoad.use(_beforeLoadHook.default);
34
+ loader.beforeLoad.use( /*#__PURE__*/function () {
35
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(appConfig) {
36
+ var app;
37
+ return _regenerator.default.wrap(function _callee$(_context) {
38
+ while (1) {
39
+ switch (_context.prev = _context.next) {
40
+ case 0:
41
+ app = appConfig.app;
42
+
43
+ if (app && app.context) {
44
+ // disable history
45
+ app.context.history = {};
46
+ }
47
+
48
+ return _context.abrupt("return", appConfig);
49
+
50
+ case 3:
51
+ case "end":
52
+ return _context.stop();
53
+ }
54
+ }
55
+ }, _callee);
56
+ }));
57
+
58
+ return function (_x) {
59
+ return _ref.apply(this, arguments);
60
+ };
61
+ }());
62
+ var Application = (0, _createApplication.default)(loader);
63
+
64
+ function createAlfaApp(option) {
65
+ var _ref2 = option || {},
66
+ name = _ref2.name,
67
+ dependencies = _ref2.dependencies;
68
+
69
+ if (name.match(/@ali\/widget-/)) {
70
+ // TODO load style
71
+ return (0, _widget.createCWSWidget)(option);
72
+ } // check app option
73
+
74
+
75
+ if (!name) return function () {
76
+ return null;
77
+ };
78
+ var passedInOption = option;
79
+ return /*#__PURE__*/_react.default.memo(function (props) {
80
+ return (
81
+ /*#__PURE__*/
82
+ // Compatible with old logic
83
+ // props should not passed in errorBoundary
84
+ _react.default.createElement(_ErrorBoundary.default, props, /*#__PURE__*/_react.default.createElement(Application, (0, _extends2.default)({}, passedInOption, {
85
+ // name={name}
86
+ deps: dependencies || {},
87
+ customProps: props
88
+ })))
89
+ );
90
+ });
91
+ }
92
+
93
+ var _default = createAlfaApp;
94
+ 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 {};
@@ -0,0 +1,157 @@
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.default = createApplication;
11
+
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _Loading = _interopRequireDefault(require("./components/Loading"));
21
+
22
+ var _utils = require("./utils");
23
+
24
+ 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); }
25
+
26
+ 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; }
27
+
28
+ /**
29
+ * container for microApp mount
30
+ * @param loader alfa-core loader
31
+ * @returns
32
+ */
33
+ function createApplication(loader) {
34
+ return function Application(props) {
35
+ var name = props.name,
36
+ version = props.version,
37
+ manifest = props.manifest,
38
+ loading = props.loading,
39
+ sandbox = props.sandbox,
40
+ customProps = props.customProps,
41
+ className = props.className,
42
+ style = props.style,
43
+ container = props.container,
44
+ entry = props.entry,
45
+ url = props.url,
46
+ customLogger = props.logger,
47
+ deps = props.deps,
48
+ env = props.env,
49
+ beforeMount = props.beforeMount,
50
+ afterMount = props.afterMount,
51
+ beforeUnmount = props.beforeUnmount,
52
+ afterUnmount = props.afterUnmount,
53
+ beforeUpdate = props.beforeUpdate;
54
+
55
+ var _useState = (0, _react.useState)(null),
56
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
57
+ app = _useState2[0],
58
+ setApp = _useState2[1];
59
+
60
+ var appRef = (0, _react.useRef)(null);
61
+ var tagName = (0, _utils.normalizeName)(props.name);
62
+ (0, _react.useEffect)(function () {
63
+ // eslint-disable-next-line no-useless-catch
64
+ (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
65
+ var _yield$loader$registe, App, logger;
66
+
67
+ return _regenerator.default.wrap(function _callee$(_context) {
68
+ while (1) {
69
+ switch (_context.prev = _context.next) {
70
+ case 0:
71
+ _context.next = 2;
72
+ return loader.register({
73
+ entry: entry,
74
+ url: url,
75
+ name: name,
76
+ version: version,
77
+ manifest: manifest,
78
+ container: container || appRef.current,
79
+ props: customProps,
80
+ sandbox: sandbox,
81
+ logger: customLogger,
82
+ deps: deps,
83
+ env: env,
84
+ beforeMount: beforeMount,
85
+ afterMount: afterMount,
86
+ beforeUnmount: beforeUnmount,
87
+ afterUnmount: afterUnmount,
88
+ beforeUpdate: beforeUpdate
89
+ });
90
+
91
+ case 2:
92
+ _yield$loader$registe = _context.sent;
93
+ App = _yield$loader$registe.app;
94
+ logger = _yield$loader$registe.logger;
95
+
96
+ if (App) {
97
+ _context.next = 7;
98
+ break;
99
+ }
100
+
101
+ return _context.abrupt("return", logger === null || logger === void 0 ? void 0 : logger.error({
102
+ E_MSG: 'load app failed.'
103
+ }));
104
+
105
+ case 7:
106
+ if (appRef.current) {
107
+ _context.next = 9;
108
+ break;
109
+ }
110
+
111
+ return _context.abrupt("return", logger === null || logger === void 0 ? void 0 : logger.error({
112
+ E_MSG: 'cannot find container.'
113
+ }));
114
+
115
+ case 9:
116
+ _context.next = 11;
117
+ return App.mount(appRef.current, {
118
+ customProps: customProps
119
+ });
120
+
121
+ case 11:
122
+ setApp(App);
123
+ return _context.abrupt("return", function () {
124
+ App && App.unmount();
125
+ });
126
+
127
+ case 13:
128
+ case "end":
129
+ return _context.stop();
130
+ }
131
+ }
132
+ }, _callee);
133
+ }))().catch(function (e) {
134
+ throw e;
135
+ });
136
+ }, [name, manifest, customProps, sandbox, entry, url, version, container, customLogger, deps, env, beforeMount, afterMount, beforeUnmount, afterUnmount, beforeUpdate]);
137
+
138
+ if (app) {
139
+ app.update(customProps);
140
+ }
141
+
142
+ if (!app) {
143
+ return /*#__PURE__*/_react.default.createElement(_Loading.default, {
144
+ loading: loading
145
+ });
146
+ }
147
+
148
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, sandbox && sandbox !== true && sandbox.disableFakeBody ? /*#__PURE__*/_react.default.createElement(tagName, {
149
+ style: style,
150
+ className: className,
151
+ ref: appRef,
152
+ dataId: name
153
+ }) : /*#__PURE__*/_react.default.createElement(tagName, {}, /*#__PURE__*/_react.default.createElement('div', {
154
+ ref: appRef
155
+ })));
156
+ };
157
+ }
@@ -0,0 +1,3 @@
1
+ import { IAppConfig } from '@alicloud/alfa-core';
2
+ declare function afterLoadHook(appConfig: IAppConfig): Promise<IAppConfig<any>>;
3
+ export default afterLoadHook;