@scayle/storefront-nuxt 8.32.1 → 8.33.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # @scayle/storefront-nuxt
2
2
 
3
+ ## 8.33.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependency `@scayle/storefront-core@8.32.0` to `@scayle/storefront-core@workspace:*`
8
+ - Updated dependency `@scayle/unstorage-compression-driver@^1.0.0` to `@scayle/unstorage-compression-driver@workspace:*`
9
+ - Updated dependency `@vueuse/core@13.4.0` to `@vueuse/core@13.5.0`
10
+
11
+ **Dependencies**
12
+
13
+ **@scayle/storefront-core v8.33.1**
14
+
15
+ - Patch
16
+ - Updated dependency `@scayle/storefront-api@18.9.0` to `@scayle/storefront-api@workspace:*`
17
+ - Updated dependency `@scayle/unstorage-scayle-kv-driver@1.0.2` to `@scayle/unstorage-scayle-kv-driver@workspace:*`
18
+
19
+ ## 8.33.0
20
+
21
+ ### Patch Changes
22
+
23
+ **Dependencies**
24
+
25
+ **@scayle/storefront-core v8.33.0**
26
+
27
+ - Minor
28
+
29
+ - Added test factories for order and all related types.
30
+
31
+ It is now possible to build orders with factory functions for testing purposes.
32
+ This will reduce the amount of boilerplate code needed to create test data.
33
+
3
34
  ## 8.32.1
4
35
 
5
36
  ### Patch Changes
@@ -38,23 +69,23 @@
38
69
  - Added `minReduction` and `maxReduction` filter parameters to `FetchProductsByCategoryParams.where` and `FetchFiltersParams.where` types, and updated the `getProductsByCategory` and `getFilters` RPC methods to accept and handle these new reduction-based filtering conditions.
39
70
 
40
71
  ```ts
41
- const { data } = useRpc("getFilters", "getFiltersKey", () => ({
72
+ const { data } = useRpc('getFilters', 'getFiltersKey', () => ({
42
73
  where: {
43
74
  minReduction: 10,
44
75
  maxReduction: 20,
45
76
  },
46
- }));
77
+ }))
47
78
 
48
79
  const { data } = useRpc(
49
- "getProductsByCategory",
50
- "getProductsByCategoryKey",
80
+ 'getProductsByCategory',
81
+ 'getProductsByCategoryKey',
51
82
  () => ({
52
83
  where: {
53
84
  minReduction: 10,
54
85
  maxReduction: 20,
55
86
  },
56
87
  }),
57
- );
88
+ )
58
89
  ```
59
90
 
60
91
  ## 8.30.3
@@ -106,28 +137,28 @@
106
137
 
107
138
  ```ts
108
139
  export const existingHandlerWithoutParams = async (_context: RpcContext) => {
109
- return "existing handler";
110
- };
140
+ return 'existing handler'
141
+ }
111
142
 
112
143
  export const existingHandlerWithParams = async (
113
144
  { name }: { name: string },
114
145
  _context: RpcContext,
115
146
  ) => {
116
- return name;
117
- };
147
+ return name
148
+ }
118
149
 
119
150
  // will become
120
151
 
121
152
  export const existingHandlerWithoutParams = defineRpcHandler(
122
153
  async (_context: RpcContext) => {
123
- return "existing handler";
154
+ return 'existing handler'
124
155
  },
125
- );
156
+ )
126
157
  export const existingHandlerWithParams = defineRpcHandler(
127
158
  async ({ name }: { name: string }, _context: RpcContext) => {
128
- return name;
159
+ return name
129
160
  },
130
- );
161
+ )
131
162
  ```
132
163
 
133
164
  - Patch
@@ -149,15 +180,15 @@
149
180
  - Added an optional `hideEmptyCategories` parameter to `getCategoryTree`. When enabled, the product count for each category is retrieved, and categories (including their children) without any products are removed. Enabling this option may increase response times, especially for large category trees.
150
181
 
151
182
  ```ts
152
- import { rpcMethods } from "@scayle/storefront-core";
183
+ import { rpcMethods } from '@scayle/storefront-core'
153
184
 
154
- rpcMethods.getCategoryTree({ hideEmptyCategories: true }, rpcContext);
185
+ rpcMethods.getCategoryTree({ hideEmptyCategories: true }, rpcContext)
155
186
  ```
156
187
 
157
188
  or
158
189
 
159
190
  ```ts
160
- import { useCategoryTree } from "#storefront/composables";
191
+ import { useCategoryTree } from '#storefront/composables'
161
192
 
162
193
  const { data: rootCategories, status } = useCategoryTree(
163
194
  {
@@ -165,8 +196,8 @@
165
196
  hideEmptyCategories: true,
166
197
  },
167
198
  },
168
- "category-navigation-tree",
169
- );
199
+ 'category-navigation-tree',
200
+ )
170
201
  ```
171
202
 
172
203
  ## 8.28.7
@@ -263,9 +294,9 @@
263
294
  params: {
264
295
  children: 10,
265
296
  includeHidden: true,
266
- properties: { withName: ["sale"] },
297
+ properties: { withName: ['sale'] },
267
298
  },
268
- });
299
+ })
269
300
  ```
270
301
 
271
302
  ### Patch Changes
@@ -436,16 +467,16 @@
436
467
  nitro: {
437
468
  storage: {
438
469
  redis: {
439
- driver: "redis",
440
- host: "localhost",
470
+ driver: 'redis',
471
+ host: 'localhost',
441
472
  },
442
473
  db: {
443
- driver: "fs",
444
- base: "./.data/db",
474
+ driver: 'fs',
475
+ base: './.data/db',
445
476
  },
446
477
  },
447
478
  },
448
- });
479
+ })
449
480
  ```
450
481
 
451
482
  With the introduction of the new approach for configuring storefront storage mounts, the global and shop-specific `storage` option within the `@scayle/storefront-nuxt` runtime configuration has been deprecated.
@@ -518,9 +549,9 @@
518
549
  ```typescript
519
550
  const idp = useIDP({
520
551
  authUrlParameters: {
521
- theme: "dark",
552
+ theme: 'dark',
522
553
  },
523
- });
554
+ })
524
555
  ```
525
556
 
526
557
  ### Patch Changes
@@ -662,11 +693,11 @@
662
693
  storefront: {
663
694
  redirects: {
664
695
  enabled: true,
665
- strategy: "on-missing",
696
+ strategy: 'on-missing',
666
697
  },
667
698
  },
668
699
  },
669
- });
700
+ })
670
701
  ```
671
702
 
672
703
  Also, keep in mind that when this option is enabled, the redirect logic will only be executed when the request would otherwise result in a 404. There are three ways in which a 404 can occur.
@@ -680,7 +711,7 @@
680
711
  If the request handler returns a `Response` object with a `status` of 404, a 404 response will be returned to the client.
681
712
 
682
713
  ```typescript
683
- return new Response(null, { status: 404 });
714
+ return new Response(null, { status: 404 })
684
715
  ```
685
716
 
686
717
  3. Thrown H3Error with 404 status
@@ -688,8 +719,8 @@
688
719
  If the request handler throws an H3Error with a `statusCode` 404, a 404 response will be returned to the client.
689
720
 
690
721
  ```typescript
691
- import { createError } from "h3";
692
- throw createError({ statusCode: 404 });
722
+ import { createError } from 'h3'
723
+ throw createError({ statusCode: 404 })
693
724
  ```
694
725
 
695
726
  ### Patch Changes
@@ -1131,28 +1162,28 @@
1131
1162
  **rpc-methods.ts**
1132
1163
 
1133
1164
  ```typescript
1134
- import type { RpcContext, RpcHandler } from "@scayle/storefront-nuxt";
1165
+ import type { RpcContext, RpcHandler } from '@scayle/storefront-nuxt'
1135
1166
 
1136
1167
  export const foo: RpcHandler<string, number> = function testing(
1137
1168
  param: string,
1138
1169
  _: RpcContext,
1139
1170
  ) {
1140
- return param.length;
1141
- };
1171
+ return param.length
1172
+ }
1142
1173
  ```
1143
1174
 
1144
1175
  **module.ts**
1145
1176
 
1146
1177
  ```typescript
1147
1178
  function setup() {
1148
- const resolver = createResolver(import.meta.url);
1179
+ const resolver = createResolver(import.meta.url)
1149
1180
 
1150
- nuxt.hook("storefront:custom-rpc:extend", (customRpcImports) => {
1181
+ nuxt.hook('storefront:custom-rpc:extend', (customRpcImports) => {
1151
1182
  customRpcImports.push({
1152
- source: resolver.resolve("./rpc-methods.ts"),
1153
- names: ["foo"],
1154
- });
1155
- });
1183
+ source: resolver.resolve('./rpc-methods.ts'),
1184
+ names: ['foo'],
1185
+ })
1186
+ })
1156
1187
  }
1157
1188
  ```
1158
1189
 
@@ -1374,23 +1405,23 @@
1374
1405
  storefront: {
1375
1406
  // ...
1376
1407
  redis: {
1377
- host: "localhost",
1408
+ host: 'localhost',
1378
1409
  port: 6379,
1379
- prefix: "",
1380
- user: "",
1381
- password: "",
1410
+ prefix: '',
1411
+ user: '',
1412
+ password: '',
1382
1413
  sslTransit: false,
1383
1414
  },
1384
1415
  // ...
1385
1416
  session: {
1386
1417
  // ...
1387
- provider: "redis",
1418
+ provider: 'redis',
1388
1419
  },
1389
1420
  },
1390
1421
  // ...
1391
1422
  },
1392
1423
  // ...
1393
- });
1424
+ })
1394
1425
  ```
1395
1426
 
1396
1427
  - _Current Unified Storage Approach (`nuxt.config.ts`):_
@@ -1404,13 +1435,13 @@
1404
1435
  // ...
1405
1436
  storage: {
1406
1437
  cache: {
1407
- driver: "redis",
1408
- host: "localhost",
1438
+ driver: 'redis',
1439
+ host: 'localhost',
1409
1440
  port: 6379,
1410
1441
  },
1411
1442
  session: {
1412
- driver: "redis",
1413
- host: "localhost",
1443
+ driver: 'redis',
1444
+ host: 'localhost',
1414
1445
  port: 6379,
1415
1446
  },
1416
1447
  // ...
@@ -1420,7 +1451,7 @@
1420
1451
  // ...
1421
1452
  },
1422
1453
  // ...
1423
- });
1454
+ })
1424
1455
  ```
1425
1456
 
1426
1457
  - **\[💥 BREAKING\]** The composable `useSearch` has been replaced by `useStorefrontSearch`, consolidating and transitioning to SCAYLE Search v2.
@@ -1487,9 +1518,9 @@
1487
1518
 
1488
1519
  ```ts
1489
1520
  const { activeFilters, applyFilters, resetFilterUrl, productConditions } =
1490
- useQueryFilterState();
1521
+ useQueryFilterState()
1491
1522
 
1492
- applyFilters({ brand: 23, sale: true, maxPrice: 100, minPrice: 0 });
1523
+ applyFilters({ brand: 23, sale: true, maxPrice: 100, minPrice: 0 })
1493
1524
  ```
1494
1525
 
1495
1526
  - _Current Usage of `useFilter` and `useAppliedFilters`:_
@@ -1502,20 +1533,20 @@
1502
1533
  resetFilters,
1503
1534
  resetPriceFilter,
1504
1535
  resetFilter,
1505
- } = useFilter();
1536
+ } = useFilter()
1506
1537
 
1507
- applyPriceFilter([0, 100]);
1508
- applyBooleanFilter("sale", true);
1509
- applyAttributeFilter("brand", 23);
1538
+ applyPriceFilter([0, 100])
1539
+ applyBooleanFilter('sale', true)
1540
+ applyAttributeFilter('brand', 23)
1510
1541
 
1511
- const route = useRoute();
1542
+ const route = useRoute()
1512
1543
  const {
1513
1544
  appliedFilter,
1514
1545
  appliedFiltersCount,
1515
1546
  appliedAttributeValues,
1516
1547
  appliedBooleanValues,
1517
1548
  areFiltersApplied,
1518
- } = useAppliedFilters(route);
1549
+ } = useAppliedFilters(route)
1519
1550
  ```
1520
1551
 
1521
1552
  - **\[💥 BREAKING\]** The `getBadgeLabel` helper function has been removed, giving you more control over badge label display.
@@ -1525,43 +1556,43 @@
1525
1556
 
1526
1557
  ```ts
1527
1558
  const BadgeLabel = {
1528
- NEW: "new",
1529
- SOLD_OUT: "sold_out",
1530
- ONLINE_EXCLUSIVE: "online_exclusive",
1531
- SUSTAINABLE: "sustainable",
1532
- PREMIUM: "premium",
1533
- DEFAULT: "",
1534
- } as const;
1559
+ NEW: 'new',
1560
+ SOLD_OUT: 'sold_out',
1561
+ ONLINE_EXCLUSIVE: 'online_exclusive',
1562
+ SUSTAINABLE: 'sustainable',
1563
+ PREMIUM: 'premium',
1564
+ DEFAULT: '',
1565
+ } as const
1535
1566
 
1536
1567
  type BadgeLabelParamsKeys =
1537
- | "isNew"
1538
- | "isSoldOut"
1539
- | "isOnlineOnly"
1540
- | "isSustainable"
1541
- | "isPremium";
1542
- type BadgeLabelParams = Partial<Record<BadgeLabelParamsKeys, boolean>>;
1568
+ | 'isNew'
1569
+ | 'isSoldOut'
1570
+ | 'isOnlineOnly'
1571
+ | 'isSustainable'
1572
+ | 'isPremium'
1573
+ type BadgeLabelParams = Partial<Record<BadgeLabelParamsKeys, boolean>>
1543
1574
 
1544
1575
  const getBadgeLabel = (params: BadgeLabelParams = {}): string => {
1545
1576
  if (!params) {
1546
- return BadgeLabel.DEFAULT;
1577
+ return BadgeLabel.DEFAULT
1547
1578
  }
1548
1579
  const { isNew, isSoldOut, isOnlineOnly, isSustainable, isPremium } =
1549
- params;
1580
+ params
1550
1581
 
1551
1582
  if (isNew) {
1552
- return BadgeLabel.NEW;
1583
+ return BadgeLabel.NEW
1553
1584
  } else if (isSoldOut) {
1554
- return BadgeLabel.SOLD_OUT;
1585
+ return BadgeLabel.SOLD_OUT
1555
1586
  } else if (isOnlineOnly) {
1556
- return BadgeLabel.ONLINE_EXCLUSIVE;
1587
+ return BadgeLabel.ONLINE_EXCLUSIVE
1557
1588
  } else if (isSustainable) {
1558
- return BadgeLabel.SUSTAINABLE;
1589
+ return BadgeLabel.SUSTAINABLE
1559
1590
  } else if (isPremium) {
1560
- return BadgeLabel.PREMIUM;
1591
+ return BadgeLabel.PREMIUM
1561
1592
  } else {
1562
- return BadgeLabel.DEFAULT;
1593
+ return BadgeLabel.DEFAULT
1563
1594
  }
1564
- };
1595
+ }
1565
1596
  ```
1566
1597
 
1567
1598
  - **\[💥 BREAKING\]** The `store` option in the module configuration has been removed. `œscayle/storefront-nuxt@7.84.0` introduced the `shops` option as a replacement, but maintained backward compatibility with the `store` option. Going forward, configuring shops must be done using the `shops` keyword.
@@ -1585,7 +1616,7 @@
1585
1616
  // ...
1586
1617
  },
1587
1618
  // ...
1588
- });
1619
+ })
1589
1620
  ```
1590
1621
 
1591
1622
  - _Previous Environment Variables for Store Configuration:_
@@ -1614,7 +1645,7 @@
1614
1645
  // ...
1615
1646
  },
1616
1647
  // ...
1617
- });
1648
+ })
1618
1649
  ```
1619
1650
 
1620
1651
  - _Current Environment Variables for Shops Configuration:_
@@ -1634,8 +1665,8 @@
1634
1665
  ```ts
1635
1666
  useProduct({
1636
1667
  // ...
1637
- key: "productKey",
1638
- });
1668
+ key: 'productKey',
1669
+ })
1639
1670
  ```
1640
1671
 
1641
1672
  - _Current `key` as dedicated composables argument:_
@@ -1645,8 +1676,8 @@
1645
1676
  {
1646
1677
  // ...
1647
1678
  },
1648
- "productKey",
1649
- );
1679
+ 'productKey',
1680
+ )
1650
1681
  ```
1651
1682
 
1652
1683
  - **\[💥 BREAKING\]** Introducing a new feature flag `storefront.legacy.enableSessionMigration` to control the automatic migration of legacy session data, set to `false` by default. Starting with `@scayle/storefront-nuxt@7.68.0` Storefront uses unique session cookie names for each shop, simplifying implementation and enhancing stability.
@@ -1663,27 +1694,27 @@
1663
1694
  - _Previous Usage of `handleIDPLoginCallback`:_
1664
1695
 
1665
1696
  ```ts
1666
- const { handleIDPLoginCallback } = await useIDP();
1697
+ const { handleIDPLoginCallback } = await useIDP()
1667
1698
 
1668
1699
  watch(
1669
1700
  () => route.query,
1670
1701
  async (query) => {
1671
1702
  if (query.code && isString(query.code)) {
1672
- await handleIDPLoginCallback(query.code);
1703
+ await handleIDPLoginCallback(query.code)
1673
1704
  }
1674
1705
  },
1675
1706
  { immediate: true },
1676
- );
1707
+ )
1677
1708
  ```
1678
1709
 
1679
1710
  - _Current Usage of `loginIDP`:_
1680
1711
 
1681
1712
  ```ts
1682
- const { loginIDP } = useAuthentication("login");
1713
+ const { loginIDP } = useAuthentication('login')
1683
1714
 
1684
1715
  onMounted(async () => {
1685
- await loginIDP(props.code);
1686
- });
1716
+ await loginIDP(props.code)
1717
+ })
1687
1718
  ```
1688
1719
 
1689
1720
  - **\[🧹 NON-BREAKING\]** Addressed various type resolution errors that were present when using the `@scayle/storefront-nuxt` package with different Node.js versions and module systems. These errors manifested as internal resolution errors or ESM dynamic import only warnings. With this fix, the package now more consistently resolves types correctly across Node.js 16 (CJS and ESM), and bundlers, ensuring a smoother developer experience.
@@ -1693,17 +1724,17 @@
1693
1724
  - _Previous `useRpc` with `autoFetch`:_
1694
1725
 
1695
1726
  ```ts
1696
- useRpc("rpcMethod", key, params, { autoFetch: true });
1727
+ useRpc('rpcMethod', key, params, { autoFetch: true })
1697
1728
 
1698
- useUser({ autoFetch: true });
1729
+ useUser({ autoFetch: true })
1699
1730
  ```
1700
1731
 
1701
1732
  - _Current `useRpc` with `immediate`:_
1702
1733
 
1703
1734
  ```ts
1704
- useRpc("rpcMethod", key, params, { immediate: true });
1735
+ useRpc('rpcMethod', key, params, { immediate: true })
1705
1736
 
1706
- useUser({ immediate: true });
1737
+ useUser({ immediate: true })
1707
1738
  ```
1708
1739
 
1709
1740
  - **\[💥 BREAKING\]** The attribute `isCmsPreview` has been removed from `RpcContext`.
@@ -1723,18 +1754,18 @@
1723
1754
  getSearchSuggestions,
1724
1755
  fetching,
1725
1756
  ...searchData
1726
- } = useStorefrontSearch(searchQuery, { key });
1757
+ } = useStorefrontSearch(searchQuery, { key })
1727
1758
 
1728
- fetching.value; // true or false
1759
+ fetching.value // true or false
1729
1760
  ```
1730
1761
 
1731
1762
  - _Current `useStorefrontSearch` returning `status`:_
1732
1763
 
1733
1764
  ```ts
1734
1765
  const { data, resolveSearch, getSearchSuggestions, status, ...searchData } =
1735
- useStorefrontSearch(searchQuery, {}, key);
1766
+ useStorefrontSearch(searchQuery, {}, key)
1736
1767
 
1737
- status.value; // 'idle', 'pending', 'error' or 'success'
1768
+ status.value // 'idle', 'pending', 'error' or 'success'
1738
1769
  ```
1739
1770
 
1740
1771
  - **\[💥 BREAKING\]** We've simplified composable caching and clarified the control you have over shared state behavior. The configuration option `disableDefaultGetCachedDataOverride` has been replaced with `legacy.enableDefaultGetCachedDataOverride`, and its logic has been reversed. Now, when `legacy.enableDefaultGetCachedDataOverride` is not set or set to `false`, the default behavior maintains the shared state functionality of `useRpc`, where multiple calls with the same key use the same cached data. Setting the option to `true` bypasses this shared caching, providing data isolation between calls. To maintain your existing caching behavior, simply change the value of `disableDefaultGetCachedDataOverride` to its opposite in your `nuxt.config.ts` file.
@@ -1759,7 +1790,7 @@
1759
1790
  // ...
1760
1791
  },
1761
1792
  // ...
1762
- });
1793
+ })
1763
1794
  ```
1764
1795
 
1765
1796
  - _Current `enableDefaultGetCachedDataOverride`in `nuxt.config.ts`:_
@@ -1784,7 +1815,7 @@
1784
1815
  // ...
1785
1816
  },
1786
1817
  // ...
1787
- });
1818
+ })
1788
1819
  ```
1789
1820
 
1790
1821
  - **\[💥 BREAKING\]** The `useRpc` composable has been updated to provide a more modern and robust data fetching experience, aligning its interface with the current and underlying [Nuxt 3 `useAsyncData`.](https://nuxt.com/docs/api/composables/use-async-data#return-values).
@@ -1806,7 +1837,7 @@
1806
1837
  function myCustomRpc() {
1807
1838
  // ...
1808
1839
 
1809
- throw new BaseError(404);
1840
+ throw new BaseError(404)
1810
1841
  }
1811
1842
  ```
1812
1843
 
@@ -1816,7 +1847,7 @@
1816
1847
  function myCustomRpc() {
1817
1848
  // ...
1818
1849
 
1819
- return new Response(null, { status: 404 });
1850
+ return new Response(null, { status: 404 })
1820
1851
  }
1821
1852
  ```
1822
1853
 
package/dist/module.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scayle/storefront-nuxt",
3
- "version": "8.32.1",
3
+ "version": "8.33.1",
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.32.1";
57
+ const PACKAGE_VERSION = "8.33.1";
58
58
  const logger = createConsola({
59
59
  fancy: true,
60
60
  formatOptions: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@scayle/storefront-nuxt",
3
3
  "type": "module",
4
- "version": "8.32.1",
4
+ "version": "8.33.1",
5
5
  "description": "Nuxt integration for the SCAYLE Commerce Engine and Storefront API",
6
6
  "author": "SCAYLE Commerce Engine",
7
7
  "license": "MIT",
@@ -61,13 +61,21 @@
61
61
  "engines": {
62
62
  "node": ">= 20.7.0"
63
63
  },
64
+ "peerDependencies": {
65
+ "@nuxt/kit": ">=3.12.2",
66
+ "@scayle/storefront-api": "^18.1.0",
67
+ "fishery": "^2.2.2",
68
+ "h3": "^1.10.0",
69
+ "nitropack": "^2.9.7",
70
+ "nuxt": ">=3.10.0",
71
+ "unstorage": "^1.10.1",
72
+ "vue": "^3.4.0"
73
+ },
64
74
  "dependencies": {
65
75
  "@opentelemetry/api": "^1.9.0",
66
76
  "@scayle/h3-session": "0.6.1",
67
- "@scayle/storefront-core": "8.32.1",
68
- "@scayle/unstorage-compression-driver": "^1.0.0",
69
77
  "@vercel/nft": "0.29.4",
70
- "@vueuse/core": "13.4.0",
78
+ "@vueuse/core": "13.5.0",
71
79
  "consola": "^3.2.3",
72
80
  "core-js": "^3.37.1",
73
81
  "defu": "^6.1.4",
@@ -81,24 +89,23 @@
81
89
  "unstorage": "^1.10.2",
82
90
  "utility-types": "^3.11.0",
83
91
  "vue-router": "^4.4.0",
84
- "zod": "^3.23.8"
92
+ "zod": "^3.23.8",
93
+ "@scayle/storefront-core": "8.33.1",
94
+ "@scayle/unstorage-compression-driver": "1.0.0"
85
95
  },
86
96
  "devDependencies": {
87
97
  "@arethetypeswrong/cli": "0.18.2",
88
98
  "@eslint/eslintrc": "3.3.1",
89
- "@nuxt/eslint": "1.5.0",
99
+ "@nuxt/eslint": "1.5.2",
90
100
  "@nuxt/kit": "3.16.2",
91
101
  "@nuxt/module-builder": "1.0.1",
92
102
  "@nuxt/schema": "3.16.2",
93
103
  "@nuxt/test-utils": "3.19.2",
94
- "@scayle/eslint-config-storefront": "4.5.12",
95
- "@scayle/eslint-plugin-vue-composable": "0.2.1",
96
- "@scayle/unstorage-scayle-kv-driver": "1.0.2",
97
- "@types/node": "22.15.34",
104
+ "@types/node": "22.16.0",
98
105
  "@vitest/coverage-v8": "3.2.4",
99
106
  "dprint": "0.50.1",
100
107
  "eslint-formatter-gitlab": "6.0.1",
101
- "eslint": "9.30.0",
108
+ "eslint": "9.30.1",
102
109
  "fishery": "2.3.1",
103
110
  "h3": "1.15.3",
104
111
  "nitro-test-utils": "0.9.2",
@@ -109,17 +116,10 @@
109
116
  "typescript": "5.8.3",
110
117
  "unbuild": "3.5.0",
111
118
  "vitest": "3.2.4",
112
- "vue-tsc": "2.2.10"
113
- },
114
- "peerDependencies": {
115
- "@nuxt/kit": ">=3.12.2",
116
- "@scayle/storefront-api": "^18.1.0",
117
- "fishery": "^2.2.2",
118
- "h3": "^1.10.0",
119
- "nitropack": "^2.9.7",
120
- "nuxt": ">=3.10.0",
121
- "unstorage": "^1.10.1",
122
- "vue": "^3.4.0"
119
+ "vue-tsc": "3.0.1",
120
+ "@scayle/eslint-config-storefront": "4.5.12",
121
+ "@scayle/eslint-plugin-vue-composable": "0.2.1",
122
+ "@scayle/unstorage-scayle-kv-driver": "1.0.2"
123
123
  },
124
124
  "volta": {
125
125
  "node": "22.17.0"