@commercetools-frontend/application-shell 21.8.1 → 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.
- package/dist/{application-entry-point-223805b2.cjs.prod.js → application-entry-point-06ad02d5.cjs.prod.js} +252 -61
- package/dist/{application-entry-point-c27f68f3.esm.js → application-entry-point-28843eb4.esm.js} +248 -62
- package/dist/{application-entry-point-c0bfdb99.cjs.dev.js → application-entry-point-6189b3a3.cjs.dev.js} +252 -61
- package/dist/commercetools-frontend-application-shell.cjs.dev.js +18 -13
- package/dist/commercetools-frontend-application-shell.cjs.prod.js +18 -13
- package/dist/commercetools-frontend-application-shell.esm.js +15 -13
- package/dist/{constants-3cf6ed64.esm.js → constants-a3c850be.esm.js} +4 -1
- package/dist/{constants-bf2e1d68.cjs.dev.js → constants-c2c238ff.cjs.prod.js} +4 -1
- package/dist/{constants-f34da47c.cjs.prod.js → constants-d9a5241e.cjs.dev.js} +4 -1
- package/dist/declarations/src/components/requests-in-flight-loader/reducer.d.ts +1 -1
- package/dist/declarations/src/configure-apollo.d.ts +2 -2
- package/dist/declarations/src/constants.d.ts +3 -0
- package/dist/declarations/src/export-types.d.ts +9 -0
- package/dist/declarations/src/index.d.ts +2 -0
- package/dist/declarations/src/test-utils/test-utils.d.ts +3 -3
- package/dist/declarations/src/types/generated/ctp.d.ts +603 -4
- package/dist/declarations/src/types/generated/mc.d.ts +11 -0
- package/dist/declarations/src/types/generated/settings.d.ts +104 -8
- package/dist/declarations/src/utils/apollo-client-runtime-cache.d.ts +1 -2
- package/dist/declarations/src/utils/apollo-context.d.ts +3 -14
- package/dist/declarations/src/utils/get-previous-project-key/get-previous-project-key.d.ts +1 -1
- package/dist/declarations/src/utils/gtm.d.ts +3 -3
- package/dist/declarations/src/utils/http-client.d.ts +29 -0
- package/dist/declarations/src/utils/oidc-storage.d.ts +2 -2
- package/dist/{index-6021fecc.cjs.prod.js → index-4ebc615c.cjs.prod.js} +9 -14
- package/dist/{index-7ef7e644.esm.js → index-5fcda492.esm.js} +9 -14
- package/dist/{index-82b11dc7.cjs.dev.js → index-bcff2029.cjs.dev.js} +9 -14
- package/dist/{oidc-82e151f9.cjs.prod.js → oidc-5b507512.cjs.prod.js} +1 -1
- package/dist/{oidc-8af521ca.esm.js → oidc-5cae2dba.esm.js} +1 -1
- package/dist/{oidc-ff089e6f.cjs.dev.js → oidc-9134face.cjs.dev.js} +1 -1
- package/dist/{project-expired-a02e25e1.esm.js → project-expired-53f0f1ff.esm.js} +16 -14
- package/dist/{project-expired-061c2603.cjs.dev.js → project-expired-96b88908.cjs.dev.js} +16 -14
- package/dist/{project-expired-c3d4e453.cjs.prod.js → project-expired-9fb2e01b.cjs.prod.js} +16 -14
- package/dist/{project-not-found-ff0b8045.cjs.prod.js → project-not-found-17e74630.cjs.prod.js} +16 -14
- package/dist/{project-not-found-761c55ff.cjs.dev.js → project-not-found-30c140be.cjs.dev.js} +16 -14
- package/dist/{project-not-found-355fee41.esm.js → project-not-found-e8ca2011.esm.js} +16 -14
- package/dist/{project-not-initialized-054b47ae.cjs.prod.js → project-not-initialized-8bec4622.cjs.dev.js} +16 -14
- package/dist/{project-not-initialized-ca16754f.cjs.dev.js → project-not-initialized-c5116ce2.cjs.prod.js} +16 -14
- package/dist/{project-not-initialized-75ac9791.esm.js → project-not-initialized-c83c731d.esm.js} +16 -14
- package/dist/{project-suspended-7498203c.esm.js → project-suspended-14419c20.esm.js} +16 -14
- package/dist/{project-suspended-14651874.cjs.dev.js → project-suspended-748201e1.cjs.dev.js} +16 -14
- package/dist/{project-suspended-3d9de033.cjs.prod.js → project-suspended-892ad1b9.cjs.prod.js} +16 -14
- package/dist/{quick-access-0f57e72d.cjs.prod.js → quick-access-a451f632.cjs.prod.js} +13 -11
- package/dist/{quick-access-dd177f35.esm.js → quick-access-b0132ced.esm.js} +13 -11
- package/dist/{quick-access-8e05592d.cjs.dev.js → quick-access-c08139f1.cjs.dev.js} +13 -11
- package/dist/{service-page-project-switcher-0b4618a2.cjs.prod.js → service-page-project-switcher-4b7ab3ee.cjs.prod.js} +1 -1
- package/dist/{service-page-project-switcher-a3b28af7.esm.js → service-page-project-switcher-53ffca17.esm.js} +1 -1
- package/dist/{service-page-project-switcher-2965e268.cjs.dev.js → service-page-project-switcher-c99348cd.cjs.dev.js} +1 -1
- package/package.json +41 -41
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +2 -2
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +2 -2
- package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +2 -2
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +13 -3
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +13 -3
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +13 -3
|
@@ -22,7 +22,7 @@ var omitEmpty = require('omit-empty-es');
|
|
|
22
22
|
var notifications = require('@commercetools-frontend/notifications');
|
|
23
23
|
var sdk = require('@commercetools-frontend/sdk');
|
|
24
24
|
var constants = require('@commercetools-frontend/constants');
|
|
25
|
-
var constants$1 = require('./constants-
|
|
25
|
+
var constants$1 = require('./constants-c2c238ff.cjs.prod.js');
|
|
26
26
|
var reactNotifications = require('@commercetools-frontend/react-notifications');
|
|
27
27
|
var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
|
|
28
28
|
var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
|
|
@@ -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.
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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,9 +677,184 @@ var errorLink = error.onError(function (_ref) {
|
|
|
665
677
|
return;
|
|
666
678
|
});
|
|
667
679
|
|
|
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); }; }
|
|
681
|
+
|
|
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; } }
|
|
683
|
+
|
|
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) {
|
|
695
|
+
var _context;
|
|
696
|
+
|
|
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));
|
|
715
|
+
};
|
|
716
|
+
|
|
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
|
+
}
|
|
732
|
+
|
|
733
|
+
var RenewTokenError = /*#__PURE__*/function (_Error) {
|
|
734
|
+
_inherits(RenewTokenError, _Error);
|
|
735
|
+
|
|
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;
|
|
750
|
+
}
|
|
751
|
+
|
|
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
|
+
|
|
668
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; }
|
|
669
847
|
|
|
670
|
-
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var
|
|
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
|
+
});
|
|
671
858
|
|
|
672
859
|
var isKnownGraphQlTarget = function isKnownGraphQlTarget(target) {
|
|
673
860
|
var _context;
|
|
@@ -675,35 +862,43 @@ var isKnownGraphQlTarget = function isKnownGraphQlTarget(target) {
|
|
|
675
862
|
return target ? _includesInstanceProperty__default["default"](_context = _Object$values__default["default"](constants.GRAPHQL_TARGETS)).call(_context, target) : false;
|
|
676
863
|
};
|
|
677
864
|
|
|
678
|
-
var
|
|
679
|
-
|
|
680
|
-
|
|
865
|
+
var extractSessionTokenFromResponse = function extractSessionTokenFromResponse(context) {
|
|
866
|
+
var _context$response, _context$response$hea, _context$restResponse;
|
|
867
|
+
|
|
868
|
+
var refreshedSessionToken = (_context$response = context.response) === null || _context$response === void 0 ? void 0 : (_context$response$hea = _context$response.headers) === null || _context$response$hea === void 0 ? void 0 : _context$response$hea.get('x-refreshed-session-token');
|
|
869
|
+
|
|
870
|
+
if (refreshedSessionToken) {
|
|
871
|
+
return refreshedSessionToken !== null && refreshedSessionToken !== void 0 ? refreshedSessionToken : null;
|
|
872
|
+
}
|
|
873
|
+
|
|
874
|
+
var restResponseWithRefreshTokenHeader = (_context$restResponse = context.restResponses) === null || _context$restResponse === void 0 ? void 0 : _findInstanceProperty__default["default"](_context$restResponse).call(_context$restResponse, function (response) {
|
|
875
|
+
var _response$headers;
|
|
876
|
+
|
|
877
|
+
return (_response$headers = response.headers) === null || _response$headers === void 0 ? void 0 : _response$headers.has('x-refreshed-session-token');
|
|
878
|
+
});
|
|
681
879
|
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
headerName = _ref2[0],
|
|
685
|
-
headerValue = _ref2[1];
|
|
880
|
+
if (restResponseWithRefreshTokenHeader) {
|
|
881
|
+
var _restResponseWithRefr;
|
|
686
882
|
|
|
687
|
-
|
|
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));
|
|
883
|
+
return (_restResponseWithRefr = restResponseWithRefreshTokenHeader.headers.get('x-refreshed-session-token')) !== null && _restResponseWithRefr !== void 0 ? _restResponseWithRefr : null;
|
|
689
884
|
}
|
|
690
885
|
|
|
691
|
-
return
|
|
886
|
+
return null;
|
|
692
887
|
};
|
|
693
888
|
/* eslint-disable import/prefer-default-export */
|
|
694
889
|
// Use a middleware to update the request headers with the correct params.
|
|
695
890
|
|
|
696
891
|
|
|
697
892
|
var headerLink = new client.ApolloLink(function (operation, forward) {
|
|
698
|
-
var
|
|
893
|
+
var _context2, _objectSpread2, _context3;
|
|
699
894
|
|
|
700
895
|
var apolloContext = operation.getContext();
|
|
701
896
|
var variables = operation.variables;
|
|
702
897
|
var graphQlTarget = apolloContext.target || variables.target;
|
|
703
|
-
if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(_concatInstanceProperty__default["default"](
|
|
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, "\""));
|
|
704
899
|
/**
|
|
705
900
|
* NOTE:
|
|
706
|
-
* The project key is read from the url in a project related
|
|
901
|
+
* The project key is read from the url in a project related application context.
|
|
707
902
|
* This holds for most applications like `application-categories`, `application-discounts` etc.
|
|
708
903
|
* However, the `application-account` does not run with the project key being part of the url.
|
|
709
904
|
* As a result we allow passing the project key as a variable on the operation allowing
|
|
@@ -712,20 +907,16 @@ var headerLink = new client.ApolloLink(function (operation, forward) {
|
|
|
712
907
|
|
|
713
908
|
var projectKey = apolloContext.projectKey || variables.projectKey || selectProjectKeyFromUrl();
|
|
714
909
|
var teamId = apolloContext.teamId || variables.teamId || selectTeamIdFromLocalStorage();
|
|
715
|
-
var userId = selectUserId();
|
|
716
910
|
var featureFlag = apolloContext.featureFlag || variables.featureFlag;
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
return _mapInstanceProperty__default["default"](_context4 = forward(operation)).call(_context4, function (response) {
|
|
725
|
-
var _context$response, _context$response$hea;
|
|
726
|
-
|
|
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) {
|
|
727
918
|
var context = operation.getContext();
|
|
728
|
-
var refreshedSessionToken = (
|
|
919
|
+
var refreshedSessionToken = extractSessionTokenFromResponse(context);
|
|
729
920
|
|
|
730
921
|
if (refreshedSessionToken) {
|
|
731
922
|
setActiveSession(refreshedSessionToken);
|
|
@@ -753,37 +944,34 @@ var tokenRetryLink = new retry.RetryLink({
|
|
|
753
944
|
}
|
|
754
945
|
});
|
|
755
946
|
|
|
756
|
-
var _context;
|
|
757
|
-
|
|
758
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; }
|
|
759
948
|
|
|
760
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; }
|
|
761
|
-
var userAgent = createHttpUserAgent__default["default"]({
|
|
762
|
-
name: 'apollo-client',
|
|
763
|
-
// version: apolloVersion,
|
|
764
|
-
libraryName: [window.app.applicationName, 'application-shell'].join('/'),
|
|
765
|
-
libraryVersion: version,
|
|
766
|
-
contactUrl: 'https://git.io/fjuyC',
|
|
767
|
-
// points to the appkit repo issues
|
|
768
|
-
contactEmail: 'support@commercetools.com'
|
|
769
|
-
});
|
|
770
950
|
var httpLink = client.createHttpLink({
|
|
771
951
|
uri: "".concat(getMcApiUrl(), "/graphql"),
|
|
772
|
-
headers: {
|
|
773
|
-
accept: 'application/json',
|
|
774
|
-
'x-user-agent': userAgent
|
|
775
|
-
},
|
|
776
952
|
fetch: fetch
|
|
777
|
-
});
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
953
|
+
});
|
|
954
|
+
|
|
955
|
+
var createApolloLink = function createApolloLink() {
|
|
956
|
+
var _context;
|
|
781
957
|
|
|
782
|
-
var
|
|
958
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
959
|
+
return (// The order of links is IMPORTANT!
|
|
960
|
+
// In the request-phase they are executed top to bottom.
|
|
961
|
+
// In the response/phase they are executed bottom to top.
|
|
962
|
+
// The `httpLink` is terminating so it must be last, while `tokenRetryLink` and `errorLink`
|
|
963
|
+
// wrap the links the their right.
|
|
964
|
+
client.from(_concatInstanceProperty__default["default"](_context = [headerLink]).call(_context, _toConsumableArray(options.restLink ? [options.restLink] : []), [// Must be before `tokenRetryLink`.
|
|
965
|
+
errorLink], _toConsumableArray(isLoggerEnabled() ? [loggerLink__default["default"]] : []), [// Must be after `errorLink`.
|
|
966
|
+
tokenRetryLink, // Must be last.
|
|
967
|
+
httpLink]))
|
|
968
|
+
);
|
|
969
|
+
}; // This custom merge function allows to merge two arrays of objects.
|
|
783
970
|
// The incoming list is what we need to update to, but we still need
|
|
784
971
|
// to ensure that existing cache elements are not removed but updated.
|
|
785
972
|
// This is usually the case when elements get removed.
|
|
786
973
|
|
|
974
|
+
|
|
787
975
|
var mergeArraysObjects = function mergeArraysObjects() {
|
|
788
976
|
var existing = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
789
977
|
var incoming = arguments.length > 1 ? arguments[1] : undefined;
|
|
@@ -818,7 +1006,7 @@ var createApolloClient = function createApolloClient() {
|
|
|
818
1006
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
819
1007
|
var customCacheConfig = (_options$cache = options === null || options === void 0 ? void 0 : options.cache) !== null && _options$cache !== void 0 ? _options$cache : {};
|
|
820
1008
|
return new client.ApolloClient({
|
|
821
|
-
link:
|
|
1009
|
+
link: createApolloLink(options),
|
|
822
1010
|
// https://www.apollographql.com/docs/react/caching/cache-configuration/
|
|
823
1011
|
cache: new client.InMemoryCache(_objectSpread$1(_objectSpread$1({}, customCacheConfig), {}, {
|
|
824
1012
|
// https://www.apollographql.com/docs/react/caching/cache-configuration/#generating-unique-identifiers
|
|
@@ -991,9 +1179,12 @@ exports.REQUESTS_IN_FLIGHT_LOADER_DOM_ID = REQUESTS_IN_FLIGHT_LOADER_DOM_ID;
|
|
|
991
1179
|
exports.RequestsInFlightLoader = RequestsInFlightLoader;
|
|
992
1180
|
exports.RouteCatchAll = RouteCatchAll;
|
|
993
1181
|
exports.applyDefaultMiddlewares = applyDefaultMiddlewares;
|
|
1182
|
+
exports.buildApiUrl = buildApiUrl;
|
|
994
1183
|
exports.clearSession = clearSession;
|
|
995
1184
|
exports.createApolloClient = createApolloClient;
|
|
1185
|
+
exports.createHttpClientOptions = createHttpClientOptions;
|
|
996
1186
|
exports.createReduxStore = createReduxStore;
|
|
1187
|
+
exports.executeHttpClientRequest = executeHttpClientRequest;
|
|
997
1188
|
exports.getActiveProjectKey = getActiveProjectKey;
|
|
998
1189
|
exports.getMcApiUrl = getMcApiUrl;
|
|
999
1190
|
exports.getSessionScope = getSessionScope;
|