@voyantjs/storefront 0.50.8 → 0.51.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/dist/routes-public.d.ts +66 -0
- package/dist/routes-public.d.ts.map +1 -1
- package/dist/service-departures.d.ts +60 -0
- package/dist/service-departures.d.ts.map +1 -1
- package/dist/service-departures.js +40 -5
- package/dist/service.d.ts +60 -0
- package/dist/service.d.ts.map +1 -1
- package/package.json +12 -12
package/dist/routes-public.d.ts
CHANGED
|
@@ -215,6 +215,28 @@ export declare function createStorefrontPublicRoutes(options?: StorefrontService
|
|
|
215
215
|
};
|
|
216
216
|
}[];
|
|
217
217
|
}[];
|
|
218
|
+
resourceManifest: {
|
|
219
|
+
kinds: {
|
|
220
|
+
capacity: number;
|
|
221
|
+
assigned: number;
|
|
222
|
+
available: number;
|
|
223
|
+
kind: string;
|
|
224
|
+
}[];
|
|
225
|
+
resources: {
|
|
226
|
+
id: string;
|
|
227
|
+
kind: string;
|
|
228
|
+
label: string | null;
|
|
229
|
+
refType: string | null;
|
|
230
|
+
refId: string | null;
|
|
231
|
+
capacity: number;
|
|
232
|
+
assigned: number;
|
|
233
|
+
available: number;
|
|
234
|
+
parentId: string | null;
|
|
235
|
+
flags: {
|
|
236
|
+
[x: string]: import("hono/utils/types").JSONValue;
|
|
237
|
+
};
|
|
238
|
+
}[];
|
|
239
|
+
} | null;
|
|
218
240
|
};
|
|
219
241
|
};
|
|
220
242
|
outputFormat: "json";
|
|
@@ -285,6 +307,28 @@ export declare function createStorefrontPublicRoutes(options?: StorefrontService
|
|
|
285
307
|
};
|
|
286
308
|
}[];
|
|
287
309
|
}[];
|
|
310
|
+
resourceManifest: {
|
|
311
|
+
kinds: {
|
|
312
|
+
capacity: number;
|
|
313
|
+
assigned: number;
|
|
314
|
+
available: number;
|
|
315
|
+
kind: string;
|
|
316
|
+
}[];
|
|
317
|
+
resources: {
|
|
318
|
+
id: string;
|
|
319
|
+
kind: string;
|
|
320
|
+
label: string | null;
|
|
321
|
+
refType: string | null;
|
|
322
|
+
refId: string | null;
|
|
323
|
+
capacity: number;
|
|
324
|
+
assigned: number;
|
|
325
|
+
available: number;
|
|
326
|
+
parentId: string | null;
|
|
327
|
+
flags: {
|
|
328
|
+
[x: string]: import("hono/utils/types").JSONValue;
|
|
329
|
+
};
|
|
330
|
+
}[];
|
|
331
|
+
} | null;
|
|
288
332
|
}[];
|
|
289
333
|
total: number;
|
|
290
334
|
limit: number;
|
|
@@ -333,6 +377,28 @@ export declare function createStorefrontPublicRoutes(options?: StorefrontService
|
|
|
333
377
|
remaining: number | null;
|
|
334
378
|
pastCutoff: boolean;
|
|
335
379
|
tooEarly: boolean;
|
|
380
|
+
resourceManifest: {
|
|
381
|
+
kinds: {
|
|
382
|
+
capacity: number;
|
|
383
|
+
assigned: number;
|
|
384
|
+
available: number;
|
|
385
|
+
kind: string;
|
|
386
|
+
}[];
|
|
387
|
+
resources: {
|
|
388
|
+
id: string;
|
|
389
|
+
kind: string;
|
|
390
|
+
label: string | null;
|
|
391
|
+
refType: string | null;
|
|
392
|
+
refId: string | null;
|
|
393
|
+
capacity: number;
|
|
394
|
+
assigned: number;
|
|
395
|
+
available: number;
|
|
396
|
+
parentId: string | null;
|
|
397
|
+
flags: {
|
|
398
|
+
[x: string]: import("hono/utils/types").JSONValue;
|
|
399
|
+
};
|
|
400
|
+
}[];
|
|
401
|
+
} | null;
|
|
336
402
|
};
|
|
337
403
|
pax: {
|
|
338
404
|
adults: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes-public.d.ts","sourceRoot":"","sources":["../src/routes-public.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAA;AAIvB,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,cAAc,CAAA;AAiBrB,KAAK,GAAG,GAAG;IACT,QAAQ,EAAE,cAAc,CAAA;IACxB,SAAS,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,GAAG,eAAe,CAAA;CACpB,CAAA;AA+CD,wBAAgB,4BAA4B,CAAC,OAAO,CAAC,EAAE,wBAAwB
|
|
1
|
+
{"version":3,"file":"routes-public.d.ts","sourceRoot":"","sources":["../src/routes-public.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAA;AAIvB,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,cAAc,CAAA;AAiBrB,KAAK,GAAG,GAAG;IACT,QAAQ,EAAE,cAAc,CAAA;IACxB,SAAS,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,GAAG,eAAe,CAAA;CACpB,CAAA;AA+CD,wBAAgB,4BAA4B,CAAC,OAAO,CAAC,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAuP9E;AAED,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAA"}
|
|
@@ -77,6 +77,26 @@ export declare function getStorefrontDeparture(db: PostgresJsDatabase, departure
|
|
|
77
77
|
};
|
|
78
78
|
}[];
|
|
79
79
|
}[];
|
|
80
|
+
resourceManifest: {
|
|
81
|
+
kinds: {
|
|
82
|
+
capacity: number;
|
|
83
|
+
assigned: number;
|
|
84
|
+
available: number;
|
|
85
|
+
kind: string;
|
|
86
|
+
}[];
|
|
87
|
+
resources: {
|
|
88
|
+
id: string;
|
|
89
|
+
kind: string;
|
|
90
|
+
label: string | null;
|
|
91
|
+
refType: string | null;
|
|
92
|
+
refId: string | null;
|
|
93
|
+
capacity: number;
|
|
94
|
+
assigned: number;
|
|
95
|
+
available: number;
|
|
96
|
+
parentId: string | null;
|
|
97
|
+
flags: Record<string, unknown>;
|
|
98
|
+
}[];
|
|
99
|
+
} | null;
|
|
80
100
|
} | null>;
|
|
81
101
|
export declare function listStorefrontProductDepartures(db: PostgresJsDatabase, productId: string, query: StorefrontDepartureListQuery): Promise<{
|
|
82
102
|
data: {
|
|
@@ -123,6 +143,26 @@ export declare function listStorefrontProductDepartures(db: PostgresJsDatabase,
|
|
|
123
143
|
};
|
|
124
144
|
}[];
|
|
125
145
|
}[];
|
|
146
|
+
resourceManifest: {
|
|
147
|
+
kinds: {
|
|
148
|
+
capacity: number;
|
|
149
|
+
assigned: number;
|
|
150
|
+
available: number;
|
|
151
|
+
kind: string;
|
|
152
|
+
}[];
|
|
153
|
+
resources: {
|
|
154
|
+
id: string;
|
|
155
|
+
kind: string;
|
|
156
|
+
label: string | null;
|
|
157
|
+
refType: string | null;
|
|
158
|
+
refId: string | null;
|
|
159
|
+
capacity: number;
|
|
160
|
+
assigned: number;
|
|
161
|
+
available: number;
|
|
162
|
+
parentId: string | null;
|
|
163
|
+
flags: Record<string, unknown>;
|
|
164
|
+
}[];
|
|
165
|
+
} | null;
|
|
126
166
|
}[];
|
|
127
167
|
total: number;
|
|
128
168
|
limit: number;
|
|
@@ -192,6 +232,26 @@ export declare function previewStorefrontDeparturePrice(db: PostgresJsDatabase,
|
|
|
192
232
|
remaining: number | null;
|
|
193
233
|
pastCutoff: boolean;
|
|
194
234
|
tooEarly: boolean;
|
|
235
|
+
resourceManifest: {
|
|
236
|
+
kinds: {
|
|
237
|
+
capacity: number;
|
|
238
|
+
assigned: number;
|
|
239
|
+
available: number;
|
|
240
|
+
kind: string;
|
|
241
|
+
}[];
|
|
242
|
+
resources: {
|
|
243
|
+
id: string;
|
|
244
|
+
kind: string;
|
|
245
|
+
label: string | null;
|
|
246
|
+
refType: string | null;
|
|
247
|
+
refId: string | null;
|
|
248
|
+
capacity: number;
|
|
249
|
+
assigned: number;
|
|
250
|
+
available: number;
|
|
251
|
+
parentId: string | null;
|
|
252
|
+
flags: Record<string, unknown>;
|
|
253
|
+
}[];
|
|
254
|
+
} | null;
|
|
195
255
|
};
|
|
196
256
|
pax: {
|
|
197
257
|
adults: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-departures.d.ts","sourceRoot":"","sources":["../src/service-departures.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service-departures.d.ts","sourceRoot":"","sources":["../src/service-departures.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getSlotResourceAvailability, getSlotsResourceAvailability, } from "@voyantjs/availability";
|
|
1
2
|
import { availabilitySlots, availabilityStartTimes } from "@voyantjs/availability/schema";
|
|
2
3
|
import { productExtras } from "@voyantjs/extras/schema";
|
|
3
4
|
import { extraPriceRules, optionPriceRules, optionUnitPriceRules, optionUnitTiers, priceCatalogs, } from "@voyantjs/pricing/schema";
|
|
@@ -787,9 +788,10 @@ async function buildOfferPreview(input) {
|
|
|
787
788
|
currencyCode: input.currencyCode,
|
|
788
789
|
};
|
|
789
790
|
}
|
|
790
|
-
async function buildDeparture(db, slot, defaultItineraryByProduct, meetingPointByProduct) {
|
|
791
|
+
async function buildDeparture(db, slot, defaultItineraryByProduct, meetingPointByProduct, resourceAvailability) {
|
|
791
792
|
const context = await resolvePricingContext(db, slot.productId, slot.optionId);
|
|
792
793
|
const itineraryId = slot.itineraryId ?? defaultItineraryByProduct.get(slot.productId) ?? null;
|
|
794
|
+
const resources = resourceAvailability ?? [];
|
|
793
795
|
return {
|
|
794
796
|
id: slot.id,
|
|
795
797
|
productId: slot.productId,
|
|
@@ -814,6 +816,34 @@ async function buildDeparture(db, slot, defaultItineraryByProduct, meetingPointB
|
|
|
814
816
|
nights: slot.nights,
|
|
815
817
|
days: slot.days,
|
|
816
818
|
ratePlans: buildRatePlans(context),
|
|
819
|
+
resourceManifest: buildResourceManifest(resources),
|
|
820
|
+
};
|
|
821
|
+
}
|
|
822
|
+
function buildResourceManifest(resources) {
|
|
823
|
+
if (resources.length === 0)
|
|
824
|
+
return null;
|
|
825
|
+
const totals = new Map();
|
|
826
|
+
for (const resource of resources) {
|
|
827
|
+
const bucket = totals.get(resource.kind) ?? { capacity: 0, assigned: 0, available: 0 };
|
|
828
|
+
bucket.capacity += resource.capacity;
|
|
829
|
+
bucket.assigned += resource.assigned;
|
|
830
|
+
bucket.available += resource.available;
|
|
831
|
+
totals.set(resource.kind, bucket);
|
|
832
|
+
}
|
|
833
|
+
return {
|
|
834
|
+
kinds: [...totals.entries()].map(([kind, totals]) => ({ kind, ...totals })),
|
|
835
|
+
resources: resources.map((resource) => ({
|
|
836
|
+
id: resource.id,
|
|
837
|
+
kind: resource.kind,
|
|
838
|
+
label: resource.label,
|
|
839
|
+
refType: resource.refType,
|
|
840
|
+
refId: resource.refId,
|
|
841
|
+
capacity: resource.capacity,
|
|
842
|
+
assigned: resource.assigned,
|
|
843
|
+
available: resource.available,
|
|
844
|
+
parentId: resource.parentId,
|
|
845
|
+
flags: resource.flags,
|
|
846
|
+
})),
|
|
817
847
|
};
|
|
818
848
|
}
|
|
819
849
|
export async function getStorefrontDeparture(db, departureId) {
|
|
@@ -821,11 +851,12 @@ export async function getStorefrontDeparture(db, departureId) {
|
|
|
821
851
|
if (!slot) {
|
|
822
852
|
return null;
|
|
823
853
|
}
|
|
824
|
-
const [meetingPointByProduct, defaultItineraryByProduct] = await Promise.all([
|
|
854
|
+
const [meetingPointByProduct, defaultItineraryByProduct, resourceAvailability] = await Promise.all([
|
|
825
855
|
listMeetingPointsByProductIds(db, [slot.productId]),
|
|
826
856
|
listDefaultItineraryIdsByProductIds(db, [slot.productId]),
|
|
857
|
+
getSlotsResourceAvailability(db, [slot.id]),
|
|
827
858
|
]);
|
|
828
|
-
return buildDeparture(db, slot, defaultItineraryByProduct, meetingPointByProduct);
|
|
859
|
+
return buildDeparture(db, slot, defaultItineraryByProduct, meetingPointByProduct, resourceAvailability.get(slot.id) ?? []);
|
|
829
860
|
}
|
|
830
861
|
export async function listStorefrontProductDepartures(db, productId, query) {
|
|
831
862
|
const filters = {
|
|
@@ -843,11 +874,12 @@ export async function listStorefrontProductDepartures(db, productId, query) {
|
|
|
843
874
|
}),
|
|
844
875
|
countSlots(db, filters),
|
|
845
876
|
]);
|
|
846
|
-
const [meetingPointByProduct, defaultItineraryByProduct] = await Promise.all([
|
|
877
|
+
const [meetingPointByProduct, defaultItineraryByProduct, resourceAvailability] = await Promise.all([
|
|
847
878
|
listMeetingPointsByProductIds(db, [productId]),
|
|
848
879
|
listDefaultItineraryIdsByProductIds(db, [productId]),
|
|
880
|
+
getSlotsResourceAvailability(db, slots.map((slot) => slot.id)),
|
|
849
881
|
]);
|
|
850
|
-
const data = await Promise.all(slots.map((slot) => buildDeparture(db, slot, defaultItineraryByProduct, meetingPointByProduct)));
|
|
882
|
+
const data = await Promise.all(slots.map((slot) => buildDeparture(db, slot, defaultItineraryByProduct, meetingPointByProduct, resourceAvailability.get(slot.id) ?? [])));
|
|
851
883
|
return {
|
|
852
884
|
data,
|
|
853
885
|
total,
|
|
@@ -1092,6 +1124,8 @@ export async function previewStorefrontDeparturePrice(db, departureId, input, of
|
|
|
1092
1124
|
const total = offers.totalAfterDiscount;
|
|
1093
1125
|
const extrasTotal = withExtras.impacts.reduce((sum, extra) => sum + extra.total, 0);
|
|
1094
1126
|
const basePrice = Number((subtotal - extrasTotal).toFixed(2));
|
|
1127
|
+
const slotResources = await getSlotResourceAvailability(db, slot.id);
|
|
1128
|
+
const resourceManifest = buildResourceManifest(slotResources);
|
|
1095
1129
|
return {
|
|
1096
1130
|
departureId: slot.id,
|
|
1097
1131
|
productId: slot.productId,
|
|
@@ -1123,6 +1157,7 @@ export async function previewStorefrontDeparturePrice(db, departureId, input, of
|
|
|
1123
1157
|
remaining: slot.remainingPax ?? slot.remainingResources ?? null,
|
|
1124
1158
|
pastCutoff: slot.pastCutoff,
|
|
1125
1159
|
tooEarly: slot.tooEarly,
|
|
1160
|
+
resourceManifest,
|
|
1126
1161
|
},
|
|
1127
1162
|
pax: {
|
|
1128
1163
|
adults,
|
package/dist/service.d.ts
CHANGED
|
@@ -282,6 +282,26 @@ export declare function createStorefrontService(options?: StorefrontServiceOptio
|
|
|
282
282
|
};
|
|
283
283
|
}[];
|
|
284
284
|
}[];
|
|
285
|
+
resourceManifest: {
|
|
286
|
+
kinds: {
|
|
287
|
+
capacity: number;
|
|
288
|
+
assigned: number;
|
|
289
|
+
available: number;
|
|
290
|
+
kind: string;
|
|
291
|
+
}[];
|
|
292
|
+
resources: {
|
|
293
|
+
id: string;
|
|
294
|
+
kind: string;
|
|
295
|
+
label: string | null;
|
|
296
|
+
refType: string | null;
|
|
297
|
+
refId: string | null;
|
|
298
|
+
capacity: number;
|
|
299
|
+
assigned: number;
|
|
300
|
+
available: number;
|
|
301
|
+
parentId: string | null;
|
|
302
|
+
flags: Record<string, unknown>;
|
|
303
|
+
}[];
|
|
304
|
+
} | null;
|
|
285
305
|
} | null>;
|
|
286
306
|
listProductDepartures(db: PostgresJsDatabase, productId: string, query: StorefrontDepartureListQuery): Promise<{
|
|
287
307
|
data: {
|
|
@@ -328,6 +348,26 @@ export declare function createStorefrontService(options?: StorefrontServiceOptio
|
|
|
328
348
|
};
|
|
329
349
|
}[];
|
|
330
350
|
}[];
|
|
351
|
+
resourceManifest: {
|
|
352
|
+
kinds: {
|
|
353
|
+
capacity: number;
|
|
354
|
+
assigned: number;
|
|
355
|
+
available: number;
|
|
356
|
+
kind: string;
|
|
357
|
+
}[];
|
|
358
|
+
resources: {
|
|
359
|
+
id: string;
|
|
360
|
+
kind: string;
|
|
361
|
+
label: string | null;
|
|
362
|
+
refType: string | null;
|
|
363
|
+
refId: string | null;
|
|
364
|
+
capacity: number;
|
|
365
|
+
assigned: number;
|
|
366
|
+
available: number;
|
|
367
|
+
parentId: string | null;
|
|
368
|
+
flags: Record<string, unknown>;
|
|
369
|
+
}[];
|
|
370
|
+
} | null;
|
|
331
371
|
}[];
|
|
332
372
|
total: number;
|
|
333
373
|
limit: number;
|
|
@@ -363,6 +403,26 @@ export declare function createStorefrontService(options?: StorefrontServiceOptio
|
|
|
363
403
|
remaining: number | null;
|
|
364
404
|
pastCutoff: boolean;
|
|
365
405
|
tooEarly: boolean;
|
|
406
|
+
resourceManifest: {
|
|
407
|
+
kinds: {
|
|
408
|
+
capacity: number;
|
|
409
|
+
assigned: number;
|
|
410
|
+
available: number;
|
|
411
|
+
kind: string;
|
|
412
|
+
}[];
|
|
413
|
+
resources: {
|
|
414
|
+
id: string;
|
|
415
|
+
kind: string;
|
|
416
|
+
label: string | null;
|
|
417
|
+
refType: string | null;
|
|
418
|
+
refId: string | null;
|
|
419
|
+
capacity: number;
|
|
420
|
+
assigned: number;
|
|
421
|
+
available: number;
|
|
422
|
+
parentId: string | null;
|
|
423
|
+
flags: Record<string, unknown>;
|
|
424
|
+
}[];
|
|
425
|
+
} | null;
|
|
366
426
|
};
|
|
367
427
|
pax: {
|
|
368
428
|
adults: number;
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyantjs/storefront",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.51.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -39,21 +39,21 @@
|
|
|
39
39
|
"drizzle-orm": "^0.45.2",
|
|
40
40
|
"hono": "^4.12.10",
|
|
41
41
|
"zod": "^4.3.6",
|
|
42
|
-
"@voyantjs/availability": "0.
|
|
43
|
-
"@voyantjs/
|
|
44
|
-
"@voyantjs/
|
|
45
|
-
"@voyantjs/
|
|
46
|
-
"@voyantjs/
|
|
47
|
-
"@voyantjs/finance": "0.
|
|
48
|
-
"@voyantjs/
|
|
49
|
-
"@voyantjs/
|
|
50
|
-
"@voyantjs/products": "0.
|
|
51
|
-
"@voyantjs/sellability": "0.
|
|
42
|
+
"@voyantjs/availability": "0.51.1",
|
|
43
|
+
"@voyantjs/core": "0.51.1",
|
|
44
|
+
"@voyantjs/bookings": "0.51.1",
|
|
45
|
+
"@voyantjs/crm": "0.51.1",
|
|
46
|
+
"@voyantjs/extras": "0.51.1",
|
|
47
|
+
"@voyantjs/finance": "0.51.1",
|
|
48
|
+
"@voyantjs/hono": "0.51.1",
|
|
49
|
+
"@voyantjs/pricing": "0.51.1",
|
|
50
|
+
"@voyantjs/products": "0.51.1",
|
|
51
|
+
"@voyantjs/sellability": "0.51.1"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"typescript": "^6.0.2",
|
|
55
55
|
"vitest": "^4.1.2",
|
|
56
|
-
"@voyantjs/db": "0.
|
|
56
|
+
"@voyantjs/db": "0.51.1",
|
|
57
57
|
"@voyantjs/voyant-typescript-config": "0.1.0"
|
|
58
58
|
},
|
|
59
59
|
"files": [
|