@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.
Files changed (43) hide show
  1. package/dist/index.js +6 -6
  2. package/es/app/createIsomorphicMicroApp.js +36 -0
  3. package/es/app/getConsoleConfig.js +1 -1
  4. package/es/app.js +29 -41
  5. package/es/context.js +7 -0
  6. package/es/createAlfaApp.js +116 -0
  7. package/es/createAlfaWidget.js +125 -0
  8. package/es/createApplication.js +113 -0
  9. package/es/types/base.js +26 -0
  10. package/es/types/index.js +1 -0
  11. package/es/utils/getConsoleConfig.js +2 -2
  12. package/es/utils/index.js +3 -0
  13. package/es/widget/emitter.js +4 -4
  14. package/es/widget/getWidgetConfigById.js +6 -5
  15. package/es/widget/getWidgetDeps.js +1 -1
  16. package/es/widget.js +0 -6
  17. package/lib/app/createIsomorphicMicroApp.js +55 -0
  18. package/lib/app/getConsoleConfig.js +1 -1
  19. package/lib/app.js +28 -40
  20. package/lib/base.d.ts +0 -3
  21. package/lib/context.d.ts +7 -0
  22. package/lib/context.js +15 -0
  23. package/lib/createAlfaApp.d.ts +4 -0
  24. package/lib/createAlfaApp.js +135 -0
  25. package/lib/createAlfaWidget.d.ts +4 -0
  26. package/lib/createAlfaWidget.js +145 -0
  27. package/lib/createApplication.d.ts +12 -0
  28. package/lib/createApplication.js +133 -0
  29. package/lib/types/base.d.ts +11 -0
  30. package/lib/types/base.js +37 -0
  31. package/lib/types/index.d.ts +86 -0
  32. package/lib/types/index.js +5 -0
  33. package/lib/types.d.ts +0 -1
  34. package/lib/utils/getConsoleConfig.d.ts +21 -2
  35. package/lib/utils/getConsoleConfig.js +2 -2
  36. package/lib/utils/index.d.ts +1 -0
  37. package/lib/utils/index.js +12 -0
  38. package/lib/widget/emitter.d.ts +1 -0
  39. package/lib/widget/emitter.js +4 -4
  40. package/lib/widget/getWidgetConfigById.js +6 -5
  41. package/lib/widget/getWidgetDeps.js +1 -1
  42. package/lib/widget.js +0 -7
  43. 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("./utils/getConsoleConfig");
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
- delete parcelProps.env;
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 App;
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
- App = _context.sent;
101
+ app = _context.sent;
101
102
 
102
- if (App.context && App.context.baseFrame && App.context.baseFrame.contentWindow) {
103
- App.context.baseFrame.contentWindow.ALIYUN_CONSOLE_CONFIG = consoleConfig;
104
- App.context.baseFrame.contentWindow.ALIYUN_CONSOLE_I18N_MESSAGE = i18nMessages;
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 App.load();
109
+ return app.load();
109
110
 
110
111
  case 6:
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, {
112
+ _context.next = 8;
113
+ return app.mount(appRef.current, {
121
114
  customProps: getProps(props)
122
115
  });
123
116
 
124
- case 10:
117
+ case 8:
125
118
  setMounted(true);
126
- setApp(App);
119
+ setApp(app);
127
120
 
128
- case 12:
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, {}, /*#__PURE__*/_react.default.createElement('div', {
152
- ref: appRef
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, messages, i18nMessages, App;
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
- _context2.next = 12;
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: App
200
+ default: AlfaApp
213
201
  });
214
202
 
215
- case 16:
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
  }
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { IIsomorphicEnvironment } from '@alicloud/alfa-core';
3
+ /**
4
+ * 用来提供 ssr 状态下的获取 服务端 manifest & bundle 的实现
5
+ */
6
+ declare const EnvContext: import("react").Context<Partial<IIsomorphicEnvironment>>;
7
+ export default EnvContext;
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,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,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 {};