@jetshop/core 6.3.7 → 6.3.8-alpha-6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/ChannelHandler/channelUtils.js +1 -1
  2. package/ChannelHandler/channelUtils.js.map +1 -1
  3. package/boot/apollo.js +3 -39
  4. package/boot/apollo.js.map +1 -1
  5. package/boot/client/startClient.js +1 -16
  6. package/boot/client/startClient.js.map +1 -1
  7. package/boot/server/createApolloServer.js +0 -6
  8. package/boot/server/createApolloServer.js.map +1 -1
  9. package/boot/server/createRenderer.d.ts +2 -2
  10. package/boot/server/createRenderer.js +12 -25
  11. package/boot/server/createRenderer.js.map +1 -1
  12. package/boot/server/createServer.js +0 -11
  13. package/boot/server/createServer.js.map +1 -1
  14. package/boot/server/index.d.ts +0 -2
  15. package/boot/server/index.js +4 -16
  16. package/boot/server/index.js.map +1 -1
  17. package/boot/worker/createApolloServerWorker.d.ts +18 -0
  18. package/boot/worker/createApolloServerWorker.js +119 -0
  19. package/boot/worker/createApolloServerWorker.js.map +1 -0
  20. package/boot/worker/createRenderer.d.ts +23 -0
  21. package/boot/worker/createRenderer.js +242 -0
  22. package/boot/worker/createRenderer.js.map +1 -0
  23. package/boot/worker/getPrefetchFiles.d.ts +10 -0
  24. package/boot/worker/getPrefetchFiles.js +20 -0
  25. package/boot/worker/getPrefetchFiles.js.map +1 -0
  26. package/boot/worker/getPreloadAssets.d.ts +10 -0
  27. package/boot/worker/getPreloadAssets.js +18 -0
  28. package/boot/worker/getPreloadAssets.js.map +1 -0
  29. package/boot/worker/index.d.ts +6 -0
  30. package/boot/worker/index.js +98 -0
  31. package/boot/worker/index.js.map +1 -0
  32. package/components/Auth/formFieldsFromSettings.d.ts +1 -1
  33. package/components/ConfigProvider.d.ts +3 -15
  34. package/components/ConfigProvider.js.map +1 -1
  35. package/components/DynamicRoute/GenericError.js +0 -4
  36. package/components/DynamicRoute/GenericError.js.map +1 -1
  37. package/components/Pagination/PaginationProvider.d.ts +0 -2
  38. package/components/Pagination/PaginationProvider.js +1 -10
  39. package/components/Pagination/PaginationProvider.js.map +1 -1
  40. package/global.d.ts +0 -1
  41. package/hooks/usePreconnectLinks.js +1 -5
  42. package/hooks/usePreconnectLinks.js.map +1 -1
  43. package/hooks/usePreconnectLinks.test.js +0 -4
  44. package/package.json +5 -6
  45. package/analytics/integrations/gtm/README.md +0 -3
  46. package/boot/server/IntervalQuery.d.ts +0 -32
  47. package/boot/server/IntervalQuery.js +0 -95
  48. package/boot/server/IntervalQuery.js.map +0 -1
  49. package/boot/server/IntervalQuery.test.js +0 -276
  50. package/boot/server/PersistedApolloClient.d.ts +0 -20
  51. package/boot/server/PersistedApolloClient.js +0 -40
  52. package/boot/server/PersistedApolloClient.js.map +0 -1
  53. package/boot/server/PersistedApolloClient.test.js +0 -234
  54. package/boot/server/createApolloServer.test.js +0 -114
  55. package/boot/server/getPreloadAssets.test.js +0 -133
  56. package/boot/server/persistedQueries/PersistedClient.d.ts +0 -22
  57. package/boot/server/persistedQueries/PersistedClient.js +0 -58
  58. package/boot/server/persistedQueries/PersistedClient.js.map +0 -1
  59. package/boot/server/persistedQueries/__tests__/getPersistedQueriesForRequest.test.js +0 -201
  60. package/boot/server/persistedQueries/__tests__/mockQuery.gql +0 -6
  61. package/boot/server/persistedQueries/getPersistedQueriesForRequest.d.ts +0 -3
  62. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js +0 -27
  63. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js.map +0 -1
  64. package/boot/server/saleSource.test.js +0 -39
  65. package/boot/server/salesSource.d.ts +0 -8
  66. package/boot/server/salesSource.js +0 -16
  67. package/boot/server/salesSource.js.map +0 -1
  68. package/errorReporting.browser.d.ts +0 -3
  69. package/errorReporting.browser.js +0 -17
  70. package/errorReporting.browser.js.map +0 -1
  71. package/errorReporting.d.ts +0 -4
  72. package/errorReporting.js +0 -24
  73. package/errorReporting.js.map +0 -1
  74. package/errorReporting.server.d.ts +0 -3
  75. package/errorReporting.server.js +0 -12
  76. package/errorReporting.server.js.map +0 -1
  77. package/errorReporting.shared.d.ts +0 -5
  78. package/errorReporting.shared.js +0 -17
  79. package/errorReporting.shared.js.map +0 -1
  80. package/polyfills.d.ts +0 -1
  81. package/polyfills.js +0 -58
  82. package/polyfills.js.map +0 -1
  83. package/sentry/client.d.ts +0 -1
  84. package/sentry/client.js +0 -30
  85. package/sentry/client.js.map +0 -1
  86. package/sentry/common.d.ts +0 -1
  87. package/sentry/common.js +0 -5
  88. package/sentry/common.js.map +0 -1
  89. package/sentry/server.d.ts +0 -1
  90. package/sentry/server.js +0 -20
  91. package/sentry/server.js.map +0 -1
  92. package/sentry/utils.d.ts +0 -1
  93. package/sentry/utils.js +0 -2
  94. package/sentry/utils.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["ConfigProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAgB,MAAM,OAAO,CAAC;AAM3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AA2H5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAC5C,SAAS,CACV,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,EAO9B;QAP8B,EAC7B,MAAM,EAAE,UAAU,EAClB,QAAQ,OAKT,EAJI,IAAI,cAHsB,sBAI9B,CADQ;IAKP,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,CACL,oBAAC,iBAAiB,CAAC,QAAQ,kBAAC,KAAK,EAAE,MAAM,IAAM,IAAI,GAChD,QAAQ,CACkB,CAC9B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["ConfigProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAgB,MAAM,OAAO,CAAC;AAM3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAkH5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAC5C,SAAS,CACV,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,EAO9B;QAP8B,EAC7B,MAAM,EAAE,UAAU,EAClB,QAAQ,OAKT,EAJI,IAAI,cAHsB,sBAI9B,CADQ;IAKP,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,CACL,oBAAC,iBAAiB,CAAC,QAAQ,kBAAC,KAAK,EAAE,MAAM,IAAM,IAAI,GAChD,QAAQ,CACkB,CAC9B,CAAC;AACJ,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import * as React from 'react';
2
- import report from '@jetshop/core/errorReporting';
3
2
  export const DefaultError = ({ error, info }) => (React.createElement("section", { style: {
4
3
  width: '57ch',
5
4
  maxWidth: '100%',
@@ -41,9 +40,6 @@ class ErrorBoundary extends React.Component {
41
40
  };
42
41
  }
43
42
  componentDidCatch(error, info) {
44
- const { extraInfo = {} } = this.props;
45
- // Report to Sentry
46
- report(error, Object.assign(Object.assign({}, extraInfo), { reactInfo: info }));
47
43
  this.setState({ error, info });
48
44
  }
49
45
  render() {
@@ -1 +1 @@
1
- {"version":3,"file":"GenericError.js","sourceRoot":"","sources":["GenericError.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,MAAM,MAAM,8BAA8B,CAAC;AAalD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAsB,EAAE,EAAE,CAAC,CACnE,iCACE,KAAK,EAAE;QACL,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,MAAM;KAChB;IAED,4BACE,KAAK,EAAE;YACL,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,MAAM;SACrB,4BAGE;IACL,2EAAgD;IAChD;QACE,2BACE,IAAI,EAAC,GAAG,EACR,KAAK,EAAE;gBACL,OAAO,EAAE,cAAc;gBACvB,MAAM,EAAE,eAAe;gBACvB,YAAY,EAAE,KAAK;gBACnB,OAAO,EAAE,QAAQ;gBACjB,cAAc,EAAE,MAAM;gBACtB,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,mBAAmB;gBAC3B,KAAK,EAAE,MAAM;aACd,gCAGC,CACA;IACL,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,CACxC;QACG,KAAK,IAAI;;YAAW,KAAK,CAAC,OAAO,CAAK;QACtC,IAAI,IAAI,CACP,6BACE,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,SAAS;aACjB,IAEA,IAAI,CAAC,cAAc,CAChB,CACP,CACG,CACP,CACO,CACX,CAAC;AAEF,MAAM,aAAc,SAAQ,KAAK,CAAC,SAGjC;IAHD;;QAIE,UAAK,GAAuB;YAC1B,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;SAChB,CAAC;IAsBJ,CAAC;IAhBC,iBAAiB,CAAC,KAAY,EAAE,IAAqB;QACnD,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACtC,mBAAmB;QACnB,MAAM,CAAC,KAAK,kCAAO,SAAS,KAAE,SAAS,EAAE,IAAI,IAAG,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAyC,CAAC;QAElE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACrB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC5B;QAED,OAAO,oBAAC,IAAI,oBAAK,IAAI,CAAC,KAAK,EAAI,CAAC;IAClC,CAAC;;AAnBM,0BAAY,GAAgC;IACjD,SAAS,EAAE,YAAY;CACxB,CAAC;AAoBJ,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"GenericError.js","sourceRoot":"","sources":["GenericError.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAsB,EAAE,EAAE,CAAC,CACnE,iCACE,KAAK,EAAE;QACL,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,MAAM;KAChB;IAED,4BACE,KAAK,EAAE;YACL,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,MAAM;SACrB,4BAGE;IACL,2EAAgD;IAChD;QACE,2BACE,IAAI,EAAC,GAAG,EACR,KAAK,EAAE;gBACL,OAAO,EAAE,cAAc;gBACvB,MAAM,EAAE,eAAe;gBACvB,YAAY,EAAE,KAAK;gBACnB,OAAO,EAAE,QAAQ;gBACjB,cAAc,EAAE,MAAM;gBACtB,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,mBAAmB;gBAC3B,KAAK,EAAE,MAAM;aACd,gCAGC,CACA;IACL,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,CACxC;QACG,KAAK,IAAI;;YAAW,KAAK,CAAC,OAAO,CAAK;QACtC,IAAI,IAAI,CACP,6BACE,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,UAAU,EAAE,GAAG;gBACf,KAAK,EAAE,SAAS;aACjB,IAEA,IAAI,CAAC,cAAc,CAChB,CACP,CACG,CACP,CACO,CACX,CAAC;AAEF,MAAM,aAAc,SAAQ,KAAK,CAAC,SAGjC;IAHD;;QAIE,UAAK,GAAuB;YAC1B,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;SAChB,CAAC;IAmBJ,CAAC;IAbC,iBAAiB,CAAC,KAAY,EAAE,IAAqB;QACnD,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAyC,CAAC;QAElE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACrB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC5B;QAED,OAAO,oBAAC,IAAI,oBAAK,IAAI,CAAC,KAAK,EAAI,CAAC;IAClC,CAAC;;AAhBM,0BAAY,GAAgC;IACjD,SAAS,EAAE,YAAY;CACxB,CAAC;AAiBJ,eAAe,aAAa,CAAC"}
@@ -8,12 +8,10 @@ export type IPaginationProps = {
8
8
  defaultProductsPerPage?: number;
9
9
  /** The query param to use for pagination. @default 'page' */
10
10
  queryParam?: string;
11
- errorReportingEnabled?: boolean;
12
11
  } & ReactCookieProps;
13
12
  export declare function usePagination(): import("@jetshop/core/components/Pagination/PaginationContext").PaginationState;
14
13
  declare const _default: React.ComponentType<{
15
14
  defaultProductsPerPage?: number;
16
15
  queryParam?: string;
17
- errorReportingEnabled?: boolean;
18
16
  }>;
19
17
  export default _default;
@@ -1,6 +1,5 @@
1
1
  import { pushHistory, replaceHistory } from '@jetshop/core/components/Filters/utils/updateHistory';
2
2
  import PaginationContext from '@jetshop/core/components/Pagination/PaginationContext';
3
- import report from '@jetshop/core/errorReporting';
4
3
  import qs from 'qs';
5
4
  import React, { useCallback, useContext, useEffect, useMemo, useState } from 'react';
6
5
  import { withCookies } from 'react-cookie';
@@ -46,7 +45,7 @@ const calculateOffset = (page, perPage) => {
46
45
  return 0;
47
46
  }
48
47
  };
49
- const PaginationProvider = ({ cookies, defaultProductsPerPage = 16, children, queryParam = 'page', errorReportingEnabled = true }) => {
48
+ const PaginationProvider = ({ cookies, defaultProductsPerPage = 16, children, queryParam = 'page' }) => {
50
49
  const history = useHistory();
51
50
  const location = useLocation();
52
51
  const [currentPage, setCurrentPage] = useState(getPageFromSearch(location, queryParam) || 1);
@@ -70,14 +69,6 @@ const PaginationProvider = ({ cookies, defaultProductsPerPage = 16, children, qu
70
69
  }, [cookies]);
71
70
  const cookieProductsPerPage = parseInt(cookies.get('perPage'), 10);
72
71
  const perPage = cookieProductsPerPage || defaultProductsPerPage;
73
- if (errorReportingEnabled && currentPage >= 1000) {
74
- report(new Error('Page number is too nigh'), {
75
- currentPage,
76
- perPage,
77
- location,
78
- history
79
- });
80
- }
81
72
  const value = useMemo(() => ({
82
73
  currentPage,
83
74
  offset: calculateOffset(currentPage, perPage),
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationProvider.js","sourceRoot":"","sources":["PaginationProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PaginationProvider.js","sourceRoot":"","sources":["PaginationProvider.tsx"],"names":[],"mappings":"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"}
package/global.d.ts CHANGED
@@ -13,7 +13,6 @@ declare module 'apollo-link' {
13
13
 
14
14
  declare global {
15
15
  let __IN_SERVER__: boolean;
16
- let __USE_SENTRY__: boolean;
17
16
  }
18
17
 
19
18
  declare module 'history' {
@@ -1,12 +1,8 @@
1
1
  import { useShopConfig } from './useShopConfig';
2
2
  export function usePreconnectLinks({ ga = false, gtm = false } = {}) {
3
- const { apolloConfig, usePolyfilling } = useShopConfig();
3
+ const { apolloConfig } = useShopConfig();
4
4
  // These links are used with every store
5
5
  const staticLinks = [
6
- usePolyfilling && {
7
- href: 'https://cdnjs.cloudflare.com',
8
- crossOrigin: null
9
- },
10
6
  (apolloConfig === null || apolloConfig === void 0 ? void 0 : apolloConfig.graphQLURI) && {
11
7
  href: apolloConfig === null || apolloConfig === void 0 ? void 0 : apolloConfig.graphQLURI,
12
8
  crossOrigin: null
@@ -1 +1 @@
1
- {"version":3,"file":"usePreconnectLinks.js","sourceRoot":"","sources":["usePreconnectLinks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAYhD,MAAM,UAAU,kBAAkB,CAAC,EACjC,EAAE,GAAG,KAAK,EACV,GAAG,GAAG,KAAK,KACc,EAAE;IAC3B,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,aAAa,EAAE,CAAC;IAEzD,wCAAwC;IACxC,MAAM,WAAW,GAAG;QAClB,cAAc,IAAI;YAChB,IAAI,EAAE,8BAA8B;YACpC,WAAW,EAAE,IAAI;SAClB;QACD,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,KAAI;YAC1B,IAAI,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU;YAC9B,WAAW,EAAE,IAAI;SAClB;KACF,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,+DAA+D;IAC/D,MAAM,OAAO,GAAG,EAAE;QAChB,CAAC,CAAC;YACE,kCAAkC;YAClC,wBAAwB;YACxB,iCAAiC;SAClC;QACH,CAAC,CAAC,EAAE,CAAC;IAEP,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjE,OAAO;QACL,GAAG,WAAW;QACd,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;KACzE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"usePreconnectLinks.js","sourceRoot":"","sources":["usePreconnectLinks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAYhD,MAAM,UAAU,kBAAkB,CAAC,EACjC,EAAE,GAAG,KAAK,EACV,GAAG,GAAG,KAAK,KACc,EAAE;IAC3B,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAAC;IAEzC,wCAAwC;IACxC,MAAM,WAAW,GAAG;QAClB,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,KAAI;YAC1B,IAAI,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU;YAC9B,WAAW,EAAE,IAAI;SAClB;KACF,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,+DAA+D;IAC/D,MAAM,OAAO,GAAG,EAAE;QAChB,CAAC,CAAC;YACE,kCAAkC;YAClC,wBAAwB;YACxB,iCAAiC;SAClC;QACH,CAAC,CAAC,EAAE,CAAC;IAEP,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjE,OAAO;QACL,GAAG,WAAW;QACd,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;KACzE,CAAC;AACJ,CAAC"}
@@ -12,10 +12,6 @@ function expectStaticLinks() {
12
12
  expect.objectContaining({
13
13
  href: apolloConfig.graphQLURI,
14
14
  crossOrigin: null
15
- }),
16
- expect.objectContaining({
17
- href: 'https://cdn.polyfill.io',
18
- crossOrigin: null
19
15
  })
20
16
  ];
21
17
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jetshop/core",
3
- "version": "6.3.7",
3
+ "version": "6.3.8-alpha-6",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "**/*.js",
@@ -32,19 +32,17 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "@apollo/client": "~3.13.9",
35
+ "@apollo/server": "^4.11.0",
36
+ "@as-integrations/cloudflare-workers": "^1.1.1",
35
37
  "@graphql-tools/delegate": "^7.1.2",
36
38
  "@graphql-tools/stitch": "^7.5.1",
37
39
  "@graphql-tools/wrap": "^7.0.5",
38
40
  "@loadable/component": "^5.11.0",
39
41
  "@loadable/server": "^5.16.0",
40
- "@sentry/browser": "^6.15.0",
41
- "@sentry/core": "^6.15.0",
42
- "@sentry/node": "^6.15.0",
43
42
  "@tanem/react-nprogress": "^5.0.44",
44
43
  "@xstate/react": "^0.8.1",
45
44
  "accept-language-parser": "^1.5.0",
46
45
  "apollo-server": "~2.6.9",
47
- "apollo-server-caching": "^0.4.0",
48
46
  "apollo-server-express": "~2.6.9",
49
47
  "compression": "^1.7.2",
50
48
  "dnscache": "^1.0.2",
@@ -76,6 +74,7 @@
76
74
  "xstate": "^4.13.0"
77
75
  },
78
76
  "devDependencies": {
77
+ "@cloudflare/workers-types": "^4.20241127.0",
79
78
  "@graphql-codegen/typescript": "^1.21.0",
80
79
  "@react-mock/localstorage": "^0.1.2",
81
80
  "@types/accept-language-parser": "^1.5.1",
@@ -112,5 +111,5 @@
112
111
  "react": "^18",
113
112
  "react-dom": "^18"
114
113
  },
115
- "gitHead": "176d1f3f2d6ef5a75781d2fe8bf23c7f34b4f810"
114
+ "gitHead": "4cb9237f7c70e7fc05119c191f1c039ea0248670"
116
115
  }
@@ -1,3 +0,0 @@
1
- # Generating `template.json`
2
-
3
- This file is created from the container `GTM-M4Q6MBN` (test.demostore.se). If you want to make a new export, make your changes in the workspace and make a new export under Administrator -> Export container, and then commit the file to this repository.
@@ -1,32 +0,0 @@
1
- import { OperationVariables } from '@apollo/client';
2
- import { DocumentNode } from 'graphql';
3
- import { CreateClientOpts } from '../apollo';
4
- import { ChannelHeaders } from './persistedQueries/PersistedClient';
5
- export type ErrorCallback = (err: Error) => void;
6
- export interface IntervalQueryOptions {
7
- query: DocumentNode;
8
- pollInterval: number;
9
- createClientOpts: CreateClientOpts;
10
- variables?: OperationVariables;
11
- onError?: ErrorCallback;
12
- }
13
- export declare class IntervalQuery<ResponseShape> {
14
- private pendingResponse?;
15
- private lastResponse?;
16
- private query;
17
- private client?;
18
- private createClientOpts;
19
- private variables?;
20
- private timeout;
21
- private onError?;
22
- private pollInterval;
23
- private channelHeaders?;
24
- constructor({ query, variables, createClientOpts, pollInterval, onError, headers }: IntervalQueryOptions & {
25
- headers?: ChannelHeaders;
26
- });
27
- private scheduleNext;
28
- private executeQuery;
29
- results(): Promise<ResponseShape>;
30
- getPendingResponse(): Promise<ResponseShape | undefined>;
31
- extractCache(): any;
32
- }
@@ -1,95 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { createClient } from '../apollo';
11
- export class IntervalQuery {
12
- constructor({ query, variables, createClientOpts, pollInterval, onError, headers }) {
13
- this.query = query;
14
- this.createClientOpts = createClientOpts;
15
- this.client = createClient(createClientOpts).client;
16
- this.variables = variables;
17
- this.onError = onError;
18
- this.pollInterval = pollInterval;
19
- this.channelHeaders = headers;
20
- this.executeQuery();
21
- this.scheduleNext();
22
- if (typeof process !== 'undefined' && process.on) {
23
- process.on('SIGTERM', () => {
24
- clearTimeout(this.timeout);
25
- });
26
- }
27
- }
28
- scheduleNext() {
29
- this.timeout = setTimeout(() => {
30
- this.scheduleNext();
31
- this.executeQuery();
32
- }, this.pollInterval);
33
- }
34
- executeQuery() {
35
- const { client } = createClient(this.createClientOpts);
36
- const pendingResponse = client
37
- .query({
38
- query: this.query,
39
- variables: this.variables,
40
- fetchPolicy: 'network-only',
41
- context: {
42
- headers: this.channelHeaders
43
- }
44
- })
45
- .then((resp) => {
46
- const { data } = resp;
47
- if (pendingResponse !== this.pendingResponse) {
48
- // response expired
49
- return data;
50
- }
51
- this.pendingResponse = undefined;
52
- this.lastResponse = data;
53
- // https://www.apollographql.com/docs/react/api/apollo-client/#ApolloClient.stop
54
- // Stop any active client processes
55
- this.client.stop();
56
- this.client = client;
57
- return data;
58
- });
59
- pendingResponse.catch((err) => {
60
- if (pendingResponse !== this.pendingResponse) {
61
- // response expired
62
- return;
63
- }
64
- this.pendingResponse = undefined;
65
- if (this.onError) {
66
- this.onError(err);
67
- }
68
- });
69
- this.pendingResponse = pendingResponse;
70
- return this.pendingResponse;
71
- }
72
- results() {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- if (this.lastResponse) {
75
- return this.lastResponse;
76
- }
77
- if (this.pendingResponse) {
78
- return this.pendingResponse;
79
- }
80
- return this.executeQuery();
81
- });
82
- }
83
- getPendingResponse() {
84
- return __awaiter(this, void 0, void 0, function* () {
85
- return this.pendingResponse;
86
- });
87
- }
88
- extractCache() {
89
- if (!this.client) {
90
- throw new Error('No queries has succeeded yet');
91
- }
92
- return this.client.extract();
93
- }
94
- }
95
- //# sourceMappingURL=IntervalQuery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IntervalQuery.js","sourceRoot":"","sources":["IntervalQuery.ts"],"names":[],"mappings":"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"}
@@ -1,276 +0,0 @@
1
- import {
2
- ApolloClient,
3
- ApolloError,
4
- InMemoryCache,
5
- HttpLink,
6
- gql
7
- } from '@apollo/client';
8
- import { IntervalQuery } from './IntervalQuery';
9
- import nock from 'nock';
10
- beforeAll(() => {
11
- jest.useFakeTimers();
12
- nock.disableNetConnect();
13
- });
14
- afterAll(() => {
15
- jest.useRealTimers();
16
- nock.enableNetConnect();
17
- });
18
- afterEach(() => {
19
- jest.restoreAllMocks();
20
- jest.clearAllTimers();
21
- nock.enableNetConnect();
22
- });
23
- const query = gql`
24
- query ChannelsQuery {
25
- channels {
26
- id
27
- name
28
- }
29
- }
30
- `;
31
- const apolloConfig = {
32
- shopid: '...',
33
- graphQLURI: 'http://localhost/graphql',
34
- token: '...',
35
- enableGateway: false
36
- };
37
-
38
- /**
39
- * Mocks response for `/graphql`
40
- * Only for **one** request, it resets on each call.
41
- */
42
- function mockResponse({ channels = null, statusCode = 200, errors }) {
43
- const data = {
44
- errors,
45
- data: {
46
- channels: Array.isArray(channels)
47
- ? channels.map((channel) =>
48
- Object.assign({ __typename: 'Channel' }, channel)
49
- )
50
- : null
51
- }
52
- };
53
- const res = jest.fn(() => data);
54
- nock('http://localhost').post('/graphql').reply(statusCode, res);
55
- return res;
56
- }
57
- test('does request on init', async () => {
58
- const firstCall = mockResponse({
59
- channels: [
60
- {
61
- id: 1,
62
- name: 'test'
63
- }
64
- ]
65
- });
66
- const intervalQuery = new IntervalQuery({
67
- createClientOpts: { apolloConfig },
68
- query,
69
- pollInterval: 60e3
70
- });
71
- await intervalQuery.getPendingResponse();
72
- expect(firstCall).toHaveBeenCalled();
73
- const res = await intervalQuery.results();
74
- expect(res.channels).toHaveLength(1);
75
- expect(res.channels[0].id).toBe(1);
76
- });
77
- test('does request on intervals', async () => {
78
- mockResponse({
79
- channels: [
80
- {
81
- id: 1,
82
- name: 'test1'
83
- }
84
- ]
85
- });
86
- const pollInterval = 60e3;
87
- const intervalQuery = new IntervalQuery({
88
- createClientOpts: { apolloConfig },
89
- query,
90
- pollInterval
91
- });
92
- {
93
- const res = await intervalQuery.results();
94
- expect(res.channels[0].name).toBe('test1');
95
- nock.cleanAll();
96
- }
97
- {
98
- const mock = mockResponse({
99
- channels: [
100
- {
101
- id: 2,
102
- name: 'test2'
103
- }
104
- ]
105
- });
106
- jest.advanceTimersByTime(pollInterval);
107
- await intervalQuery.getPendingResponse();
108
- const res = await intervalQuery.results();
109
- expect(mock).toHaveBeenCalled();
110
- expect(res.channels[0].name).toBe('test2');
111
- }
112
- {
113
- mockResponse({
114
- channels: [
115
- {
116
- id: 3,
117
- name: 'test3'
118
- }
119
- ]
120
- });
121
- jest.advanceTimersByTime(pollInterval);
122
- await intervalQuery.getPendingResponse();
123
- const res = await intervalQuery.results();
124
- expect(res.channels[0].name).toBe('test3');
125
- }
126
- });
127
- test('propagates bad statusCodes', async () => {
128
- mockResponse({ statusCode: 500 });
129
- const onError = jest.fn();
130
- const pollInterval = 60e3;
131
- const intervalQuery = new IntervalQuery({
132
- createClientOpts: { apolloConfig },
133
- query,
134
- pollInterval,
135
- onError
136
- });
137
- expect.assertions(3);
138
- try {
139
- await intervalQuery.getPendingResponse();
140
- } catch (err) {
141
- expect(err.networkError.statusCode).toBe(500);
142
- expect(onError).toHaveBeenCalledTimes(1);
143
- }
144
- // successful response after
145
- mockResponse({ channels: [] });
146
- const res = await intervalQuery.results();
147
- expect(res.channels).toEqual([]);
148
- });
149
- test('propagates when response contains GraphQL-errors', async () => {
150
- const errorMessage = 'Something went wrong';
151
- mockResponse({
152
- errors: [
153
- {
154
- message: errorMessage,
155
- locations: null
156
- }
157
- ]
158
- });
159
- const pollInterval = 60e3;
160
- const intervalQuery = new IntervalQuery({
161
- createClientOpts: { apolloConfig },
162
- query,
163
- pollInterval
164
- });
165
- expect.assertions(2);
166
- try {
167
- await intervalQuery.getPendingResponse();
168
- } catch (_err) {
169
- const err = _err;
170
- expect(err).toBeInstanceOf(ApolloError);
171
- expect(err.message).toBe(`GraphQL error: ${errorMessage}`);
172
- }
173
- });
174
- test('extracting and using cache in new client', async () => {
175
- mockResponse({
176
- channels: [
177
- {
178
- id: 1,
179
- name: 'test1'
180
- }
181
- ]
182
- });
183
- const pollInterval = 60e3;
184
- const intervalQuery = new IntervalQuery({
185
- createClientOpts: { apolloConfig },
186
- query,
187
- pollInterval
188
- });
189
- await intervalQuery.getPendingResponse();
190
- {
191
- const cache = intervalQuery.extractCache();
192
- expect(cache).toHaveProperty('Channel:1');
193
- expect(cache['Channel:1'].name).toBe('test1');
194
- const newClient = new ApolloClient({
195
- link: new HttpLink(),
196
- cache: new InMemoryCache().restore(cache)
197
- });
198
- const res = newClient.readQuery({
199
- query
200
- });
201
- expect(res.channels).toHaveLength(1);
202
- expect(res.channels[0].name).toBe('test1');
203
- }
204
- // update data in new request
205
- {
206
- const mock = mockResponse({
207
- channels: [
208
- {
209
- id: 1,
210
- name: 'test1--updated'
211
- },
212
- {
213
- id: 2,
214
- name: 'test2'
215
- }
216
- ]
217
- });
218
- jest.advanceTimersByTime(pollInterval);
219
- await intervalQuery.getPendingResponse();
220
- expect(mock).toHaveBeenCalled();
221
- const cache = intervalQuery.extractCache();
222
- const newClient = new ApolloClient({
223
- link: new HttpLink(),
224
- cache: new InMemoryCache().restore(cache)
225
- });
226
- const res = newClient.readQuery({
227
- query
228
- });
229
- expect(res.channels).toHaveLength(2);
230
- expect(res.channels[0].name).toBe('test1--updated');
231
- expect(res.channels[1].name).toBe('test2');
232
- }
233
- });
234
-
235
- test(`internal state doesn't get overridden by erroneous requests`, async () => {
236
- mockResponse({
237
- channels: [
238
- {
239
- id: 1,
240
- name: 'test1'
241
- }
242
- ]
243
- });
244
- const pollInterval = 60e3;
245
- const intervalQuery = new IntervalQuery({
246
- createClientOpts: { apolloConfig },
247
- query,
248
- pollInterval
249
- });
250
- await intervalQuery.getPendingResponse();
251
-
252
- mockResponse({
253
- errors: [
254
- {
255
- message: 'Something went wrong',
256
- locations: null
257
- }
258
- ]
259
- });
260
- jest.advanceTimersByTime(pollInterval);
261
- let err;
262
- try {
263
- await intervalQuery.getPendingResponse();
264
- } catch (_err) {
265
- err = _err;
266
- }
267
- expect(err).toBeInstanceOf(Error);
268
-
269
- const cache = intervalQuery.extractCache();
270
- expect(cache['Channel:1']).toBeTruthy();
271
- expect(cache['Channel:1'].name).toBe('test1');
272
-
273
- const res = await intervalQuery.results();
274
-
275
- expect(res.channels[0].name).toBe('test1');
276
- });
@@ -1,20 +0,0 @@
1
- import { Channel } from '@jetshop/core/types';
2
- import { CreateClientOpts } from '../apollo';
3
- /**
4
- * Persisted Apollo Client that's shared across all requests on the server
5
- */
6
- export declare class PersistedApolloClient {
7
- /**
8
- * **⚠️ WARNING ⚠️**
9
- *
10
- * Use this client with care as it's cache will be shared amongst **all** requests
11
- * It's private in this class for us to be able to expose only specific queries
12
- */
13
- private channelsIntervalQuery;
14
- constructor({ createClientOpts, channelsPollInterval }: {
15
- createClientOpts: CreateClientOpts;
16
- channelsPollInterval?: number;
17
- });
18
- extractCache(): any;
19
- getChannels(): Promise<Channel[]>;
20
- }
@@ -1,40 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import logWarningInDev from '../../helpers/logWarningInDev';
11
- import channelsQueryDefault from '../ChannelsQuery.gql';
12
- import { IntervalQuery } from './IntervalQuery';
13
- /**
14
- * Persisted Apollo Client that's shared across all requests on the server
15
- */
16
- export class PersistedApolloClient {
17
- constructor({ createClientOpts, channelsPollInterval = 60e3 }) {
18
- const { apolloConfig } = createClientOpts;
19
- if (!apolloConfig.channelsQuery) {
20
- logWarningInDev(true, `Using PersistedApolloClient without supplying the channelsQuery is deprecated and will break in the next major release.`);
21
- apolloConfig.channelsQuery = channelsQueryDefault;
22
- }
23
- this.channelsIntervalQuery = new IntervalQuery({
24
- query: apolloConfig.channelsQuery,
25
- createClientOpts,
26
- pollInterval: channelsPollInterval
27
- });
28
- }
29
- extractCache() {
30
- return this.channelsIntervalQuery.extractCache();
31
- }
32
- getChannels() {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- const res = yield this.channelsIntervalQuery.results();
35
- const channels = res.channels;
36
- return channels;
37
- });
38
- }
39
- }
40
- //# sourceMappingURL=PersistedApolloClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PersistedApolloClient.js","sourceRoot":"","sources":["PersistedApolloClient.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAE5D,OAAO,oBAAoB,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD;;GAEG;AACH,MAAM,OAAO,qBAAqB;IAShC,YAAY,EACV,gBAAgB,EAChB,oBAAoB,GAAG,IAAI,EAI5B;QACC,MAAM,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;YAC/B,eAAe,CACb,IAAI,EACJ,yHAAyH,CAC1H,CAAC;YACF,YAAY,CAAC,aAAa,GAAG,oBAAoB,CAAC;SACnD;QAED,IAAI,CAAC,qBAAqB,GAAG,IAAI,aAAa,CAAC;YAC7C,KAAK,EAAE,YAAY,CAAC,aAAa;YACjC,gBAAgB;YAChB,YAAY,EAAE,oBAAoB;SACnC,CAAC,CAAC;IACL,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;IACnD,CAAC;IAEY,WAAW;;YACtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAEvD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YAE9B,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;CACF"}