@alicloud/alfa-react 1.3.0-canary.8 → 1.3.1-alpha.2

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 (69) 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 +54 -26
  10. package/es/hooks/afterLoadHook.js +69 -0
  11. package/es/hooks/beforeResolveHook.js +55 -0
  12. package/es/index.js +2 -2
  13. package/es/types/base.js +2 -1
  14. package/es/utils/getConsoleConfig.js +3 -5
  15. package/es/version.js +1 -0
  16. package/es/widget/emitter.js +4 -4
  17. package/es/widget/getWidgetConfigById.js +5 -6
  18. package/es/widget/getWidgetDeps.js +5 -5
  19. package/es/widget.js +3 -3
  20. package/lib/app.d.ts +1 -1
  21. package/lib/app.js +45 -48
  22. package/lib/components/ErrorBoundary/ErrorPanel.d.ts +1 -1
  23. package/lib/components/ErrorBoundary/ErrorPanel.js +2 -2
  24. package/lib/components/ErrorBoundary/index.d.ts +7 -9
  25. package/lib/components/ErrorBoundary/index.js +15 -15
  26. package/lib/components/Loading/Skeleton.js +2 -2
  27. package/lib/components/Loading/Title.js +2 -2
  28. package/lib/createAlfaApp.d.ts +4 -0
  29. package/lib/createAlfaApp.js +54 -0
  30. package/lib/createAlfaWidget.d.ts +4 -0
  31. package/lib/createAlfaWidget.js +94 -0
  32. package/lib/createApplication.d.ts +12 -0
  33. package/lib/createApplication.js +161 -0
  34. package/lib/hooks/afterLoadHook.d.ts +3 -0
  35. package/lib/hooks/afterLoadHook.js +84 -0
  36. package/lib/hooks/beforeResolveHook.d.ts +3 -0
  37. package/lib/hooks/beforeResolveHook.js +69 -0
  38. package/lib/index.d.ts +2 -2
  39. package/lib/index.js +6 -4
  40. package/lib/{base.d.ts → types/base.d.ts} +4 -1
  41. package/lib/{base.js → types/base.js} +3 -1
  42. package/lib/{types.d.ts → types/index.d.ts} +9 -8
  43. package/lib/{types.js → types/index.js} +0 -0
  44. package/lib/utils/getConsoleConfig.d.ts +21 -0
  45. package/lib/utils/getConsoleConfig.js +100 -0
  46. package/lib/{utils.d.ts → utils/index.d.ts} +0 -1
  47. package/lib/{utils.js → utils/index.js} +2 -8
  48. package/lib/version.d.ts +1 -0
  49. package/lib/version.js +8 -0
  50. package/lib/widget/emitter.d.ts +0 -1
  51. package/lib/widget/emitter.js +4 -4
  52. package/lib/widget/getWidgetConfigById.js +5 -6
  53. package/lib/widget/getWidgetDeps.js +4 -4
  54. package/lib/widget.d.ts +1 -1
  55. package/lib/widget.js +4 -4
  56. package/package.json +12 -7
  57. package/LICENSE +0 -21
  58. package/es/app/createIsomorphicMicroApp.js +0 -44
  59. package/es/app/getConsoleConfig.js +0 -49
  60. package/es/base.js +0 -26
  61. package/es/context.js +0 -7
  62. package/es/types.js +0 -1
  63. package/es/utils.js +0 -6
  64. package/lib/app/createIsomorphicMicroApp.d.ts +0 -2
  65. package/lib/app/createIsomorphicMicroApp.js +0 -63
  66. package/lib/app/getConsoleConfig.d.ts +0 -2
  67. package/lib/app/getConsoleConfig.js +0 -62
  68. package/lib/context.d.ts +0 -7
  69. package/lib/context.js +0 -15
@@ -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 _afterLoadHook = _interopRequireDefault(require("./hooks/afterLoadHook"));
23
+
24
+ var loader = _alfaCore.BaseLoader.create();
25
+
26
+ loader.beforeResolve.use(_beforeResolveHook.default);
27
+ loader.afterLoad.use(_afterLoadHook.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 _afterLoadHook = _interopRequireDefault(require("./hooks/afterLoadHook"));
29
+
30
+ var loader = _alfaCore.BaseLoader.create();
31
+
32
+ loader.beforeResolve.use(_beforeResolveHook.default);
33
+ loader.afterLoad.use(_afterLoadHook.default);
34
+ loader.afterLoad.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,161 @@
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
+ _context.next = 9;
107
+ return App.load();
108
+
109
+ case 9:
110
+ if (appRef.current) {
111
+ _context.next = 11;
112
+ break;
113
+ }
114
+
115
+ return _context.abrupt("return", logger === null || logger === void 0 ? void 0 : logger.error({
116
+ E_MSG: 'cannot find container.'
117
+ }));
118
+
119
+ case 11:
120
+ _context.next = 13;
121
+ return App.mount(appRef.current, {
122
+ customProps: customProps
123
+ });
124
+
125
+ case 13:
126
+ setApp(App);
127
+ return _context.abrupt("return", function () {
128
+ App && App.unmount();
129
+ });
130
+
131
+ case 15:
132
+ case "end":
133
+ return _context.stop();
134
+ }
135
+ }
136
+ }, _callee);
137
+ }))().catch(function (e) {
138
+ throw e;
139
+ });
140
+ }, [name, manifest, customProps, sandbox, entry, url, version, container, customLogger, deps, env, beforeMount, afterMount, beforeUnmount, afterUnmount, beforeUpdate]);
141
+
142
+ if (app) {
143
+ app.update(customProps);
144
+ }
145
+
146
+ if (!app) {
147
+ return /*#__PURE__*/_react.default.createElement(_Loading.default, {
148
+ loading: loading
149
+ });
150
+ }
151
+
152
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, sandbox && sandbox !== true && sandbox.disableFakeBody ? /*#__PURE__*/_react.default.createElement(tagName, {
153
+ style: style,
154
+ className: className,
155
+ ref: appRef,
156
+ dataId: name
157
+ }) : /*#__PURE__*/_react.default.createElement(tagName, {}, /*#__PURE__*/_react.default.createElement('div', {
158
+ ref: appRef
159
+ })));
160
+ };
161
+ }
@@ -0,0 +1,3 @@
1
+ import { IAppConfig } from '@alicloud/alfa-core';
2
+ declare function afterLoadHook(appConfig: IAppConfig): Promise<IAppConfig<any>>;
3
+ export default afterLoadHook;
@@ -0,0 +1,84 @@
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
18
+ var _alfaCore = require("@alicloud/alfa-core");
19
+
20
+ var _getConsoleConfig = require("../utils/getConsoleConfig");
21
+
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
+
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
+
26
+ // inject consoleConfig & locales after load
27
+ function afterLoadHook(_x) {
28
+ return _afterLoadHook.apply(this, arguments);
29
+ }
30
+
31
+ function _afterLoadHook() {
32
+ _afterLoadHook = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(appConfig) {
33
+ var app, logger, defaultConsoleConfig, CONFIG_START_TIME, _yield$Promise$all$ca, _yield$Promise$all$ca2, consoleConfig, messages, CONFIG_END_TIME, i18nMessages, END_TIME;
34
+
35
+ return _regenerator.default.wrap(function _callee$(_context) {
36
+ while (1) {
37
+ switch (_context.prev = _context.next) {
38
+ case 0:
39
+ app = appConfig.app, logger = appConfig.logger;
40
+ defaultConsoleConfig = window.ALIYUN_CONSOLE_CONFIG || {};
41
+ CONFIG_START_TIME = Date.now();
42
+ _context.next = 5;
43
+ return Promise.all([(0, _getConsoleConfig.getConsoleConfig)(appConfig, defaultConsoleConfig), (0, _alfaCore.getLocale)(appConfig)]).catch(function (e) {
44
+ logger === null || logger === void 0 ? void 0 : logger.error({
45
+ E_MSG: 'fetch config & locale error.',
46
+ E_STACK: e
47
+ });
48
+ return [{}, {}];
49
+ });
50
+
51
+ case 5:
52
+ _yield$Promise$all$ca = _context.sent;
53
+ _yield$Promise$all$ca2 = (0, _slicedToArray2.default)(_yield$Promise$all$ca, 2);
54
+ consoleConfig = _yield$Promise$all$ca2[0];
55
+ messages = _yield$Promise$all$ca2[1];
56
+ CONFIG_END_TIME = Date.now();
57
+ i18nMessages = _objectSpread(_objectSpread({}, window.ALIYUN_CONSOLE_I18N_MESSAGE), messages);
58
+
59
+ if (app && app.context) {
60
+ app.context.window.ALIYUN_CONSOLE_CONFIG = consoleConfig;
61
+ app.context.window.ALIYUN_CONSOLE_I18N_MESSAGE = i18nMessages; // (app.context.history as any) = {};
62
+ }
63
+
64
+ END_TIME = Date.now();
65
+ logger === null || logger === void 0 ? void 0 : logger.record({
66
+ CONFIG_START_TIME: CONFIG_START_TIME,
67
+ CONFIG_END_TIME: CONFIG_END_TIME,
68
+ END_TIME: END_TIME
69
+ });
70
+ logger === null || logger === void 0 ? void 0 : logger.send();
71
+ return _context.abrupt("return", appConfig);
72
+
73
+ case 16:
74
+ case "end":
75
+ return _context.stop();
76
+ }
77
+ }
78
+ }, _callee);
79
+ }));
80
+ return _afterLoadHook.apply(this, arguments);
81
+ }
82
+
83
+ var _default = afterLoadHook;
84
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import { IAppConfig } from '@alicloud/alfa-core';
2
+ declare function beforeResolveHook(appConfig: IAppConfig): Promise<IAppConfig<any>>;
3
+ export default beforeResolveHook;
@@ -0,0 +1,69 @@
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 _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _alfaCore = require("@alicloud/alfa-core");
15
+
16
+ var _version = require("../version");
17
+
18
+ // get manifest before resolve
19
+ // normalize name
20
+ function beforeResolveHook(_x) {
21
+ return _beforeResolveHook.apply(this, arguments);
22
+ }
23
+
24
+ function _beforeResolveHook() {
25
+ _beforeResolveHook = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(appConfig) {
26
+ var resolvedManifest, logger, START_TIME, MANIFEST_START_TIME, MANIFEST_END_TIME;
27
+ return _regenerator.default.wrap(function _callee$(_context) {
28
+ while (1) {
29
+ switch (_context.prev = _context.next) {
30
+ case 0:
31
+ resolvedManifest = appConfig.manifest;
32
+ logger = appConfig.logger;
33
+ START_TIME = Date.now();
34
+ MANIFEST_START_TIME = Date.now();
35
+
36
+ if (resolvedManifest) {
37
+ _context.next = 8;
38
+ break;
39
+ }
40
+
41
+ _context.next = 7;
42
+ return (0, _alfaCore.getManifest)(appConfig);
43
+
44
+ case 7:
45
+ resolvedManifest = _context.sent;
46
+
47
+ case 8:
48
+ MANIFEST_END_TIME = Date.now();
49
+ logger === null || logger === void 0 ? void 0 : logger.record({
50
+ LOADER_VERSION: _version.version,
51
+ START_TIME: START_TIME,
52
+ MANIFEST_START_TIME: MANIFEST_START_TIME,
53
+ MANIFEST_END_TIME: MANIFEST_END_TIME
54
+ });
55
+ appConfig.manifest = resolvedManifest;
56
+ return _context.abrupt("return", appConfig);
57
+
58
+ case 12:
59
+ case "end":
60
+ return _context.stop();
61
+ }
62
+ }
63
+ }, _callee);
64
+ }));
65
+ return _beforeResolveHook.apply(this, arguments);
66
+ }
67
+
68
+ var _default = beforeResolveHook;
69
+ exports.default = _default;
package/lib/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { createAlfaWidget } from './widget';
2
- export { createAlfaApp } from './app';
1
+ export { default as createAlfaApp } from './createAlfaApp';
2
+ export { default as createAlfaWidget } from './createAlfaWidget';
3
3
  export { eventEmitter as widgetEventEmitter } from './widget/index';
4
4
  export { createEventBus, prefetch } from '@alicloud/alfa-core';