@voyantjs/notifications 0.64.0 → 0.64.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.d.ts +3 -0
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +8 -2
- package/dist/service-deliveries.d.ts +4 -0
- package/dist/service-deliveries.d.ts.map +1 -1
- package/dist/service-deliveries.js +27 -0
- package/dist/validation.d.ts +2 -0
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +1 -0
- package/package.json +7 -7
package/dist/routes.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ type Env = {
|
|
|
13
13
|
export type NotificationsRoutesOptions = {
|
|
14
14
|
providers?: ReadonlyArray<NotificationProvider>;
|
|
15
15
|
resolveProviders?: (bindings: Record<string, unknown>) => ReadonlyArray<NotificationProvider>;
|
|
16
|
+
publicCheckoutBaseUrl?: string | null;
|
|
17
|
+
resolvePublicCheckoutBaseUrl?: (bindings: Record<string, unknown>) => string | null | undefined;
|
|
16
18
|
documentAttachmentResolver?: BookingDocumentAttachmentResolver;
|
|
17
19
|
resolveDocumentAttachmentResolver?: (bindings: Record<string, unknown>) => BookingDocumentAttachmentResolver | undefined;
|
|
18
20
|
eventBus?: EventBus;
|
|
@@ -20,6 +22,7 @@ export type NotificationsRoutesOptions = {
|
|
|
20
22
|
};
|
|
21
23
|
export type NotificationsRouteRuntime = {
|
|
22
24
|
providers: ReadonlyArray<NotificationProvider>;
|
|
25
|
+
publicCheckoutBaseUrl?: string | null;
|
|
23
26
|
documentAttachmentResolver?: BookingDocumentAttachmentResolver;
|
|
24
27
|
eventBus?: EventBus;
|
|
25
28
|
};
|
package/dist/routes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAIjE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAA;AACvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AA8BtD,KAAK,GAAG,GAAG;IACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,SAAS,EAAE;QACT,SAAS,EAAE,eAAe,CAAA;QAC1B,EAAE,EAAE,kBAAkB,CAAA;QACtB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAA;IAC/C,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,aAAa,CAAC,oBAAoB,CAAC,CAAA;IAC7F,0BAA0B,CAAC,EAAE,iCAAiC,CAAA;IAC9D,iCAAiC,CAAC,EAAE,CAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,iCAAiC,GAAG,SAAS,CAAA;IAClD,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,QAAQ,GAAG,SAAS,CAAA;CAC9E,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAA;IAC9C,0BAA0B,CAAC,EAAE,iCAAiC,CAAA;IAC9D,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,yCAAyC,oCAAoC,CAAA;AAE1F,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,CAAC,EAAE,0BAA0B,GACnC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
|
package/dist/routes.js
CHANGED
|
@@ -6,6 +6,7 @@ export const NOTIFICATIONS_ROUTE_RUNTIME_CONTAINER_KEY = "providers.notification
|
|
|
6
6
|
export function buildNotificationsRouteRuntime(bindings, options) {
|
|
7
7
|
return {
|
|
8
8
|
providers: options?.resolveProviders?.(bindings) ?? options?.providers ?? [],
|
|
9
|
+
publicCheckoutBaseUrl: options?.resolvePublicCheckoutBaseUrl?.(bindings) ?? options?.publicCheckoutBaseUrl ?? null,
|
|
9
10
|
documentAttachmentResolver: options?.resolveDocumentAttachmentResolver?.(bindings) ?? options?.documentAttachmentResolver,
|
|
10
11
|
eventBus: options?.resolveEventBus?.(bindings) ?? options?.eventBus,
|
|
11
12
|
};
|
|
@@ -176,7 +177,7 @@ export function createNotificationsRoutes(options) {
|
|
|
176
177
|
try {
|
|
177
178
|
const runtime = getRuntime(c.env, options, (key) => c.var.container.resolve(key));
|
|
178
179
|
const dispatcher = createNotificationService(runtime.providers);
|
|
179
|
-
const row = await notificationsService.sendPaymentSessionNotification(c.get("db"), dispatcher, c.req.param("id"), await parseJsonBody(c, sendPaymentSessionNotificationSchema));
|
|
180
|
+
const row = await notificationsService.sendPaymentSessionNotification(c.get("db"), dispatcher, c.req.param("id"), withPaymentLinkBaseUrl(await parseJsonBody(c, sendPaymentSessionNotificationSchema), runtime.publicCheckoutBaseUrl));
|
|
180
181
|
if (!row)
|
|
181
182
|
return c.json({ error: "Payment session not found" }, 404);
|
|
182
183
|
return c.json({ data: row }, 201);
|
|
@@ -190,7 +191,7 @@ export function createNotificationsRoutes(options) {
|
|
|
190
191
|
try {
|
|
191
192
|
const runtime = getRuntime(c.env, options, (key) => c.var.container.resolve(key));
|
|
192
193
|
const dispatcher = createNotificationService(runtime.providers);
|
|
193
|
-
const row = await notificationsService.sendInvoiceNotification(c.get("db"), dispatcher, c.req.param("id"), await parseJsonBody(c, sendInvoiceNotificationSchema));
|
|
194
|
+
const row = await notificationsService.sendInvoiceNotification(c.get("db"), dispatcher, c.req.param("id"), withPaymentLinkBaseUrl(await parseJsonBody(c, sendInvoiceNotificationSchema), runtime.publicCheckoutBaseUrl));
|
|
194
195
|
if (!row)
|
|
195
196
|
return c.json({ error: "Invoice not found" }, 404);
|
|
196
197
|
return c.json({ data: row }, 201);
|
|
@@ -304,3 +305,8 @@ export function createNotificationsRoutes(options) {
|
|
|
304
305
|
}
|
|
305
306
|
});
|
|
306
307
|
}
|
|
308
|
+
function withPaymentLinkBaseUrl(input, publicCheckoutBaseUrl) {
|
|
309
|
+
if (input.paymentLinkBaseUrl || !publicCheckoutBaseUrl)
|
|
310
|
+
return input;
|
|
311
|
+
return { ...input, paymentLinkBaseUrl: publicCheckoutBaseUrl };
|
|
312
|
+
}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
|
|
2
2
|
import type { NotificationDeliveryListQuery, NotificationService, SendInvoiceNotificationInput, SendNotificationInput, SendPaymentSessionNotificationInput } from "./service-shared.js";
|
|
3
|
+
export declare function resolveNotificationPaymentUrl(paymentSessionId: string, options?: {
|
|
4
|
+
paymentLinkBaseUrl?: string | null;
|
|
5
|
+
redirectUrl?: string | null;
|
|
6
|
+
}): string | null;
|
|
3
7
|
export declare function listDeliveries(db: PostgresJsDatabase, query: NotificationDeliveryListQuery): Promise<{
|
|
4
8
|
data: {
|
|
5
9
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-deliveries.d.ts","sourceRoot":"","sources":["../src/service-deliveries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service-deliveries.d.ts","sourceRoot":"","sources":["../src/service-deliveries.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGjE,OAAO,KAAK,EACV,6BAA6B,EAC7B,mBAAmB,EACnB,4BAA4B,EAC5B,qBAAqB,EACrB,mCAAmC,EACpC,MAAM,qBAAqB,CAAA;AA+F5B,wBAAgB,6BAA6B,CAC3C,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,iBAOlF;AA6CD,wBAAsB,cAAc,CAAC,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgChG;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAOvE;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,kBAAkB,EACtB,UAAU,EAAE,mBAAmB,EAC/B,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAgCX;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,kBAAkB,EACtB,UAAU,EAAE,mBAAmB,EAC/B,KAAK,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAmI7B;AAED,wBAAsB,8BAA8B,CAClD,EAAE,EAAE,kBAAkB,EACtB,UAAU,EAAE,mBAAmB,EAC/B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA2G3C;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,kBAAkB,EACtB,UAAU,EAAE,mBAAmB,EAC/B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAyGpC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { bookings } from "@voyantjs/bookings/schema";
|
|
2
2
|
import { invoices, paymentSessions } from "@voyantjs/finance";
|
|
3
|
+
import { buildPaymentLinkUrl } from "@voyantjs/finance/payment-link";
|
|
3
4
|
import { desc, eq, sql } from "drizzle-orm";
|
|
4
5
|
import { notificationDeliveries } from "./schema.js";
|
|
5
6
|
import { buildWhereClause, listBookingNotificationItems, listBookingNotificationParticipants, NotificationError, paginate, renderNotificationTemplate, resolveReminderRecipient, summarizeNotificationAttachments, toTimestamp, } from "./service-shared.js";
|
|
@@ -70,6 +71,24 @@ function serializeNotificationError(error) {
|
|
|
70
71
|
notificationRequest: readErrorField(error, "notificationRequest"),
|
|
71
72
|
};
|
|
72
73
|
}
|
|
74
|
+
export function resolveNotificationPaymentUrl(paymentSessionId, options = {}) {
|
|
75
|
+
if (options.paymentLinkBaseUrl?.trim()) {
|
|
76
|
+
return buildPaymentLinkUrl(paymentSessionId, { baseUrl: options.paymentLinkBaseUrl });
|
|
77
|
+
}
|
|
78
|
+
return normalizeAbsolutePaymentUrl(options.redirectUrl);
|
|
79
|
+
}
|
|
80
|
+
function normalizeAbsolutePaymentUrl(value) {
|
|
81
|
+
const trimmed = value?.trim();
|
|
82
|
+
if (!trimmed)
|
|
83
|
+
return null;
|
|
84
|
+
try {
|
|
85
|
+
const url = new URL(trimmed);
|
|
86
|
+
return url.protocol === "http:" || url.protocol === "https:" ? trimmed : null;
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
73
92
|
function metadataWithoutFailureLog(metadata) {
|
|
74
93
|
if (!metadata)
|
|
75
94
|
return null;
|
|
@@ -341,6 +360,10 @@ export async function sendPaymentSessionNotification(db, dispatcher, sessionId,
|
|
|
341
360
|
provider: session.provider,
|
|
342
361
|
currency: session.currency,
|
|
343
362
|
amountCents: session.amountCents,
|
|
363
|
+
paymentUrl: resolveNotificationPaymentUrl(session.id, {
|
|
364
|
+
paymentLinkBaseUrl: input.paymentLinkBaseUrl,
|
|
365
|
+
redirectUrl: session.redirectUrl,
|
|
366
|
+
}),
|
|
344
367
|
redirectUrl: session.redirectUrl,
|
|
345
368
|
returnUrl: session.returnUrl,
|
|
346
369
|
cancelUrl: session.cancelUrl,
|
|
@@ -462,6 +485,10 @@ export async function sendInvoiceNotification(db, dispatcher, invoiceId, input)
|
|
|
462
485
|
id: latestSession.id,
|
|
463
486
|
status: latestSession.status,
|
|
464
487
|
provider: latestSession.provider,
|
|
488
|
+
paymentUrl: resolveNotificationPaymentUrl(latestSession.id, {
|
|
489
|
+
paymentLinkBaseUrl: input.paymentLinkBaseUrl,
|
|
490
|
+
redirectUrl: latestSession.redirectUrl,
|
|
491
|
+
}),
|
|
465
492
|
redirectUrl: latestSession.redirectUrl,
|
|
466
493
|
expiresAt: latestSession.expiresAt,
|
|
467
494
|
amountCents: latestSession.amountCents,
|
package/dist/validation.d.ts
CHANGED
|
@@ -631,6 +631,7 @@ export declare const sendPaymentSessionNotificationSchema: z.ZodObject<{
|
|
|
631
631
|
data: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
632
632
|
metadata: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
633
633
|
scheduledFor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
634
|
+
paymentLinkBaseUrl: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
634
635
|
}, z.core.$strip>;
|
|
635
636
|
export declare const sendInvoiceNotificationSchema: z.ZodObject<{
|
|
636
637
|
templateId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
@@ -659,6 +660,7 @@ export declare const sendInvoiceNotificationSchema: z.ZodObject<{
|
|
|
659
660
|
data: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
660
661
|
metadata: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
661
662
|
scheduledFor: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
663
|
+
paymentLinkBaseUrl: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
662
664
|
}, z.core.$strip>;
|
|
663
665
|
export declare const sendNotificationSchema: z.ZodObject<{
|
|
664
666
|
templateId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
package/dist/validation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,yBAAyB;;;EAA2B,CAAA;AACjE,eAAO,MAAM,gCAAgC;;;;EAA0C,CAAA;AACvF,eAAO,MAAM,gCAAgC;;;;;EAAqD,CAAA;AAClG,eAAO,MAAM,4BAA4B;;;;;;;;;EASvC,CAAA;AACF,eAAO,MAAM,gCAAgC;;;;EAA0C,CAAA;AACvF,eAAO,MAAM,oCAAoC;;;;;;EAM/C,CAAA;AACF,eAAO,MAAM,mCAAmC;;;;;;EAM9C,CAAA;AACF,eAAO,MAAM,qCAAqC;;;;;;EAMhD,CAAA;AACF,eAAO,MAAM,0CAA0C;;;;EAIrD,CAAA;AACF,eAAO,MAAM,oCAAoC;;;;EAAmC,CAAA;AAEpF,eAAO,MAAM,8CAA8C;;;;iBAIzD,CAAA;AACF,eAAO,MAAM,8BAA8B;;;;;EAKzC,CAAA;AACF,eAAO,MAAM,gCAAgC;;;;EAA2C,CAAA;AACxF,eAAO,MAAM,4BAA4B;;;;;;;;;;iBAYrC,CAAA;AAqBJ,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;iBAAiC,CAAA;AAC9E,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;iBAA2C,CAAA;AAExF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;iBAK9C,CAAA;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAY9C,CAAA;AAqBF,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAqC,CAAA;AAEtF,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA+C,CAAA;AAqBhG,eAAO,MAAM,yCAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0BlD,CAAA;AAEJ,eAAO,MAAM,yCAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;iBACH,CAAA;AAEnD,eAAO,MAAM,+BAA+B;;iBAE1C,CAAA;AAaF,eAAO,MAAM,4CAA4C;;;;;;;;;;;;;;;;iBAOtD,CAAA;AAEH,eAAO,MAAM,4CAA4C;;;;;;;;;;;;;;;;iBACH,CAAA;AAsBtD,eAAO,MAAM,gCAAgC;;;;;;;;;;;;iBAA2C,CAAA;AAExF,eAAO,MAAM,2BAA2B;;;;iBAOtC,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;iBAKlD,CAAA;AAEF,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAajD,CAAA;AAEF,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;iBAUnD,CAAA;AAEF,eAAO,MAAM,4CAA4C;;;;;;;;;;;;;;;;;;iBAUvD,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;iBAQ7C,CAAA;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiB9C,CAAA;AAEF,eAAO,MAAM,yCAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKpD,CAAA;AAEF,eAAO,MAAM,qBAAqB;;iBAEhC,CAAA;
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
|
package/dist/validation.js
CHANGED
|
@@ -303,6 +303,7 @@ const transportNotificationCoreSchema = z.object({
|
|
|
303
303
|
data: z.record(z.string(), z.unknown()).optional().nullable(),
|
|
304
304
|
metadata: z.record(z.string(), z.unknown()).optional().nullable(),
|
|
305
305
|
scheduledFor: z.string().optional().nullable(),
|
|
306
|
+
paymentLinkBaseUrl: z.string().optional().nullable(),
|
|
306
307
|
});
|
|
307
308
|
export const sendPaymentSessionNotificationSchema = transportNotificationCoreSchema.refine((value) => Boolean(value.templateId || value.templateSlug || value.subject || value.html || value.text), {
|
|
308
309
|
message: "templateId, templateSlug, or direct content is required",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyantjs/notifications",
|
|
3
|
-
"version": "0.64.
|
|
3
|
+
"version": "0.64.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -61,12 +61,12 @@
|
|
|
61
61
|
"hono": "^4.12.10",
|
|
62
62
|
"liquidjs": "^10.24.0",
|
|
63
63
|
"zod": "^4.3.6",
|
|
64
|
-
"@voyantjs/bookings": "0.64.
|
|
65
|
-
"@voyantjs/core": "0.64.
|
|
66
|
-
"@voyantjs/db": "0.64.
|
|
67
|
-
"@voyantjs/finance": "0.64.
|
|
68
|
-
"@voyantjs/hono": "0.64.
|
|
69
|
-
"@voyantjs/legal": "0.64.
|
|
64
|
+
"@voyantjs/bookings": "0.64.1",
|
|
65
|
+
"@voyantjs/core": "0.64.1",
|
|
66
|
+
"@voyantjs/db": "0.64.1",
|
|
67
|
+
"@voyantjs/finance": "0.64.1",
|
|
68
|
+
"@voyantjs/hono": "0.64.1",
|
|
69
|
+
"@voyantjs/legal": "0.64.1"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"typescript": "^6.0.2",
|