@jetshop/core 5.9.0 → 5.11.2
Sign up to get free protection for your applications and to get access to all the features.
- package/ChannelHandler/ChannelHandler.d.ts +9 -13
- package/ChannelHandler/ChannelHandler.js +24 -66
- package/ChannelHandler/ChannelHandler.js.map +1 -1
- package/ChannelHandler/channelUtils.d.ts +13 -0
- package/ChannelHandler/channelUtils.js +26 -15
- package/ChannelHandler/channelUtils.js.map +1 -1
- package/ChannelHandler/redirectUtils.d.ts +3 -0
- package/ChannelHandler/redirectUtils.js +48 -0
- package/ChannelHandler/redirectUtils.js.map +1 -0
- package/ChannelHandler/redirectUtils.test.js +8 -0
- package/analytics/AnalyticsProvider.js +2 -1
- package/analytics/AnalyticsProvider.js.map +1 -1
- package/analytics/integrations/ga4.js +10 -1
- package/analytics/integrations/ga4.js.map +1 -1
- package/analytics/integrations/gtag/gtag.d.ts +0 -1
- package/analytics/integrations/gtag/gtag.js +48 -28
- package/analytics/integrations/gtag/gtag.js.map +1 -1
- package/analytics/integrations/gtm/index.d.ts +2 -2
- package/analytics/integrations/gtm/index.js +40 -27
- package/analytics/integrations/gtm/index.js.map +1 -1
- package/analytics/integrations/unslugify.d.ts +1 -0
- package/analytics/integrations/unslugify.js +16 -0
- package/analytics/integrations/unslugify.js.map +1 -0
- package/analytics/trackerRegistry.d.ts +2 -0
- package/analytics/trackerRegistry.js.map +1 -1
- package/analytics/utils/breadcrumbsWithoutProduct.d.ts +1 -0
- package/analytics/utils/breadcrumbsWithoutProduct.js +9 -0
- package/analytics/utils/breadcrumbsWithoutProduct.js.map +1 -0
- package/boot/SharedTree.js +1 -1
- package/boot/SharedTree.js.map +1 -1
- package/boot/apollo.d.ts +5 -4
- package/boot/apollo.js +18 -18
- package/boot/apollo.js.map +1 -1
- package/boot/client/startClient.js +7 -16
- package/boot/client/startClient.js.map +1 -1
- package/boot/server/createRenderer.js +8 -7
- package/boot/server/createRenderer.js.map +1 -1
- package/boot/server/index.js +2 -2
- package/boot/server/index.js.map +1 -1
- package/boot/server/persistedQueries/__tests__/getPersistedQueriesForRequest.test.js +53 -39
- package/boot/server/persistedQueries/getPersistedQueriesForRequest.js +2 -2
- package/boot/server/persistedQueries/getPersistedQueriesForRequest.js.map +1 -1
- package/cart/AddToCartFormik.d.ts +2 -2
- package/cart/AddToCartFormik.js +11 -11
- package/cart/AddToCartFormik.js.map +1 -1
- package/cart/useAddToCart.d.ts +2 -2
- package/cart/useAddToCart.js +13 -12
- package/cart/useAddToCart.js.map +1 -1
- package/components/Auth/CustomerUpdateForm.js +7 -7
- package/components/Auth/CustomerUpdateForm.js.map +1 -1
- package/components/ChannelContext/ChannelProvider.d.ts +1 -3
- package/components/ChannelContext/ChannelProvider.js +6 -13
- package/components/ChannelContext/ChannelProvider.js.map +1 -1
- package/components/ChannelContext/ChannelProvider.test.js +112 -0
- package/components/DynamicRoute/ProductRoute.d.ts +1 -0
- package/components/DynamicRoute/ProductRoute.js +16 -6
- package/components/DynamicRoute/ProductRoute.js.map +1 -1
- package/components/DynamicRoute/RouteResolver.js +1 -1
- package/components/DynamicRoute/RouteResolver.js.map +1 -1
- package/components/Head.js +4 -4
- package/components/Head.js.map +1 -1
- package/components/Mutation/AddToCart/addToCartUtils.d.ts +1 -1
- package/components/Mutation/AddToCart/addToCartUtils.js +10 -3
- package/components/Mutation/AddToCart/addToCartUtils.js.map +1 -1
- package/components/Mutation/RemoveFromCart.d.ts +1 -1
- package/components/Mutation/RemoveFromCart.js +10 -1
- package/components/Mutation/RemoveFromCart.js.map +1 -1
- package/components/Mutation/cartMutationUtils.js +7 -6
- package/components/Mutation/cartMutationUtils.js.map +1 -1
- package/components/Mutation/useDecrementQuantity.js +8 -3
- package/components/Mutation/useDecrementQuantity.js.map +1 -1
- package/components/Mutation/useIncrementQuantity.js +8 -3
- package/components/Mutation/useIncrementQuantity.js.map +1 -1
- package/components/Mutation/useRemoveFromCart.js +10 -1
- package/components/Mutation/useRemoveFromCart.js.map +1 -1
- package/components/OpenGraph/OpenGraphProductData.js +3 -3
- package/components/OpenGraph/OpenGraphProductData.js.map +1 -1
- package/components/Query/CartProvider.js +32 -22
- package/components/Query/CartProvider.js.map +1 -1
- package/components/StructuredData/StructuredBreadcrumbData.d.ts +8 -3
- package/components/StructuredData/StructuredBreadcrumbData.js +42 -23
- package/components/StructuredData/StructuredBreadcrumbData.js.map +1 -1
- package/components/StructuredData/StructuredProductData.js +2 -2
- package/components/StructuredData/StructuredProductData.js.map +1 -1
- package/data/fragments/ProductListsFragments.gql +94 -0
- package/data/fragments/RouteMetaFragment.gql +18 -0
- package/data/mutations/productListMutations.gql +18 -0
- package/data/queries/ProductLists.gql +8 -0
- package/dependencies.d.ts +10 -1
- package/helpers/isRelativeUrl.d.ts +1 -0
- package/helpers/isRelativeUrl.js +5 -0
- package/helpers/isRelativeUrl.js.map +1 -0
- package/hooks/PackageProducts/usePackageProductItem.d.ts +2 -2
- package/hooks/ProductList/ProductListContext.js +49 -14
- package/hooks/ProductList/ProductListContext.js.map +1 -1
- package/hooks/ProductList/ProductLists.gql +0 -0
- package/hooks/ProductList/action-creators.d.ts +20 -7
- package/hooks/ProductList/action-creators.js +138 -44
- package/hooks/ProductList/action-creators.js.map +1 -1
- package/hooks/ProductList/index.d.ts +34 -8
- package/hooks/ProductList/index.js +19 -0
- package/hooks/ProductList/index.js.map +1 -1
- package/hooks/ProductList/list-transforms.d.ts +3 -2
- package/hooks/ProductList/list-transforms.js +22 -22
- package/hooks/ProductList/list-transforms.js.map +1 -1
- package/hooks/ProductList/list-transforms.test.js +103 -100
- package/hooks/ProductList/product-list-reducer.d.ts +37 -14
- package/hooks/ProductList/product-list-reducer.js +106 -43
- package/hooks/ProductList/product-list-reducer.js.map +1 -1
- package/hooks/ProductList/product-list-reducer.test.js +144 -82
- package/hooks/ProductList/useProductList.d.ts +2 -2
- package/hooks/ProductList/useProductList.js +12 -5
- package/hooks/ProductList/useProductList.js.map +1 -1
- package/hooks/ProductList/useProductListItems.d.ts +1 -1
- package/hooks/ProductList/useProductListItems.js +8 -6
- package/hooks/ProductList/useProductListItems.js.map +1 -1
- package/hooks/useAddMultipleToCart.js +11 -5
- package/hooks/useAddMultipleToCart.js.map +1 -1
- package/hooks/useProductVariants/useProductVariants.d.ts +1 -2
- package/hooks/useProductVariants/useProductVariants.js +1 -1
- package/hooks/useProductVariants/useProductVariants.js.map +1 -1
- package/hooks/useRoutePreload.js +2 -2
- package/hooks/useRoutePreload.js.map +1 -1
- package/package.json +5 -5
- package/resolvers/index.d.ts +3 -0
- package/resolvers/index.js +3 -0
- package/resolvers/index.js.map +1 -1
- package/sentry/client.js +9 -4
- package/sentry/client.js.map +1 -1
- package/sentry/common.d.ts +1 -0
- package/sentry/common.js +5 -0
- package/sentry/common.js.map +1 -0
- package/sentry/server.js +11 -2
- package/sentry/server.js.map +1 -1
- package/server/tracking/types.d.ts +1 -1
- package/time.d.ts +1 -0
- package/time.js +6 -0
- package/time.js.map +1 -0
- package/types.d.ts +1 -0
@@ -1,32 +1,20 @@
|
|
1
1
|
import { injectScript } from '../../utils/script';
|
2
2
|
import { getBrand } from '../../../components/OpenGraph/OpenGraphProductData';
|
3
|
+
import { unSlugify } from '../unslugify';
|
4
|
+
import { breadcrumbsWithoutProduct } from '../../utils/breadcrumbsWithoutProduct';
|
3
5
|
const gtag = () => window.gtag;
|
4
|
-
|
5
|
-
if (slug) {
|
6
|
-
slug = slug
|
7
|
-
.split('-')
|
8
|
-
.map((part) => part.length > 0 ? part[0].toUpperCase() + part.substring(1) : '')
|
9
|
-
.join(' ');
|
10
|
-
slug = slug
|
11
|
-
.split('/')
|
12
|
-
.map((part) => part.length > 0 ? part[0].toUpperCase() + part.substring(1) : '')
|
13
|
-
.join('/');
|
14
|
-
}
|
15
|
-
return slug;
|
16
|
-
}
|
17
|
-
function getProductData(product, selectedVariation, useArticleNumberAsId = false, brandCustomField) {
|
18
|
-
var _a, _b, _c, _d;
|
6
|
+
function getProductData({ product, selectedVariation, useArticleNumberAsId = false, brandCustomField, category = '' }) {
|
19
7
|
const brand = getBrand(product, brandCustomField);
|
20
8
|
if (useArticleNumberAsId) {
|
21
9
|
return {
|
22
|
-
id: product.articleNumber,
|
10
|
+
id: (selectedVariation === null || selectedVariation === void 0 ? void 0 : selectedVariation.articleNumber) || product.articleNumber,
|
23
11
|
productId: product.id,
|
24
12
|
productSKU: product.articleNumber,
|
25
13
|
variant: selectedVariation === null || selectedVariation === void 0 ? void 0 : selectedVariation.values.join('_'),
|
26
14
|
variantSKU: selectedVariation === null || selectedVariation === void 0 ? void 0 : selectedVariation.articleNumber,
|
27
15
|
name: product.name,
|
28
16
|
base_product: product.articleNumber,
|
29
|
-
category
|
17
|
+
category,
|
30
18
|
brand
|
31
19
|
};
|
32
20
|
}
|
@@ -35,12 +23,10 @@ function getProductData(product, selectedVariation, useArticleNumberAsId = false
|
|
35
23
|
// Changing this could affect the statistics in Google Ads/Merchant/Analytics, so we want the new behaviour to be opt-in.
|
36
24
|
return {
|
37
25
|
id: product.id,
|
38
|
-
variant: selectedVariation
|
39
|
-
? selectedVariation.articleNumber
|
40
|
-
: product.articleNumber,
|
26
|
+
variant: (selectedVariation === null || selectedVariation === void 0 ? void 0 : selectedVariation.articleNumber) || product.articleNumber,
|
41
27
|
name: product.name,
|
42
|
-
|
43
|
-
category
|
28
|
+
base_prduct: product.articleNumber,
|
29
|
+
category,
|
44
30
|
brand
|
45
31
|
};
|
46
32
|
}
|
@@ -51,6 +37,15 @@ export const gtagTracker = ({ trackingId, additionalGtagTrackingIds = [], curren
|
|
51
37
|
const script = `https://www.googletagmanager.com/gtag/js?id=${trackingId}`;
|
52
38
|
const w = window;
|
53
39
|
w.dataLayer = w.dataLayer || [];
|
40
|
+
w.dataLayer.push({
|
41
|
+
'gtm.start': new Date().getTime(),
|
42
|
+
event: 'gtm.js',
|
43
|
+
originalLocation: document.location.protocol +
|
44
|
+
'//' +
|
45
|
+
document.location.hostname +
|
46
|
+
document.location.pathname +
|
47
|
+
document.location.search
|
48
|
+
});
|
54
49
|
w.gtag = function gtag() {
|
55
50
|
w.dataLayer.push(arguments); // I'm not sure why but this dosen't work using rest params. Don't change this line
|
56
51
|
};
|
@@ -68,8 +63,14 @@ export const gtagTracker = ({ trackingId, additionalGtagTrackingIds = [], curren
|
|
68
63
|
injectScript({ src: script });
|
69
64
|
gtag();
|
70
65
|
},
|
71
|
-
trackProduct({ quantity, action, product, selectedVariation, list, listName, index }, context, eventId) {
|
72
|
-
const productData = Object.assign(Object.assign({}, getProductData(
|
66
|
+
trackProduct({ quantity, action, product, selectedVariation, list, listName, index, category }, context, eventId) {
|
67
|
+
const productData = Object.assign(Object.assign({}, getProductData({
|
68
|
+
product,
|
69
|
+
selectedVariation,
|
70
|
+
useArticleNumberAsId,
|
71
|
+
brandCustomField,
|
72
|
+
category
|
73
|
+
})), { price: (selectedVariation && selectedVariation.price.incVat) ||
|
73
74
|
(product.price && product.price.incVat), quantity, list_name: list || listName || context.list, list_position: index });
|
74
75
|
switch (action) {
|
75
76
|
case 'click':
|
@@ -108,7 +109,18 @@ export const gtagTracker = ({ trackingId, additionalGtagTrackingIds = [], curren
|
|
108
109
|
}
|
109
110
|
},
|
110
111
|
trackCartCheckout({ cart }, _context, eventId) {
|
111
|
-
const items = cart.items.map((item) =>
|
112
|
+
const items = cart.items.map((item) => {
|
113
|
+
var _a, _b, _c;
|
114
|
+
return (Object.assign(Object.assign({}, getProductData({
|
115
|
+
product: item.product,
|
116
|
+
selectedVariation: item.variant,
|
117
|
+
useArticleNumberAsId,
|
118
|
+
brandCustomField,
|
119
|
+
category: breadcrumbsWithoutProduct((_a = item.product.primaryRoute) === null || _a === void 0 ? void 0 : _a.breadcrumbs) ||
|
120
|
+
unSlugify((_c = (_b = item.product.canonicalCategory) === null || _b === void 0 ? void 0 : _b.primaryRoute) === null || _c === void 0 ? void 0 : _c.path) ||
|
121
|
+
''
|
122
|
+
})), { price: item.total.incVat, quantity: item.quantity }));
|
123
|
+
});
|
112
124
|
gtag()('event', 'begin_checkout', {
|
113
125
|
currency,
|
114
126
|
items,
|
@@ -123,10 +135,18 @@ export const gtagTracker = ({ trackingId, additionalGtagTrackingIds = [], curren
|
|
123
135
|
eventId
|
124
136
|
});
|
125
137
|
},
|
126
|
-
trackList({ listName, products }, _context, eventId) {
|
138
|
+
trackList({ listName, products, category }, _context, eventId) {
|
127
139
|
const productData = products.map((product, i) => {
|
128
|
-
var _a;
|
129
|
-
return (Object.assign(Object.assign({}, getProductData(
|
140
|
+
var _a, _b, _c, _d;
|
141
|
+
return (Object.assign(Object.assign({}, getProductData({
|
142
|
+
product,
|
143
|
+
selectedVariation: null,
|
144
|
+
useArticleNumberAsId,
|
145
|
+
brandCustomField,
|
146
|
+
category: category ||
|
147
|
+
breadcrumbsWithoutProduct((_a = product === null || product === void 0 ? void 0 : product.primaryRoute) === null || _a === void 0 ? void 0 : _a.breadcrumbs) ||
|
148
|
+
unSlugify((_c = (_b = product === null || product === void 0 ? void 0 : product.canonicalCategory) === null || _b === void 0 ? void 0 : _b.primaryRoute) === null || _c === void 0 ? void 0 : _c.path)
|
149
|
+
})), { price: (_d = product.price) === null || _d === void 0 ? void 0 : _d.incVat, list_name: listName, list_position: i }));
|
130
150
|
});
|
131
151
|
gtag()('event', 'view_item_list', {
|
132
152
|
currency,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"gtag.js","sourceRoot":"","sources":["gtag.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,oDAAoD,CAAC;
|
1
|
+
{"version":3,"file":"gtag.js","sourceRoot":"","sources":["gtag.ts"],"names":[],"mappings":"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"}
|
@@ -4,9 +4,9 @@ declare global {
|
|
4
4
|
dataLayer: any[];
|
5
5
|
}
|
6
6
|
}
|
7
|
-
export declare
|
8
|
-
export declare const gtmTracker: ({ containerId, currency, useArticleNumberAsId }: {
|
7
|
+
export declare const gtmTracker: ({ containerId, currency, useArticleNumberAsId, brandCustomField }: {
|
9
8
|
containerId: string;
|
10
9
|
currency: string;
|
10
|
+
brandCustomField?: string;
|
11
11
|
useArticleNumberAsId?: boolean;
|
12
12
|
}) => Tracker;
|
@@ -1,5 +1,7 @@
|
|
1
1
|
import { injectScript } from '../../utils/script';
|
2
2
|
import { getBrand } from '@jetshop/core/components/OpenGraph/OpenGraphProductData';
|
3
|
+
import { unSlugify } from '../unslugify';
|
4
|
+
import { breadcrumbsWithoutProduct } from '../../utils/breadcrumbsWithoutProduct';
|
3
5
|
function push(event) {
|
4
6
|
if (window.dataLayer) {
|
5
7
|
if (event.ecommerce) {
|
@@ -8,32 +10,18 @@ function push(event) {
|
|
8
10
|
window.dataLayer.push(event);
|
9
11
|
}
|
10
12
|
}
|
11
|
-
|
12
|
-
if (slug) {
|
13
|
-
slug = slug
|
14
|
-
.split('-')
|
15
|
-
.map((part) => part.length > 0 ? part[0].toUpperCase() + part.substring(1) : '')
|
16
|
-
.join(' ');
|
17
|
-
slug = slug
|
18
|
-
.split('/')
|
19
|
-
.map((part) => part.length > 0 ? part[0].toUpperCase() + part.substring(1) : '')
|
20
|
-
.join('/');
|
21
|
-
}
|
22
|
-
return slug;
|
23
|
-
}
|
24
|
-
function getProductData(product, selectedVariation, useArticleNumberAsId = false) {
|
25
|
-
var _a, _b, _c, _d;
|
13
|
+
function getProductData({ product, selectedVariation, useArticleNumberAsId = false, brandCustomField, category = '' }) {
|
26
14
|
if (useArticleNumberAsId) {
|
27
15
|
return {
|
28
|
-
id: product.articleNumber,
|
16
|
+
id: (selectedVariation === null || selectedVariation === void 0 ? void 0 : selectedVariation.articleNumber) || product.articleNumber,
|
29
17
|
productId: product.id,
|
30
18
|
productSKU: product.articleNumber,
|
31
19
|
variant: selectedVariation === null || selectedVariation === void 0 ? void 0 : selectedVariation.values.join('_'),
|
32
20
|
variantSKU: selectedVariation === null || selectedVariation === void 0 ? void 0 : selectedVariation.articleNumber,
|
33
21
|
name: product.name,
|
34
22
|
base_product: product.articleNumber,
|
35
|
-
category
|
36
|
-
brand: getBrand(product)
|
23
|
+
category,
|
24
|
+
brand: getBrand(product, brandCustomField)
|
37
25
|
};
|
38
26
|
}
|
39
27
|
else {
|
@@ -46,12 +34,12 @@ function getProductData(product, selectedVariation, useArticleNumberAsId = false
|
|
46
34
|
: product.articleNumber,
|
47
35
|
name: product.name,
|
48
36
|
base_product: product.articleNumber,
|
49
|
-
category
|
50
|
-
brand: getBrand(product)
|
37
|
+
category,
|
38
|
+
brand: getBrand(product, brandCustomField)
|
51
39
|
};
|
52
40
|
}
|
53
41
|
}
|
54
|
-
export const gtmTracker = ({ containerId, currency, useArticleNumberAsId = false }) => ({
|
42
|
+
export const gtmTracker = ({ containerId, currency, useArticleNumberAsId = false, brandCustomField }) => ({
|
55
43
|
name: 'gtm',
|
56
44
|
initBrowser() {
|
57
45
|
const script = `https://www.googletagmanager.com/gtm.js?id=${containerId}`;
|
@@ -68,8 +56,14 @@ export const gtmTracker = ({ containerId, currency, useArticleNumberAsId = false
|
|
68
56
|
});
|
69
57
|
injectScript({ src: script });
|
70
58
|
},
|
71
|
-
trackProduct({ quantity, action, product, selectedVariation, list, listName, index }, context) {
|
72
|
-
const productData = Object.assign(Object.assign({}, getProductData(
|
59
|
+
trackProduct({ quantity, action, product, selectedVariation, list, listName, index, category }, context) {
|
60
|
+
const productData = Object.assign(Object.assign({}, getProductData({
|
61
|
+
product,
|
62
|
+
selectedVariation,
|
63
|
+
useArticleNumberAsId,
|
64
|
+
brandCustomField,
|
65
|
+
category
|
66
|
+
})), { price: (selectedVariation && selectedVariation.price.incVat) ||
|
73
67
|
(product.price && product.price.incVat), quantity, position: index });
|
74
68
|
switch (action) {
|
75
69
|
case 'click':
|
@@ -129,7 +123,18 @@ export const gtmTracker = ({ containerId, currency, useArticleNumberAsId = false
|
|
129
123
|
}
|
130
124
|
},
|
131
125
|
trackCartCheckout({ cart }) {
|
132
|
-
const items = cart.items.map((item) =>
|
126
|
+
const items = cart.items.map((item) => {
|
127
|
+
var _a, _b, _c;
|
128
|
+
return (Object.assign(Object.assign({}, getProductData({
|
129
|
+
product: item.product,
|
130
|
+
selectedVariation: item.variant,
|
131
|
+
useArticleNumberAsId,
|
132
|
+
brandCustomField,
|
133
|
+
category: breadcrumbsWithoutProduct((_a = item.product.primaryRoute) === null || _a === void 0 ? void 0 : _a.breadcrumbs) ||
|
134
|
+
unSlugify((_c = (_b = item.product.canonicalCategory) === null || _b === void 0 ? void 0 : _b.primaryRoute) === null || _c === void 0 ? void 0 : _c.path) ||
|
135
|
+
''
|
136
|
+
})), { price: item.total.incVat, quantity: item.quantity }));
|
137
|
+
});
|
133
138
|
push({
|
134
139
|
event: 'checkout',
|
135
140
|
ecommerce: {
|
@@ -144,10 +149,18 @@ export const gtmTracker = ({ containerId, currency, useArticleNumberAsId = false
|
|
144
149
|
pageTitle: title
|
145
150
|
});
|
146
151
|
},
|
147
|
-
trackList({ listName, products }) {
|
152
|
+
trackList({ listName, products, category }) {
|
148
153
|
const productData = products.map((product, i) => {
|
149
|
-
var _a;
|
150
|
-
return (Object.assign(Object.assign({}, getProductData(
|
154
|
+
var _a, _b, _c, _d;
|
155
|
+
return (Object.assign(Object.assign({}, getProductData({
|
156
|
+
product,
|
157
|
+
selectedVariation: null,
|
158
|
+
useArticleNumberAsId,
|
159
|
+
brandCustomField,
|
160
|
+
category: category ||
|
161
|
+
breadcrumbsWithoutProduct((_a = product === null || product === void 0 ? void 0 : product.primaryRoute) === null || _a === void 0 ? void 0 : _a.breadcrumbs) ||
|
162
|
+
unSlugify((_c = (_b = product === null || product === void 0 ? void 0 : product.canonicalCategory) === null || _b === void 0 ? void 0 : _b.primaryRoute) === null || _c === void 0 ? void 0 : _c.path)
|
163
|
+
})), { price: (_d = product.price) === null || _d === void 0 ? void 0 : _d.incVat, position: i, list: listName }));
|
151
164
|
});
|
152
165
|
push({
|
153
166
|
event: 'productList',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function unSlugify(slug?: string): string;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import logWarningInDev from '@jetshop/core/helpers/logWarningInDev';
|
2
|
+
export function unSlugify(slug) {
|
3
|
+
logWarningInDev(true, 'Update your queries to request "breadcrumbs" on routes, for improved performance');
|
4
|
+
if (slug) {
|
5
|
+
slug = slug
|
6
|
+
.split('-')
|
7
|
+
.map((part) => part.length > 0 ? part[0].toUpperCase() + part.substring(1) : '')
|
8
|
+
.join(' ');
|
9
|
+
slug = slug
|
10
|
+
.split('/')
|
11
|
+
.map((part) => part.length > 0 ? part[0].toUpperCase() + part.substring(1) : '')
|
12
|
+
.join('/');
|
13
|
+
}
|
14
|
+
return slug;
|
15
|
+
}
|
16
|
+
//# sourceMappingURL=unslugify.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"unslugify.js","sourceRoot":"","sources":["unslugify.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,uCAAuC,CAAC;AAEpE,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,eAAe,CACb,IAAI,EACJ,kFAAkF,CACnF,CAAC;IACF,IAAI,IAAI,EAAE;QACR,IAAI,GAAG,IAAI;aACR,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CACjE;aACA,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,IAAI,GAAG,IAAI;aACR,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CACjE;aACA,IAAI,CAAC,GAAG,CAAC,CAAC;KACd;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
@@ -15,6 +15,7 @@ export interface TrackProductProps {
|
|
15
15
|
index?: number;
|
16
16
|
/** The quantity of items added/removed from cart */
|
17
17
|
quantity?: number;
|
18
|
+
category: string;
|
18
19
|
}
|
19
20
|
export interface TrackCartProps {
|
20
21
|
cart: Cart;
|
@@ -22,6 +23,7 @@ export interface TrackCartProps {
|
|
22
23
|
export interface TrackListProps {
|
23
24
|
listName: string;
|
24
25
|
products: Product[];
|
26
|
+
category: string;
|
25
27
|
}
|
26
28
|
export interface TrackPageProps {
|
27
29
|
pathname: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"trackerRegistry.js","sourceRoot":"","sources":["trackerRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,MAAM,eAAe,CAAC;
|
1
|
+
{"version":3,"file":"trackerRegistry.js","sourceRoot":"","sources":["trackerRegistry.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function breadcrumbsWithoutProduct(breadcrumbs?: string[]): string;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"breadcrumbsWithoutProduct.js","sourceRoot":"","sources":["breadcrumbsWithoutProduct.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,yBAAyB,CAAC,WAAsB;IAC9D,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE;QACrC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC3C;SAAM;QACL,OAAO,EAAE,CAAC;KACX;AACH,CAAC"}
|
package/boot/SharedTree.js
CHANGED
@@ -19,7 +19,7 @@ const SharedTree = ({ activeBreakpoint, cookies, helmetContext, releware, client
|
|
19
19
|
React.createElement(HelmetProvider, { context: helmetContext },
|
20
20
|
React.createElement(BreakpointProvider, { value: activeBreakpoint },
|
21
21
|
React.createElement(ApolloProvider, { client: client },
|
22
|
-
React.createElement(ChannelProvider, { config: config,
|
22
|
+
React.createElement(ChannelProvider, { config: config, channelHandler: channelHandler },
|
23
23
|
React.createElement(AnalyticsProvider, { releware: releware },
|
24
24
|
React.createElement(PreviewProvider, { previewHandler: previewHandler },
|
25
25
|
React.createElement(Router, Object.assign({ basename: channelHandler.getChannelBasename() || undefined }, routerProps),
|
package/boot/SharedTree.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SharedTree.js","sourceRoot":"","sources":["SharedTree.tsx"],"names":[],"mappings":"AAAA,OAAO,iBAEN,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAuB,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,UAAU;AACV,OAAO,EAAW,eAAe,EAAE,MAAM,cAAc,CAAC;AACxD,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAe,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG3E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAgBpE,MAAM,UAAU,GAAG,CAAC,EAClB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,QAAQ,EACR,MAAM,EACN,MAAM,EACN,WAAW,EACX,MAAM,EACN,WAAW,EACX,QAAQ,EACR,cAAc,EACd,cAAc,EACE,EAAgB,EAAE;IAClC,OAAO,CACL,oBAAC,cAAc,IAAC,MAAM,EAAE,MAAM;QAC5B,oBAAC,qBAAqB;YACpB,oBAAC,eAAe,IAAC,OAAO,EAAE,OAAO;gBAC/B,oBAAC,cAAc,IAAC,OAAO,EAAE,aAAa;oBACpC,oBAAC,kBAAkB,IAAC,KAAK,EAAE,gBAAgB;wBACzC,oBAAC,cAAc,IAAC,MAAM,EAAE,MAAM;4BAC5B,oBAAC,eAAe,IACd,MAAM,EAAE,MAAM,EACd,
|
1
|
+
{"version":3,"file":"SharedTree.js","sourceRoot":"","sources":["SharedTree.tsx"],"names":[],"mappings":"AAAA,OAAO,iBAEN,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAuB,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,UAAU;AACV,OAAO,EAAW,eAAe,EAAE,MAAM,cAAc,CAAC;AACxD,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAe,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG3E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAgBpE,MAAM,UAAU,GAAG,CAAC,EAClB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,QAAQ,EACR,MAAM,EACN,MAAM,EACN,WAAW,EACX,MAAM,EACN,WAAW,EACX,QAAQ,EACR,cAAc,EACd,cAAc,EACE,EAAgB,EAAE;IAClC,OAAO,CACL,oBAAC,cAAc,IAAC,MAAM,EAAE,MAAM;QAC5B,oBAAC,qBAAqB;YACpB,oBAAC,eAAe,IAAC,OAAO,EAAE,OAAO;gBAC/B,oBAAC,cAAc,IAAC,OAAO,EAAE,aAAa;oBACpC,oBAAC,kBAAkB,IAAC,KAAK,EAAE,gBAAgB;wBACzC,oBAAC,cAAc,IAAC,MAAM,EAAE,MAAM;4BAC5B,oBAAC,eAAe,IACd,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc;gCAE9B,oBAAC,iBAAiB,IAAC,QAAQ,EAAE,QAAQ;oCACnC,oBAAC,eAAe,IAAC,cAAc,EAAE,cAAc;wCAC7C,oBAAC,MAAM,kBACL,QAAQ,EACN,cAAc,CAAC,kBAAkB,EAAE,IAAI,SAAS,IAE9C,WAAW;4CAEf,oBAAC,YAAY,IAAC,IAAI,EAAE,WAAW,IAC5B,QAAQ,CACI,CACR,CACO,CACA,CACJ,CACH,CACE,CACN,CACD,CACI,CACT,CAClB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
package/boot/apollo.d.ts
CHANGED
@@ -2,19 +2,20 @@ import { NormalizedCacheObject } from 'apollo-cache-inmemory';
|
|
2
2
|
import { ApolloClient } from 'apollo-client';
|
3
3
|
import { Request } from 'express';
|
4
4
|
import { GraphQLSchema } from 'graphql';
|
5
|
-
import { ChannelHandler } from '../ChannelHandler/ChannelHandler';
|
6
5
|
import { ApolloConfig } from '../components/ConfigProvider';
|
7
6
|
import { AuthHandler } from './AuthHandler';
|
8
7
|
import { PreviewHandler } from './PreviewHandler';
|
8
|
+
import { SelectedChannel } from '../components/ChannelContext/ChannelContext';
|
9
|
+
import { ChannelHandler } from '../ChannelHandler/ChannelHandler';
|
9
10
|
export interface CreateClientOpts {
|
10
11
|
apolloConfig: ApolloConfig;
|
11
12
|
schema?: GraphQLSchema;
|
12
13
|
authHandler?: AuthHandler;
|
13
|
-
|
14
|
+
selectedChannel?: SelectedChannel;
|
14
15
|
previewHandler?: PreviewHandler;
|
15
16
|
req?: Request;
|
17
|
+
channelHandler?: ChannelHandler;
|
16
18
|
}
|
17
|
-
export declare const createClient: ({ apolloConfig: { token, shopid, enableGateway, graphQLURI, useGraphQLProxyServer }, schema, authHandler,
|
19
|
+
export declare const createClient: ({ apolloConfig: { token, shopid, enableGateway, graphQLURI, useGraphQLProxyServer }, schema, authHandler, previewHandler, req, channelHandler }: CreateClientOpts) => {
|
18
20
|
client: ApolloClient<NormalizedCacheObject>;
|
19
|
-
NetworkStatusNotifier: any;
|
20
21
|
};
|
package/boot/apollo.js
CHANGED
@@ -16,19 +16,16 @@ import { createHttpLink } from 'apollo-link-http';
|
|
16
16
|
import { createPersistedQueryLink } from 'apollo-link-persisted-queries';
|
17
17
|
import { SchemaLink } from 'apollo-link-schema';
|
18
18
|
import qs from 'qs';
|
19
|
-
import { createNetworkStatusNotifier } from 'react-apollo-network-status';
|
20
19
|
import createCache from '../data/cache';
|
21
20
|
import report from '../errorReporting';
|
22
21
|
import { resolvers } from '../resolvers';
|
23
22
|
import typeDefs from './client-schema.gql';
|
24
23
|
import { logOperationTime } from './utils/queryLoggingMiddleware';
|
25
|
-
|
24
|
+
import { link as networkStatusLink } from '@jetshop/ui/Loading/NetworkStatusNotifier';
|
25
|
+
export const createClient = ({ apolloConfig: { token, shopid, enableGateway, graphQLURI, useGraphQLProxyServer }, schema, authHandler, previewHandler, req, channelHandler }) => {
|
26
26
|
if (!token || !shopid) {
|
27
27
|
throw new Error(`Missing ${!token && `token`} ${!shopid && `shopid`}`);
|
28
28
|
}
|
29
|
-
const channelHeaders = channelHandler
|
30
|
-
? channelHandler.getChannelHeaders()
|
31
|
-
: {};
|
32
29
|
const authHeaders = authHandler ? authHandler.getAuthHeaders() : {};
|
33
30
|
const previewHeaders = previewHandler
|
34
31
|
? previewHandler.getPreviewHeaders()
|
@@ -48,7 +45,7 @@ export const createClient = ({ apolloConfig: { token, shopid, enableGateway, gra
|
|
48
45
|
? new SchemaLink({
|
49
46
|
schema,
|
50
47
|
context: {
|
51
|
-
headers: Object.assign(Object.assign(Object.assign({},
|
48
|
+
headers: Object.assign(Object.assign(Object.assign({}, ((channelHandler === null || channelHandler === void 0 ? void 0 : channelHandler.getChannelHeaders()) || {})), authHeaders), previewHeaders)
|
52
49
|
}
|
53
50
|
})
|
54
51
|
: createHttpLink({
|
@@ -94,14 +91,13 @@ export const createClient = ({ apolloConfig: { token, shopid, enableGateway, gra
|
|
94
91
|
: enableGateway
|
95
92
|
? createGatewayLink()
|
96
93
|
: createDirectLink();
|
97
|
-
const channelMiddleware =
|
98
|
-
new
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
});
|
94
|
+
const channelMiddleware = new ApolloLink((operation, forward) => {
|
95
|
+
// Sets the current channel before each new HTTP request is made
|
96
|
+
operation.setContext(({ headers = {} }) => ({
|
97
|
+
headers: Object.assign(Object.assign({}, headers), ((channelHandler === null || channelHandler === void 0 ? void 0 : channelHandler.getChannelHeaders()) || {}))
|
98
|
+
}));
|
99
|
+
return forward ? forward(operation) : null;
|
100
|
+
});
|
105
101
|
const authMiddleware = authHandler &&
|
106
102
|
new ApolloLink((operation, forward) => {
|
107
103
|
// Sets the auth token when a new request is made
|
@@ -122,7 +118,7 @@ export const createClient = ({ apolloConfig: { token, shopid, enableGateway, gra
|
|
122
118
|
var _b, _c;
|
123
119
|
var { graphQLErrors, networkError, operation } = _a, rest = __rest(_a, ["graphQLErrors", "networkError", "operation"]);
|
124
120
|
if (graphQLErrors) {
|
125
|
-
graphQLErrors.forEach(error => {
|
121
|
+
graphQLErrors.forEach((error) => {
|
126
122
|
var _a;
|
127
123
|
const code = (_a = error === null || error === void 0 ? void 0 : error.extensions) === null || _a === void 0 ? void 0 : _a.code;
|
128
124
|
if (code === 'EmptyRoute') {
|
@@ -135,6 +131,11 @@ export const createClient = ({ apolloConfig: { token, shopid, enableGateway, gra
|
|
135
131
|
window.location.href = '/';
|
136
132
|
}
|
137
133
|
}
|
134
|
+
else if (code === 'InvalidCreateCustomerInput' ||
|
135
|
+
code === 'UnableToLoginCustomer') {
|
136
|
+
// Don't report this to Sentry
|
137
|
+
console.log(error);
|
138
|
+
}
|
138
139
|
else {
|
139
140
|
console.log(error);
|
140
141
|
// Other graph errors will be logged to Sentry
|
@@ -165,14 +166,13 @@ export const createClient = ({ apolloConfig: { token, shopid, enableGateway, gra
|
|
165
166
|
report(networkError);
|
166
167
|
}
|
167
168
|
});
|
168
|
-
const { link: networkStatusNotifierLink, NetworkStatusNotifier } = createNetworkStatusNotifier();
|
169
169
|
const links = [
|
170
|
+
...(__IN_SERVER__ ? [] : [networkStatusLink]),
|
170
171
|
errorMiddleware,
|
171
172
|
// Only add the middleware to the links array if the exist
|
172
173
|
...(channelMiddleware ? [channelMiddleware] : []),
|
173
174
|
...(authMiddleware ? [authMiddleware] : []),
|
174
175
|
...(previewMiddleware ? [previewMiddleware] : []),
|
175
|
-
networkStatusNotifierLink,
|
176
176
|
apiLink
|
177
177
|
];
|
178
178
|
if (process.env.DEBUG_MODE === 'true') {
|
@@ -193,6 +193,6 @@ export const createClient = ({ apolloConfig: { token, shopid, enableGateway, gra
|
|
193
193
|
resolvers: resolvers(qs.stringify(req === null || req === void 0 ? void 0 : req.query, { encode: true, encodeValuesOnly: true })),
|
194
194
|
typeDefs
|
195
195
|
});
|
196
|
-
return { client
|
196
|
+
return { client };
|
197
197
|
};
|
198
198
|
//# sourceMappingURL=apollo.js.map
|
package/boot/apollo.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"apollo.js","sourceRoot":"","sources":["apollo.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EAAE,MAAM,IAAI,CAAC;
|
1
|
+
{"version":3,"file":"apollo.js","sourceRoot":"","sources":["apollo.ts"],"names":[],"mappings":"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"}
|