@commercetools-frontend/application-shell-connectors 22.37.0 → 22.38.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,6 +24,7 @@ var jsxRuntime = require('@emotion/react/jsx-runtime');
24
24
  var react$1 = require('@apollo/client/react');
25
25
  var warning = require('tiny-warning');
26
26
  var constants = require('@commercetools-frontend/constants');
27
+ var _URLSearchParams = require('@babel/runtime-corejs3/core-js-stable/url-search-params');
27
28
  var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
28
29
  var client = require('@apollo/client');
29
30
  var loggerLink = require('apollo-link-logger');
@@ -65,6 +66,7 @@ var _reduceInstanceProperty__default = /*#__PURE__*/_interopDefault(_reduceInsta
65
66
  var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
66
67
  var _valuesInstanceProperty__default = /*#__PURE__*/_interopDefault(_valuesInstanceProperty);
67
68
  var warning__default = /*#__PURE__*/_interopDefault(warning);
69
+ var _URLSearchParams__default = /*#__PURE__*/_interopDefault(_URLSearchParams);
68
70
  var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
69
71
  var loggerLink__default = /*#__PURE__*/_interopDefault(loggerLink);
70
72
  var history__default = /*#__PURE__*/_interopDefault(history);
@@ -79,7 +81,7 @@ var _Reflect$construct__default = /*#__PURE__*/_interopDefault(_Reflect$construc
79
81
  var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
80
82
 
81
83
  // NOTE: This string will be replaced on build time with the package version.
82
- var version = "22.37.0";
84
+ var version = "22.38.1";
83
85
 
84
86
  // From https://github.com/acdlite/recompose/blob/master/src/packages/recompose/getDisplayName.js
85
87
  const getDisplayName = Component => {
@@ -740,10 +742,16 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
740
742
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); }
741
743
  function ownKeys$2(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
742
744
  function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$2(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$2(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
743
- const defaultUserAgent = createHttpUserAgent__default["default"]({
744
- name: 'unknown-http-client',
745
- libraryName: typeof window !== 'undefined' ? window.app.applicationName : 'unknown-application-name'
746
- });
745
+ let _userAgent$1;
746
+ const getUserAgent$1 = () => {
747
+ if (!_userAgent$1) {
748
+ _userAgent$1 = createHttpUserAgent__default["default"]({
749
+ name: 'unknown-http-client',
750
+ libraryName: typeof window !== 'undefined' ? window.app?.applicationName ?? 'unknown-application-name' : undefined
751
+ });
752
+ }
753
+ return _userAgent$1;
754
+ };
747
755
  const defaultForwardToVersion = 'v2';
748
756
  const defaultForwardToAudiencePolicy = 'forward-url-full-path';
749
757
  function buildApiUrl(endpoint) {
@@ -782,7 +790,7 @@ function createHttpClientOptions() {
782
790
  const sessionToken = getSessionToken();
783
791
  const projectKey = config.projectKey ?? selectProjectKeyFromUrl();
784
792
  const userId = selectUserId();
785
- const userAgent = config?.userAgent || defaultUserAgent;
793
+ const userAgent = config?.userAgent || getUserAgent$1();
786
794
  return {
787
795
  credentials: 'include',
788
796
  headers: omitEmpty__default["default"](_objectSpread$2(_objectSpread$2({}, config.headers), {}, {
@@ -851,19 +859,26 @@ async function executeHttpClientRequest(fetcher) {
851
859
  }
852
860
 
853
861
  function ownKeys$1(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
854
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$1(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$1(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
855
- const userAgent = createHttpUserAgent__default["default"]({
856
- name: 'apollo-client',
857
- // version: apolloVersion,
858
- libraryName: [typeof window !== 'undefined' ? window.app.applicationName : 'unknown-application-name', 'application-shell'].join('/'),
859
- libraryVersion: version,
860
- contactUrl: 'https://git.io/fjuyC',
861
- // points to the appkit repo issues
862
- contactEmail: 'support@commercetools.com'
863
- });
862
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context4, _context5; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys$1(Object(t), !0)).call(_context4, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys$1(Object(t))).call(_context5, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
863
+ let _userAgent;
864
+ const getUserAgent = () => {
865
+ if (!_userAgent) {
866
+ var _context;
867
+ _userAgent = createHttpUserAgent__default["default"]({
868
+ name: 'apollo-client',
869
+ // version: apolloVersion,
870
+ libraryName: _filterInstanceProperty__default["default"](_context = [typeof window !== 'undefined' ? window.app?.applicationName ?? 'unknown-application-name' : undefined, 'application-shell']).call(_context, Boolean).join('/'),
871
+ libraryVersion: version,
872
+ contactUrl: 'https://git.io/fjuyC',
873
+ // points to the appkit repo issues
874
+ contactEmail: 'support@commercetools.com'
875
+ });
876
+ }
877
+ return _userAgent;
878
+ };
864
879
  const isKnownGraphQlTarget = target => {
865
- var _context;
866
- return target ? _includesInstanceProperty__default["default"](_context = _Object$values__default["default"](constants.GRAPHQL_TARGETS)).call(_context, target) : false;
880
+ var _context2;
881
+ return target ? _includesInstanceProperty__default["default"](_context2 = _Object$values__default["default"](constants.GRAPHQL_TARGETS)).call(_context2, target) : false;
867
882
  };
868
883
  const extractSessionTokenFromResponse = context => {
869
884
  const refreshedSessionToken = context.response?.headers?.get('x-refreshed-session-token');
@@ -880,7 +895,7 @@ const extractSessionTokenFromResponse = context => {
880
895
  /* eslint-disable import/prefer-default-export */
881
896
  // Use a middleware to update the request headers with the correct params.
882
897
  const headerLink = new client.ApolloLink((operation, forward) => {
883
- var _context2;
898
+ var _context3;
884
899
  const apolloContext = operation.getContext();
885
900
  const variables = operation.variables;
886
901
  const graphQlTarget = apolloContext.target || variables.target;
@@ -898,7 +913,7 @@ const headerLink = new client.ApolloLink((operation, forward) => {
898
913
  const teamId = apolloContext.teamId || variables.teamId || selectTeamIdFromStorage();
899
914
  const featureFlag = apolloContext.featureFlag || variables.featureFlag;
900
915
  operation.setContext(createHttpClientOptions({
901
- userAgent,
916
+ userAgent: getUserAgent(),
902
917
  headers: omitEmpty__default["default"](_objectSpread$1(_objectSpread$1({}, apolloContext.headers), {}, {
903
918
  // Required headers for GraphQL API.
904
919
  [constants.SUPPORTED_HEADERS.X_GRAPHQL_TARGET]: graphQlTarget,
@@ -911,7 +926,7 @@ const headerLink = new client.ApolloLink((operation, forward) => {
911
926
  forwardToConfig: apolloContext.forwardToConfig,
912
927
  projectKey
913
928
  }));
914
- return _mapInstanceProperty__default["default"](_context2 = forward(operation)).call(_context2, response => {
929
+ return _mapInstanceProperty__default["default"](_context3 = forward(operation)).call(_context3, response => {
915
930
  const context = operation.getContext();
916
931
  const refreshedSessionToken = extractSessionTokenFromResponse(context);
917
932
  if (refreshedSessionToken) {
@@ -939,11 +954,24 @@ const tokenRetryLink = new retry.RetryLink({
939
954
 
940
955
  function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
941
956
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
957
+ // Inspired by https://www.apollographql.com/docs/react/api/link/apollo-link-http#dynamic-uri
958
+ const customFetch = (uri, options) => {
959
+ const searchParams = new _URLSearchParams__default["default"]();
960
+ // We attempt to read the GraphQL `operationName` to append it as a query parameter.
961
+ // This is only useful for debugging purposes (network tab) and does not have any functional implication.
962
+ if (options?.body) try {
963
+ const parsed = JSON.parse(options.body);
964
+ searchParams.set('op', parsed.operationName);
965
+ } catch {
966
+ // noop
967
+ }
968
+ return fetch(searchParams.size > 0 ? `${uri}?${searchParams.toString()}` : uri, options);
969
+ };
942
970
  const createApolloLink = function () {
943
971
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
944
972
  const httpLink = client.createHttpLink({
945
973
  uri: `${getMcApiUrl()}/graphql`,
946
- fetch
974
+ fetch: customFetch
947
975
  });
948
976
 
949
977
  // The order of links is IMPORTANT!
@@ -24,6 +24,7 @@ var jsxRuntime = require('@emotion/react/jsx-runtime');
24
24
  var react$1 = require('@apollo/client/react');
25
25
  require('tiny-warning');
26
26
  var constants = require('@commercetools-frontend/constants');
27
+ var _URLSearchParams = require('@babel/runtime-corejs3/core-js-stable/url-search-params');
27
28
  var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
28
29
  var client = require('@apollo/client');
29
30
  var loggerLink = require('apollo-link-logger');
@@ -63,6 +64,7 @@ var _URL__default = /*#__PURE__*/_interopDefault(_URL);
63
64
  var _reduceInstanceProperty__default = /*#__PURE__*/_interopDefault(_reduceInstanceProperty);
64
65
  var _Object$entries__default = /*#__PURE__*/_interopDefault(_Object$entries);
65
66
  var _valuesInstanceProperty__default = /*#__PURE__*/_interopDefault(_valuesInstanceProperty);
67
+ var _URLSearchParams__default = /*#__PURE__*/_interopDefault(_URLSearchParams);
66
68
  var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
67
69
  var loggerLink__default = /*#__PURE__*/_interopDefault(loggerLink);
68
70
  var history__default = /*#__PURE__*/_interopDefault(history);
@@ -77,7 +79,7 @@ var _Reflect$construct__default = /*#__PURE__*/_interopDefault(_Reflect$construc
77
79
  var _JSON$stringify__default = /*#__PURE__*/_interopDefault(_JSON$stringify);
78
80
 
79
81
  // NOTE: This string will be replaced on build time with the package version.
80
- var version = "22.37.0";
82
+ var version = "22.38.1";
81
83
 
82
84
  // From https://github.com/acdlite/recompose/blob/master/src/packages/recompose/getDisplayName.js
83
85
  const getDisplayName = Component => {
@@ -718,10 +720,16 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
718
720
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); }
719
721
  function ownKeys$2(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
720
722
  function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$2(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$2(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
721
- const defaultUserAgent = createHttpUserAgent__default["default"]({
722
- name: 'unknown-http-client',
723
- libraryName: typeof window !== 'undefined' ? window.app.applicationName : 'unknown-application-name'
724
- });
723
+ let _userAgent$1;
724
+ const getUserAgent$1 = () => {
725
+ if (!_userAgent$1) {
726
+ _userAgent$1 = createHttpUserAgent__default["default"]({
727
+ name: 'unknown-http-client',
728
+ libraryName: typeof window !== 'undefined' ? window.app?.applicationName ?? 'unknown-application-name' : undefined
729
+ });
730
+ }
731
+ return _userAgent$1;
732
+ };
725
733
  const defaultForwardToVersion = 'v2';
726
734
  const defaultForwardToAudiencePolicy = 'forward-url-full-path';
727
735
  function buildApiUrl(endpoint) {
@@ -760,7 +768,7 @@ function createHttpClientOptions() {
760
768
  const sessionToken = getSessionToken();
761
769
  const projectKey = config.projectKey ?? selectProjectKeyFromUrl();
762
770
  const userId = selectUserId();
763
- const userAgent = config?.userAgent || defaultUserAgent;
771
+ const userAgent = config?.userAgent || getUserAgent$1();
764
772
  return {
765
773
  credentials: 'include',
766
774
  headers: omitEmpty__default["default"](_objectSpread$2(_objectSpread$2({}, config.headers), {}, {
@@ -829,19 +837,26 @@ async function executeHttpClientRequest(fetcher) {
829
837
  }
830
838
 
831
839
  function ownKeys$1(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
832
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$1(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$1(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
833
- const userAgent = createHttpUserAgent__default["default"]({
834
- name: 'apollo-client',
835
- // version: apolloVersion,
836
- libraryName: [typeof window !== 'undefined' ? window.app.applicationName : 'unknown-application-name', 'application-shell'].join('/'),
837
- libraryVersion: version,
838
- contactUrl: 'https://git.io/fjuyC',
839
- // points to the appkit repo issues
840
- contactEmail: 'support@commercetools.com'
841
- });
840
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context4, _context5; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys$1(Object(t), !0)).call(_context4, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys$1(Object(t))).call(_context5, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
841
+ let _userAgent;
842
+ const getUserAgent = () => {
843
+ if (!_userAgent) {
844
+ var _context;
845
+ _userAgent = createHttpUserAgent__default["default"]({
846
+ name: 'apollo-client',
847
+ // version: apolloVersion,
848
+ libraryName: _filterInstanceProperty__default["default"](_context = [typeof window !== 'undefined' ? window.app?.applicationName ?? 'unknown-application-name' : undefined, 'application-shell']).call(_context, Boolean).join('/'),
849
+ libraryVersion: version,
850
+ contactUrl: 'https://git.io/fjuyC',
851
+ // points to the appkit repo issues
852
+ contactEmail: 'support@commercetools.com'
853
+ });
854
+ }
855
+ return _userAgent;
856
+ };
842
857
  const isKnownGraphQlTarget = target => {
843
- var _context;
844
- return target ? _includesInstanceProperty__default["default"](_context = _Object$values__default["default"](constants.GRAPHQL_TARGETS)).call(_context, target) : false;
858
+ var _context2;
859
+ return target ? _includesInstanceProperty__default["default"](_context2 = _Object$values__default["default"](constants.GRAPHQL_TARGETS)).call(_context2, target) : false;
845
860
  };
846
861
  const extractSessionTokenFromResponse = context => {
847
862
  const refreshedSessionToken = context.response?.headers?.get('x-refreshed-session-token');
@@ -858,7 +873,7 @@ const extractSessionTokenFromResponse = context => {
858
873
  /* eslint-disable import/prefer-default-export */
859
874
  // Use a middleware to update the request headers with the correct params.
860
875
  const headerLink = new client.ApolloLink((operation, forward) => {
861
- var _context2;
876
+ var _context3;
862
877
  const apolloContext = operation.getContext();
863
878
  const variables = operation.variables;
864
879
  const graphQlTarget = apolloContext.target || variables.target;
@@ -876,7 +891,7 @@ const headerLink = new client.ApolloLink((operation, forward) => {
876
891
  const teamId = apolloContext.teamId || variables.teamId || selectTeamIdFromStorage();
877
892
  const featureFlag = apolloContext.featureFlag || variables.featureFlag;
878
893
  operation.setContext(createHttpClientOptions({
879
- userAgent,
894
+ userAgent: getUserAgent(),
880
895
  headers: omitEmpty__default["default"](_objectSpread$1(_objectSpread$1({}, apolloContext.headers), {}, {
881
896
  // Required headers for GraphQL API.
882
897
  [constants.SUPPORTED_HEADERS.X_GRAPHQL_TARGET]: graphQlTarget,
@@ -889,7 +904,7 @@ const headerLink = new client.ApolloLink((operation, forward) => {
889
904
  forwardToConfig: apolloContext.forwardToConfig,
890
905
  projectKey
891
906
  }));
892
- return _mapInstanceProperty__default["default"](_context2 = forward(operation)).call(_context2, response => {
907
+ return _mapInstanceProperty__default["default"](_context3 = forward(operation)).call(_context3, response => {
893
908
  const context = operation.getContext();
894
909
  const refreshedSessionToken = extractSessionTokenFromResponse(context);
895
910
  if (refreshedSessionToken) {
@@ -917,11 +932,24 @@ const tokenRetryLink = new retry.RetryLink({
917
932
 
918
933
  function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
919
934
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
935
+ // Inspired by https://www.apollographql.com/docs/react/api/link/apollo-link-http#dynamic-uri
936
+ const customFetch = (uri, options) => {
937
+ const searchParams = new _URLSearchParams__default["default"]();
938
+ // We attempt to read the GraphQL `operationName` to append it as a query parameter.
939
+ // This is only useful for debugging purposes (network tab) and does not have any functional implication.
940
+ if (options?.body) try {
941
+ const parsed = JSON.parse(options.body);
942
+ searchParams.set('op', parsed.operationName);
943
+ } catch {
944
+ // noop
945
+ }
946
+ return fetch(searchParams.size > 0 ? `${uri}?${searchParams.toString()}` : uri, options);
947
+ };
920
948
  const createApolloLink = function () {
921
949
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
922
950
  const httpLink = client.createHttpLink({
923
951
  uri: `${getMcApiUrl()}/graphql`,
924
- fetch
952
+ fetch: customFetch
925
953
  });
926
954
 
927
955
  // The order of links is IMPORTANT!
@@ -20,6 +20,7 @@ import { jsx } from '@emotion/react/jsx-runtime';
20
20
  import { useQuery, useLazyQuery, useMutation } from '@apollo/client/react';
21
21
  import warning from 'tiny-warning';
22
22
  import { GRAPHQL_TARGETS, SUPPORTED_HEADERS, STATUS_CODES, LOGOUT_REASONS, STORAGE_KEYS, LOGIN_STRATEGY_OIDC } from '@commercetools-frontend/constants';
23
+ import _URLSearchParams from '@babel/runtime-corejs3/core-js-stable/url-search-params';
23
24
  import _findInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find';
24
25
  import { ApolloLink, ApolloClient, InMemoryCache, createHttpLink, from } from '@apollo/client';
25
26
  import loggerLink from 'apollo-link-logger';
@@ -45,7 +46,7 @@ import _JSON$stringify from '@babel/runtime-corejs3/core-js-stable/json/stringif
45
46
  import { RetryLink } from '@apollo/client/link/retry';
46
47
 
47
48
  // NOTE: This string will be replaced on build time with the package version.
48
- var version = "22.37.0";
49
+ var version = "22.38.1";
49
50
 
50
51
  // From https://github.com/acdlite/recompose/blob/master/src/packages/recompose/getDisplayName.js
51
52
  const getDisplayName = Component => {
@@ -706,10 +707,16 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
706
707
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); }
707
708
  function ownKeys$2(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
708
709
  function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys$2(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys$2(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
709
- const defaultUserAgent = createHttpUserAgent({
710
- name: 'unknown-http-client',
711
- libraryName: typeof window !== 'undefined' ? window.app.applicationName : 'unknown-application-name'
712
- });
710
+ let _userAgent$1;
711
+ const getUserAgent$1 = () => {
712
+ if (!_userAgent$1) {
713
+ _userAgent$1 = createHttpUserAgent({
714
+ name: 'unknown-http-client',
715
+ libraryName: typeof window !== 'undefined' ? window.app?.applicationName ?? 'unknown-application-name' : undefined
716
+ });
717
+ }
718
+ return _userAgent$1;
719
+ };
713
720
  const defaultForwardToVersion = 'v2';
714
721
  const defaultForwardToAudiencePolicy = 'forward-url-full-path';
715
722
  function buildApiUrl(endpoint) {
@@ -748,7 +755,7 @@ function createHttpClientOptions() {
748
755
  const sessionToken = getSessionToken();
749
756
  const projectKey = config.projectKey ?? selectProjectKeyFromUrl();
750
757
  const userId = selectUserId();
751
- const userAgent = config?.userAgent || defaultUserAgent;
758
+ const userAgent = config?.userAgent || getUserAgent$1();
752
759
  return {
753
760
  credentials: 'include',
754
761
  headers: omitEmpty(_objectSpread$2(_objectSpread$2({}, config.headers), {}, {
@@ -817,19 +824,26 @@ async function executeHttpClientRequest(fetcher) {
817
824
  }
818
825
 
819
826
  function ownKeys$1(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
820
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context3 = ownKeys$1(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context4 = ownKeys$1(Object(t))).call(_context4, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
821
- const userAgent = createHttpUserAgent({
822
- name: 'apollo-client',
823
- // version: apolloVersion,
824
- libraryName: [typeof window !== 'undefined' ? window.app.applicationName : 'unknown-application-name', 'application-shell'].join('/'),
825
- libraryVersion: version,
826
- contactUrl: 'https://git.io/fjuyC',
827
- // points to the appkit repo issues
828
- contactEmail: 'support@commercetools.com'
829
- });
827
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context4, _context5; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context4 = ownKeys$1(Object(t), !0)).call(_context4, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context5 = ownKeys$1(Object(t))).call(_context5, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
828
+ let _userAgent;
829
+ const getUserAgent = () => {
830
+ if (!_userAgent) {
831
+ var _context;
832
+ _userAgent = createHttpUserAgent({
833
+ name: 'apollo-client',
834
+ // version: apolloVersion,
835
+ libraryName: _filterInstanceProperty(_context = [typeof window !== 'undefined' ? window.app?.applicationName ?? 'unknown-application-name' : undefined, 'application-shell']).call(_context, Boolean).join('/'),
836
+ libraryVersion: version,
837
+ contactUrl: 'https://git.io/fjuyC',
838
+ // points to the appkit repo issues
839
+ contactEmail: 'support@commercetools.com'
840
+ });
841
+ }
842
+ return _userAgent;
843
+ };
830
844
  const isKnownGraphQlTarget = target => {
831
- var _context;
832
- return target ? _includesInstanceProperty(_context = _Object$values(GRAPHQL_TARGETS)).call(_context, target) : false;
845
+ var _context2;
846
+ return target ? _includesInstanceProperty(_context2 = _Object$values(GRAPHQL_TARGETS)).call(_context2, target) : false;
833
847
  };
834
848
  const extractSessionTokenFromResponse = context => {
835
849
  const refreshedSessionToken = context.response?.headers?.get('x-refreshed-session-token');
@@ -846,7 +860,7 @@ const extractSessionTokenFromResponse = context => {
846
860
  /* eslint-disable import/prefer-default-export */
847
861
  // Use a middleware to update the request headers with the correct params.
848
862
  const headerLink = new ApolloLink((operation, forward) => {
849
- var _context2;
863
+ var _context3;
850
864
  const apolloContext = operation.getContext();
851
865
  const variables = operation.variables;
852
866
  const graphQlTarget = apolloContext.target || variables.target;
@@ -864,7 +878,7 @@ const headerLink = new ApolloLink((operation, forward) => {
864
878
  const teamId = apolloContext.teamId || variables.teamId || selectTeamIdFromStorage();
865
879
  const featureFlag = apolloContext.featureFlag || variables.featureFlag;
866
880
  operation.setContext(createHttpClientOptions({
867
- userAgent,
881
+ userAgent: getUserAgent(),
868
882
  headers: omitEmpty(_objectSpread$1(_objectSpread$1({}, apolloContext.headers), {}, {
869
883
  // Required headers for GraphQL API.
870
884
  [SUPPORTED_HEADERS.X_GRAPHQL_TARGET]: graphQlTarget,
@@ -877,7 +891,7 @@ const headerLink = new ApolloLink((operation, forward) => {
877
891
  forwardToConfig: apolloContext.forwardToConfig,
878
892
  projectKey
879
893
  }));
880
- return _mapInstanceProperty(_context2 = forward(operation)).call(_context2, response => {
894
+ return _mapInstanceProperty(_context3 = forward(operation)).call(_context3, response => {
881
895
  const context = operation.getContext();
882
896
  const refreshedSessionToken = extractSessionTokenFromResponse(context);
883
897
  if (refreshedSessionToken) {
@@ -905,11 +919,24 @@ const tokenRetryLink = new RetryLink({
905
919
 
906
920
  function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
907
921
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
922
+ // Inspired by https://www.apollographql.com/docs/react/api/link/apollo-link-http#dynamic-uri
923
+ const customFetch = (uri, options) => {
924
+ const searchParams = new _URLSearchParams();
925
+ // We attempt to read the GraphQL `operationName` to append it as a query parameter.
926
+ // This is only useful for debugging purposes (network tab) and does not have any functional implication.
927
+ if (options?.body) try {
928
+ const parsed = JSON.parse(options.body);
929
+ searchParams.set('op', parsed.operationName);
930
+ } catch {
931
+ // noop
932
+ }
933
+ return fetch(searchParams.size > 0 ? `${uri}?${searchParams.toString()}` : uri, options);
934
+ };
908
935
  const createApolloLink = function () {
909
936
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
910
937
  const httpLink = createHttpLink({
911
938
  uri: `${getMcApiUrl()}/graphql`,
912
- fetch
939
+ fetch: customFetch
913
940
  });
914
941
 
915
942
  // The order of links is IMPORTANT!
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercetools-frontend/application-shell-connectors",
3
- "version": "22.37.0",
3
+ "version": "22.38.1",
4
4
  "description": "Contains complementary tools for @commercetools-frontend/application-shell",
5
5
  "bugs": "https://github.com/commercetools/merchant-center-application-kit/issues",
6
6
  "repository": {
@@ -37,15 +37,15 @@
37
37
  "dependencies": {
38
38
  "@babel/runtime": "^7.22.15",
39
39
  "@babel/runtime-corejs3": "^7.22.15",
40
- "@commercetools-frontend/application-config": "22.37.0",
41
- "@commercetools-frontend/browser-history": "22.37.0",
42
- "@commercetools-frontend/constants": "22.37.0",
43
- "@commercetools-frontend/sentry": "22.37.0",
40
+ "@commercetools-frontend/application-config": "22.38.1",
41
+ "@commercetools-frontend/browser-history": "22.38.1",
42
+ "@commercetools-frontend/constants": "22.38.1",
43
+ "@commercetools-frontend/sentry": "22.38.1",
44
44
  "@commercetools/http-user-agent": "3.0.0",
45
45
  "@emotion/react": "^11.11.4",
46
46
  "@types/lodash": "^4.14.198",
47
47
  "@types/prop-types": "^15.7.5",
48
- "@types/react": "^17.0.80",
48
+ "@types/react": "^17.0.83",
49
49
  "apollo-link-logger": "2.0.1",
50
50
  "graphql": "16.8.2",
51
51
  "lodash": "4.17.21",