@modern-js/plugin-garfish 1.18.0 → 1.18.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @modern-js/plugin-garfish
2
2
 
3
+ ## 1.18.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 6839e46: fix: fix MApp can not pass props to microapp and fix closure causes loadable invalid
8
+ fix: 修复 MApp 无法传递 props 问题,修复 loadable setstate 闭包问题导致 state 更新异常
9
+ - Updated dependencies [9fcfbd4]
10
+ - Updated dependencies [6c2c745]
11
+ - @modern-js/utils@1.18.1
12
+ - @modern-js/runtime@1.18.1
13
+
3
14
  ## 1.18.0
4
15
 
5
16
  ### Patch Changes
@@ -107,7 +107,7 @@ export function Loadable(WrapComponent) {
107
107
  return;
108
108
  }
109
109
 
110
- setState(_objectSpread(_objectSpread({}, state), newState));
110
+ setState(state => _objectSpread(_objectSpread({}, state), newState));
111
111
  }, [state]);
112
112
  const showLoading = (state.isLoading || state.error) && LoadingComponent;
113
113
  return /*#__PURE__*/_jsxs(_Fragment, {
@@ -1,4 +1,5 @@
1
- const _excluded = ["beforeLoad", "beforeMount", "errorLoadApp", "errorMountApp", "errorUnmountApp"];
1
+ const _excluded = ["beforeLoad", "beforeMount", "errorLoadApp", "errorMountApp", "errorUnmountApp"],
2
+ _excluded2 = ["style", "setLoadingState"];
2
3
 
3
4
  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; }
4
5
 
@@ -123,27 +124,31 @@ export function generateMApp(options, manifest) {
123
124
  } = provider;
124
125
  const componetRenderMode = (manifest === null || manifest === void 0 ? void 0 : manifest.componentRender) && (SubModuleComponent || jupiter_submodule_app_key);
125
126
  return {
126
- mount: (...props) => {
127
+ mount: appInfo => {
128
+ const transferProps = this.filterTransferProps();
129
+ appInfo.props = _objectSpread(_objectSpread({}, appInfo.props), transferProps);
130
+
127
131
  if (componetRenderMode) {
128
132
  this.setState({
129
133
  SubModuleComponent: SubModuleComponent !== null && SubModuleComponent !== void 0 ? SubModuleComponent : jupiter_submodule_app_key
130
134
  });
131
135
  return undefined;
132
136
  } else {
133
- logger('MicroApp customer render', props);
134
- return render === null || render === void 0 ? void 0 : render.apply(provider, props);
137
+ logger('MicroApp customer render', appInfo);
138
+ return render === null || render === void 0 ? void 0 : render.apply(provider, [appInfo]);
135
139
  }
136
140
  },
141
+ unmount: appInfo => {
142
+ const transferProps = this.filterTransferProps();
143
+ appInfo.props = _objectSpread(_objectSpread({}, appInfo.props), transferProps);
137
144
 
138
- unmount(...props) {
139
145
  if (componetRenderMode) {
140
146
  return undefined;
141
147
  }
142
148
 
143
- logger('MicroApp customer destroy', props);
144
- return destroy === null || destroy === void 0 ? void 0 : destroy.apply(provider, props);
149
+ logger('MicroApp customer destroy', appInfo);
150
+ return destroy === null || destroy === void 0 ? void 0 : destroy.apply(provider, [appInfo]);
145
151
  }
146
-
147
152
  };
148
153
  }
149
154
  });
@@ -166,11 +171,26 @@ export function generateMApp(options, manifest) {
166
171
  logger('MApp componentWillUnmount');
167
172
  }
168
173
 
174
+ filterTransferProps() {
175
+ const _this$props = this.props,
176
+ {
177
+ style,
178
+ setLoadingState
179
+ } = _this$props,
180
+ others = _objectWithoutProperties(_this$props, _excluded2);
181
+
182
+ return others;
183
+ }
184
+
169
185
  render() {
186
+ const {
187
+ style
188
+ } = this.props;
170
189
  const {
171
190
  SubModuleComponent
172
191
  } = this.state;
173
192
  return /*#__PURE__*/_jsx("div", {
193
+ style: _objectSpread({}, style),
174
194
  id: generateSubAppContainerKey(),
175
195
  children: SubModuleComponent && /*#__PURE__*/_jsx(SubModuleComponent, {})
176
196
  });
@@ -115,7 +115,7 @@ function Loadable(WrapComponent) {
115
115
  return;
116
116
  }
117
117
 
118
- setState(_objectSpread(_objectSpread({}, state), newState));
118
+ setState(state => _objectSpread(_objectSpread({}, state), newState));
119
119
  }, [state]);
120
120
  const showLoading = (state.isLoading || state.error) && LoadingComponent;
121
121
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
@@ -15,7 +15,8 @@ var _loadable = require("../loadable");
15
15
 
16
16
  var _jsxRuntime = require("react/jsx-runtime");
17
17
 
18
- const _excluded = ["beforeLoad", "beforeMount", "errorLoadApp", "errorMountApp", "errorUnmountApp"];
18
+ const _excluded = ["beforeLoad", "beforeMount", "errorLoadApp", "errorMountApp", "errorUnmountApp"],
19
+ _excluded2 = ["style", "setLoadingState"];
19
20
 
20
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
22
 
@@ -136,27 +137,31 @@ function generateMApp(options, manifest) {
136
137
  } = provider;
137
138
  const componetRenderMode = (manifest === null || manifest === void 0 ? void 0 : manifest.componentRender) && (SubModuleComponent || jupiter_submodule_app_key);
138
139
  return {
139
- mount: (...props) => {
140
+ mount: appInfo => {
141
+ const transferProps = this.filterTransferProps();
142
+ appInfo.props = _objectSpread(_objectSpread({}, appInfo.props), transferProps);
143
+
140
144
  if (componetRenderMode) {
141
145
  this.setState({
142
146
  SubModuleComponent: SubModuleComponent !== null && SubModuleComponent !== void 0 ? SubModuleComponent : jupiter_submodule_app_key
143
147
  });
144
148
  return undefined;
145
149
  } else {
146
- (0, _util.logger)('MicroApp customer render', props);
147
- return render === null || render === void 0 ? void 0 : render.apply(provider, props);
150
+ (0, _util.logger)('MicroApp customer render', appInfo);
151
+ return render === null || render === void 0 ? void 0 : render.apply(provider, [appInfo]);
148
152
  }
149
153
  },
154
+ unmount: appInfo => {
155
+ const transferProps = this.filterTransferProps();
156
+ appInfo.props = _objectSpread(_objectSpread({}, appInfo.props), transferProps);
150
157
 
151
- unmount(...props) {
152
158
  if (componetRenderMode) {
153
159
  return undefined;
154
160
  }
155
161
 
156
- (0, _util.logger)('MicroApp customer destroy', props);
157
- return destroy === null || destroy === void 0 ? void 0 : destroy.apply(provider, props);
162
+ (0, _util.logger)('MicroApp customer destroy', appInfo);
163
+ return destroy === null || destroy === void 0 ? void 0 : destroy.apply(provider, [appInfo]);
158
164
  }
159
-
160
165
  };
161
166
  }
162
167
  });
@@ -180,11 +185,26 @@ function generateMApp(options, manifest) {
180
185
  (0, _util.logger)('MApp componentWillUnmount');
181
186
  }
182
187
 
188
+ filterTransferProps() {
189
+ const _this$props = this.props,
190
+ {
191
+ style,
192
+ setLoadingState
193
+ } = _this$props,
194
+ others = _objectWithoutProperties(_this$props, _excluded2);
195
+
196
+ return others;
197
+ }
198
+
183
199
  render() {
200
+ const {
201
+ style
202
+ } = this.props;
184
203
  const {
185
204
  SubModuleComponent
186
205
  } = this.state;
187
206
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
207
+ style: _objectSpread({}, style),
188
208
  id: (0, _util.generateSubAppContainerKey)(),
189
209
  children: SubModuleComponent && /*#__PURE__*/(0, _jsxRuntime.jsx)(SubModuleComponent, {})
190
210
  });
@@ -101,7 +101,9 @@ export function Loadable(WrapComponent) {
101
101
  return;
102
102
  }
103
103
 
104
- setState(_objectSpread(_objectSpread({}, state), newState));
104
+ setState(function (state) {
105
+ return _objectSpread(_objectSpread({}, state), newState);
106
+ });
105
107
  }, [state]);
106
108
  var showLoading = (state.isLoading || state.error) && LoadingComponent;
107
109
  return /*#__PURE__*/_jsxs(_Fragment, {
@@ -7,7 +7,8 @@ import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitial
7
7
  import _inherits from "@babel/runtime/helpers/esm/inherits";
8
8
  import _createSuper from "@babel/runtime/helpers/esm/createSuper";
9
9
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
10
- var _excluded = ["beforeLoad", "beforeMount", "errorLoadApp", "errorMountApp", "errorUnmountApp"];
10
+ var _excluded = ["beforeLoad", "beforeMount", "errorLoadApp", "errorMountApp", "errorUnmountApp"],
11
+ _excluded2 = ["style", "setLoadingState"];
11
12
  import React from 'react'; // eslint-disable-next-line import/no-named-as-default
12
13
 
13
14
  import Garfish from 'garfish';
@@ -145,7 +146,11 @@ export function generateMApp(options, manifest) {
145
146
  jupiter_submodule_app_key = provider.jupiter_submodule_app_key;
146
147
  var componetRenderMode = (manifest === null || manifest === void 0 ? void 0 : manifest.componentRender) && (SubModuleComponent || jupiter_submodule_app_key);
147
148
  return {
148
- mount: function mount() {
149
+ mount: function mount(appInfo) {
150
+ var transferProps = _this2.filterTransferProps();
151
+
152
+ appInfo.props = _objectSpread(_objectSpread({}, appInfo.props), transferProps);
153
+
149
154
  if (componetRenderMode) {
150
155
  _this2.setState({
151
156
  SubModuleComponent: SubModuleComponent !== null && SubModuleComponent !== void 0 ? SubModuleComponent : jupiter_submodule_app_key
@@ -153,25 +158,21 @@ export function generateMApp(options, manifest) {
153
158
 
154
159
  return undefined;
155
160
  } else {
156
- for (var _len7 = arguments.length, props = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
157
- props[_key7] = arguments[_key7];
158
- }
159
-
160
- logger('MicroApp customer render', props);
161
- return render === null || render === void 0 ? void 0 : render.apply(provider, props);
161
+ logger('MicroApp customer render', appInfo);
162
+ return render === null || render === void 0 ? void 0 : render.apply(provider, [appInfo]);
162
163
  }
163
164
  },
164
- unmount: function unmount() {
165
+ unmount: function unmount(appInfo) {
166
+ var transferProps = _this2.filterTransferProps();
167
+
168
+ appInfo.props = _objectSpread(_objectSpread({}, appInfo.props), transferProps);
169
+
165
170
  if (componetRenderMode) {
166
171
  return undefined;
167
172
  }
168
173
 
169
- for (var _len8 = arguments.length, props = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
170
- props[_key8] = arguments[_key8];
171
- }
172
-
173
- logger('MicroApp customer destroy', props);
174
- return destroy === null || destroy === void 0 ? void 0 : destroy.apply(provider, props);
174
+ logger('MicroApp customer destroy', appInfo);
175
+ return destroy === null || destroy === void 0 ? void 0 : destroy.apply(provider, [appInfo]);
175
176
  }
176
177
  };
177
178
  }
@@ -195,11 +196,23 @@ export function generateMApp(options, manifest) {
195
196
  });
196
197
  logger('MApp componentWillUnmount');
197
198
  }
199
+ }, {
200
+ key: "filterTransferProps",
201
+ value: function filterTransferProps() {
202
+ var _this$props = this.props,
203
+ style = _this$props.style,
204
+ setLoadingState = _this$props.setLoadingState,
205
+ others = _objectWithoutProperties(_this$props, _excluded2);
206
+
207
+ return others;
208
+ }
198
209
  }, {
199
210
  key: "render",
200
211
  value: function render() {
212
+ var style = this.props.style;
201
213
  var SubModuleComponent = this.state.SubModuleComponent;
202
214
  return /*#__PURE__*/_jsx("div", {
215
+ style: _objectSpread({}, style),
203
216
  id: generateSubAppContainerKey(),
204
217
  children: SubModuleComponent && /*#__PURE__*/_jsx(SubModuleComponent, {})
205
218
  });
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "1.18.0",
14
+ "version": "1.18.1",
15
15
  "jsnext:source": "./src/index.ts",
16
16
  "types": "./dist/types/runtime/index.d.ts",
17
17
  "typesVersions": {
@@ -50,7 +50,7 @@
50
50
  },
51
51
  "dependencies": {
52
52
  "@babel/runtime": "^7.18.0",
53
- "@modern-js/utils": "1.18.0",
53
+ "@modern-js/utils": "1.18.1",
54
54
  "@types/debug": "^4.1.7",
55
55
  "@types/react-loadable": "^5.5.6",
56
56
  "debug": "^4.3.2",
@@ -59,7 +59,7 @@
59
59
  "react-loadable": "^5.5.0"
60
60
  },
61
61
  "peerDependencies": {
62
- "@modern-js/runtime": "^1.18.0"
62
+ "@modern-js/runtime": "^1.18.1"
63
63
  },
64
64
  "peerDependenciesMeta": {
65
65
  "@modern-js/runtime": {
@@ -67,11 +67,11 @@
67
67
  }
68
68
  },
69
69
  "devDependencies": {
70
- "@modern-js/core": "1.18.0",
71
- "@modern-js/runtime": "1.18.0",
72
- "@modern-js/types": "1.18.0",
73
- "@scripts/build": "1.18.0",
74
- "@scripts/jest-config": "1.18.0",
70
+ "@modern-js/core": "1.18.1",
71
+ "@modern-js/runtime": "1.18.1",
72
+ "@modern-js/types": "1.18.1",
73
+ "@scripts/build": "1.18.1",
74
+ "@scripts/jest-config": "1.18.1",
75
75
  "@testing-library/jest-dom": "^5.16.1",
76
76
  "@testing-library/react": "^12.0.0",
77
77
  "@testing-library/react-hooks": "^7.0.1",