@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
package/dist/{application-entry-point-c27f68f3.esm.js → application-entry-point-28843eb4.esm.js}
RENAMED
|
@@ -20,7 +20,7 @@ import omitEmpty from 'omit-empty-es';
|
|
|
20
20
|
import { ADD_NOTIFICATION, removeNotification, REMOVE_NOTIFICATION, reducer, middleware } from '@commercetools-frontend/notifications';
|
|
21
21
|
import { createMiddleware } from '@commercetools-frontend/sdk';
|
|
22
22
|
import { HIDE_ALL_PAGE_NOTIFICATIONS, NOTIFICATION_KINDS_PAGE, SHOW_LOADING, HIDE_LOADING, GRAPHQL_TARGETS, STATUS_CODES, LOGOUT_REASONS } from '@commercetools-frontend/constants';
|
|
23
|
-
import { S as STORAGE_KEYS, L as LOGIN_STRATEGY_OIDC, c as SUPPORTED_HEADERS } from './constants-
|
|
23
|
+
import { S as STORAGE_KEYS, L as LOGIN_STRATEGY_OIDC, c as SUPPORTED_HEADERS } from './constants-a3c850be.esm.js';
|
|
24
24
|
import { selectPageNotifications } from '@commercetools-frontend/react-notifications';
|
|
25
25
|
import _startsWithInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/starts-with';
|
|
26
26
|
import _includesInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/includes';
|
|
@@ -35,8 +35,7 @@ import _sliceInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instan
|
|
|
35
35
|
import { reportErrorToSentry } from '@commercetools-frontend/sentry';
|
|
36
36
|
import _URL from '@babel/runtime-corejs3/core-js-stable/url';
|
|
37
37
|
import _findInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find';
|
|
38
|
-
import { ApolloLink, createHttpLink,
|
|
39
|
-
import createHttpUserAgent from '@commercetools/http-user-agent';
|
|
38
|
+
import { ApolloLink, createHttpLink, ApolloClient, from, InMemoryCache } from '@apollo/client';
|
|
40
39
|
import loggerLink from 'apollo-link-logger';
|
|
41
40
|
import _Array$from from '@babel/runtime-corejs3/core-js-stable/array/from';
|
|
42
41
|
import _Symbol from '@babel/runtime-corejs3/core-js-stable/symbol';
|
|
@@ -47,8 +46,19 @@ import history from '@commercetools-frontend/browser-history';
|
|
|
47
46
|
import _someInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/some';
|
|
48
47
|
import _Object$values from '@babel/runtime-corejs3/core-js-stable/object/values';
|
|
49
48
|
import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
|
|
49
|
+
import createHttpUserAgent from '@commercetools/http-user-agent';
|
|
50
50
|
import { v4 } from 'uuid';
|
|
51
51
|
import _JSON$stringify from '@babel/runtime-corejs3/core-js-stable/json/stringify';
|
|
52
|
+
import _Reflect$construct from '@babel/runtime-corejs3/core-js-stable/reflect/construct';
|
|
53
|
+
import _asyncToGenerator from '@babel/runtime-corejs3/helpers/esm/asyncToGenerator';
|
|
54
|
+
import _createClass from '@babel/runtime-corejs3/helpers/esm/createClass';
|
|
55
|
+
import _classCallCheck from '@babel/runtime-corejs3/helpers/esm/classCallCheck';
|
|
56
|
+
import _assertThisInitialized from '@babel/runtime-corejs3/helpers/esm/assertThisInitialized';
|
|
57
|
+
import _inherits from '@babel/runtime-corejs3/helpers/esm/inherits';
|
|
58
|
+
import _possibleConstructorReturn from '@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn';
|
|
59
|
+
import _getPrototypeOf from '@babel/runtime-corejs3/helpers/esm/getPrototypeOf';
|
|
60
|
+
import _wrapNativeSuper from '@babel/runtime-corejs3/helpers/esm/wrapNativeSuper';
|
|
61
|
+
import _regeneratorRuntime from '@babel/runtime-corejs3/regenerator';
|
|
52
62
|
import { RetryLink } from '@apollo/client/link/retry';
|
|
53
63
|
import _pt from 'prop-types';
|
|
54
64
|
import { useEffect, Children } from 'react';
|
|
@@ -60,7 +70,7 @@ import { entryPointUriPathToPermissionKeys } from '@commercetools-frontend/appli
|
|
|
60
70
|
import { useApplicationContext } from '@commercetools-frontend/application-shell-connectors';
|
|
61
71
|
|
|
62
72
|
// NOTE: This string will be replaced on build time with the package version.
|
|
63
|
-
var version = "21.
|
|
73
|
+
var version = "21.11.0";
|
|
64
74
|
|
|
65
75
|
var isAddNotificationErrorAction = function isAddNotificationErrorAction(action) {
|
|
66
76
|
var errorAction = action;
|
|
@@ -188,9 +198,9 @@ var messages = defineMessages({
|
|
|
188
198
|
}
|
|
189
199
|
});
|
|
190
200
|
|
|
191
|
-
function ownKeys$
|
|
201
|
+
function ownKeys$6(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
192
202
|
|
|
193
|
-
function _objectSpread$
|
|
203
|
+
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(_context = ownKeys$6(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys$6(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
194
204
|
|
|
195
205
|
var getPortalContainer = function getPortalContainer() {
|
|
196
206
|
return process.env.NODE_ENV === 'test' ? document.body : document.querySelector("#".concat(REQUESTS_IN_FLIGHT_LOADER_DOM_ID));
|
|
@@ -202,7 +212,7 @@ var RequestsInFlightLoader = function RequestsInFlightLoader() {
|
|
|
202
212
|
});
|
|
203
213
|
if (!hasRequestsInFlight) return null;
|
|
204
214
|
return /*#__PURE__*/ReactDOM.createPortal(jsx(LoadingSpinner, {
|
|
205
|
-
children: jsx(FormattedMessage, _objectSpread$
|
|
215
|
+
children: jsx(FormattedMessage, _objectSpread$6({}, messages.labelLoading))
|
|
206
216
|
}), getPortalContainer());
|
|
207
217
|
};
|
|
208
218
|
|
|
@@ -429,9 +439,9 @@ var setSessionState = function setSessionState(stateId, state) {
|
|
|
429
439
|
window.sessionStorage.setItem(sessionStateKey, _JSON$stringify(state));
|
|
430
440
|
};
|
|
431
441
|
|
|
432
|
-
function ownKeys$
|
|
442
|
+
function ownKeys$5(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
433
443
|
|
|
434
|
-
function _objectSpread$
|
|
444
|
+
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(_context3 = ownKeys$5(Object(source), !0)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context4 = ownKeys$5(Object(source))).call(_context4, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
435
445
|
|
|
436
446
|
var identityStoreEnhancer = function identityStoreEnhancer(noop) {
|
|
437
447
|
return noop;
|
|
@@ -444,7 +454,7 @@ var mergeObjectValues = function mergeObjectValues(object) {
|
|
|
444
454
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
445
455
|
value = _ref2[1];
|
|
446
456
|
|
|
447
|
-
return _objectSpread$
|
|
457
|
+
return _objectSpread$5(_objectSpread$5({}, acc), value);
|
|
448
458
|
}, {});
|
|
449
459
|
};
|
|
450
460
|
|
|
@@ -489,7 +499,7 @@ var createInternalReducer = function createInternalReducer() {
|
|
|
489
499
|
}); // NOTE: since we don't know in advance which reducers will be injected,
|
|
490
500
|
// we pass an `unknown` type to express this uncertainty and make the compiler happy.
|
|
491
501
|
|
|
492
|
-
return combineReducers(_objectSpread$
|
|
502
|
+
return combineReducers(_objectSpread$5(_objectSpread$5({
|
|
493
503
|
requestsInFlight: requestsInFlightReducer,
|
|
494
504
|
notifications: reducer
|
|
495
505
|
}, injectedReducers), preloadedStateReducers));
|
|
@@ -532,9 +542,9 @@ var createReduxStore = function createReduxStore() {
|
|
|
532
542
|
};
|
|
533
543
|
var internalReduxStore = createReduxStore();
|
|
534
544
|
|
|
535
|
-
function ownKeys$
|
|
545
|
+
function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
536
546
|
|
|
537
|
-
function _objectSpread$
|
|
547
|
+
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(_context2 = ownKeys$4(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys$4(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
538
548
|
|
|
539
549
|
var getSkipTokenRetry = function getSkipTokenRetry(context) {
|
|
540
550
|
var skipTokenRetry = Boolean(context.skipTokenRetry);
|
|
@@ -542,7 +552,7 @@ var getSkipTokenRetry = function getSkipTokenRetry(context) {
|
|
|
542
552
|
};
|
|
543
553
|
|
|
544
554
|
var forwardTokenRetryHeader = function forwardTokenRetryHeader(headers) {
|
|
545
|
-
return _objectSpread$
|
|
555
|
+
return _objectSpread$4(_objectSpread$4({}, headers), {}, _defineProperty({}, SUPPORTED_HEADERS.X_TOKEN_RETRY, 'true'));
|
|
546
556
|
}; // This link retries requests to the CTP API that have been rejected
|
|
547
557
|
// because of an invalid/expired oauth token.
|
|
548
558
|
// To do so, we resend the request with the header "X-Force-Token: true"
|
|
@@ -633,9 +643,184 @@ var errorLink = onError(function (_ref) {
|
|
|
633
643
|
return;
|
|
634
644
|
});
|
|
635
645
|
|
|
646
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
647
|
+
|
|
648
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
649
|
+
|
|
650
|
+
function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
651
|
+
|
|
652
|
+
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(_context5 = ownKeys$3(Object(source), !0)).call(_context5, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context6 = ownKeys$3(Object(source))).call(_context6, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
653
|
+
var defaultUserAgent = createHttpUserAgent({
|
|
654
|
+
name: 'unknown-http-client',
|
|
655
|
+
libraryName: window.app.applicationName
|
|
656
|
+
});
|
|
657
|
+
var defaultForwardToVersion = 'v2';
|
|
658
|
+
var defaultForwardToAudiencePolicy = 'forward-url-full-path';
|
|
659
|
+
|
|
660
|
+
function buildApiUrl(endpoint) {
|
|
661
|
+
var _context;
|
|
662
|
+
|
|
663
|
+
var apiUrl = getMcApiUrl().replace(/\/$/, '');
|
|
664
|
+
return _concatInstanceProperty(_context = "".concat(apiUrl)).call(_context, endpoint);
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
var getAppliedForwardToHeaders = function getAppliedForwardToHeaders(forwardToConfig) {
|
|
668
|
+
var _context2, _forwardToConfig$head, _forwardToConfig$vers, _forwardToConfig$audi, _objectSpread3;
|
|
669
|
+
|
|
670
|
+
if (!forwardToConfig) {
|
|
671
|
+
return {};
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
return _objectSpread$3(_objectSpread$3({}, _reduceInstanceProperty(_context2 = _Object$entries((_forwardToConfig$head = forwardToConfig.headers) !== null && _forwardToConfig$head !== void 0 ? _forwardToConfig$head : {})).call(_context2, function (customForwardHeaders, _ref) {
|
|
675
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
676
|
+
headerName = _ref2[0],
|
|
677
|
+
headerValue = _ref2[1];
|
|
678
|
+
|
|
679
|
+
return _objectSpread$3(_objectSpread$3({}, customForwardHeaders), {}, _defineProperty({}, "x-forward-header-".concat(headerName), headerValue));
|
|
680
|
+
}, {})), {}, (_objectSpread3 = {}, _defineProperty(_objectSpread3, SUPPORTED_HEADERS.ACCEPT_VERSION, (_forwardToConfig$vers = forwardToConfig.version) !== null && _forwardToConfig$vers !== void 0 ? _forwardToConfig$vers : defaultForwardToVersion), _defineProperty(_objectSpread3, SUPPORTED_HEADERS.X_FORWARD_TO, forwardToConfig.uri), _defineProperty(_objectSpread3, SUPPORTED_HEADERS.X_FORWARD_TO_AUDIENCE_POLICY, (_forwardToConfig$audi = forwardToConfig.audiencePolicy) !== null && _forwardToConfig$audi !== void 0 ? _forwardToConfig$audi : defaultForwardToAudiencePolicy), _objectSpread3));
|
|
681
|
+
};
|
|
682
|
+
|
|
683
|
+
function createHttpClientOptions() {
|
|
684
|
+
var _config$projectKey, _objectSpread4;
|
|
685
|
+
|
|
686
|
+
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
687
|
+
var sessionToken = getSessionToken();
|
|
688
|
+
var projectKey = (_config$projectKey = config.projectKey) !== null && _config$projectKey !== void 0 ? _config$projectKey : selectProjectKeyFromUrl();
|
|
689
|
+
var userId = selectUserId();
|
|
690
|
+
var userAgent = (config === null || config === void 0 ? void 0 : config.userAgent) || defaultUserAgent;
|
|
691
|
+
return {
|
|
692
|
+
credentials: 'include',
|
|
693
|
+
headers: omitEmpty(_objectSpread$3(_objectSpread$3({}, config.headers), {}, (_objectSpread4 = {}, _defineProperty(_objectSpread4, SUPPORTED_HEADERS.ACCEPT, 'application/json'), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.AUTHORIZATION, sessionToken ? "Bearer ".concat(sessionToken) : undefined), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.X_APPLICATION_ID, window.app.applicationId), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.X_CORRELATION_ID, getCorrelationId({
|
|
694
|
+
userId: userId
|
|
695
|
+
})), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.X_PROJECT_KEY, projectKey), _defineProperty(_objectSpread4, SUPPORTED_HEADERS.X_USER_AGENT, userAgent), _objectSpread4), getAppliedForwardToHeaders(config.forwardToConfig)))
|
|
696
|
+
};
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
var RenewTokenError = /*#__PURE__*/function (_Error) {
|
|
700
|
+
_inherits(RenewTokenError, _Error);
|
|
701
|
+
|
|
702
|
+
var _super = _createSuper(RenewTokenError);
|
|
703
|
+
|
|
704
|
+
function RenewTokenError(message) {
|
|
705
|
+
var _this;
|
|
706
|
+
|
|
707
|
+
_classCallCheck(this, RenewTokenError);
|
|
708
|
+
|
|
709
|
+
_this = _super.call(this, message);
|
|
710
|
+
|
|
711
|
+
_Object$defineProperty(_assertThisInitialized(_this), 'name', {
|
|
712
|
+
value: 'RenewTokenError'
|
|
713
|
+
});
|
|
714
|
+
|
|
715
|
+
return _this;
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
return _createClass(RenewTokenError);
|
|
719
|
+
}( /*#__PURE__*/_wrapNativeSuper(Error));
|
|
720
|
+
|
|
721
|
+
function executeHttpClientRequest(_x) {
|
|
722
|
+
return _executeHttpClientRequest.apply(this, arguments);
|
|
723
|
+
}
|
|
724
|
+
|
|
725
|
+
function _executeHttpClientRequest() {
|
|
726
|
+
_executeHttpClientRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(fetcher) {
|
|
727
|
+
var config,
|
|
728
|
+
sendRequest,
|
|
729
|
+
_sendRequest,
|
|
730
|
+
_args2 = arguments;
|
|
731
|
+
|
|
732
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context4) {
|
|
733
|
+
while (1) {
|
|
734
|
+
switch (_context4.prev = _context4.next) {
|
|
735
|
+
case 0:
|
|
736
|
+
_sendRequest = function _sendRequest3() {
|
|
737
|
+
_sendRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
738
|
+
var _ref3,
|
|
739
|
+
shouldRenewToken,
|
|
740
|
+
requestOptions,
|
|
741
|
+
response,
|
|
742
|
+
refreshedSessionToken,
|
|
743
|
+
_args = arguments;
|
|
744
|
+
|
|
745
|
+
return _regeneratorRuntime.wrap(function _callee$(_context3) {
|
|
746
|
+
while (1) {
|
|
747
|
+
switch (_context3.prev = _context3.next) {
|
|
748
|
+
case 0:
|
|
749
|
+
_ref3 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, shouldRenewToken = _ref3.shouldRenewToken;
|
|
750
|
+
requestOptions = createHttpClientOptions(config);
|
|
751
|
+
_context3.next = 4;
|
|
752
|
+
return fetcher(_objectSpread$3(_objectSpread$3({}, requestOptions), {}, {
|
|
753
|
+
headers: omitEmpty(_objectSpread$3(_objectSpread$3({}, requestOptions.headers), {}, _defineProperty({}, SUPPORTED_HEADERS.X_TOKEN_RETRY, shouldRenewToken)))
|
|
754
|
+
}));
|
|
755
|
+
|
|
756
|
+
case 4:
|
|
757
|
+
response = _context3.sent;
|
|
758
|
+
|
|
759
|
+
if (!(response.statusCode === STATUS_CODES.UNAUTHORIZED)) {
|
|
760
|
+
_context3.next = 7;
|
|
761
|
+
break;
|
|
762
|
+
}
|
|
763
|
+
|
|
764
|
+
throw new RenewTokenError("Unauthorized response, attempting retry.");
|
|
765
|
+
|
|
766
|
+
case 7:
|
|
767
|
+
// In case a new session token is returned from the server, save it.
|
|
768
|
+
refreshedSessionToken = response.getHeader('x-refreshed-session-token');
|
|
769
|
+
|
|
770
|
+
if (refreshedSessionToken) {
|
|
771
|
+
setActiveSession(refreshedSessionToken);
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
return _context3.abrupt("return", response.data);
|
|
775
|
+
|
|
776
|
+
case 10:
|
|
777
|
+
case "end":
|
|
778
|
+
return _context3.stop();
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
}, _callee);
|
|
782
|
+
}));
|
|
783
|
+
return _sendRequest.apply(this, arguments);
|
|
784
|
+
};
|
|
785
|
+
|
|
786
|
+
sendRequest = function _sendRequest2() {
|
|
787
|
+
return _sendRequest.apply(this, arguments);
|
|
788
|
+
};
|
|
789
|
+
|
|
790
|
+
config = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {};
|
|
791
|
+
return _context4.abrupt("return", sendRequest().catch(function (error) {
|
|
792
|
+
if (error instanceof RenewTokenError) {
|
|
793
|
+
// Retry the request and ask to renew the token.
|
|
794
|
+
return sendRequest({
|
|
795
|
+
shouldRenewToken: true
|
|
796
|
+
});
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
throw error;
|
|
800
|
+
}));
|
|
801
|
+
|
|
802
|
+
case 4:
|
|
803
|
+
case "end":
|
|
804
|
+
return _context4.stop();
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
}, _callee2);
|
|
808
|
+
}));
|
|
809
|
+
return _executeHttpClientRequest.apply(this, arguments);
|
|
810
|
+
}
|
|
811
|
+
|
|
636
812
|
function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
637
813
|
|
|
638
|
-
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var
|
|
814
|
+
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(_context4 = ownKeys$2(Object(source), !0)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context5 = ownKeys$2(Object(source))).call(_context5, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
815
|
+
var userAgent = createHttpUserAgent({
|
|
816
|
+
name: 'apollo-client',
|
|
817
|
+
// version: apolloVersion,
|
|
818
|
+
libraryName: [window.app.applicationName, 'application-shell'].join('/'),
|
|
819
|
+
libraryVersion: version,
|
|
820
|
+
contactUrl: 'https://git.io/fjuyC',
|
|
821
|
+
// points to the appkit repo issues
|
|
822
|
+
contactEmail: 'support@commercetools.com'
|
|
823
|
+
});
|
|
639
824
|
|
|
640
825
|
var isKnownGraphQlTarget = function isKnownGraphQlTarget(target) {
|
|
641
826
|
var _context;
|
|
@@ -643,35 +828,43 @@ var isKnownGraphQlTarget = function isKnownGraphQlTarget(target) {
|
|
|
643
828
|
return target ? _includesInstanceProperty(_context = _Object$values(GRAPHQL_TARGETS)).call(_context, target) : false;
|
|
644
829
|
};
|
|
645
830
|
|
|
646
|
-
var
|
|
647
|
-
|
|
648
|
-
var _context2, _apolloContext$forwar, _objectSpread3;
|
|
831
|
+
var extractSessionTokenFromResponse = function extractSessionTokenFromResponse(context) {
|
|
832
|
+
var _context$response, _context$response$hea, _context$restResponse;
|
|
649
833
|
|
|
650
|
-
|
|
651
|
-
var _ref2 = _slicedToArray(_ref, 2),
|
|
652
|
-
headerName = _ref2[0],
|
|
653
|
-
headerValue = _ref2[1];
|
|
834
|
+
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');
|
|
654
835
|
|
|
655
|
-
|
|
656
|
-
|
|
836
|
+
if (refreshedSessionToken) {
|
|
837
|
+
return refreshedSessionToken !== null && refreshedSessionToken !== void 0 ? refreshedSessionToken : null;
|
|
657
838
|
}
|
|
658
839
|
|
|
659
|
-
|
|
840
|
+
var restResponseWithRefreshTokenHeader = (_context$restResponse = context.restResponses) === null || _context$restResponse === void 0 ? void 0 : _findInstanceProperty(_context$restResponse).call(_context$restResponse, function (response) {
|
|
841
|
+
var _response$headers;
|
|
842
|
+
|
|
843
|
+
return (_response$headers = response.headers) === null || _response$headers === void 0 ? void 0 : _response$headers.has('x-refreshed-session-token');
|
|
844
|
+
});
|
|
845
|
+
|
|
846
|
+
if (restResponseWithRefreshTokenHeader) {
|
|
847
|
+
var _restResponseWithRefr;
|
|
848
|
+
|
|
849
|
+
return (_restResponseWithRefr = restResponseWithRefreshTokenHeader.headers.get('x-refreshed-session-token')) !== null && _restResponseWithRefr !== void 0 ? _restResponseWithRefr : null;
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
return null;
|
|
660
853
|
};
|
|
661
854
|
/* eslint-disable import/prefer-default-export */
|
|
662
855
|
// Use a middleware to update the request headers with the correct params.
|
|
663
856
|
|
|
664
857
|
|
|
665
858
|
var headerLink = new ApolloLink(function (operation, forward) {
|
|
666
|
-
var
|
|
859
|
+
var _context2, _objectSpread2, _context3;
|
|
667
860
|
|
|
668
861
|
var apolloContext = operation.getContext();
|
|
669
862
|
var variables = operation.variables;
|
|
670
863
|
var graphQlTarget = apolloContext.target || variables.target;
|
|
671
|
-
if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(_concatInstanceProperty(
|
|
864
|
+
if (!apolloContext.skipGraphQlTargetCheck && !isKnownGraphQlTarget(graphQlTarget)) throw new Error(_concatInstanceProperty(_context2 = "GraphQL target \"".concat(graphQlTarget, "\" is missing (or is not supported) in operation \"")).call(_context2, operation.operationName, "\""));
|
|
672
865
|
/**
|
|
673
866
|
* NOTE:
|
|
674
|
-
* The project key is read from the url in a project related
|
|
867
|
+
* The project key is read from the url in a project related application context.
|
|
675
868
|
* This holds for most applications like `application-categories`, `application-discounts` etc.
|
|
676
869
|
* However, the `application-account` does not run with the project key being part of the url.
|
|
677
870
|
* As a result we allow passing the project key as a variable on the operation allowing
|
|
@@ -680,20 +873,16 @@ var headerLink = new ApolloLink(function (operation, forward) {
|
|
|
680
873
|
|
|
681
874
|
var projectKey = apolloContext.projectKey || variables.projectKey || selectProjectKeyFromUrl();
|
|
682
875
|
var teamId = apolloContext.teamId || variables.teamId || selectTeamIdFromLocalStorage();
|
|
683
|
-
var userId = selectUserId();
|
|
684
876
|
var featureFlag = apolloContext.featureFlag || variables.featureFlag;
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
return _mapInstanceProperty(_context4 = forward(operation)).call(_context4, function (response) {
|
|
693
|
-
var _context$response, _context$response$hea;
|
|
694
|
-
|
|
877
|
+
operation.setContext(createHttpClientOptions({
|
|
878
|
+
userAgent: userAgent,
|
|
879
|
+
headers: omitEmpty(_objectSpread$2(_objectSpread$2({}, apolloContext.headers), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, SUPPORTED_HEADERS.X_GRAPHQL_TARGET, graphQlTarget), _defineProperty(_objectSpread2, SUPPORTED_HEADERS.X_GRAPHQL_OPERATION_NAME, operation.operationName), _defineProperty(_objectSpread2, SUPPORTED_HEADERS.X_TEAM_ID, teamId), _defineProperty(_objectSpread2, SUPPORTED_HEADERS.X_FEATURE_FLAG, featureFlag), _objectSpread2))),
|
|
880
|
+
forwardToConfig: apolloContext.forwardToConfig,
|
|
881
|
+
projectKey: projectKey
|
|
882
|
+
}));
|
|
883
|
+
return _mapInstanceProperty(_context3 = forward(operation)).call(_context3, function (response) {
|
|
695
884
|
var context = operation.getContext();
|
|
696
|
-
var refreshedSessionToken = (
|
|
885
|
+
var refreshedSessionToken = extractSessionTokenFromResponse(context);
|
|
697
886
|
|
|
698
887
|
if (refreshedSessionToken) {
|
|
699
888
|
setActiveSession(refreshedSessionToken);
|
|
@@ -721,37 +910,34 @@ var tokenRetryLink = new RetryLink({
|
|
|
721
910
|
}
|
|
722
911
|
});
|
|
723
912
|
|
|
724
|
-
var _context;
|
|
725
|
-
|
|
726
913
|
function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
727
914
|
|
|
728
915
|
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(_context4 = ownKeys$1(Object(source), !0)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context5 = ownKeys$1(Object(source))).call(_context5, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
729
|
-
var userAgent = createHttpUserAgent({
|
|
730
|
-
name: 'apollo-client',
|
|
731
|
-
// version: apolloVersion,
|
|
732
|
-
libraryName: [window.app.applicationName, 'application-shell'].join('/'),
|
|
733
|
-
libraryVersion: version,
|
|
734
|
-
contactUrl: 'https://git.io/fjuyC',
|
|
735
|
-
// points to the appkit repo issues
|
|
736
|
-
contactEmail: 'support@commercetools.com'
|
|
737
|
-
});
|
|
738
916
|
var httpLink = createHttpLink({
|
|
739
917
|
uri: "".concat(getMcApiUrl(), "/graphql"),
|
|
740
|
-
headers: {
|
|
741
|
-
accept: 'application/json',
|
|
742
|
-
'x-user-agent': userAgent
|
|
743
|
-
},
|
|
744
918
|
fetch: fetch
|
|
745
|
-
});
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
919
|
+
});
|
|
920
|
+
|
|
921
|
+
var createApolloLink = function createApolloLink() {
|
|
922
|
+
var _context;
|
|
749
923
|
|
|
750
|
-
var
|
|
924
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
925
|
+
return (// The order of links is IMPORTANT!
|
|
926
|
+
// In the request-phase they are executed top to bottom.
|
|
927
|
+
// In the response/phase they are executed bottom to top.
|
|
928
|
+
// The `httpLink` is terminating so it must be last, while `tokenRetryLink` and `errorLink`
|
|
929
|
+
// wrap the links the their right.
|
|
930
|
+
from(_concatInstanceProperty(_context = [headerLink]).call(_context, _toConsumableArray(options.restLink ? [options.restLink] : []), [// Must be before `tokenRetryLink`.
|
|
931
|
+
errorLink], _toConsumableArray(isLoggerEnabled() ? [loggerLink] : []), [// Must be after `errorLink`.
|
|
932
|
+
tokenRetryLink, // Must be last.
|
|
933
|
+
httpLink]))
|
|
934
|
+
);
|
|
935
|
+
}; // This custom merge function allows to merge two arrays of objects.
|
|
751
936
|
// The incoming list is what we need to update to, but we still need
|
|
752
937
|
// to ensure that existing cache elements are not removed but updated.
|
|
753
938
|
// This is usually the case when elements get removed.
|
|
754
939
|
|
|
940
|
+
|
|
755
941
|
var mergeArraysObjects = function mergeArraysObjects() {
|
|
756
942
|
var existing = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
757
943
|
var incoming = arguments.length > 1 ? arguments[1] : undefined;
|
|
@@ -786,7 +972,7 @@ var createApolloClient = function createApolloClient() {
|
|
|
786
972
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
787
973
|
var customCacheConfig = (_options$cache = options === null || options === void 0 ? void 0 : options.cache) !== null && _options$cache !== void 0 ? _options$cache : {};
|
|
788
974
|
return new ApolloClient({
|
|
789
|
-
link:
|
|
975
|
+
link: createApolloLink(options),
|
|
790
976
|
// https://www.apollographql.com/docs/react/caching/cache-configuration/
|
|
791
977
|
cache: new InMemoryCache(_objectSpread$1(_objectSpread$1({}, customCacheConfig), {}, {
|
|
792
978
|
// https://www.apollographql.com/docs/react/caching/cache-configuration/#generating-unique-identifiers
|
|
@@ -970,4 +1156,4 @@ ApplicationEntryPoint.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
970
1156
|
children: _pt.node
|
|
971
1157
|
} : {};
|
|
972
1158
|
|
|
973
|
-
export { ApplicationEntryPoint as A, REQUESTS_IN_FLIGHT_LOADER_DOM_ID as R, getActiveProjectKey as a, getSessionScope as b, location as c, getSessionState as d, setActiveSession as e, createApolloClient as f, getMcApiUrl as g, setCachedApolloClient as h, internalReduxStore as i, setSessionScope as j, setSessionState as k, logger as l, clearSession as m, selectProjectKeyFromUrl as n, RequestsInFlightLoader as o, RouteCatchAll as p, applyDefaultMiddlewares as q, removeActiveProjectKey as r, setActiveProjectKey as s, selectUserId as t, useIsServedByProxy as u, version as v,
|
|
1159
|
+
export { ApplicationEntryPoint as A, REQUESTS_IN_FLIGHT_LOADER_DOM_ID as R, getActiveProjectKey as a, getSessionScope as b, location as c, getSessionState as d, setActiveSession as e, createApolloClient as f, getMcApiUrl as g, setCachedApolloClient as h, internalReduxStore as i, setSessionScope as j, setSessionState as k, logger as l, clearSession as m, selectProjectKeyFromUrl as n, RequestsInFlightLoader as o, RouteCatchAll as p, applyDefaultMiddlewares as q, removeActiveProjectKey as r, setActiveProjectKey as s, selectUserId as t, useIsServedByProxy as u, version as v, buildApiUrl as w, createHttpClientOptions as x, executeHttpClientRequest as y, createReduxStore as z };
|