@scayle/storefront-nuxt 8.9.1 → 8.10.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,156 @@
|
|
|
1
1
|
# @scayle/storefront-nuxt
|
|
2
2
|
|
|
3
|
+
## 8.10.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Remove explicit inline external for runtime helpers
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependency `@vueuse/core@12.6.1` to `@vueuse/core@12.7.0`
|
|
12
|
+
|
|
13
|
+
## 8.9.2
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Deprecate `key`, `packages`, `shippingDates`, `isEmpty`, `countWithoutSoldOutItems`, `removeItem`, `contains`, `findItem`, `products`, `generateBasketKey` and `mergeBaskets` from `useBasket`.
|
|
18
|
+
|
|
19
|
+
Required updates:
|
|
20
|
+
|
|
21
|
+
- `key`:
|
|
22
|
+
|
|
23
|
+
```TypeScript
|
|
24
|
+
const { key } = useBasket()
|
|
25
|
+
|
|
26
|
+
// will become
|
|
27
|
+
|
|
28
|
+
const { data } = useBasket()
|
|
29
|
+
const key = computed(() => data.value.key)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
- `packages`:
|
|
33
|
+
|
|
34
|
+
```TypeScript
|
|
35
|
+
const { packages } = useBasket()
|
|
36
|
+
|
|
37
|
+
// will become
|
|
38
|
+
|
|
39
|
+
const { data } = useBasket()
|
|
40
|
+
const packages = computed(() => data.value.packages)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
- `shippingDates`:
|
|
44
|
+
|
|
45
|
+
```TypeScript
|
|
46
|
+
const { shippingDates } = useBasket()
|
|
47
|
+
|
|
48
|
+
// will become
|
|
49
|
+
import { getShippingDates } from '@scayle/storefront-nuxt'
|
|
50
|
+
const { data } = useBasket()
|
|
51
|
+
const shippingDates = computed(() => shippingDates(data.value.packages))
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
- `isEmpty`:
|
|
55
|
+
|
|
56
|
+
```TypeScript
|
|
57
|
+
const { isEmpty } = useBasket()
|
|
58
|
+
|
|
59
|
+
// will become
|
|
60
|
+
|
|
61
|
+
const { count } = useBasket()
|
|
62
|
+
const isEmpty = computed(() => count.value === 0)
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
- `countWithoutSoldOutItems`:
|
|
66
|
+
|
|
67
|
+
```TypeScript
|
|
68
|
+
const { countWithoutSoldOutItems } = useBasket()
|
|
69
|
+
|
|
70
|
+
// will become
|
|
71
|
+
|
|
72
|
+
import { countAvailableBasketItems } from '#storefront-basket'
|
|
73
|
+
const { items } = useBasket()
|
|
74
|
+
const isEmpty = computed(() => countAvailableBasketItems(items.value ?? []))
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
- `products`:
|
|
78
|
+
|
|
79
|
+
```TypeScript
|
|
80
|
+
const { products } = useBasket()
|
|
81
|
+
|
|
82
|
+
// will become
|
|
83
|
+
|
|
84
|
+
import { findItem } from '#storefront-basket'
|
|
85
|
+
const { items } = useBasket()
|
|
86
|
+
const products = computed(() => items.value?.map((item) => item.product))
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
- `removeItem`:
|
|
90
|
+
|
|
91
|
+
```TypeScript
|
|
92
|
+
const { removeItem, items } = useBasket()
|
|
93
|
+
removeItem({ variantId: items.value[0].variant.id })
|
|
94
|
+
|
|
95
|
+
// will become
|
|
96
|
+
|
|
97
|
+
const { removeItemByKey, items } = useBasket()
|
|
98
|
+
removeItemByKey(items.value[0].key)
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
- `contains`:
|
|
102
|
+
|
|
103
|
+
```TypeScript
|
|
104
|
+
const { contains } = useBasket()
|
|
105
|
+
const isInBasket = contains({ variantId: 1 })
|
|
106
|
+
|
|
107
|
+
// will become
|
|
108
|
+
|
|
109
|
+
import { contains } from '#storefront-basket'
|
|
110
|
+
const { items } = useBasket()
|
|
111
|
+
const isInBasket = contains({ variantId: 1 }, items.value ?? [])
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
- `findItem`:
|
|
115
|
+
|
|
116
|
+
```TypeScript
|
|
117
|
+
const { findItem } = useBasket()
|
|
118
|
+
const basketItem = findItem({ variantId: 1 })
|
|
119
|
+
|
|
120
|
+
// will become
|
|
121
|
+
|
|
122
|
+
import { findItem } from '#storefront-basket'
|
|
123
|
+
const { items } = useBasket()
|
|
124
|
+
const basketItem = findItem({ variantId: 1 }, items.value ?? [])
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
- `generateBasketKey`:
|
|
128
|
+
|
|
129
|
+
```TypeScript
|
|
130
|
+
const { generateBasketKey } = useBasket()
|
|
131
|
+
|
|
132
|
+
// will become
|
|
133
|
+
|
|
134
|
+
import { generateBasketKey } from '@scayle/storefront-core/dist/utils/keys'
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
- `generateBasketKey`:
|
|
138
|
+
|
|
139
|
+
```TypeScript
|
|
140
|
+
const { mergeBaskets } = useBasket()
|
|
141
|
+
mergeBaskets('oldKey', 'newKey')
|
|
142
|
+
// will become
|
|
143
|
+
|
|
144
|
+
const mergeBasket = useRpcCall('mergeBaskets')
|
|
145
|
+
mergeBaskets('oldKey', 'newKey')
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
- Improve bootstrap performance by avoiding object merge and reflection
|
|
149
|
+
|
|
150
|
+
**Dependencies**
|
|
151
|
+
|
|
152
|
+
- Updated dependency to @scayle/storefront-core@8.7.0
|
|
153
|
+
|
|
3
154
|
## 8.9.1
|
|
4
155
|
|
|
5
156
|
### Patch Changes
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -45,7 +45,7 @@ export default {
|
|
|
45
45
|
}`;
|
|
46
46
|
}
|
|
47
47
|
const PACKAGE_NAME = "@scayle/storefront-nuxt";
|
|
48
|
-
const PACKAGE_VERSION = "8.
|
|
48
|
+
const PACKAGE_VERSION = "8.10.0";
|
|
49
49
|
const logger = createConsola({
|
|
50
50
|
fancy: true,
|
|
51
51
|
formatOptions: {
|
|
@@ -83,34 +83,6 @@ function createRpcMethodTypeDeclaration(customRpcImports) {
|
|
|
83
83
|
function nitroSetup(nitroConfig, config) {
|
|
84
84
|
const { resolve } = createResolver(import.meta.url);
|
|
85
85
|
const { apiBasePath, customRpcImports, coreMethodNames, usedDrivers } = config;
|
|
86
|
-
nitroConfig.externals = nitroConfig.externals || {};
|
|
87
|
-
nitroConfig.externals.inline = nitroConfig.externals.inline || [];
|
|
88
|
-
const runtimePaths = [
|
|
89
|
-
"handler",
|
|
90
|
-
"error/handler",
|
|
91
|
-
"campaignKey",
|
|
92
|
-
"cached",
|
|
93
|
-
"context",
|
|
94
|
-
"createLog",
|
|
95
|
-
"log",
|
|
96
|
-
"api/cacheAuth",
|
|
97
|
-
"rpc/rpcCall",
|
|
98
|
-
"rpc/rpcRequest",
|
|
99
|
-
"server/middleware/oauth",
|
|
100
|
-
"server/middleware/redirects",
|
|
101
|
-
"server/middleware/cache",
|
|
102
|
-
"server/utils/cacheStorage",
|
|
103
|
-
"utils/zodSchema",
|
|
104
|
-
"nitro/plugins/cacheRuntimeConfig",
|
|
105
|
-
"nitro/plugins/nitroLogger",
|
|
106
|
-
"nitro/plugins/nitroRuntimeStorageConfig",
|
|
107
|
-
"nitro/plugins/nitroSetXPoweredByHeader",
|
|
108
|
-
"nitro/plugins/configValidation"
|
|
109
|
-
];
|
|
110
|
-
runtimePaths.forEach((path) => {
|
|
111
|
-
const file = resolve(`./runtime/${path}`);
|
|
112
|
-
nitroConfig.externals?.inline?.push(file);
|
|
113
|
-
});
|
|
114
86
|
nitroConfig.replace = nitroConfig.replace || {};
|
|
115
87
|
nitroConfig.replace["process.env.SFC_OMIT_MD5"] = stringToBoolean(
|
|
116
88
|
process.env.SFC_OMIT_MD5
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { generateBasketKey } from '@scayle/storefront-core/dist/utils/keys';
|
|
1
2
|
import type { AddOrUpdateItemType, RpcMethodParameters, RpcMethodReturnType, BasketItem, Product, BasketTotalPrice } from '@scayle/storefront-core';
|
|
2
3
|
import { ExistingItemHandling } from '@scayle/storefront-core';
|
|
3
4
|
import { type NormalizedRpcResponse, type UseRpcReturn } from '../core/useRpc.js';
|
|
@@ -15,34 +16,46 @@ type UseBasketBaseReturn = Omit<Awaited<UseRpcReturn<'getBasket'>>, 'data'> & {
|
|
|
15
16
|
existingItemHandling?: ExistingItemHandling;
|
|
16
17
|
}) => Promise<void>;
|
|
17
18
|
addItems: (items: AddOrUpdateItemType[], existingItemHandling?: typeof ExistingItemHandling.ADD_QUANTITY_TO_EXISTING) => Promise<void>;
|
|
19
|
+
removeItemByKey: (itemKey: string) => Promise<void>;
|
|
20
|
+
updateItem: (basketItemKey: string, update: BasketItemUpdateData) => Promise<void>;
|
|
21
|
+
clear: () => Promise<void>;
|
|
22
|
+
items: ComputedRef<BasketItem[] | undefined>;
|
|
23
|
+
cost: ComputedRef<BasketTotalPrice | undefined>;
|
|
24
|
+
count: ComputedRef<number | undefined>;
|
|
25
|
+
/** @deprecated In a future release `mergeBaskets` will be removed. Consider using `useRpcCall('mergeBaskets')` instead.*/
|
|
18
26
|
mergeBaskets: (args: {
|
|
19
27
|
fromBasketKey: string;
|
|
20
28
|
toBasketKey: string;
|
|
21
29
|
}) => RpcMethodReturnType<'mergeBaskets'>;
|
|
30
|
+
/** @deprecated In a future release `findItem` will be removed. Consider using `findItem` from `@scayle/storefront-basket` */
|
|
22
31
|
findItem: (item: {
|
|
23
32
|
variantId: number;
|
|
24
33
|
} | {
|
|
25
34
|
productId: number;
|
|
26
35
|
}) => BasketItem | undefined;
|
|
36
|
+
/** @deprecated In a future release `contains` will be removed. Consider using `contains` from `@scayle/storefront-basket` */
|
|
27
37
|
contains: (item: {
|
|
28
38
|
variantId: number;
|
|
29
39
|
} | {
|
|
30
40
|
productId: number;
|
|
31
41
|
}) => boolean;
|
|
42
|
+
/** @deprecated In a future release `removeItem` will be removed. Consider using {@link UseBasketBaseReturn.removeItemByKey | removeItemByKey } instead*/
|
|
32
43
|
removeItem: (item: {
|
|
33
44
|
variantId: number;
|
|
34
45
|
}) => Promise<void>;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
46
|
+
/** @deprecated In a future release `generateBasketKey` will be removed. Consider using {@link generateBasketKey} instead.*/
|
|
47
|
+
generateBasketKey: typeof generateBasketKey;
|
|
48
|
+
/** @deprecated In a future release `key` will be removed. Consider using {@link UseBasketBaseReturn.items | `items`} instead. */
|
|
38
49
|
products: ComputedRef<Product[]>;
|
|
39
|
-
|
|
50
|
+
/** @deprecated In a future removeItem `countWithoutSoldOutItems` will be removed. Consider using `countAvailableBasketItems` from `@scayle/storefront-basket` */
|
|
40
51
|
countWithoutSoldOutItems: ComputedRef<number | undefined>;
|
|
41
|
-
|
|
42
|
-
cost: ComputedRef<BasketTotalPrice | undefined>;
|
|
52
|
+
/** @deprecated In a future release `key` will be removed. Consider using `data.value.key` instead. */
|
|
43
53
|
key: ComputedRef<BasketKey | undefined>;
|
|
54
|
+
/** @deprecated In a future release `key` will be removed. Consider checking {@link UseBasketBaseReturn.count | count} instead. */
|
|
44
55
|
isEmpty: ComputedRef<boolean>;
|
|
56
|
+
/** @deprecated In a future release `packages` will be removed. Consider using `data.value.packages` instead. */
|
|
45
57
|
packages: ComputedRef<BasketPackageInformation[] | undefined>;
|
|
58
|
+
/** @deprecated In a future release `shippingDates` will be removed. Consider using {@link getShippingDates} instead. */
|
|
46
59
|
shippingDates: ComputedRef<(string | null)[] | undefined>;
|
|
47
60
|
};
|
|
48
61
|
export declare function useBasket({ params, }?: UseBasketOptions, key?: string): UseBasketBaseReturn & Promise<UseBasketBaseReturn>;
|
|
@@ -207,26 +207,26 @@ export function useBasket({
|
|
|
207
207
|
return extendPromise(asyncData, {
|
|
208
208
|
data,
|
|
209
209
|
items,
|
|
210
|
+
count,
|
|
210
211
|
cost,
|
|
211
|
-
key: basketKey,
|
|
212
|
-
packages,
|
|
213
|
-
shippingDates,
|
|
214
|
-
isEmpty,
|
|
215
212
|
refresh,
|
|
216
|
-
|
|
217
|
-
|
|
213
|
+
error,
|
|
214
|
+
status,
|
|
218
215
|
addItem,
|
|
219
216
|
addItems,
|
|
220
|
-
removeItem,
|
|
221
217
|
removeItemByKey,
|
|
222
218
|
updateItem,
|
|
223
219
|
clear,
|
|
220
|
+
key: basketKey,
|
|
221
|
+
packages,
|
|
222
|
+
shippingDates,
|
|
223
|
+
isEmpty,
|
|
224
|
+
countWithoutSoldOutItems,
|
|
225
|
+
removeItem,
|
|
224
226
|
contains,
|
|
225
227
|
products,
|
|
226
228
|
findItem,
|
|
227
229
|
generateBasketKey,
|
|
228
|
-
mergeBaskets
|
|
229
|
-
error,
|
|
230
|
-
status
|
|
230
|
+
mergeBaskets
|
|
231
231
|
});
|
|
232
232
|
}
|
package/dist/runtime/context.js
CHANGED
|
@@ -28,58 +28,8 @@ async function getBasketKey(appKeys, session, $log, $shopConfig) {
|
|
|
28
28
|
log: $log
|
|
29
29
|
}) : session?.id;
|
|
30
30
|
}
|
|
31
|
-
async function sessionProperties(context) {
|
|
32
|
-
const { $shopConfig, $storefront, $log, session } = context;
|
|
33
|
-
const appKeys = $shopConfig.appKeys ?? $storefront.appKeys;
|
|
34
|
-
if (session) {
|
|
35
|
-
return {
|
|
36
|
-
wishlistKey: await getWishlistKey(appKeys, session, $log, $shopConfig),
|
|
37
|
-
basketKey: await getBasketKey(appKeys, session, $log, $shopConfig),
|
|
38
|
-
sessionId: session.id,
|
|
39
|
-
get user() {
|
|
40
|
-
return session.data?.user ?? void 0;
|
|
41
|
-
},
|
|
42
|
-
get accessToken() {
|
|
43
|
-
return session.data?.accessToken ?? void 0;
|
|
44
|
-
},
|
|
45
|
-
get refreshToken() {
|
|
46
|
-
return session.data?.refreshToken ?? void 0;
|
|
47
|
-
},
|
|
48
|
-
destroySession: async () => {
|
|
49
|
-
await session.destroy();
|
|
50
|
-
},
|
|
51
|
-
createUserBoundSession: async () => {
|
|
52
|
-
$log.debug("creating user bound session");
|
|
53
|
-
const data = session.data;
|
|
54
|
-
await session.regenerate();
|
|
55
|
-
session.data = data;
|
|
56
|
-
await session.save();
|
|
57
|
-
},
|
|
58
|
-
updateUser: async (user) => {
|
|
59
|
-
session.data.user = user;
|
|
60
|
-
await session.save();
|
|
61
|
-
},
|
|
62
|
-
updateTokens: async (tokens) => {
|
|
63
|
-
Object.assign(session.data, tokens);
|
|
64
|
-
await session.save();
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
return {
|
|
69
|
-
wishlistKey: void 0,
|
|
70
|
-
basketKey: void 0,
|
|
71
|
-
sessionId: void 0,
|
|
72
|
-
user: void 0,
|
|
73
|
-
accessToken: void 0,
|
|
74
|
-
refreshToken: void 0,
|
|
75
|
-
destroySession: void 0,
|
|
76
|
-
createUserBoundSession: void 0,
|
|
77
|
-
updateUser: void 0,
|
|
78
|
-
updateTokens: void 0
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
31
|
export const buildContext = async (context) => {
|
|
82
|
-
const { $cache, $shopConfig, $storefront, $log, config, event } = context;
|
|
32
|
+
const { $cache, $shopConfig, $storefront, $log, config, event, session } = context;
|
|
83
33
|
const sapiConfig = $shopConfig.sapi ?? $storefront.sapi;
|
|
84
34
|
const appKeys = $shopConfig.appKeys ?? $storefront.appKeys;
|
|
85
35
|
const idpConfig = $shopConfig.idp ?? $storefront.idp;
|
|
@@ -100,7 +50,7 @@ export const buildContext = async (context) => {
|
|
|
100
50
|
$storefront.cache?.enabled
|
|
101
51
|
);
|
|
102
52
|
const { hooks } = useNitroApp();
|
|
103
|
-
const
|
|
53
|
+
const rpcContext = {
|
|
104
54
|
cached,
|
|
105
55
|
sapiClient,
|
|
106
56
|
auth: {
|
|
@@ -110,11 +60,11 @@ export const buildContext = async (context) => {
|
|
|
110
60
|
url: $shopConfig.checkout.host,
|
|
111
61
|
secret: $shopConfig.checkout.secret,
|
|
112
62
|
token: $shopConfig.checkout.token,
|
|
113
|
-
user: $shopConfig.checkout.user,
|
|
63
|
+
user: String($shopConfig.checkout.user),
|
|
114
64
|
cbdExpiration: $shopConfig.checkout.cbdExpiration
|
|
115
65
|
},
|
|
116
66
|
oauth: {
|
|
117
|
-
clientId: $storefront.oauth.clientId,
|
|
67
|
+
clientId: String($storefront.oauth.clientId),
|
|
118
68
|
clientSecret: $storefront.oauth.clientSecret,
|
|
119
69
|
apiHost: $storefront.oauth.apiHost
|
|
120
70
|
},
|
|
@@ -146,17 +96,47 @@ export const buildContext = async (context) => {
|
|
|
146
96
|
$log
|
|
147
97
|
),
|
|
148
98
|
runtimeConfiguration: config,
|
|
149
|
-
ip
|
|
150
|
-
|
|
99
|
+
get ip() {
|
|
100
|
+
return getRequestIP(event, { xForwardedFor: true });
|
|
101
|
+
},
|
|
102
|
+
get headers() {
|
|
103
|
+
return createAndPurifyHeaders(getRequestHeaders(event));
|
|
104
|
+
},
|
|
151
105
|
internalAccessHeader: $storefront.internalAccessHeader,
|
|
152
106
|
callHook: hooks.callHook,
|
|
153
107
|
callHookParallel: hooks.callHookParallel,
|
|
154
|
-
callHookWith: hooks.callHookWith
|
|
108
|
+
callHookWith: hooks.callHookWith,
|
|
109
|
+
wishlistKey: session ? await getWishlistKey(appKeys, session, $log, $shopConfig) : void 0,
|
|
110
|
+
basketKey: session ? await getBasketKey(appKeys, session, $log, $shopConfig) : void 0,
|
|
111
|
+
sessionId: session?.id,
|
|
112
|
+
get user() {
|
|
113
|
+
return session?.data?.user ?? void 0;
|
|
114
|
+
},
|
|
115
|
+
get accessToken() {
|
|
116
|
+
return session?.data?.accessToken ?? void 0;
|
|
117
|
+
},
|
|
118
|
+
get refreshToken() {
|
|
119
|
+
return session?.data?.refreshToken ?? void 0;
|
|
120
|
+
},
|
|
121
|
+
destroySession: session ? async () => {
|
|
122
|
+
await session.destroy();
|
|
123
|
+
} : void 0,
|
|
124
|
+
createUserBoundSession: session ? async () => {
|
|
125
|
+
$log.debug("creating user bound session");
|
|
126
|
+
const data = session.data;
|
|
127
|
+
await session.regenerate();
|
|
128
|
+
session.data = data;
|
|
129
|
+
await session.save();
|
|
130
|
+
} : void 0,
|
|
131
|
+
updateUser: session ? async (user) => {
|
|
132
|
+
session.data.user = user;
|
|
133
|
+
await session.save();
|
|
134
|
+
} : void 0,
|
|
135
|
+
updateTokens: session ? async (tokens) => {
|
|
136
|
+
Object.assign(session.data, tokens);
|
|
137
|
+
await session.save();
|
|
138
|
+
} : void 0
|
|
155
139
|
};
|
|
156
|
-
const rpcContext = Object.defineProperties({}, {
|
|
157
|
-
...Object.getOwnPropertyDescriptors(baseContext),
|
|
158
|
-
...Object.getOwnPropertyDescriptors(await sessionProperties(context))
|
|
159
|
-
});
|
|
160
140
|
await hooks?.callHook("storefront:context:created", rpcContext);
|
|
161
141
|
return rpcContext;
|
|
162
142
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scayle/storefront-nuxt",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "8.
|
|
4
|
+
"version": "8.10.0",
|
|
5
5
|
"description": "Nuxt integration for the SCAYLE Commerce Engine and Storefront API",
|
|
6
6
|
"author": "SCAYLE Commerce Engine",
|
|
7
7
|
"license": "MIT",
|
|
@@ -72,9 +72,9 @@
|
|
|
72
72
|
"dependencies": {
|
|
73
73
|
"@opentelemetry/api": "^1.9.0",
|
|
74
74
|
"@scayle/h3-session": "0.6.0",
|
|
75
|
-
"@scayle/storefront-core": "8.
|
|
75
|
+
"@scayle/storefront-core": "8.7.0",
|
|
76
76
|
"@scayle/unstorage-compression-driver": "^0.2.3",
|
|
77
|
-
"@vueuse/core": "12.
|
|
77
|
+
"@vueuse/core": "12.7.0",
|
|
78
78
|
"consola": "^3.2.3",
|
|
79
79
|
"core-js": "^3.37.1",
|
|
80
80
|
"defu": "^6.1.4",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"nuxt": "3.14.1592",
|
|
110
110
|
"publint": "0.2.12",
|
|
111
111
|
"typescript": "5.7.3",
|
|
112
|
-
"vue-tsc": "2.2.
|
|
112
|
+
"vue-tsc": "2.2.2",
|
|
113
113
|
"vitest": "2.1.9"
|
|
114
114
|
},
|
|
115
115
|
"peerDependencies": {
|