@deallony/shared 1.2.41 → 1.2.50
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/README.md +44 -0
- package/dist/cjs/constants/used-product/UsedProduct.js +1 -1
- package/dist/cjs/dto/ad/Ad.dto.d.ts +8 -3
- package/dist/cjs/dto/ad/Ad.dto.js +1 -3
- package/dist/cjs/dto/index.d.ts +1 -0
- package/dist/cjs/dto/index.js +2 -1
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/schema/ad/save-ad.schema.d.ts +51 -53
- package/dist/cjs/schema/ad/save-ad.schema.js +62 -51
- package/dist/cjs/schema/communication/ai-conversation.schema.d.ts +65 -0
- package/dist/cjs/schema/communication/ai-conversation.schema.js +43 -0
- package/dist/cjs/schema/communication/index.d.ts +2 -0
- package/dist/cjs/schema/communication/index.js +18 -0
- package/dist/cjs/schema/communication/support-ticket.schema.d.ts +119 -0
- package/dist/cjs/schema/communication/support-ticket.schema.js +35 -0
- package/dist/cjs/schema/index.d.ts +1 -0
- package/dist/cjs/schema/index.js +2 -1
- package/dist/cjs/types/ad/AdPromotion.d.ts +28 -0
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.js +3 -1
- package/dist/cjs/types/kyc/Kyc.d.ts +39 -0
- package/dist/cjs/types/kyc/Kyc.js +25 -0
- package/dist/cjs/types/kyc/index.d.ts +1 -0
- package/dist/cjs/types/kyc/index.js +17 -0
- package/dist/cjs/types/used-product/UsedProduct.d.ts +1 -1
- package/dist/cjs/types/used-product/UsedProduct.js +1 -1
- package/dist/cjs/types/user/PotentialUser.d.ts +8 -0
- package/dist/esm/constants/used-product/UsedProduct.js +1 -1
- package/dist/esm/dto/ad/Ad.dto.js +1 -3
- package/dist/esm/dto/index.js +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/schema/ad/save-ad.schema.js +63 -52
- package/dist/esm/schema/communication/ai-conversation.schema.js +40 -0
- package/dist/esm/schema/communication/index.js +2 -0
- package/dist/esm/schema/communication/support-ticket.schema.js +32 -0
- package/dist/esm/schema/index.js +1 -0
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/types/kyc/Kyc.js +22 -0
- package/dist/esm/types/kyc/index.js +1 -0
- package/dist/esm/types/used-product/UsedProduct.js +1 -1
- package/package.json +58 -44
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import { z } from
|
|
2
|
-
export const subjectTypeSchema = z.enum([
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const subjectTypeSchema = z.enum([
|
|
3
|
+
"properties",
|
|
4
|
+
"services",
|
|
5
|
+
"motors",
|
|
6
|
+
"used_products",
|
|
7
|
+
]);
|
|
3
8
|
const adLocationSchema = z.object({
|
|
4
9
|
ad_id: z.coerce.number().int().positive().optional(),
|
|
5
10
|
admin_boundary_id: z.coerce.number().int().positive(),
|
|
@@ -9,6 +14,7 @@ const propertyFacilityRelationSchema = z.object({
|
|
|
9
14
|
facility_id: z.coerce.number().int().positive(),
|
|
10
15
|
distance_in_meters: z.coerce.number().int().min(0).optional(),
|
|
11
16
|
});
|
|
17
|
+
const nullableArray = (schema) => z.preprocess((value) => (value === null ? undefined : value), schema.optional());
|
|
12
18
|
const createMotorSchema = z.object({
|
|
13
19
|
ad_id: z.coerce.number().int().positive().optional(),
|
|
14
20
|
trim_id: z.coerce.number().nullable().optional(),
|
|
@@ -28,7 +34,10 @@ const createMotorSchema = z.object({
|
|
|
28
34
|
seats_count: z.coerce.number().nullable().optional(),
|
|
29
35
|
engine_capacity_cc: z.coerce.number().nullable().optional(),
|
|
30
36
|
cylinders_count: z.coerce.number().nullable().optional(),
|
|
31
|
-
feature_ids: z
|
|
37
|
+
feature_ids: z
|
|
38
|
+
.array(z.coerce.number().int().positive())
|
|
39
|
+
.nullable()
|
|
40
|
+
.optional(),
|
|
32
41
|
});
|
|
33
42
|
const updateMotorSchema = createMotorSchema.extend({
|
|
34
43
|
id: z.coerce.number().int().positive(),
|
|
@@ -38,7 +47,6 @@ const createPropertySchema = z.object({
|
|
|
38
47
|
size_m2: z.coerce.number().min(0),
|
|
39
48
|
bedrooms: z.coerce.number().int().min(0),
|
|
40
49
|
offer_type_id: z.coerce.number().int().positive(),
|
|
41
|
-
district_id: z.coerce.number().int().positive().optional(),
|
|
42
50
|
property_type_id: z.coerce.number().int().positive().optional(),
|
|
43
51
|
price_type_id: z.coerce.number().int().optional(),
|
|
44
52
|
publisher_type_id: z.coerce.number().int().positive().optional(),
|
|
@@ -47,72 +55,77 @@ const createPropertySchema = z.object({
|
|
|
47
55
|
parking: z.coerce.boolean().optional(),
|
|
48
56
|
floor: z.coerce.number().int().min(0).optional(),
|
|
49
57
|
total_floors: z.coerce.number().int().min(0).optional(),
|
|
50
|
-
feature_ids: z.array(z.coerce.number().int().positive())
|
|
51
|
-
facility_ids: z.array(z.coerce.number().int().positive())
|
|
52
|
-
property_facilities: z.preprocess((
|
|
53
|
-
if (
|
|
54
|
-
return
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
feature_ids: nullableArray(z.array(z.coerce.number().int().positive())),
|
|
59
|
+
facility_ids: nullableArray(z.array(z.coerce.number().int().positive())),
|
|
60
|
+
property_facilities: z.preprocess((value) => {
|
|
61
|
+
if (value === null || value === undefined)
|
|
62
|
+
return undefined;
|
|
63
|
+
if (!Array.isArray(value))
|
|
64
|
+
return value;
|
|
65
|
+
return value
|
|
66
|
+
.filter((item) => item && item.facility_id !== null && item.facility_id !== undefined)
|
|
57
67
|
.map((item) => ({
|
|
58
68
|
...item,
|
|
59
|
-
|
|
60
|
-
|
|
69
|
+
property_id: item.property_id === null ||
|
|
70
|
+
item.property_id === undefined ||
|
|
71
|
+
Number(item.property_id) <= 0
|
|
61
72
|
? undefined
|
|
62
73
|
: item.property_id,
|
|
63
74
|
}));
|
|
64
75
|
}, z.array(propertyFacilityRelationSchema).optional()),
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
76
|
+
condition_id: z.coerce
|
|
77
|
+
.number()
|
|
78
|
+
.int()
|
|
79
|
+
.min(0)
|
|
80
|
+
.optional()
|
|
81
|
+
.transform((value) => (value === 0 ? null : value)),
|
|
82
|
+
age_id: z.coerce
|
|
83
|
+
.number()
|
|
84
|
+
.int()
|
|
85
|
+
.min(0)
|
|
86
|
+
.optional()
|
|
87
|
+
.transform((value) => (value === 0 ? null : value)),
|
|
88
|
+
property_status_id: z.coerce
|
|
89
|
+
.number()
|
|
90
|
+
.int()
|
|
91
|
+
.min(0)
|
|
92
|
+
.optional()
|
|
93
|
+
.transform((value) => (value === 0 ? null : value)),
|
|
94
|
+
license_type_id: z.coerce
|
|
95
|
+
.number()
|
|
96
|
+
.int()
|
|
97
|
+
.min(0)
|
|
98
|
+
.optional()
|
|
99
|
+
.transform((value) => (value === 0 ? null : value)),
|
|
69
100
|
});
|
|
70
101
|
const updatePropertySchema = createPropertySchema.extend({
|
|
71
102
|
id: z.coerce.number().int().positive(),
|
|
72
103
|
});
|
|
73
104
|
const createUsedProductSchema = z.object({
|
|
74
105
|
ad_id: z.coerce.number().int().positive().optional(),
|
|
75
|
-
condition_id: z.coerce.number().int().positive(),
|
|
76
|
-
age_id: z.coerce.number().int().positive(),
|
|
106
|
+
condition_id: z.coerce.number().int().positive().optional().nullable(),
|
|
107
|
+
age_id: z.coerce.number().int().positive().optional().nullable(),
|
|
77
108
|
isFree: z.coerce.boolean().optional().nullable(),
|
|
78
109
|
isDeliveryAvailable: z.coerce.boolean().optional().nullable(),
|
|
79
110
|
product_type_id: z.coerce.number().optional().nullable(),
|
|
80
111
|
});
|
|
81
112
|
const updateUsedProductSchema = z.object({
|
|
82
113
|
id: z.coerce.number().int().positive(),
|
|
83
|
-
condition_id: z.coerce.number().int().positive(),
|
|
84
|
-
age_id: z.coerce.number().int().positive(),
|
|
114
|
+
condition_id: z.coerce.number().int().positive().optional().nullable(),
|
|
115
|
+
age_id: z.coerce.number().int().positive().optional().nullable(),
|
|
85
116
|
isFree: z.coerce.boolean().optional().nullable(),
|
|
86
117
|
isDeliveryAvailable: z.coerce.boolean().optional().nullable(),
|
|
87
118
|
product_type_id: z.coerce.number().optional().nullable(),
|
|
88
119
|
});
|
|
89
|
-
const
|
|
90
|
-
id: z.number().optional(),
|
|
91
|
-
service_id: z.number().optional(),
|
|
92
|
-
city_id: z.number(),
|
|
93
|
-
district_id: z.number().optional().nullable(),
|
|
94
|
-
});
|
|
95
|
-
const updateServiceLocationSchema = z.object({
|
|
96
|
-
city_id: z.number(),
|
|
97
|
-
// district_id: z.preprocess(
|
|
98
|
-
// (v) => (v === null || v === '' ? undefined : v),
|
|
99
|
-
// z.coerce.number().int().optional(),
|
|
100
|
-
// ),
|
|
101
|
-
});
|
|
102
|
-
const createServiceSchema = z.object({
|
|
120
|
+
const baseServiceSchema = z.object({
|
|
103
121
|
ad_id: z.coerce.number().int().positive().optional(),
|
|
104
122
|
access_type_id: z.coerce.number().int().positive(),
|
|
105
123
|
work_type_id: z.coerce.number().int().positive(),
|
|
106
124
|
unit_id: z.coerce.number().int().optional().nullable(),
|
|
107
|
-
locations: z.array(createServiceLocationSchema).optional().nullable(),
|
|
108
125
|
});
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
access_type_id: z.coerce.number().int().positive(),
|
|
113
|
-
work_type_id: z.coerce.number().int().positive(),
|
|
114
|
-
unit_id: z.coerce.number().int().optional().nullable(),
|
|
115
|
-
locations: z.array(updateServiceLocationSchema),
|
|
126
|
+
const createServiceSchema = baseServiceSchema;
|
|
127
|
+
const updateServiceSchema = baseServiceSchema.extend({
|
|
128
|
+
id: z.coerce.number().int().positive().optional(),
|
|
116
129
|
});
|
|
117
130
|
const baseAdCommon = z.object({
|
|
118
131
|
title: z.string().trim().optional(),
|
|
@@ -122,16 +135,13 @@ const baseAdCommon = z.object({
|
|
|
122
135
|
price: z.coerce.number().min(0).optional().nullable(),
|
|
123
136
|
currency_id: z.coerce.number().int().positive().optional().nullable(),
|
|
124
137
|
negotiable: z.coerce.boolean().optional().nullable(),
|
|
125
|
-
city_id: z.coerce.number().int().positive().optional().nullable(),
|
|
126
138
|
latitude: z.coerce.number().optional().nullable(),
|
|
127
139
|
longitude: z.coerce.number().optional().nullable(),
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
// z.coerce.number().optional().nullable(),
|
|
134
|
-
// ),
|
|
140
|
+
baseAdminBoundaryId: z.preprocess((value) => {
|
|
141
|
+
if (value === 0 || value === "0")
|
|
142
|
+
return undefined;
|
|
143
|
+
return value;
|
|
144
|
+
}, z.coerce.number().optional().nullable()),
|
|
135
145
|
media: z.array(z.any()).optional().nullable(),
|
|
136
146
|
subject_type: subjectTypeSchema.optional(),
|
|
137
147
|
base_price: z.coerce.number().optional().nullable(),
|
|
@@ -144,11 +154,12 @@ const baseAdCommon = z.object({
|
|
|
144
154
|
.optional()
|
|
145
155
|
.nullable(),
|
|
146
156
|
selected_phone: z.string().trim().optional().nullable(),
|
|
157
|
+
expires_at: z.iso.datetime().optional().nullable(),
|
|
147
158
|
adLocations: z.array(adLocationSchema).optional().nullable(),
|
|
148
159
|
});
|
|
149
160
|
export const createAdSchema = z.object({
|
|
150
161
|
user_id: z.coerce.number().int().positive(),
|
|
151
|
-
id: z.
|
|
162
|
+
id: z.null().optional(),
|
|
152
163
|
...baseAdCommon.shape,
|
|
153
164
|
motor: createMotorSchema.optional().nullable(),
|
|
154
165
|
property: createPropertySchema.optional().nullable(),
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const MarketingSubjectTypeSchema = z.enum([
|
|
3
|
+
'motors',
|
|
4
|
+
'properties',
|
|
5
|
+
'used_products',
|
|
6
|
+
'services',
|
|
7
|
+
]);
|
|
8
|
+
export const ConversationLanguageSchema = z.enum(['ar', 'en']);
|
|
9
|
+
export const StartAiConversationSchema = z.object({
|
|
10
|
+
request_id: z.string().min(1),
|
|
11
|
+
potential_user_id: z.number().int().positive(),
|
|
12
|
+
user_id: z.number().int().positive().nullable().optional(),
|
|
13
|
+
phone: z.string().min(5).max(30),
|
|
14
|
+
language: ConversationLanguageSchema.default('ar'),
|
|
15
|
+
purpose: z.literal('marketing'),
|
|
16
|
+
subject_type: MarketingSubjectTypeSchema,
|
|
17
|
+
initial_message: z.string().min(1),
|
|
18
|
+
context: z.object({
|
|
19
|
+
name: z.string().nullable().optional(),
|
|
20
|
+
reason: z.string().min(1),
|
|
21
|
+
note: z.string().nullable().optional(),
|
|
22
|
+
previous_contact_count: z.number().int().nonnegative().default(0),
|
|
23
|
+
}),
|
|
24
|
+
});
|
|
25
|
+
export const ConversationEventTypeSchema = z.enum([
|
|
26
|
+
'CONVERSATION_STARTED',
|
|
27
|
+
'MESSAGE_RECEIVED',
|
|
28
|
+
'INTERESTED',
|
|
29
|
+
'NOT_INTERESTED',
|
|
30
|
+
'REQUESTED_HUMAN',
|
|
31
|
+
'CONVERTED',
|
|
32
|
+
'OPTED_OUT',
|
|
33
|
+
'CONVERSATION_CLOSED',
|
|
34
|
+
]);
|
|
35
|
+
export const PotentialUserConversationEventSchema = z.object({
|
|
36
|
+
potential_user_id: z.number().int().positive(),
|
|
37
|
+
conversation_id: z.string().min(1),
|
|
38
|
+
event: ConversationEventTypeSchema,
|
|
39
|
+
summary: z.string().max(2000).nullable().optional(),
|
|
40
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const SupportTicketStatusSchema = z.enum(['open', 'assigned', 'in_progress', 'waiting_customer', 'resolved', 'closed', 'reopened']);
|
|
3
|
+
export const SupportTicketPrioritySchema = z.enum(['low', 'normal', 'high', 'urgent']);
|
|
4
|
+
export const SupportTicketCategorySchema = z.enum(['technical_issue', 'account', 'advertisement', 'payment', 'complaint', 'other']);
|
|
5
|
+
export const SupportTicketCreateSchema = z.object({
|
|
6
|
+
title: z.string().trim().min(4).max(180),
|
|
7
|
+
description: z.string().trim().min(5).max(5000),
|
|
8
|
+
category: SupportTicketCategorySchema.default('other'),
|
|
9
|
+
priority: SupportTicketPrioritySchema.default('normal'),
|
|
10
|
+
potential_user_id: z.number().int().positive().nullable().optional(),
|
|
11
|
+
user_id: z.number().int().positive().nullable().optional(),
|
|
12
|
+
contact_phone: z.string().trim().min(6).max(30).nullable().optional(),
|
|
13
|
+
conversation_id: z.string().min(1).max(80).nullable().optional(),
|
|
14
|
+
ad_id: z.number().int().positive().nullable().optional(),
|
|
15
|
+
payment_id: z.number().int().positive().nullable().optional(),
|
|
16
|
+
});
|
|
17
|
+
export const SupportTicketAiCreateSchema = SupportTicketCreateSchema.extend({
|
|
18
|
+
conversation_id: z.string().min(1).max(80),
|
|
19
|
+
dedupe_key: z.string().min(8).max(180),
|
|
20
|
+
ai_summary: z.string().max(2000).nullable().optional(),
|
|
21
|
+
});
|
|
22
|
+
export const SupportTicketIdSchema = z.object({ id: z.number().int().positive() });
|
|
23
|
+
export const SupportTicketListSchema = z.object({
|
|
24
|
+
page: z.number().int().positive().default(1),
|
|
25
|
+
limit: z.number().int().min(1).max(100).default(20),
|
|
26
|
+
status: SupportTicketStatusSchema.optional(),
|
|
27
|
+
priority: SupportTicketPrioritySchema.optional(),
|
|
28
|
+
search: z.string().trim().max(100).optional(),
|
|
29
|
+
});
|
|
30
|
+
export const SupportTicketStatusUpdateSchema = SupportTicketIdSchema.extend({ status: SupportTicketStatusSchema });
|
|
31
|
+
export const SupportTicketAssignmentSchema = SupportTicketIdSchema.extend({ assigned_to: z.number().int().positive() });
|
|
32
|
+
export const SupportTicketReplySchema = SupportTicketIdSchema.extend({ message: z.string().trim().min(1).max(4000) });
|
package/dist/esm/schema/index.js
CHANGED
package/dist/esm/types/index.js
CHANGED
|
@@ -70,6 +70,8 @@ export * as Media from "./media/Media.js";
|
|
|
70
70
|
export * as Image from "./media/Image.js";
|
|
71
71
|
export * as SocialMediaPlatform from "./media/SocialMediaPlatform.js";
|
|
72
72
|
export * as SocialMediaProfile from "./media/SocialMediaProfile.js";
|
|
73
|
+
// KYC
|
|
74
|
+
export * as Kyc from "./kyc/Kyc.js";
|
|
73
75
|
// integrations
|
|
74
76
|
export * as Google from "./integrations/Google.js";
|
|
75
77
|
// analysis
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export var KycStatus;
|
|
2
|
+
(function (KycStatus) {
|
|
3
|
+
KycStatus["DRAFT"] = "DRAFT";
|
|
4
|
+
KycStatus["PENDING"] = "PENDING";
|
|
5
|
+
KycStatus["UNDER_REVIEW"] = "UNDER_REVIEW";
|
|
6
|
+
KycStatus["APPROVED"] = "APPROVED";
|
|
7
|
+
KycStatus["REJECTED"] = "REJECTED";
|
|
8
|
+
KycStatus["REQUIRES_RESUBMISSION"] = "REQUIRES_RESUBMISSION";
|
|
9
|
+
})(KycStatus || (KycStatus = {}));
|
|
10
|
+
export var KycDocumentType;
|
|
11
|
+
(function (KycDocumentType) {
|
|
12
|
+
KycDocumentType["NATIONAL_ID"] = "NATIONAL_ID";
|
|
13
|
+
KycDocumentType["PASSPORT"] = "PASSPORT";
|
|
14
|
+
KycDocumentType["RESIDENCE_PERMIT"] = "RESIDENCE_PERMIT";
|
|
15
|
+
KycDocumentType["DRIVING_LICENSE"] = "DRIVING_LICENSE";
|
|
16
|
+
})(KycDocumentType || (KycDocumentType = {}));
|
|
17
|
+
export var KycMediaType;
|
|
18
|
+
(function (KycMediaType) {
|
|
19
|
+
KycMediaType["DOCUMENT_FRONT"] = "document_front";
|
|
20
|
+
KycMediaType["DOCUMENT_BACK"] = "document_back";
|
|
21
|
+
KycMediaType["SELFIE"] = "selfie";
|
|
22
|
+
})(KycMediaType || (KycMediaType = {}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Kyc.js";
|
package/package.json
CHANGED
|
@@ -1,44 +1,58 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@deallony/shared",
|
|
3
|
-
"version": "1.2.
|
|
4
|
-
"private": false,
|
|
5
|
-
"main": "dist/cjs/index.js",
|
|
6
|
-
"module": "dist/esm/index.js",
|
|
7
|
-
"react-native": "dist/esm/index.js",
|
|
8
|
-
"types": "dist/cjs/index.d.ts",
|
|
9
|
-
"sideEffects": false,
|
|
10
|
-
"exports": {
|
|
11
|
-
".": {
|
|
12
|
-
"require": "./dist/cjs/index.js",
|
|
13
|
-
"import": "./dist/esm/index.js",
|
|
14
|
-
"types": "./dist/cjs/index.d.ts"
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
"files": [
|
|
18
|
-
"dist"
|
|
19
|
-
],
|
|
20
|
-
"scripts": {
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"current": "
|
|
29
|
-
"============================= Links with project =============================": "",
|
|
30
|
-
"link:backend": "cd ../backend-service-marketplace && pnpm
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@deallony/shared",
|
|
3
|
+
"version": "1.2.50",
|
|
4
|
+
"private": false,
|
|
5
|
+
"main": "dist/cjs/index.js",
|
|
6
|
+
"module": "dist/esm/index.js",
|
|
7
|
+
"react-native": "dist/esm/index.js",
|
|
8
|
+
"types": "dist/cjs/index.d.ts",
|
|
9
|
+
"sideEffects": false,
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"require": "./dist/cjs/index.js",
|
|
13
|
+
"import": "./dist/esm/index.js",
|
|
14
|
+
"types": "./dist/cjs/index.d.ts"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"deploy": "node ./scripts/publish.js npm patch",
|
|
22
|
+
"=========": "============= UPDATE APPS LIBRARY =============",
|
|
23
|
+
"all:update": "npm run mobile:update && npm run backend:update && npm run dashboard:update && npm run whatsapp:update",
|
|
24
|
+
"mobile:update": "cd ../app && npm install gitlab:qatayef-tech-aloo/deallony-development/shared-deallony",
|
|
25
|
+
"backend:update": "cd ../backend-service-marketplace && pnpm install gitlab:qatayef-tech-aloo/deallony-development/shared-deallony",
|
|
26
|
+
"dashboard:update": "cd ../frontend-react-aloo && pnpm install gitlab:qatayef-tech-aloo/deallony-development/shared-deallony",
|
|
27
|
+
"whatsapp:update": "cd ../backend-nest-whatsapp-service-aloo && pnpm install gitlab:qatayef-tech-aloo/deallony-development/shared-deallony",
|
|
28
|
+
"current": "node -p \"require('./package.json').version\"",
|
|
29
|
+
"============================= Links with project =============================": "",
|
|
30
|
+
"link:backend": "cd ../backend-service-marketplace && pnpm add @deallony/shared@file:../shared-deallony",
|
|
31
|
+
"link:dashboard": "cd ../frontend-react-aloo && pnpm add @deallony/shared@file:../shared-deallony",
|
|
32
|
+
"link:mobile": "cd ../app && npm install ../shared-deallony",
|
|
33
|
+
"========": "============ DEFAULT ============",
|
|
34
|
+
"build": "tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json && node ./scripts/fix-esm-imports.mjs",
|
|
35
|
+
"watch": "tsc -p tsconfig.cjs.json --watch",
|
|
36
|
+
"deploy:patch": "node ./scripts/publish.js npm patch",
|
|
37
|
+
"deploy:minor": "node ./scripts/publish.js npm minor",
|
|
38
|
+
"deploy:major": "node ./scripts/publish.js npm major",
|
|
39
|
+
"deploy:dry-run": "node ./scripts/publish.js npm patch --dry-run",
|
|
40
|
+
"deploy:git": "node ./scripts/publish.js git patch",
|
|
41
|
+
"deploy:git:minor": "node ./scripts/publish.js git minor",
|
|
42
|
+
"deploy:git:major": "node ./scripts/publish.js git major",
|
|
43
|
+
"deploy:git:dry-run": "node ./scripts/publish.js git patch --dry-run",
|
|
44
|
+
"test:release": "node --test scripts/publish.test.js",
|
|
45
|
+
"prepublishOnly": "npm run build"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"zod": "^4.2.1"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@types/node": "^25.0.3",
|
|
52
|
+
"typescript": "^5.9.3"
|
|
53
|
+
},
|
|
54
|
+
"publishConfig": {
|
|
55
|
+
"registry": "https://registry.npmjs.org/",
|
|
56
|
+
"access": "public"
|
|
57
|
+
}
|
|
58
|
+
}
|