@scayle/storefront-nuxt 8.45.1 → 8.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,105 @@
1
1
  # @scayle/storefront-nuxt
2
2
 
3
+ ## 8.47.0
4
+
5
+ ### Patch Changes
6
+
7
+ **Dependencies**
8
+
9
+ - Updated dependency to @scayle/unstorage-compression-driver@1.2.2
10
+ - Updated dependency to @scayle/h3-session@0.6.2
11
+
12
+ **@scayle/storefront-core v8.47.0**
13
+
14
+ - Minor
15
+
16
+ - Enhanced basket RPC methods to support order custom data functionality.
17
+
18
+ All basket RPC methods now integrate with the `getOrderCustomData` RPC method to fetch and include order custom data in SAPI requests.
19
+ This enables developers to attach order-specific custom metadata, business rules, or additional context to orders throughout the basket lifecycle.
20
+ The existing `orderCustomData` parameter is deprecated and will be removed in the next major version.
21
+ For now, both parameters are supported and merged together, where attributes from the parameter take precedence.
22
+
23
+ On default, this RPC returns an empty object but can be overridden by the developer to return a custom object.
24
+
25
+ Example `getOrderCustomData` RPC:
26
+
27
+ ```typescript
28
+ export const getOrderCustomData: RpcHandler<Record<string, unknown>> =
29
+ defineRpcHandler<Record<string, unknown>>(async (context: RpcContext) => {
30
+ return {
31
+ customer: {
32
+ groups: context.user?.groups,
33
+ },
34
+ }
35
+ })
36
+ ```
37
+
38
+ For further information, please refer to the [Overriding Core RPC Methods](https://scayle.dev/en/core-documentation/storefront-guide/storefront-application/technical-foundation/rpc-methods?sourceText=RPC%2520Methods#overriding-core-rpc-methods).
39
+
40
+ - Updated all basket RPC methods to pass the customer access token to the SAPI client, enabling the `X-Customer-Token` header for promotion validation.
41
+
42
+ The customer access token is now automatically included in basket requests when available.
43
+ If the token has expired, it will be omitted from the request to prevent validation errors.
44
+
45
+ ## 8.46.0
46
+
47
+ ### Patch Changes
48
+
49
+ **Dependencies**
50
+
51
+ - Updated dependency to @scayle/unstorage-compression-driver@1.2.1
52
+
53
+ **@scayle/storefront-core v8.46.0**
54
+
55
+ - Minor
56
+
57
+ - Added `getAttributeValuesByGroupId` function to the `attributeHelpers` helper for retrieving attribute values by their numeric attribute group ID.
58
+
59
+ This function allows you to retrieve attribute values filtered by a specific attribute group ID, providing a more targeted approach when working with grouped product attributes.
60
+ The existing `getAttributeValues` function has been renamed to `getAttributeValuesByName` to better differentiate between the two lookup methods.
61
+
62
+ ### Usage Examples
63
+
64
+ Both functions return an array of values for consistency, making them safe to use in iterations. For single-select attributes, the value is wrapped in an array. For multi-select attributes, the array is returned directly.
65
+
66
+ #### Looking up by name (existing, now renamed):
67
+
68
+ ```typescript
69
+ import { getAttributeValuesByName } from '@scayle/storefront-core'
70
+
71
+ // Single-select attribute
72
+ const sizes = getAttributeValuesByName(product.attributes, 'size')
73
+ // Returns: [{ id: 1, label: 'M', value: 'medium' }]
74
+
75
+ // Multi-select attribute
76
+ const colors = getAttributeValuesByName(product.attributes, 'color')
77
+ // Returns: [{ id: 1, label: 'Red' }, { id: 2, label: 'Blue' }]
78
+
79
+ // Non-existent attribute
80
+ const missing = getAttributeValuesByName(product.attributes, 'doesNotExist')
81
+ // Returns: []
82
+ ```
83
+
84
+ #### Looking up by group ID (new):
85
+
86
+ ```typescript
87
+ import { getAttributeValuesByGroupId } from '@scayle/storefront-core'
88
+
89
+ // Look up attribute by its numeric ID from the SCAYLE API
90
+ const promotionValues = getAttributeValuesByGroupId(product.attributes, 42)
91
+ // Returns: [{ id: 123, label: 'Summer Sale', value: 'summer-2024' }]
92
+
93
+ // Non-existent attribute group
94
+ const missing = getAttributeValuesByGroupId(product.attributes, 9999)
95
+ // Returns: []
96
+ ```
97
+
98
+ ### When to Use Each Function
99
+
100
+ - **`getAttributeValuesByName`**: Use when you know the attribute name key (e.g., 'color', 'size'). This is the most common use case in application code.
101
+ - **`getAttributeValuesByGroupId`**: Use when you have the numeric attribute group ID from the SCAYLE API, such as when processing API configurations, handling dynamic attribute mappings, or working with attribute group references.
102
+
3
103
  ## 8.45.1
4
104
 
5
105
  ### Patch Changes
package/dist/module.d.mts CHANGED
@@ -54,12 +54,12 @@ declare module '@nuxt/schema' {
54
54
  declare const _default: _nuxt_schema.NuxtModule<{
55
55
  rpcDir?: string | undefined;
56
56
  rpcMethodNames?: string[] | undefined;
57
- rpcMethodOverrides?: ("getProductById" | "getProductsByIds" | "getProductsByReferenceKeys" | "getProductsCount" | "fetchAllFiltersForCategory" | "getFilters" | "getProductsByCategory" | "oauthForgetPassword" | "oauthGuestLogin" | "oauthLogin" | "oauthRegister" | "oauthRevokeToken" | "refreshAccessToken" | "updatePasswordByHash" | "addItemToBasket" | "addItemsToBasket" | "getBasket" | "removeItemFromBasket" | "clearBasket" | "mergeBaskets" | "updateBasketItem" | "getApplicablePromotionsByCode" | "updatePromotions" | "getBrands" | "getBrandById" | "getRootCategories" | "getCategoryByPath" | "getCategoriesByPath" | "getCategoryById" | "getCategoryTree" | "getCampaign" | "getCampaignKey" | "getOrderDataByCbd" | "getSearchSuggestions" | "resolveSearch" | "getShopConfiguration" | "getUser" | "fetchUser" | "refreshUser" | "getAccessToken" | "getWishlist" | "addItemToWishlist" | "removeItemFromWishlist" | "clearWishlist" | "getOrderById" | "getShopUserAddresses" | "updateShopUser" | "updatePassword" | "getCheckoutToken" | "getVariantById" | "fetchAllNavigationTrees" | "fetchNavigationTreeById" | "fetchNavigationTreeByName" | "getPromotions" | "getCurrentPromotions" | "getPromotionsByIds" | "getExternalIdpRedirect" | "handleIDPLoginCallback")[] | undefined;
57
+ rpcMethodOverrides?: ("getProductById" | "getProductsByIds" | "getProductsByReferenceKeys" | "getProductsCount" | "fetchAllFiltersForCategory" | "getFilters" | "getProductsByCategory" | "oauthForgetPassword" | "oauthGuestLogin" | "oauthLogin" | "oauthRegister" | "oauthRevokeToken" | "refreshAccessToken" | "updatePasswordByHash" | "addItemToBasket" | "addItemsToBasket" | "getBasket" | "removeItemFromBasket" | "clearBasket" | "mergeBaskets" | "updateBasketItem" | "getApplicablePromotionsByCode" | "updatePromotions" | "getBrands" | "getBrandById" | "getRootCategories" | "getCategoryByPath" | "getCategoriesByPath" | "getCategoryById" | "getCategoryTree" | "getCampaign" | "getCampaignKey" | "getOrderDataByCbd" | "getSearchSuggestions" | "resolveSearch" | "getShopConfiguration" | "getUser" | "fetchUser" | "refreshUser" | "getAccessToken" | "getWishlist" | "addItemToWishlist" | "removeItemFromWishlist" | "clearWishlist" | "getOrderById" | "getOrderCustomData" | "getShopUserAddresses" | "updateShopUser" | "updatePassword" | "getCheckoutToken" | "getVariantById" | "fetchAllNavigationTrees" | "fetchNavigationTreeById" | "fetchNavigationTreeByName" | "getPromotions" | "getCurrentPromotions" | "getPromotionsByIds" | "getExternalIdpRedirect" | "handleIDPLoginCallback")[] | undefined;
58
58
  apiBasePath?: string | undefined;
59
59
  }, {
60
60
  rpcDir?: string | undefined;
61
61
  rpcMethodNames?: string[] | undefined;
62
- rpcMethodOverrides?: ("getProductById" | "getProductsByIds" | "getProductsByReferenceKeys" | "getProductsCount" | "fetchAllFiltersForCategory" | "getFilters" | "getProductsByCategory" | "oauthForgetPassword" | "oauthGuestLogin" | "oauthLogin" | "oauthRegister" | "oauthRevokeToken" | "refreshAccessToken" | "updatePasswordByHash" | "addItemToBasket" | "addItemsToBasket" | "getBasket" | "removeItemFromBasket" | "clearBasket" | "mergeBaskets" | "updateBasketItem" | "getApplicablePromotionsByCode" | "updatePromotions" | "getBrands" | "getBrandById" | "getRootCategories" | "getCategoryByPath" | "getCategoriesByPath" | "getCategoryById" | "getCategoryTree" | "getCampaign" | "getCampaignKey" | "getOrderDataByCbd" | "getSearchSuggestions" | "resolveSearch" | "getShopConfiguration" | "getUser" | "fetchUser" | "refreshUser" | "getAccessToken" | "getWishlist" | "addItemToWishlist" | "removeItemFromWishlist" | "clearWishlist" | "getOrderById" | "getShopUserAddresses" | "updateShopUser" | "updatePassword" | "getCheckoutToken" | "getVariantById" | "fetchAllNavigationTrees" | "fetchNavigationTreeById" | "fetchNavigationTreeByName" | "getPromotions" | "getCurrentPromotions" | "getPromotionsByIds" | "getExternalIdpRedirect" | "handleIDPLoginCallback")[] | undefined;
62
+ rpcMethodOverrides?: ("getProductById" | "getProductsByIds" | "getProductsByReferenceKeys" | "getProductsCount" | "fetchAllFiltersForCategory" | "getFilters" | "getProductsByCategory" | "oauthForgetPassword" | "oauthGuestLogin" | "oauthLogin" | "oauthRegister" | "oauthRevokeToken" | "refreshAccessToken" | "updatePasswordByHash" | "addItemToBasket" | "addItemsToBasket" | "getBasket" | "removeItemFromBasket" | "clearBasket" | "mergeBaskets" | "updateBasketItem" | "getApplicablePromotionsByCode" | "updatePromotions" | "getBrands" | "getBrandById" | "getRootCategories" | "getCategoryByPath" | "getCategoriesByPath" | "getCategoryById" | "getCategoryTree" | "getCampaign" | "getCampaignKey" | "getOrderDataByCbd" | "getSearchSuggestions" | "resolveSearch" | "getShopConfiguration" | "getUser" | "fetchUser" | "refreshUser" | "getAccessToken" | "getWishlist" | "addItemToWishlist" | "removeItemFromWishlist" | "clearWishlist" | "getOrderById" | "getOrderCustomData" | "getShopUserAddresses" | "updateShopUser" | "updatePassword" | "getCheckoutToken" | "getVariantById" | "fetchAllNavigationTrees" | "fetchNavigationTreeById" | "fetchNavigationTreeByName" | "getPromotions" | "getCurrentPromotions" | "getPromotionsByIds" | "getExternalIdpRedirect" | "handleIDPLoginCallback")[] | undefined;
63
63
  apiBasePath?: string | undefined;
64
64
  }, false>;
65
65
 
package/dist/module.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scayle/storefront-nuxt",
3
- "version": "8.45.1",
3
+ "version": "8.47.0",
4
4
  "configKey": "storefront",
5
5
  "compatibility": {
6
6
  "nuxt": "^3.9.0"
package/dist/module.mjs CHANGED
@@ -54,7 +54,7 @@ export default {
54
54
  }`;
55
55
  }
56
56
  const PACKAGE_NAME = "@scayle/storefront-nuxt";
57
- const PACKAGE_VERSION = "8.45.1";
57
+ const PACKAGE_VERSION = "8.47.0";
58
58
  const logger = createConsola({
59
59
  fancy: true,
60
60
  formatOptions: {
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * @returns The result of the RPC call or a `Response` object with an error status.
12
12
  */
13
- declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<string | boolean | void | string[] | import("@scayle/storefront-api").Campaign | import("@scayle/storefront-core").ShopUser | Record<string, string> | Response | import("@scayle/storefront-api").Product | import("@scayle/storefront-api").Product[] | import("@scayle/storefront-core").FetchProductsCountResponse | import("@scayle/storefront-core").FetchFiltersResponse | import("@scayle/storefront-core").FetchProductsByCategoryResponse | {
13
+ declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<string | boolean | void | string[] | import("@scayle/storefront-api").Campaign | Record<string, unknown> | import("@scayle/storefront-core").ShopUser | Response | import("@scayle/storefront-api").Product | import("@scayle/storefront-api").Product[] | import("@scayle/storefront-core").FetchProductsCountResponse | import("@scayle/storefront-core").FetchFiltersResponse | import("@scayle/storefront-core").FetchProductsByCategoryResponse | {
14
14
  success: boolean;
15
15
  } | {
16
16
  result: boolean;
@@ -1457,6 +1457,7 @@ declare const ModuleOptionSchema: z.ZodMiniObject<{
1457
1457
  removeItemFromWishlist: "removeItemFromWishlist";
1458
1458
  clearWishlist: "clearWishlist";
1459
1459
  getOrderById: "getOrderById";
1460
+ getOrderCustomData: "getOrderCustomData";
1460
1461
  getShopUserAddresses: "getShopUserAddresses";
1461
1462
  updateShopUser: "updateShopUser";
1462
1463
  updatePassword: "updatePassword";
@@ -15,17 +15,17 @@ declare const moduleRuntimeOptionsFactory: Factory<StorefrontRuntimeConfigType,
15
15
  declare const moduleOptionsFactory: Factory<{
16
16
  rpcDir?: string | undefined;
17
17
  rpcMethodNames?: string[] | undefined;
18
- rpcMethodOverrides?: ("getProductById" | "getProductsByIds" | "getProductsByReferenceKeys" | "getProductsCount" | "fetchAllFiltersForCategory" | "getFilters" | "getProductsByCategory" | "oauthForgetPassword" | "oauthGuestLogin" | "oauthLogin" | "oauthRegister" | "oauthRevokeToken" | "refreshAccessToken" | "updatePasswordByHash" | "addItemToBasket" | "addItemsToBasket" | "getBasket" | "removeItemFromBasket" | "clearBasket" | "mergeBaskets" | "updateBasketItem" | "getApplicablePromotionsByCode" | "updatePromotions" | "getBrands" | "getBrandById" | "getRootCategories" | "getCategoryByPath" | "getCategoriesByPath" | "getCategoryById" | "getCategoryTree" | "getCampaign" | "getCampaignKey" | "getOrderDataByCbd" | "getSearchSuggestions" | "resolveSearch" | "getShopConfiguration" | "getUser" | "fetchUser" | "refreshUser" | "getAccessToken" | "getWishlist" | "addItemToWishlist" | "removeItemFromWishlist" | "clearWishlist" | "getOrderById" | "getShopUserAddresses" | "updateShopUser" | "updatePassword" | "getCheckoutToken" | "getVariantById" | "fetchAllNavigationTrees" | "fetchNavigationTreeById" | "fetchNavigationTreeByName" | "getPromotions" | "getCurrentPromotions" | "getPromotionsByIds" | "getExternalIdpRedirect" | "handleIDPLoginCallback")[] | undefined;
18
+ rpcMethodOverrides?: ("getProductById" | "getProductsByIds" | "getProductsByReferenceKeys" | "getProductsCount" | "fetchAllFiltersForCategory" | "getFilters" | "getProductsByCategory" | "oauthForgetPassword" | "oauthGuestLogin" | "oauthLogin" | "oauthRegister" | "oauthRevokeToken" | "refreshAccessToken" | "updatePasswordByHash" | "addItemToBasket" | "addItemsToBasket" | "getBasket" | "removeItemFromBasket" | "clearBasket" | "mergeBaskets" | "updateBasketItem" | "getApplicablePromotionsByCode" | "updatePromotions" | "getBrands" | "getBrandById" | "getRootCategories" | "getCategoryByPath" | "getCategoriesByPath" | "getCategoryById" | "getCategoryTree" | "getCampaign" | "getCampaignKey" | "getOrderDataByCbd" | "getSearchSuggestions" | "resolveSearch" | "getShopConfiguration" | "getUser" | "fetchUser" | "refreshUser" | "getAccessToken" | "getWishlist" | "addItemToWishlist" | "removeItemFromWishlist" | "clearWishlist" | "getOrderById" | "getOrderCustomData" | "getShopUserAddresses" | "updateShopUser" | "updatePassword" | "getCheckoutToken" | "getVariantById" | "fetchAllNavigationTrees" | "fetchNavigationTreeById" | "fetchNavigationTreeByName" | "getPromotions" | "getCurrentPromotions" | "getPromotionsByIds" | "getExternalIdpRedirect" | "handleIDPLoginCallback")[] | undefined;
19
19
  apiBasePath?: string | undefined;
20
20
  }, any, {
21
21
  rpcDir?: string | undefined;
22
22
  rpcMethodNames?: string[] | undefined;
23
- rpcMethodOverrides?: ("getProductById" | "getProductsByIds" | "getProductsByReferenceKeys" | "getProductsCount" | "fetchAllFiltersForCategory" | "getFilters" | "getProductsByCategory" | "oauthForgetPassword" | "oauthGuestLogin" | "oauthLogin" | "oauthRegister" | "oauthRevokeToken" | "refreshAccessToken" | "updatePasswordByHash" | "addItemToBasket" | "addItemsToBasket" | "getBasket" | "removeItemFromBasket" | "clearBasket" | "mergeBaskets" | "updateBasketItem" | "getApplicablePromotionsByCode" | "updatePromotions" | "getBrands" | "getBrandById" | "getRootCategories" | "getCategoryByPath" | "getCategoriesByPath" | "getCategoryById" | "getCategoryTree" | "getCampaign" | "getCampaignKey" | "getOrderDataByCbd" | "getSearchSuggestions" | "resolveSearch" | "getShopConfiguration" | "getUser" | "fetchUser" | "refreshUser" | "getAccessToken" | "getWishlist" | "addItemToWishlist" | "removeItemFromWishlist" | "clearWishlist" | "getOrderById" | "getShopUserAddresses" | "updateShopUser" | "updatePassword" | "getCheckoutToken" | "getVariantById" | "fetchAllNavigationTrees" | "fetchNavigationTreeById" | "fetchNavigationTreeByName" | "getPromotions" | "getCurrentPromotions" | "getPromotionsByIds" | "getExternalIdpRedirect" | "handleIDPLoginCallback")[] | undefined;
23
+ rpcMethodOverrides?: ("getProductById" | "getProductsByIds" | "getProductsByReferenceKeys" | "getProductsCount" | "fetchAllFiltersForCategory" | "getFilters" | "getProductsByCategory" | "oauthForgetPassword" | "oauthGuestLogin" | "oauthLogin" | "oauthRegister" | "oauthRevokeToken" | "refreshAccessToken" | "updatePasswordByHash" | "addItemToBasket" | "addItemsToBasket" | "getBasket" | "removeItemFromBasket" | "clearBasket" | "mergeBaskets" | "updateBasketItem" | "getApplicablePromotionsByCode" | "updatePromotions" | "getBrands" | "getBrandById" | "getRootCategories" | "getCategoryByPath" | "getCategoriesByPath" | "getCategoryById" | "getCategoryTree" | "getCampaign" | "getCampaignKey" | "getOrderDataByCbd" | "getSearchSuggestions" | "resolveSearch" | "getShopConfiguration" | "getUser" | "fetchUser" | "refreshUser" | "getAccessToken" | "getWishlist" | "addItemToWishlist" | "removeItemFromWishlist" | "clearWishlist" | "getOrderById" | "getOrderCustomData" | "getShopUserAddresses" | "updateShopUser" | "updatePassword" | "getCheckoutToken" | "getVariantById" | "fetchAllNavigationTrees" | "fetchNavigationTreeById" | "fetchNavigationTreeByName" | "getPromotions" | "getCurrentPromotions" | "getPromotionsByIds" | "getExternalIdpRedirect" | "handleIDPLoginCallback")[] | undefined;
24
24
  apiBasePath?: string | undefined;
25
25
  }, fishery.DeepPartialObject<{
26
26
  rpcDir?: string | undefined;
27
27
  rpcMethodNames?: string[] | undefined;
28
- rpcMethodOverrides?: ("getProductById" | "getProductsByIds" | "getProductsByReferenceKeys" | "getProductsCount" | "fetchAllFiltersForCategory" | "getFilters" | "getProductsByCategory" | "oauthForgetPassword" | "oauthGuestLogin" | "oauthLogin" | "oauthRegister" | "oauthRevokeToken" | "refreshAccessToken" | "updatePasswordByHash" | "addItemToBasket" | "addItemsToBasket" | "getBasket" | "removeItemFromBasket" | "clearBasket" | "mergeBaskets" | "updateBasketItem" | "getApplicablePromotionsByCode" | "updatePromotions" | "getBrands" | "getBrandById" | "getRootCategories" | "getCategoryByPath" | "getCategoriesByPath" | "getCategoryById" | "getCategoryTree" | "getCampaign" | "getCampaignKey" | "getOrderDataByCbd" | "getSearchSuggestions" | "resolveSearch" | "getShopConfiguration" | "getUser" | "fetchUser" | "refreshUser" | "getAccessToken" | "getWishlist" | "addItemToWishlist" | "removeItemFromWishlist" | "clearWishlist" | "getOrderById" | "getShopUserAddresses" | "updateShopUser" | "updatePassword" | "getCheckoutToken" | "getVariantById" | "fetchAllNavigationTrees" | "fetchNavigationTreeById" | "fetchNavigationTreeByName" | "getPromotions" | "getCurrentPromotions" | "getPromotionsByIds" | "getExternalIdpRedirect" | "handleIDPLoginCallback")[] | undefined;
28
+ rpcMethodOverrides?: ("getProductById" | "getProductsByIds" | "getProductsByReferenceKeys" | "getProductsCount" | "fetchAllFiltersForCategory" | "getFilters" | "getProductsByCategory" | "oauthForgetPassword" | "oauthGuestLogin" | "oauthLogin" | "oauthRegister" | "oauthRevokeToken" | "refreshAccessToken" | "updatePasswordByHash" | "addItemToBasket" | "addItemsToBasket" | "getBasket" | "removeItemFromBasket" | "clearBasket" | "mergeBaskets" | "updateBasketItem" | "getApplicablePromotionsByCode" | "updatePromotions" | "getBrands" | "getBrandById" | "getRootCategories" | "getCategoryByPath" | "getCategoriesByPath" | "getCategoryById" | "getCategoryTree" | "getCampaign" | "getCampaignKey" | "getOrderDataByCbd" | "getSearchSuggestions" | "resolveSearch" | "getShopConfiguration" | "getUser" | "fetchUser" | "refreshUser" | "getAccessToken" | "getWishlist" | "addItemToWishlist" | "removeItemFromWishlist" | "clearWishlist" | "getOrderById" | "getOrderCustomData" | "getShopUserAddresses" | "updateShopUser" | "updatePassword" | "getCheckoutToken" | "getVariantById" | "fetchAllNavigationTrees" | "fetchNavigationTreeById" | "fetchNavigationTreeByName" | "getPromotions" | "getCurrentPromotions" | "getPromotionsByIds" | "getExternalIdpRedirect" | "handleIDPLoginCallback")[] | undefined;
29
29
  apiBasePath?: string | undefined;
30
30
  }>>;
31
31
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@scayle/storefront-nuxt",
3
3
  "type": "module",
4
- "version": "8.45.1",
4
+ "version": "8.47.0",
5
5
  "description": "Nuxt integration for the SCAYLE Commerce Engine and Storefront API",
6
6
  "author": "SCAYLE Commerce Engine",
7
7
  "license": "MIT",
@@ -73,7 +73,7 @@
73
73
  },
74
74
  "dependencies": {
75
75
  "@opentelemetry/api": "^1.9.0",
76
- "@scayle/h3-session": "0.6.1",
76
+ "@scayle/h3-session": "0.6.2",
77
77
  "@vercel/nft": "0.30.3",
78
78
  "@vueuse/core": "13.9.0",
79
79
  "consola": "^3.2.3",
@@ -90,8 +90,8 @@
90
90
  "utility-types": "^3.11.0",
91
91
  "vue-router": "^4.4.0",
92
92
  "zod": "^4.0.0",
93
- "@scayle/storefront-core": "8.45.1",
94
- "@scayle/unstorage-compression-driver": "1.2.1"
93
+ "@scayle/storefront-core": "8.47.0",
94
+ "@scayle/unstorage-compression-driver": "1.2.2"
95
95
  },
96
96
  "devDependencies": {
97
97
  "@arethetypeswrong/cli": "0.18.2",
@@ -101,31 +101,31 @@
101
101
  "@nuxt/kit": "3.19.3",
102
102
  "@nuxt/module-builder": "1.0.2",
103
103
  "@nuxt/schema": "3.19.3",
104
- "@nuxt/test-utils": "3.19.2",
105
- "@types/node": "22.18.11",
104
+ "@nuxt/test-utils": "3.20.1",
105
+ "@types/node": "22.18.13",
106
106
  "@vitest/coverage-v8": "3.2.4",
107
107
  "dprint": "0.50.2",
108
108
  "eslint-formatter-gitlab": "6.0.1",
109
- "eslint": "9.37.0",
109
+ "eslint": "9.38.0",
110
110
  "fishery": "2.3.1",
111
111
  "h3": "1.15.4",
112
112
  "nitro-test-utils": "0.9.4",
113
- "nitropack": "2.12.7",
113
+ "nitropack": "2.12.8",
114
114
  "node-mocks-http": "1.17.2",
115
115
  "nuxt": "3.19.3",
116
- "publint": "0.3.14",
116
+ "publint": "0.3.15",
117
117
  "typescript": "5.9.3",
118
118
  "unbuild": "3.6.1",
119
119
  "vitest": "3.2.4",
120
- "vue-tsc": "3.1.1",
121
- "happy-dom": "20.0.7",
122
- "@scayle/eslint-config-storefront": "4.7.10",
123
- "@scayle/eslint-plugin-vue-composable": "0.2.1",
120
+ "vue-tsc": "3.1.2",
121
+ "happy-dom": "20.0.8",
122
+ "@scayle/eslint-config-storefront": "4.7.11",
123
+ "@scayle/eslint-plugin-vue-composable": "0.2.2",
124
124
  "@scayle/vitest-config-storefront": "1.0.0",
125
- "@scayle/unstorage-scayle-kv-driver": "2.0.6"
125
+ "@scayle/unstorage-scayle-kv-driver": "2.0.7"
126
126
  },
127
127
  "volta": {
128
- "node": "22.20.0"
128
+ "node": "22.21.0"
129
129
  },
130
130
  "scripts": {
131
131
  "build": "nuxt-module-build build",