@commercetools-frontend/application-shell 21.10.0 → 21.11.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.
Files changed (36) hide show
  1. package/dist/{application-entry-point-9a23a345.cjs.prod.js → application-entry-point-06ad02d5.cjs.prod.js} +210 -53
  2. package/dist/{application-entry-point-a5b662f7.esm.js → application-entry-point-28843eb4.esm.js} +205 -51
  3. package/dist/{application-entry-point-4de6686c.cjs.dev.js → application-entry-point-6189b3a3.cjs.dev.js} +210 -53
  4. package/dist/commercetools-frontend-application-shell.cjs.dev.js +16 -16
  5. package/dist/commercetools-frontend-application-shell.cjs.prod.js +16 -16
  6. package/dist/commercetools-frontend-application-shell.esm.js +13 -13
  7. package/dist/declarations/src/configure-apollo.d.ts +1 -2
  8. package/dist/declarations/src/export-types.d.ts +2 -2
  9. package/dist/declarations/src/utils/apollo-client-runtime-cache.d.ts +1 -2
  10. package/dist/declarations/src/utils/apollo-context.d.ts +3 -14
  11. package/dist/declarations/src/utils/http-client.d.ts +10 -0
  12. package/dist/{index-e96ff96a.cjs.prod.js → index-4ebc615c.cjs.prod.js} +99 -261
  13. package/dist/{index-5062ecc2.esm.js → index-5fcda492.esm.js} +102 -259
  14. package/dist/{index-f576ae07.cjs.dev.js → index-bcff2029.cjs.dev.js} +99 -261
  15. package/dist/{project-expired-609688e8.esm.js → project-expired-53f0f1ff.esm.js} +14 -14
  16. package/dist/{project-expired-1f22bb6e.cjs.dev.js → project-expired-96b88908.cjs.dev.js} +14 -14
  17. package/dist/{project-expired-3802e644.cjs.prod.js → project-expired-9fb2e01b.cjs.prod.js} +14 -14
  18. package/dist/{project-not-found-345a1103.cjs.prod.js → project-not-found-17e74630.cjs.prod.js} +14 -14
  19. package/dist/{project-not-found-2bf5f586.cjs.dev.js → project-not-found-30c140be.cjs.dev.js} +14 -14
  20. package/dist/{project-not-found-931cbb6b.esm.js → project-not-found-e8ca2011.esm.js} +14 -14
  21. package/dist/{project-not-initialized-24d58aac.cjs.dev.js → project-not-initialized-8bec4622.cjs.dev.js} +14 -14
  22. package/dist/{project-not-initialized-f840b682.cjs.prod.js → project-not-initialized-c5116ce2.cjs.prod.js} +14 -14
  23. package/dist/{project-not-initialized-69a8f77c.esm.js → project-not-initialized-c83c731d.esm.js} +14 -14
  24. package/dist/{project-suspended-b650b271.esm.js → project-suspended-14419c20.esm.js} +14 -14
  25. package/dist/{project-suspended-a21d49f2.cjs.dev.js → project-suspended-748201e1.cjs.dev.js} +14 -14
  26. package/dist/{project-suspended-283ebad8.cjs.prod.js → project-suspended-892ad1b9.cjs.prod.js} +14 -14
  27. package/dist/{quick-access-6368a1c1.cjs.prod.js → quick-access-a451f632.cjs.prod.js} +11 -11
  28. package/dist/{quick-access-193a477e.esm.js → quick-access-b0132ced.esm.js} +11 -11
  29. package/dist/{quick-access-d42f4898.cjs.dev.js → quick-access-c08139f1.cjs.dev.js} +11 -11
  30. package/dist/{service-page-project-switcher-5e28ee0f.cjs.prod.js → service-page-project-switcher-4b7ab3ee.cjs.prod.js} +1 -1
  31. package/dist/{service-page-project-switcher-ea8878cf.esm.js → service-page-project-switcher-53ffca17.esm.js} +1 -1
  32. package/dist/{service-page-project-switcher-5d2bef22.cjs.dev.js → service-page-project-switcher-c99348cd.cjs.dev.js} +1 -1
  33. package/package.json +16 -16
  34. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +12 -2
  35. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +12 -2
  36. package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +12 -2
@@ -38,7 +38,6 @@ var sentry = require('@commercetools-frontend/sentry');
38
38
  var _URL = require('@babel/runtime-corejs3/core-js-stable/url');
39
39
  var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
40
40
  var client = require('@apollo/client');
41
- var createHttpUserAgent = require('@commercetools/http-user-agent');
42
41
  var loggerLink = require('apollo-link-logger');
43
42
  var _Array$from = require('@babel/runtime-corejs3/core-js-stable/array/from');
44
43
  var _Symbol = require('@babel/runtime-corejs3/core-js-stable/symbol');
@@ -49,8 +48,19 @@ var history = require('@commercetools-frontend/browser-history');
49
48
  var _someInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/some');
50
49
  var _Object$values = require('@babel/runtime-corejs3/core-js-stable/object/values');
51
50
  var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
51
+ var createHttpUserAgent = require('@commercetools/http-user-agent');
52
52
  var uuid = require('uuid');
53
53
  var _JSON$stringify = require('@babel/runtime-corejs3/core-js-stable/json/stringify');
54
+ var _Reflect$construct = require('@babel/runtime-corejs3/core-js-stable/reflect/construct');
55
+ var _asyncToGenerator = require('@babel/runtime-corejs3/helpers/asyncToGenerator');
56
+ var _createClass = require('@babel/runtime-corejs3/helpers/createClass');
57
+ var _classCallCheck = require('@babel/runtime-corejs3/helpers/classCallCheck');
58
+ var _assertThisInitialized = require('@babel/runtime-corejs3/helpers/assertThisInitialized');
59
+ var _inherits = require('@babel/runtime-corejs3/helpers/inherits');
60
+ var _possibleConstructorReturn = require('@babel/runtime-corejs3/helpers/possibleConstructorReturn');
61
+ var _getPrototypeOf = require('@babel/runtime-corejs3/helpers/getPrototypeOf');
62
+ var _wrapNativeSuper = require('@babel/runtime-corejs3/helpers/wrapNativeSuper');
63
+ var _regeneratorRuntime = require('@babel/runtime-corejs3/regenerator');
54
64
  var retry = require('@apollo/client/link/retry');
55
65
  require('prop-types');
56
66
  var react = require('react');
@@ -86,7 +96,6 @@ var _indexOfInstanceProperty__default = /*#__PURE__*/_interopDefault(_indexOfIns
86
96
  var _sliceInstanceProperty__default = /*#__PURE__*/_interopDefault(_sliceInstanceProperty);
87
97
  var _URL__default = /*#__PURE__*/_interopDefault(_URL);
88
98
  var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
89
- var createHttpUserAgent__default = /*#__PURE__*/_interopDefault(createHttpUserAgent);
90
99
  var loggerLink__default = /*#__PURE__*/_interopDefault(loggerLink);
91
100
  var _Array$from__default = /*#__PURE__*/_interopDefault(_Array$from);
92
101
  var _Symbol__default = /*#__PURE__*/_interopDefault(_Symbol);
@@ -96,11 +105,14 @@ var history__default = /*#__PURE__*/_interopDefault(history);
96
105
  var _someInstanceProperty__default = /*#__PURE__*/_interopDefault(_someInstanceProperty);
97
106
  var _Object$values__default = /*#__PURE__*/_interopDefault(_Object$values);
98
107
  var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
108
+ var createHttpUserAgent__default = /*#__PURE__*/_interopDefault(createHttpUserAgent);
99
109
  var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
110
+ var _Reflect$construct__default = /*#__PURE__*/_interopDefault(_Reflect$construct);
111
+ var _regeneratorRuntime__default = /*#__PURE__*/_interopDefault(_regeneratorRuntime);
100
112
  var invariant__default = /*#__PURE__*/_interopDefault(invariant);
101
113
 
102
114
  // NOTE: This string will be replaced on build time with the package version.
103
- var version = "21.10.0";
115
+ var version = "21.11.0";
104
116
 
105
117
  var isAddNotificationErrorAction = function isAddNotificationErrorAction(action) {
106
118
  var errorAction = action;
@@ -227,9 +239,9 @@ var messages = reactIntl.defineMessages({
227
239
  }
228
240
  });
229
241
 
230
- function ownKeys$5(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
242
+ function ownKeys$6(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
231
243
 
232
- function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$5(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$5(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
244
+ function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$6(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$6(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
233
245
 
234
246
  var getPortalContainer = function getPortalContainer() {
235
247
  return document.querySelector("#".concat(REQUESTS_IN_FLIGHT_LOADER_DOM_ID));
@@ -241,7 +253,7 @@ var RequestsInFlightLoader = function RequestsInFlightLoader() {
241
253
  });
242
254
  if (!hasRequestsInFlight) return null;
243
255
  return /*#__PURE__*/ReactDOM__default["default"].createPortal(jsxRuntime.jsx(LoadingSpinner__default["default"], {
244
- children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$5({}, messages.labelLoading))
256
+ children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$6({}, messages.labelLoading))
245
257
  }), getPortalContainer());
246
258
  };
247
259
 
@@ -461,9 +473,9 @@ var setSessionState = function setSessionState(stateId, state) {
461
473
  window.sessionStorage.setItem(sessionStateKey, _JSON$stringify__default["default"](state));
462
474
  };
463
475
 
464
- function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
476
+ function ownKeys$5(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
465
477
 
466
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$4(Object(source), !0)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$4(Object(source))).call(_context4, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
478
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$5(Object(source), !0)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$5(Object(source))).call(_context4, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
467
479
 
468
480
  var identityStoreEnhancer = function identityStoreEnhancer(noop) {
469
481
  return noop;
@@ -476,7 +488,7 @@ var mergeObjectValues = function mergeObjectValues(object) {
476
488
  var _ref2 = _slicedToArray(_ref, 2),
477
489
  value = _ref2[1];
478
490
 
479
- return _objectSpread$4(_objectSpread$4({}, acc), value);
491
+ return _objectSpread$5(_objectSpread$5({}, acc), value);
480
492
  }, {});
481
493
  };
482
494
 
@@ -521,7 +533,7 @@ var createInternalReducer = function createInternalReducer() {
521
533
  }); // NOTE: since we don't know in advance which reducers will be injected,
522
534
  // we pass an `unknown` type to express this uncertainty and make the compiler happy.
523
535
 
524
- return redux.combineReducers(_objectSpread$4(_objectSpread$4({
536
+ return redux.combineReducers(_objectSpread$5(_objectSpread$5({
525
537
  requestsInFlight: requestsInFlightReducer,
526
538
  notifications: notifications.reducer
527
539
  }, injectedReducers), preloadedStateReducers));
@@ -564,9 +576,9 @@ var createReduxStore = function createReduxStore() {
564
576
  };
565
577
  var internalReduxStore = createReduxStore();
566
578
 
567
- function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
579
+ function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
568
580
 
569
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$3(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$3(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
581
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$4(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$4(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
570
582
 
571
583
  var getSkipTokenRetry = function getSkipTokenRetry(context) {
572
584
  var skipTokenRetry = Boolean(context.skipTokenRetry);
@@ -574,7 +586,7 @@ var getSkipTokenRetry = function getSkipTokenRetry(context) {
574
586
  };
575
587
 
576
588
  var forwardTokenRetryHeader = function forwardTokenRetryHeader(headers) {
577
- return _objectSpread$3(_objectSpread$3({}, headers), {}, _defineProperty({}, constants$1.SUPPORTED_HEADERS.X_TOKEN_RETRY, 'true'));
589
+ return _objectSpread$4(_objectSpread$4({}, headers), {}, _defineProperty({}, constants$1.SUPPORTED_HEADERS.X_TOKEN_RETRY, 'true'));
578
590
  }; // This link retries requests to the CTP API that have been rejected
579
591
  // because of an invalid/expired oauth token.
580
592
  // To do so, we resend the request with the header "X-Force-Token: true"
@@ -665,30 +677,189 @@ var errorLink = error.onError(function (_ref) {
665
677
  return;
666
678
  });
667
679
 
668
- function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
680
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct__default["default"](Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
669
681
 
670
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var _context5, _context6; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context5 = ownKeys$2(Object(source), !0)).call(_context5, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context6 = ownKeys$2(Object(source))).call(_context6, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
682
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct__default["default"]) return false; if (_Reflect$construct__default["default"].sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); return true; } catch (e) { return false; } }
671
683
 
672
- var isKnownGraphQlTarget = function isKnownGraphQlTarget(target) {
684
+ function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
685
+
686
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context5, _context6; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context5 = ownKeys$3(Object(source), !0)).call(_context5, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context6 = ownKeys$3(Object(source))).call(_context6, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
687
+ var defaultUserAgent = createHttpUserAgent__default["default"]({
688
+ name: 'unknown-http-client',
689
+ libraryName: window.app.applicationName
690
+ });
691
+ var defaultForwardToVersion = 'v2';
692
+ var defaultForwardToAudiencePolicy = 'forward-url-full-path';
693
+
694
+ function buildApiUrl(endpoint) {
673
695
  var _context;
674
696
 
675
- return target ? _includesInstanceProperty__default["default"](_context = _Object$values__default["default"](constants.GRAPHQL_TARGETS)).call(_context, target) : false;
697
+ var apiUrl = getMcApiUrl().replace(/\/$/, '');
698
+ return _concatInstanceProperty__default["default"](_context = "".concat(apiUrl)).call(_context, endpoint);
699
+ }
700
+
701
+ var getAppliedForwardToHeaders = function getAppliedForwardToHeaders(forwardToConfig) {
702
+ var _context2, _forwardToConfig$head, _forwardToConfig$vers, _forwardToConfig$audi, _objectSpread3;
703
+
704
+ if (!forwardToConfig) {
705
+ return {};
706
+ }
707
+
708
+ return _objectSpread$3(_objectSpread$3({}, _reduceInstanceProperty__default["default"](_context2 = _Object$entries__default["default"]((_forwardToConfig$head = forwardToConfig.headers) !== null && _forwardToConfig$head !== void 0 ? _forwardToConfig$head : {})).call(_context2, function (customForwardHeaders, _ref) {
709
+ var _ref2 = _slicedToArray(_ref, 2),
710
+ headerName = _ref2[0],
711
+ headerValue = _ref2[1];
712
+
713
+ return _objectSpread$3(_objectSpread$3({}, customForwardHeaders), {}, _defineProperty({}, "x-forward-header-".concat(headerName), headerValue));
714
+ }, {})), {}, (_objectSpread3 = {}, _defineProperty(_objectSpread3, constants$1.SUPPORTED_HEADERS.ACCEPT_VERSION, (_forwardToConfig$vers = forwardToConfig.version) !== null && _forwardToConfig$vers !== void 0 ? _forwardToConfig$vers : defaultForwardToVersion), _defineProperty(_objectSpread3, constants$1.SUPPORTED_HEADERS.X_FORWARD_TO, forwardToConfig.uri), _defineProperty(_objectSpread3, constants$1.SUPPORTED_HEADERS.X_FORWARD_TO_AUDIENCE_POLICY, (_forwardToConfig$audi = forwardToConfig.audiencePolicy) !== null && _forwardToConfig$audi !== void 0 ? _forwardToConfig$audi : defaultForwardToAudiencePolicy), _objectSpread3));
676
715
  };
677
716
 
678
- var getAppliedForwardToHeaders = function getAppliedForwardToHeaders(apolloContext) {
679
- if (apolloContext.forwardToConfig) {
680
- var _context2, _apolloContext$forwar, _objectSpread3;
717
+ function createHttpClientOptions() {
718
+ var _config$projectKey, _objectSpread4;
719
+
720
+ var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
721
+ var sessionToken = getSessionToken();
722
+ var projectKey = (_config$projectKey = config.projectKey) !== null && _config$projectKey !== void 0 ? _config$projectKey : selectProjectKeyFromUrl();
723
+ var userId = selectUserId();
724
+ var userAgent = (config === null || config === void 0 ? void 0 : config.userAgent) || defaultUserAgent;
725
+ return {
726
+ credentials: 'include',
727
+ headers: omitEmpty__default["default"](_objectSpread$3(_objectSpread$3({}, config.headers), {}, (_objectSpread4 = {}, _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.ACCEPT, 'application/json'), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.AUTHORIZATION, sessionToken ? "Bearer ".concat(sessionToken) : undefined), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.X_APPLICATION_ID, window.app.applicationId), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.X_CORRELATION_ID, getCorrelationId({
728
+ userId: userId
729
+ })), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.X_PROJECT_KEY, projectKey), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.X_USER_AGENT, userAgent), _objectSpread4), getAppliedForwardToHeaders(config.forwardToConfig)))
730
+ };
731
+ }
681
732
 
682
- return _objectSpread$2(_objectSpread$2({}, _reduceInstanceProperty__default["default"](_context2 = _Object$entries__default["default"]((_apolloContext$forwar = apolloContext.forwardToConfig.headers) !== null && _apolloContext$forwar !== void 0 ? _apolloContext$forwar : {})).call(_context2, function (customForwardHeaders, _ref) {
683
- var _ref2 = _slicedToArray(_ref, 2),
684
- headerName = _ref2[0],
685
- headerValue = _ref2[1];
733
+ var RenewTokenError = /*#__PURE__*/function (_Error) {
734
+ _inherits(RenewTokenError, _Error);
686
735
 
687
- return _objectSpread$2(_objectSpread$2({}, customForwardHeaders), {}, _defineProperty({}, "x-forward-header-".concat(headerName), headerValue));
688
- }, {})), {}, (_objectSpread3 = {}, _defineProperty(_objectSpread3, constants$1.SUPPORTED_HEADERS.ACCEPT_VERSION, apolloContext.forwardToConfig.version), _defineProperty(_objectSpread3, constants$1.SUPPORTED_HEADERS.X_FORWARD_TO, apolloContext.forwardToConfig.uri), _defineProperty(_objectSpread3, constants$1.SUPPORTED_HEADERS.X_FORWARD_TO_AUDIENCE_POLICY, apolloContext.forwardToConfig.audiencePolicy), _objectSpread3));
736
+ var _super = _createSuper(RenewTokenError);
737
+
738
+ function RenewTokenError(message) {
739
+ var _this;
740
+
741
+ _classCallCheck(this, RenewTokenError);
742
+
743
+ _this = _super.call(this, message);
744
+
745
+ _Object$defineProperty__default["default"](_assertThisInitialized(_this), 'name', {
746
+ value: 'RenewTokenError'
747
+ });
748
+
749
+ return _this;
689
750
  }
690
751
 
691
- return {};
752
+ return _createClass(RenewTokenError);
753
+ }( /*#__PURE__*/_wrapNativeSuper(Error));
754
+
755
+ function executeHttpClientRequest(_x) {
756
+ return _executeHttpClientRequest.apply(this, arguments);
757
+ }
758
+
759
+ function _executeHttpClientRequest() {
760
+ _executeHttpClientRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(fetcher) {
761
+ var config,
762
+ sendRequest,
763
+ _sendRequest,
764
+ _args2 = arguments;
765
+
766
+ return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context4) {
767
+ while (1) {
768
+ switch (_context4.prev = _context4.next) {
769
+ case 0:
770
+ _sendRequest = function _sendRequest3() {
771
+ _sendRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee() {
772
+ var _ref3,
773
+ shouldRenewToken,
774
+ requestOptions,
775
+ response,
776
+ refreshedSessionToken,
777
+ _args = arguments;
778
+
779
+ return _regeneratorRuntime__default["default"].wrap(function _callee$(_context3) {
780
+ while (1) {
781
+ switch (_context3.prev = _context3.next) {
782
+ case 0:
783
+ _ref3 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, shouldRenewToken = _ref3.shouldRenewToken;
784
+ requestOptions = createHttpClientOptions(config);
785
+ _context3.next = 4;
786
+ return fetcher(_objectSpread$3(_objectSpread$3({}, requestOptions), {}, {
787
+ headers: omitEmpty__default["default"](_objectSpread$3(_objectSpread$3({}, requestOptions.headers), {}, _defineProperty({}, constants$1.SUPPORTED_HEADERS.X_TOKEN_RETRY, shouldRenewToken)))
788
+ }));
789
+
790
+ case 4:
791
+ response = _context3.sent;
792
+
793
+ if (!(response.statusCode === constants.STATUS_CODES.UNAUTHORIZED)) {
794
+ _context3.next = 7;
795
+ break;
796
+ }
797
+
798
+ throw new RenewTokenError("Unauthorized response, attempting retry.");
799
+
800
+ case 7:
801
+ // In case a new session token is returned from the server, save it.
802
+ refreshedSessionToken = response.getHeader('x-refreshed-session-token');
803
+
804
+ if (refreshedSessionToken) {
805
+ setActiveSession(refreshedSessionToken);
806
+ }
807
+
808
+ return _context3.abrupt("return", response.data);
809
+
810
+ case 10:
811
+ case "end":
812
+ return _context3.stop();
813
+ }
814
+ }
815
+ }, _callee);
816
+ }));
817
+ return _sendRequest.apply(this, arguments);
818
+ };
819
+
820
+ sendRequest = function _sendRequest2() {
821
+ return _sendRequest.apply(this, arguments);
822
+ };
823
+
824
+ config = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {};
825
+ return _context4.abrupt("return", sendRequest().catch(function (error) {
826
+ if (error instanceof RenewTokenError) {
827
+ // Retry the request and ask to renew the token.
828
+ return sendRequest({
829
+ shouldRenewToken: true
830
+ });
831
+ }
832
+
833
+ throw error;
834
+ }));
835
+
836
+ case 4:
837
+ case "end":
838
+ return _context4.stop();
839
+ }
840
+ }
841
+ }, _callee2);
842
+ }));
843
+ return _executeHttpClientRequest.apply(this, arguments);
844
+ }
845
+
846
+ function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
847
+
848
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var _context4, _context5; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys$2(Object(source), !0)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys$2(Object(source))).call(_context5, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
849
+ var userAgent = createHttpUserAgent__default["default"]({
850
+ name: 'apollo-client',
851
+ // version: apolloVersion,
852
+ libraryName: [window.app.applicationName, 'application-shell'].join('/'),
853
+ libraryVersion: version,
854
+ contactUrl: 'https://git.io/fjuyC',
855
+ // points to the appkit repo issues
856
+ contactEmail: 'support@commercetools.com'
857
+ });
858
+
859
+ var isKnownGraphQlTarget = function isKnownGraphQlTarget(target) {
860
+ var _context;
861
+
862
+ return target ? _includesInstanceProperty__default["default"](_context = _Object$values__default["default"](constants.GRAPHQL_TARGETS)).call(_context, target) : false;
692
863
  };
693
864
 
694
865
  var extractSessionTokenFromResponse = function extractSessionTokenFromResponse(context) {
@@ -719,12 +890,12 @@ var extractSessionTokenFromResponse = function extractSessionTokenFromResponse(c
719
890
 
720
891
 
721
892
  var headerLink = new client.ApolloLink(function (operation, forward) {
722
- var _context3, _objectSpread4, _context4;
893
+ var _context2, _objectSpread2, _context3;
723
894
 
724
895
  var apolloContext = operation.getContext();
725
896
  var variables = operation.variables;
726
897
  var graphQlTarget = apolloContext.target || variables.target;
727
- if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(_concatInstanceProperty__default["default"](_context3 = "GraphQL target \"".concat(graphQlTarget, "\" is missing (or is not supported) in operation \"")).call(_context3, operation.operationName, "\""));
898
+ if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(_concatInstanceProperty__default["default"](_context2 = "GraphQL target \"".concat(graphQlTarget, "\" is missing (or is not supported) in operation \"")).call(_context2, operation.operationName, "\""));
728
899
  /**
729
900
  * NOTE:
730
901
  * The project key is read from the url in a project related application context.
@@ -736,16 +907,14 @@ var headerLink = new client.ApolloLink(function (operation, forward) {
736
907
 
737
908
  var projectKey = apolloContext.projectKey || variables.projectKey || selectProjectKeyFromUrl();
738
909
  var teamId = apolloContext.teamId || variables.teamId || selectTeamIdFromLocalStorage();
739
- var userId = selectUserId();
740
910
  var featureFlag = apolloContext.featureFlag || variables.featureFlag;
741
- var sessionToken = getSessionToken();
742
- operation.setContext({
743
- credentials: 'include',
744
- headers: omitEmpty__default["default"](_objectSpread$2(_objectSpread$2({}, apolloContext.headers), {}, (_objectSpread4 = {}, _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.AUTHORIZATION, sessionToken ? "Bearer ".concat(sessionToken) : undefined), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.X_PROJECT_KEY, projectKey), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.X_CORRELATION_ID, getCorrelationId({
745
- userId: userId
746
- })), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.X_GRAPHQL_TARGET, graphQlTarget), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.X_GRAPHQL_OPERATION_NAME, operation.operationName), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.X_TEAM_ID, teamId), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.X_APPLICATION_ID, window.app.applicationId), _defineProperty(_objectSpread4, constants$1.SUPPORTED_HEADERS.X_FEATURE_FLAG, featureFlag), _objectSpread4), getAppliedForwardToHeaders(apolloContext)))
747
- });
748
- return _mapInstanceProperty__default["default"](_context4 = forward(operation)).call(_context4, function (response) {
911
+ operation.setContext(createHttpClientOptions({
912
+ userAgent: userAgent,
913
+ headers: omitEmpty__default["default"](_objectSpread$2(_objectSpread$2({}, apolloContext.headers), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, constants$1.SUPPORTED_HEADERS.X_GRAPHQL_TARGET, graphQlTarget), _defineProperty(_objectSpread2, constants$1.SUPPORTED_HEADERS.X_GRAPHQL_OPERATION_NAME, operation.operationName), _defineProperty(_objectSpread2, constants$1.SUPPORTED_HEADERS.X_TEAM_ID, teamId), _defineProperty(_objectSpread2, constants$1.SUPPORTED_HEADERS.X_FEATURE_FLAG, featureFlag), _objectSpread2))),
914
+ forwardToConfig: apolloContext.forwardToConfig,
915
+ projectKey: projectKey
916
+ }));
917
+ return _mapInstanceProperty__default["default"](_context3 = forward(operation)).call(_context3, function (response) {
749
918
  var context = operation.getContext();
750
919
  var refreshedSessionToken = extractSessionTokenFromResponse(context);
751
920
 
@@ -778,21 +947,8 @@ var tokenRetryLink = new retry.RetryLink({
778
947
  function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
779
948
 
780
949
  function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var _context4, _context5; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys$1(Object(source), !0)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys$1(Object(source))).call(_context5, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
781
- var userAgent = createHttpUserAgent__default["default"]({
782
- name: 'apollo-client',
783
- // version: apolloVersion,
784
- libraryName: [window.app.applicationName, 'application-shell'].join('/'),
785
- libraryVersion: version,
786
- contactUrl: 'https://git.io/fjuyC',
787
- // points to the appkit repo issues
788
- contactEmail: 'support@commercetools.com'
789
- });
790
950
  var httpLink = client.createHttpLink({
791
951
  uri: "".concat(getMcApiUrl(), "/graphql"),
792
- headers: {
793
- accept: 'application/json',
794
- 'x-user-agent': userAgent
795
- },
796
952
  fetch: fetch
797
953
  });
798
954
 
@@ -1023,15 +1179,16 @@ exports.REQUESTS_IN_FLIGHT_LOADER_DOM_ID = REQUESTS_IN_FLIGHT_LOADER_DOM_ID;
1023
1179
  exports.RequestsInFlightLoader = RequestsInFlightLoader;
1024
1180
  exports.RouteCatchAll = RouteCatchAll;
1025
1181
  exports.applyDefaultMiddlewares = applyDefaultMiddlewares;
1182
+ exports.buildApiUrl = buildApiUrl;
1026
1183
  exports.clearSession = clearSession;
1027
1184
  exports.createApolloClient = createApolloClient;
1185
+ exports.createHttpClientOptions = createHttpClientOptions;
1028
1186
  exports.createReduxStore = createReduxStore;
1187
+ exports.executeHttpClientRequest = executeHttpClientRequest;
1029
1188
  exports.getActiveProjectKey = getActiveProjectKey;
1030
- exports.getCorrelationId = getCorrelationId;
1031
1189
  exports.getMcApiUrl = getMcApiUrl;
1032
1190
  exports.getSessionScope = getSessionScope;
1033
1191
  exports.getSessionState = getSessionState;
1034
- exports.getSessionToken = getSessionToken;
1035
1192
  exports.internalReduxStore = internalReduxStore;
1036
1193
  exports.location = location;
1037
1194
  exports.logger = logger;