@scayle/storefront-nuxt 7.62.2 → 7.62.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @scayle/storefront-nuxt
2
2
 
3
+ ## 7.62.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Ensure composables are not called asynchronously in `useBasket` and `useFacet`
8
+
3
9
  ## 7.62.2
4
10
 
5
11
  ### Patch Changes
package/dist/module.json CHANGED
@@ -4,5 +4,5 @@
4
4
  "compatibility": {
5
5
  "nuxt": "^3.9.0"
6
6
  },
7
- "version": "7.62.1"
7
+ "version": "7.62.2"
8
8
  }
@@ -59,6 +59,6 @@ export declare function useBasket({ params, key, }?: UseBasketOptions): Promise<
59
59
  readonly errors: import("@aboutyou/backbone/helpers/BapiClient").AddOrUpdateItemError[];
60
60
  } | undefined>;
61
61
  error: import("vue").Ref<import("nuxt/app").NuxtError<unknown> | null>;
62
- status: import("vue").Ref<import("nuxt/dist/app/composables/asyncData").AsyncDataRequestStatus>;
62
+ status: import("vue").Ref<import("nuxt/app").AsyncDataRequestStatus>;
63
63
  }>;
64
64
  export {};
@@ -29,6 +29,10 @@ export async function useBasket({
29
29
  } = {}) {
30
30
  const nuxtApp = useNuxtApp();
31
31
  const shop = useCurrentShop();
32
+ useEventListener(
33
+ "message",
34
+ (event) => onCheckoutUpdate(event, fetching.value, fetch)
35
+ );
32
36
  const {
33
37
  data,
34
38
  pending: fetching,
@@ -49,10 +53,6 @@ export async function useBasket({
49
53
  default: () => void 0
50
54
  }
51
55
  );
52
- useEventListener(
53
- "message",
54
- (event) => onCheckoutUpdate(event, fetching.value, fetch)
55
- );
56
56
  const addItem = async ({
57
57
  variantId,
58
58
  promotionId,
@@ -28,81 +28,88 @@ export async function useFacet({
28
28
  const productCountWhere = useState(
29
29
  `${key}-productCountWhereCondition`
30
30
  );
31
- const {
32
- data: categoryData,
33
- fetch: refreshCategories,
34
- fetching: categoriesFetching,
35
- error: categoriesError,
36
- status: categoriesStatus
37
- } = await useCategories({
38
- params: () => ({
39
- path: currentPath.value,
40
- includeHidden: params.with?.product?.categories?.includeHidden || void 0
41
- }),
42
- options: { autoFetch: false },
43
- key: `${key}-categories`
44
- });
45
- const categories = computed(() => categoryData.value?.categories);
46
- const selectedCategory = computed(() => categoryData.value?.activeNode);
47
- const {
48
- data: productData,
49
- fetch: _refreshProducts,
50
- fetching: productsFetching,
51
- error: productError,
52
- status: productStatus
53
- } = await useProducts({
54
- params: () => ({
55
- page: currentPage.value,
56
- perPage: currentPerPage.value,
57
- with: params.with?.product,
58
- category: currentPath.value,
59
- includeSoldOut: params.includeSoldOut,
60
- includeSellableForFree: params.includeSellableForFree,
61
- where: currentWhereCondition.value,
62
- sort: currentSorting.value,
63
- pricePromotionKey: currentPricePromotionKey.value,
64
- cache: currentCacheParams.value,
65
- orFiltersOperator: currentOrFiltersOperator.value
31
+ const [
32
+ {
33
+ data: categoryData,
34
+ fetch: refreshCategories,
35
+ fetching: categoriesFetching,
36
+ error: categoriesError,
37
+ status: categoriesStatus
38
+ },
39
+ {
40
+ data: productData,
41
+ fetch: _refreshProducts,
42
+ fetching: productsFetching,
43
+ error: productError,
44
+ status: productStatus
45
+ },
46
+ {
47
+ data: productCountData,
48
+ fetch: _refreshProductCount,
49
+ fetching: productCountFetching,
50
+ error: productCountError,
51
+ status: productCountStatus
52
+ },
53
+ {
54
+ data: filterData,
55
+ fetch: refreshFilters,
56
+ fetching: filtersFetching,
57
+ error: filterError,
58
+ status: filterStatus
59
+ }
60
+ ] = await Promise.all([
61
+ useCategories({
62
+ params: () => ({
63
+ path: currentPath.value,
64
+ includeHidden: params.with?.product?.categories?.includeHidden || void 0
65
+ }),
66
+ options: { autoFetch: false },
67
+ key: `${key}-categories`
66
68
  }),
67
- options: { autoFetch: false },
68
- key: `${key}-products`
69
- });
70
- const {
71
- data: productCountData,
72
- fetch: _refreshProductCount,
73
- fetching: productCountFetching,
74
- error: productCountError,
75
- status: productCountStatus
76
- } = await useProductsCount({
77
- params: () => ({
78
- category: currentPath.value,
79
- includedFilters: params.includedFilters,
80
- includeSoldOut: params.includeSoldOut,
81
- includeSellableForFree: params.includeSellableForFree,
82
- where: productCountWhere.value,
83
- orFiltersOperator: currentOrFiltersOperator.value
69
+ useProducts({
70
+ params: () => ({
71
+ page: currentPage.value,
72
+ perPage: currentPerPage.value,
73
+ with: params.with?.product,
74
+ category: currentPath.value,
75
+ includeSoldOut: params.includeSoldOut,
76
+ includeSellableForFree: params.includeSellableForFree,
77
+ where: currentWhereCondition.value,
78
+ sort: currentSorting.value,
79
+ pricePromotionKey: currentPricePromotionKey.value,
80
+ cache: currentCacheParams.value,
81
+ orFiltersOperator: currentOrFiltersOperator.value
82
+ }),
83
+ options: { autoFetch: false },
84
+ key: `${key}-products`
84
85
  }),
85
- options: { autoFetch: false },
86
- key: `${key}-productCount`
87
- });
88
- const {
89
- data: filterData,
90
- fetch: refreshFilters,
91
- fetching: filtersFetching,
92
- error: filterError,
93
- status: filterStatus
94
- } = await useFilters({
95
- params: () => ({
96
- category: currentPath.value,
97
- includedFilters: params.includedFilters,
98
- includeSoldOut: params.includeSoldOut,
99
- includeSellableForFree: params.includeSellableForFree,
100
- where: currentWhereCondition.value,
101
- orFiltersOperator: currentOrFiltersOperator.value
86
+ useProductsCount({
87
+ params: () => ({
88
+ category: currentPath.value,
89
+ includedFilters: params.includedFilters,
90
+ includeSoldOut: params.includeSoldOut,
91
+ includeSellableForFree: params.includeSellableForFree,
92
+ where: productCountWhere.value,
93
+ orFiltersOperator: currentOrFiltersOperator.value
94
+ }),
95
+ options: { autoFetch: false },
96
+ key: `${key}-productCount`
102
97
  }),
103
- options: { autoFetch: false },
104
- key: `${key}-filters`
105
- });
98
+ useFilters({
99
+ params: () => ({
100
+ category: currentPath.value,
101
+ includedFilters: params.includedFilters,
102
+ includeSoldOut: params.includeSoldOut,
103
+ includeSellableForFree: params.includeSellableForFree,
104
+ where: currentWhereCondition.value,
105
+ orFiltersOperator: currentOrFiltersOperator.value
106
+ }),
107
+ options: { autoFetch: false },
108
+ key: `${key}-filters`
109
+ })
110
+ ]);
111
+ const categories = computed(() => categoryData.value?.categories);
112
+ const selectedCategory = computed(() => categoryData.value?.activeNode);
106
113
  const pagination = computed(() => productData.value?.pagination);
107
114
  const products = computed(() => productData.value?.products);
108
115
  const filters = computed(() => filterData.value?.filters);
@@ -41,6 +41,6 @@ export declare function useWishlist({ params, key, }?: Options): Promise<{
41
41
  productId: number;
42
42
  }) => boolean;
43
43
  error: import("vue").Ref<import("nuxt/app").NuxtError<unknown> | null>;
44
- status: import("vue").Ref<import("nuxt/dist/app/composables/asyncData").AsyncDataRequestStatus>;
44
+ status: import("vue").Ref<import("nuxt/app").AsyncDataRequestStatus>;
45
45
  }>;
46
46
  export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@scayle/storefront-nuxt",
3
3
  "type": "module",
4
- "version": "7.62.2",
4
+ "version": "7.62.3",
5
5
  "description": "Nuxt integration for the SCAYLE Commerce Engine and Storefront API",
6
6
  "author": "SCAYLE Commerce Engine",
7
7
  "license": "MIT",
@@ -60,7 +60,7 @@
60
60
  "test:watch": "vitest watch"
61
61
  },
62
62
  "dependencies": {
63
- "@nuxt/kit": "3.10.3",
63
+ "@nuxt/kit": "3.11.1",
64
64
  "@scayle/h3-session": "0.3.5",
65
65
  "@scayle/storefront-core": "7.46.1",
66
66
  "@scayle/unstorage-compression-driver": "0.1.2",
@@ -70,7 +70,7 @@
70
70
  "defu": "6.1.4",
71
71
  "jose": "^5.2.0",
72
72
  "knitwork": "1.0.0",
73
- "nitropack": "2.9.4",
73
+ "nitropack": "2.9.5",
74
74
  "ofetch": "1.3.4",
75
75
  "radash": "12.1.0",
76
76
  "uncrypto": "0.1.3",
@@ -80,16 +80,17 @@
80
80
  },
81
81
  "devDependencies": {
82
82
  "@nuxt/module-builder": "0.5.5",
83
- "@nuxt/schema": "3.10.3",
83
+ "@nuxt/schema": "3.11.1",
84
84
  "@nuxt/test-utils": "3.12.0",
85
85
  "@scayle/eslint-config-storefront": "3.2.6",
86
+ "@scayle/eslint-plugin-vue-composable": "0.1.1",
86
87
  "@scayle/prettier-config-storefront": "2.0.2",
87
88
  "@types/node": "20.11.30",
88
89
  "eslint": "8.57.0",
89
90
  "eslint-formatter-gitlab": "5.1.0",
90
91
  "h3": "1.11.1",
91
92
  "node-mocks-http": "1.14.1",
92
- "nuxt": "3.10.3",
93
+ "nuxt": "3.11.1",
93
94
  "prettier": "3.0.0",
94
95
  "publint": "0.2.7",
95
96
  "vitest": "1.4.0",
@@ -104,8 +105,8 @@
104
105
  "resolutions": {
105
106
  "h3": "1.11.1",
106
107
  "vue": "3.4.21",
107
- "@nuxt/kit": "3.10.3",
108
- "@nuxt/schema": "3.10.3"
108
+ "@nuxt/kit": "3.11.1",
109
+ "@nuxt/schema": "3.11.1"
109
110
  },
110
111
  "volta": {
111
112
  "node": "20.11.1"