@next-core/brick-kit 2.125.0 → 2.126.0

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
@@ -3,6 +3,23 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.126.0](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.125.0...@next-core/brick-kit@2.126.0) (2022-08-08)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * make loose dependency on backend runtime api ([6474f53](https://github.com/easyops-cn/next-core/commit/6474f53687ae514e79c88780810d98e887045c32))
12
+
13
+
14
+ ### Features
15
+
16
+ * **runtime:** support runtime FLAGS and MISC on standalone mode ([131cdbc](https://github.com/easyops-cn/next-core/commit/131cdbc46eb609722719091a202c3364053bfc84))
17
+ * support userConfig & injectMenus in standalone mode ([cd890ed](https://github.com/easyops-cn/next-core/commit/cd890edf01b12c18a771d677106de74ca4e837be))
18
+
19
+
20
+
21
+
22
+
6
23
  # [2.125.0](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.124.1...@next-core/brick-kit@2.125.0) (2022-08-08)
7
24
 
8
25
 
@@ -2923,7 +2923,7 @@
2923
2923
  }
2924
2924
 
2925
2925
  var _excluded$6 = ["children"],
2926
- _excluded2$1 = ["items", "app"];
2926
+ _excluded2$2 = ["items", "app"];
2927
2927
  var symbolAppId = Symbol("appId");
2928
2928
  // Caching menu requests to avoid flicker.
2929
2929
  var menuCache = new Map();
@@ -3107,7 +3107,7 @@
3107
3107
  items,
3108
3108
  app
3109
3109
  } = _yield$fetchMenuById,
3110
- restMenuData = _objectWithoutProperties__default["default"](_yield$fetchMenuById, _excluded2$1);
3110
+ restMenuData = _objectWithoutProperties__default["default"](_yield$fetchMenuById, _excluded2$2);
3111
3111
 
3112
3112
  var menuData = _objectSpread__default["default"](_objectSpread__default["default"]({}, yield computeRealValueWithOverrideApp(restMenuData, app[0].appId, context, kernel)), {}, {
3113
3113
  items: yield computeMenuItemsWithOverrideApp(items, context, kernel)
@@ -5794,6 +5794,24 @@
5794
5794
  timeoutIdList.clear();
5795
5795
  }
5796
5796
 
5797
+ /**
5798
+ * @description 独立小产品Runtime接口
5799
+ * @endpoint GET /api/v1/runtime_standalone
5800
+ */
5801
+
5802
+
5803
+ var BootstrapStandaloneApi_runtimeStandalone = /*#__PURE__*/function () {
5804
+ var _ref = _asyncToGenerator__default["default"](function* (options) {
5805
+ return (
5806
+ /**! @contract easyops.api.api_gateway.bootstrap_standalone.RuntimeStandalone@1.0.1 */
5807
+ (yield brickHttp.http.get("api/v1/runtime_standalone", options)).data
5808
+ );
5809
+ });
5810
+
5811
+ return function BootstrapStandaloneApi_runtimeStandalone(_x) {
5812
+ return _ref.apply(this, arguments);
5813
+ };
5814
+ }();
5797
5815
  /**
5798
5816
  * @description 获取系统初始化信息
5799
5817
  * @endpoint GET /api/auth/v2/bootstrap
@@ -6886,6 +6904,43 @@
6886
6904
  };
6887
6905
  }();
6888
6906
 
6907
+ /**
6908
+ * @description 独立小产品Runtime接口
6909
+ * @endpoint GET /api/v1/micro_app_standalone/runtime/:appId
6910
+ */
6911
+
6912
+
6913
+ var RuntimeApi_runtimeMicroAppStandalone = /*#__PURE__*/function () {
6914
+ var _ref = _asyncToGenerator__default["default"](function* (appId, options) {
6915
+ return (
6916
+ /**! @contract easyops.api.micro_app_standalone.runtime.RuntimeMicroAppStandalone@1.0.1 */
6917
+ (yield brickHttp.http.get("api/gateway/micro_app_standalone.runtime.RuntimeMicroAppStandalone/api/v1/micro_app_standalone/runtime/".concat(appId), options)).data
6918
+ );
6919
+ });
6920
+
6921
+ return function RuntimeApi_runtimeMicroAppStandalone(_x, _x2) {
6922
+ return _ref.apply(this, arguments);
6923
+ };
6924
+ }();
6925
+ /**
6926
+ * @description 查询独立部署小产品
6927
+ * @endpoint POST /api/v1/micro_app_standalone/search
6928
+ */
6929
+
6930
+
6931
+ var RuntimeApi_searchMicroAppStandalone = /*#__PURE__*/function () {
6932
+ var _ref = _asyncToGenerator__default["default"](function* (data, options) {
6933
+ return (
6934
+ /**! @contract easyops.api.micro_app_standalone.runtime.SearchMicroAppStandalone@1.0.1 */
6935
+ (yield brickHttp.http.post("api/gateway/micro_app_standalone.runtime.SearchMicroAppStandalone/api/v1/micro_app_standalone/search", data, options)).data
6936
+ );
6937
+ });
6938
+
6939
+ return function RuntimeApi_searchMicroAppStandalone(_x, _x2) {
6940
+ return _ref.apply(this, arguments);
6941
+ };
6942
+ }();
6943
+
6889
6944
  /**
6890
6945
  * Merge `app.defaultConfig` and `app.userConfig` to `app.config`.
6891
6946
  *
@@ -7078,15 +7133,21 @@
7078
7133
  }
7079
7134
  }
7080
7135
 
7081
- var _excluded$4 = ["feature_flags"];
7136
+ var _excluded$4 = ["feature_flags"],
7137
+ _excluded2$1 = ["featureFlags", "misc"];
7082
7138
  function standaloneBootstrap() {
7083
7139
  return _standaloneBootstrap.apply(this, arguments);
7084
7140
  }
7085
7141
 
7086
7142
  function _standaloneBootstrap() {
7087
7143
  _standaloneBootstrap = _asyncToGenerator__default["default"](function* () {
7088
- var [bootstrapResult, confString] = yield Promise.all([brickHttp.http.get(window.BOOTSTRAP_FILE), brickHttp.http.get("".concat(window.APP_ROOT, "conf.yaml"), {
7144
+ var [bootstrapResult, confString, runtimeData] = yield Promise.all([brickHttp.http.get(window.BOOTSTRAP_FILE), brickHttp.http.get("".concat(window.APP_ROOT, "conf.yaml"), {
7089
7145
  responseType: "text"
7146
+ }), yield BootstrapStandaloneApi_runtimeStandalone().catch(function (error) {
7147
+ // make it not crash when the backend service is not updated.
7148
+ // eslint-disable-next-line no-console
7149
+ console.warn("request runtime api from api-gateway failed: ", error, ", something might went wrong running standalone micro app");
7150
+ return undefined;
7090
7151
  })]);
7091
7152
  var conf;
7092
7153
 
@@ -7134,6 +7195,24 @@
7134
7195
  }
7135
7196
  }
7136
7197
 
7198
+ if (runtimeData) {
7199
+ var runtimeSetings = runtimeData.settings;
7200
+
7201
+ if (!_.isEmpty(runtimeSetings)) {
7202
+ // Merge Feature Flags
7203
+ if (!settings) {
7204
+ settings = runtimeSetings;
7205
+ } else {
7206
+ // Merge Feature Flags & Misc
7207
+ var rest = _objectWithoutProperties__default["default"](runtimeSetings, _excluded2$1);
7208
+
7209
+ settings.featureFlags = _objectSpread__default["default"](_objectSpread__default["default"]({}, settings.featureFlags), runtimeSetings.featureFlags);
7210
+ settings.misc = _objectSpread__default["default"](_objectSpread__default["default"]({}, settings.misc), runtimeSetings.misc);
7211
+ settings = Object.assign(settings, rest);
7212
+ }
7213
+ }
7214
+ }
7215
+
7137
7216
  return _objectSpread__default["default"](_objectSpread__default["default"]({}, bootstrapResult), {}, {
7138
7217
  settings
7139
7218
  });
@@ -8855,6 +8934,27 @@
8855
8934
  Object.assign(storyboard, {
8856
8935
  $$fulfilled: true
8857
8936
  });
8937
+
8938
+ if (!window.NO_AUTH_GUARD) {
8939
+ var appRuntimeData;
8940
+
8941
+ try {
8942
+ appRuntimeData = yield RuntimeApi_runtimeMicroAppStandalone(storyboard.app.id);
8943
+ } catch (error) {
8944
+ // make it not crash when the backend service is not updated.
8945
+ // eslint-disable-next-line no-console
8946
+ console.warn("request standalone runtime api from micro-app-standalone failed: ", error, ", something might went wrong running standalone micro app");
8947
+ }
8948
+
8949
+ if (appRuntimeData) {
8950
+ // merge user config
8951
+ storyboard.app.userConfig = _objectSpread__default["default"](_objectSpread__default["default"]({}, storyboard.app.userConfig), appRuntimeData.userConfig); // get inject menus (Actually, appRuntimeData contains both main and inject menus)
8952
+
8953
+ storyboard.meta = _objectSpread__default["default"](_objectSpread__default["default"]({}, storyboard.meta), {}, {
8954
+ injectMenus: appRuntimeData.injectMenus
8955
+ });
8956
+ }
8957
+ }
8858
8958
  } else {
8859
8959
  var {
8860
8960
  routes,
@@ -9369,15 +9469,20 @@
9369
9469
  }
9370
9470
 
9371
9471
  getStandaloneMenus(menuId) {
9372
- var _cloneDeep, _currentStoryboard$me;
9472
+ var _currentStoryboard$me, _currentStoryboard$me2;
9373
9473
 
9374
9474
  var currentAppId = this.currentApp.id;
9375
9475
  var currentStoryboard = this.bootstrapData.storyboards.find(storyboard => storyboard.app.id === currentAppId);
9376
- return ((_cloneDeep = _.cloneDeep((_currentStoryboard$me = currentStoryboard.meta) === null || _currentStoryboard$me === void 0 ? void 0 : _currentStoryboard$me.menus)) !== null && _cloneDeep !== void 0 ? _cloneDeep : []).filter(menu => menu.menuId === menuId).map(menu => _objectSpread__default["default"](_objectSpread__default["default"]({}, menu), {}, {
9377
- app: [{
9378
- appId: currentAppId
9379
- }]
9380
- }));
9476
+ var menus = (_currentStoryboard$me = currentStoryboard.meta) !== null && _currentStoryboard$me !== void 0 && _currentStoryboard$me.injectMenus ? _.cloneDeep(currentStoryboard.meta.injectMenus) : (_currentStoryboard$me2 = currentStoryboard.meta) !== null && _currentStoryboard$me2 !== void 0 && _currentStoryboard$me2.menus ? _.cloneDeep(currentStoryboard.meta.menus) : [];
9477
+ return menus.filter(menu => menu.menuId === menuId).map(menu => {
9478
+ var _menu$app;
9479
+
9480
+ return _objectSpread__default["default"](_objectSpread__default["default"]({}, menu), (_menu$app = menu.app) !== null && _menu$app !== void 0 && _menu$app.length && menu.app[0].appId ? {} : {
9481
+ app: [{
9482
+ appId: currentAppId
9483
+ }]
9484
+ });
9485
+ });
9381
9486
  }
9382
9487
 
9383
9488
  getProviderBrick(provider) {
@@ -11335,25 +11440,6 @@
11335
11440
  });
11336
11441
  }
11337
11442
 
11338
- /**
11339
- * @description 查询独立部署小产品
11340
- * @endpoint POST /api/v1/micro_app_standalone/search
11341
- */
11342
-
11343
-
11344
- var RuntimeApi_searchMicroAppStandalone = /*#__PURE__*/function () {
11345
- var _ref = _asyncToGenerator__default["default"](function* (data, options) {
11346
- return (
11347
- /**! @contract easyops.api.micro_app_standalone.runtime.SearchMicroAppStandalone@1.0.1 */
11348
- (yield brickHttp.http.post("api/gateway/micro_app_standalone.runtime.SearchMicroAppStandalone/api/v1/micro_app_standalone/search", data, options)).data
11349
- );
11350
- });
11351
-
11352
- return function RuntimeApi_searchMicroAppStandalone(_x, _x2) {
11353
- return _ref.apply(this, arguments);
11354
- };
11355
- }();
11356
-
11357
11443
  var standaloneApps = [];
11358
11444
  var appIdSet = new Set();
11359
11445
  function preFetchStandaloneInstalledApps(_x) {