@hirely/sdk 1.0.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 +23 -0
- package/LICENSE +21 -0
- package/README.md +532 -0
- package/dist/cache/memory-cache.d.ts +1 -0
- package/dist/client.d.ts +151 -0
- package/dist/constants.d.ts +8 -0
- package/dist/errors.d.ts +115 -0
- package/dist/http/request.d.ts +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.js +1 -0
- package/dist/resources/certificates.d.ts +25 -0
- package/dist/resources/contacts.d.ts +15 -0
- package/dist/resources/cv.d.ts +15 -0
- package/dist/resources/education.d.ts +25 -0
- package/dist/resources/faqs.d.ts +25 -0
- package/dist/resources/projects.d.ts +51 -0
- package/dist/resources/services.d.ts +25 -0
- package/dist/resources/skills.d.ts +22 -0
- package/dist/resources/testimonials.d.ts +26 -0
- package/dist/resources/work.d.ts +31 -0
- package/dist/types.d.ts +464 -0
- package/package.json +84 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
export interface HirelyConfig {
|
|
2
|
+
/**
|
|
3
|
+
* Your Hirely public API key.
|
|
4
|
+
* Must start with `hk_pub_`.
|
|
5
|
+
* Generate one in your Hirely dashboard.
|
|
6
|
+
*/
|
|
7
|
+
apiKey: string;
|
|
8
|
+
/**
|
|
9
|
+
* Request timeout in milliseconds.
|
|
10
|
+
* Defaults to `30_000` (30 seconds). Set to `0` to disable.
|
|
11
|
+
*/
|
|
12
|
+
timeout?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Retry attempts for transient errors (5xx, 429, etc.).
|
|
15
|
+
* Defaults to `2`. Set to `0` to disable retries.
|
|
16
|
+
*/
|
|
17
|
+
retries?: number;
|
|
18
|
+
/** SDK-side response caching. Disabled by default. */
|
|
19
|
+
cache?: HirelyCacheConfig;
|
|
20
|
+
/**
|
|
21
|
+
* Custom `fetch` implementation.
|
|
22
|
+
* Defaults to the global `fetch`.
|
|
23
|
+
*/
|
|
24
|
+
fetch?: typeof fetch;
|
|
25
|
+
}
|
|
26
|
+
export interface HirelyCacheConfig {
|
|
27
|
+
/** Whether SDK-side caching is enabled. */
|
|
28
|
+
enabled: boolean;
|
|
29
|
+
/** Time-to-live in seconds. Defaults to `300`. */
|
|
30
|
+
ttl?: number;
|
|
31
|
+
/** Custom cache store (e.g. Redis). Defaults to in-memory Map. */
|
|
32
|
+
store?: HirelyCache;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Interface for a custom cache store.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* const store: HirelyCache = {
|
|
40
|
+
* get: (key) => redis.get(key).then(JSON.parse),
|
|
41
|
+
* set: (key, value, ttl) => redis.set(key, JSON.stringify(value), 'EX', ttl),
|
|
42
|
+
* };
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export interface HirelyCache {
|
|
46
|
+
/** Retrieve a cached value. Return `undefined` on miss. */
|
|
47
|
+
get<T>(key: string): T | undefined | Promise<T | undefined>;
|
|
48
|
+
/** Store a value with a TTL in seconds. */
|
|
49
|
+
set<T>(key: string, value: T, ttl: number): void | Promise<void>;
|
|
50
|
+
/** Delete a single cached entry. */
|
|
51
|
+
delete?(key: string): void | Promise<void>;
|
|
52
|
+
/** Clear all cached entries. */
|
|
53
|
+
clear?(): void | Promise<void>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Per-request options passed to any SDK method.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```ts
|
|
60
|
+
* const fresh = await hirely.get({ cache: false });
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export interface HirelyRequestOptions {
|
|
64
|
+
/** Set to `false` to bypass the SDK cache for this request. */
|
|
65
|
+
cache?: false;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The complete portfolio returned by `hirely.get()`.
|
|
69
|
+
*/
|
|
70
|
+
export interface HirelyPortfolio {
|
|
71
|
+
userName?: string;
|
|
72
|
+
email?: string;
|
|
73
|
+
role?: string;
|
|
74
|
+
plan?: string;
|
|
75
|
+
profile?: HirelyProfile | null;
|
|
76
|
+
projects: HirelyProject[];
|
|
77
|
+
work: HirelyWork[];
|
|
78
|
+
education: HirelyEducation[];
|
|
79
|
+
certificates: HirelyCertificate[];
|
|
80
|
+
testimonials: HirelyTestimonial[];
|
|
81
|
+
services: HirelyService[];
|
|
82
|
+
skills: HirelySkill[];
|
|
83
|
+
faq: HirelyFaq[];
|
|
84
|
+
contact?: HirelyContact | null;
|
|
85
|
+
cv?: HirelyCV | null;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Account information returned by `hirely.me()`.
|
|
89
|
+
*
|
|
90
|
+
* Includes account-level fields and the full embedded public profile.
|
|
91
|
+
*/
|
|
92
|
+
export interface HirelyMe {
|
|
93
|
+
/** MongoDB document ID. */
|
|
94
|
+
_id: string;
|
|
95
|
+
/** The Hirely username. */
|
|
96
|
+
userName?: string;
|
|
97
|
+
/** Account email address. */
|
|
98
|
+
email: string;
|
|
99
|
+
/** Account role: `"freelancer"` or `"client"`. */
|
|
100
|
+
role: string;
|
|
101
|
+
/** Current subscription plan. */
|
|
102
|
+
plan: string;
|
|
103
|
+
/** Full public profile. `null` if not set up yet. */
|
|
104
|
+
profile: HirelyProfile | null;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Full public profile for a Hirely account.
|
|
108
|
+
*/
|
|
109
|
+
export interface HirelyProfile {
|
|
110
|
+
/** MongoDB document ID. */
|
|
111
|
+
_id: string;
|
|
112
|
+
/** First name. */
|
|
113
|
+
firstName?: string;
|
|
114
|
+
/** Last name. */
|
|
115
|
+
lastName?: string;
|
|
116
|
+
/** Professional title or position. */
|
|
117
|
+
positionName?: string;
|
|
118
|
+
/** Short professional bio. */
|
|
119
|
+
about?: string;
|
|
120
|
+
/** Date of birth. */
|
|
121
|
+
birthday?: string;
|
|
122
|
+
/** Contact phone number. */
|
|
123
|
+
phone?: string;
|
|
124
|
+
/** Nationality. */
|
|
125
|
+
nationality?: string;
|
|
126
|
+
/** Country of residence. */
|
|
127
|
+
country?: string;
|
|
128
|
+
/** City of residence. */
|
|
129
|
+
city?: string;
|
|
130
|
+
/** Gender. */
|
|
131
|
+
gender?: "male" | "female";
|
|
132
|
+
/** Public avatar image. */
|
|
133
|
+
avatar?: {
|
|
134
|
+
url?: string;
|
|
135
|
+
public_id?: string;
|
|
136
|
+
} | null;
|
|
137
|
+
/** Number of portfolio likes. */
|
|
138
|
+
likes?: number;
|
|
139
|
+
/** Profile visibility. */
|
|
140
|
+
visibility?: "public" | "private" | "unlisted";
|
|
141
|
+
/** ISO timestamp of creation. */
|
|
142
|
+
createdAt?: string;
|
|
143
|
+
/** ISO timestamp of last update. */
|
|
144
|
+
updatedAt?: string;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* A single portfolio project.
|
|
148
|
+
*/
|
|
149
|
+
export interface HirelyProject {
|
|
150
|
+
/** MongoDB document ID. */
|
|
151
|
+
_id: string;
|
|
152
|
+
/** Project title. */
|
|
153
|
+
title?: string;
|
|
154
|
+
/** Short summary (max 300 characters). */
|
|
155
|
+
shortDescription?: string;
|
|
156
|
+
/** Full project description. */
|
|
157
|
+
description?: string;
|
|
158
|
+
/** Project category (e.g. "Web Development"). */
|
|
159
|
+
category?: string;
|
|
160
|
+
/** Project status (e.g. "Completed"). */
|
|
161
|
+
status?: string;
|
|
162
|
+
/** Human-readable project duration. */
|
|
163
|
+
duration?: string;
|
|
164
|
+
/** Featured image. */
|
|
165
|
+
featuredImage?: {
|
|
166
|
+
url?: string;
|
|
167
|
+
} | null;
|
|
168
|
+
/** Additional media gallery. */
|
|
169
|
+
media?: HirelyProjectMedia[];
|
|
170
|
+
/** Industry this project belongs to. */
|
|
171
|
+
industry?: string;
|
|
172
|
+
/** URL-friendly slug for deep linking. */
|
|
173
|
+
slug?: string;
|
|
174
|
+
/** Whether this project is featured/pinned. */
|
|
175
|
+
featured?: boolean;
|
|
176
|
+
/** Technologies used. */
|
|
177
|
+
technologies?: string[];
|
|
178
|
+
/** Tools used. */
|
|
179
|
+
tools?: string[];
|
|
180
|
+
/** Target platforms. */
|
|
181
|
+
platforms?: string[];
|
|
182
|
+
/** Live demo URL. */
|
|
183
|
+
demoUrl?: string;
|
|
184
|
+
/** Source code repository URL. */
|
|
185
|
+
repositoryUrl?: string;
|
|
186
|
+
/** Case study URL. */
|
|
187
|
+
caseStudyUrl?: string;
|
|
188
|
+
/** Key achievements. */
|
|
189
|
+
achievements?: string[];
|
|
190
|
+
/** Challenges faced. */
|
|
191
|
+
challenges?: string[];
|
|
192
|
+
/** Key learnings. */
|
|
193
|
+
learnings?: string[];
|
|
194
|
+
/** Notable features. */
|
|
195
|
+
features?: string[];
|
|
196
|
+
/** Quantitative project metrics. */
|
|
197
|
+
metrics?: Array<{
|
|
198
|
+
name: string;
|
|
199
|
+
value: string;
|
|
200
|
+
}>;
|
|
201
|
+
/** Tags for filtering. */
|
|
202
|
+
tags?: string[];
|
|
203
|
+
/** Total view count. */
|
|
204
|
+
views?: number;
|
|
205
|
+
/** Total like count. */
|
|
206
|
+
likes?: number;
|
|
207
|
+
/** Project start date. */
|
|
208
|
+
startDate?: string;
|
|
209
|
+
/** Project end date. */
|
|
210
|
+
endDate?: string;
|
|
211
|
+
/** ISO timestamp of creation. */
|
|
212
|
+
createdAt?: string;
|
|
213
|
+
}
|
|
214
|
+
/** A media item within a project gallery. */
|
|
215
|
+
export interface HirelyProjectMedia {
|
|
216
|
+
type?: "image";
|
|
217
|
+
url?: string;
|
|
218
|
+
caption?: string;
|
|
219
|
+
thumbnail?: string;
|
|
220
|
+
order?: number;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* A work experience entry.
|
|
224
|
+
*/
|
|
225
|
+
export interface HirelyWork {
|
|
226
|
+
/** MongoDB document ID. */
|
|
227
|
+
_id: string;
|
|
228
|
+
/** Company logo. */
|
|
229
|
+
companyImage?: {
|
|
230
|
+
url?: string;
|
|
231
|
+
} | null;
|
|
232
|
+
/** Company or organisation name. */
|
|
233
|
+
companyName?: string;
|
|
234
|
+
/** Job title / position held. */
|
|
235
|
+
position?: string;
|
|
236
|
+
/** Employment start date. */
|
|
237
|
+
startDate?: string;
|
|
238
|
+
/** Employment end date. `null` if `isCurrent` is `true`. */
|
|
239
|
+
endDate?: string | null;
|
|
240
|
+
/** Role description. */
|
|
241
|
+
description?: string;
|
|
242
|
+
/** Whether this is the current position. */
|
|
243
|
+
isCurrent?: boolean;
|
|
244
|
+
/** Employment type (e.g. "Full-time", "Contract"). */
|
|
245
|
+
employmentType?: string;
|
|
246
|
+
/** Work location or "Remote". */
|
|
247
|
+
location?: string;
|
|
248
|
+
/** Key achievements. */
|
|
249
|
+
achievements?: string[];
|
|
250
|
+
/** Key responsibilities. */
|
|
251
|
+
responsibilities?: string[];
|
|
252
|
+
/** Skills used in this role. */
|
|
253
|
+
skills?: string[];
|
|
254
|
+
/** ISO timestamp of creation. */
|
|
255
|
+
createdAt?: string;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* An education history entry.
|
|
259
|
+
*/
|
|
260
|
+
export interface HirelyEducation {
|
|
261
|
+
/** MongoDB document ID. */
|
|
262
|
+
_id: string;
|
|
263
|
+
/** Name of the institution. */
|
|
264
|
+
institution?: string;
|
|
265
|
+
/** Degree type (e.g. "Bachelor's", "Master's"). */
|
|
266
|
+
degree?: string;
|
|
267
|
+
/** Field or major of study. */
|
|
268
|
+
fieldOfStudy?: string;
|
|
269
|
+
/** Start date. */
|
|
270
|
+
startDate?: string;
|
|
271
|
+
/** End date. `null` if `isCurrent` is `true`. */
|
|
272
|
+
endDate?: string | null;
|
|
273
|
+
/** Letter grade (e.g. "A+"). */
|
|
274
|
+
grade?: string;
|
|
275
|
+
/** Grade point average. */
|
|
276
|
+
gpa?: number;
|
|
277
|
+
/** Additional description or notes. */
|
|
278
|
+
description?: string;
|
|
279
|
+
/** Institution logo. */
|
|
280
|
+
institutionImage?: {
|
|
281
|
+
url?: string;
|
|
282
|
+
} | null;
|
|
283
|
+
/** Whether currently enrolled. */
|
|
284
|
+
isCurrent?: boolean;
|
|
285
|
+
/** Institution location. */
|
|
286
|
+
location?: string;
|
|
287
|
+
/** Extracurricular activities. */
|
|
288
|
+
activities?: string[];
|
|
289
|
+
/** Notable achievements during study. */
|
|
290
|
+
achievements?: string[];
|
|
291
|
+
/** Relevant coursework. */
|
|
292
|
+
coursework?: string[];
|
|
293
|
+
/** ISO timestamp of creation. */
|
|
294
|
+
createdAt?: string;
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* A certificate or credential.
|
|
298
|
+
*/
|
|
299
|
+
export interface HirelyCertificate {
|
|
300
|
+
/** MongoDB document ID. */
|
|
301
|
+
_id: string;
|
|
302
|
+
/** Certificate name. */
|
|
303
|
+
name?: string;
|
|
304
|
+
/** Description of the certificate. */
|
|
305
|
+
description?: string;
|
|
306
|
+
/** Issue date. */
|
|
307
|
+
issueDate?: string;
|
|
308
|
+
/** Issuing organisation. */
|
|
309
|
+
issuer?: string;
|
|
310
|
+
/** Type of certificate. */
|
|
311
|
+
certificateType?: "course" | "certification" | "license" | "achievement" | "other";
|
|
312
|
+
/** Course-specific details (only for course certificates). */
|
|
313
|
+
courseDetails?: {
|
|
314
|
+
courseName?: string;
|
|
315
|
+
courseProvider?: string;
|
|
316
|
+
instructor?: string;
|
|
317
|
+
duration?: string;
|
|
318
|
+
courseUrl?: string;
|
|
319
|
+
courseLevel?: "beginner" | "intermediate" | "advanced" | "expert";
|
|
320
|
+
};
|
|
321
|
+
/** Skills demonstrated. */
|
|
322
|
+
skills?: string[];
|
|
323
|
+
/** Verifiable credential ID. */
|
|
324
|
+
credentialId?: string;
|
|
325
|
+
/** URL to verify the credential. */
|
|
326
|
+
credentialUrl?: string;
|
|
327
|
+
/** Completion status. */
|
|
328
|
+
completionStatus?: "completed" | "in-progress" | "expired";
|
|
329
|
+
/** ISO timestamp of creation. */
|
|
330
|
+
createdAt?: string;
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* A service offered by the portfolio owner.
|
|
334
|
+
*/
|
|
335
|
+
export interface HirelyService {
|
|
336
|
+
/** MongoDB document ID. */
|
|
337
|
+
_id: string;
|
|
338
|
+
/** Service title. */
|
|
339
|
+
title?: string;
|
|
340
|
+
/** Full service description. */
|
|
341
|
+
description?: string;
|
|
342
|
+
/** Short summary. */
|
|
343
|
+
shortDescription?: string;
|
|
344
|
+
/** Service category. */
|
|
345
|
+
category?: string;
|
|
346
|
+
/** Service subcategory. */
|
|
347
|
+
subcategory?: string;
|
|
348
|
+
/** Pricing model. */
|
|
349
|
+
pricing?: {
|
|
350
|
+
type?: "fixed" | "hourly" | "package";
|
|
351
|
+
amount?: number;
|
|
352
|
+
currency?: string;
|
|
353
|
+
};
|
|
354
|
+
/** Available packages. */
|
|
355
|
+
packages?: Array<{
|
|
356
|
+
name?: string;
|
|
357
|
+
description?: string;
|
|
358
|
+
price?: number;
|
|
359
|
+
deliveryTime?: number;
|
|
360
|
+
features?: string[];
|
|
361
|
+
}>;
|
|
362
|
+
/** ISO timestamp of creation. */
|
|
363
|
+
createdAt?: string;
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* A professional skill.
|
|
367
|
+
*/
|
|
368
|
+
export interface HirelySkill {
|
|
369
|
+
/** MongoDB document ID. */
|
|
370
|
+
_id: string;
|
|
371
|
+
/** Skill name. */
|
|
372
|
+
name?: string;
|
|
373
|
+
/** Skill category (e.g. "Frontend", "Design"). */
|
|
374
|
+
category?: string;
|
|
375
|
+
/** ISO timestamp of creation. */
|
|
376
|
+
createdAt?: string;
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* A client testimonial (approved and public only).
|
|
380
|
+
*/
|
|
381
|
+
export interface HirelyTestimonial {
|
|
382
|
+
/** MongoDB document ID. */
|
|
383
|
+
_id: string;
|
|
384
|
+
/** Client who wrote the testimonial. */
|
|
385
|
+
client?: HirelyTestimonialClient | null;
|
|
386
|
+
/** Overall rating (1–5). */
|
|
387
|
+
rating?: number;
|
|
388
|
+
/** Short testimonial title. */
|
|
389
|
+
title?: string;
|
|
390
|
+
/** Full testimonial text. */
|
|
391
|
+
review?: string;
|
|
392
|
+
/** Category-specific ratings. */
|
|
393
|
+
detailedRatings?: {
|
|
394
|
+
communication?: number;
|
|
395
|
+
quality?: number;
|
|
396
|
+
professionalism?: number;
|
|
397
|
+
deadlineAdherence?: number;
|
|
398
|
+
value?: number;
|
|
399
|
+
};
|
|
400
|
+
/** Whether this testimonial is featured. */
|
|
401
|
+
isFeatured?: boolean;
|
|
402
|
+
/** Whether the client has been verified. */
|
|
403
|
+
isVerified?: boolean;
|
|
404
|
+
/** ISO timestamp of creation. */
|
|
405
|
+
createdAt?: string;
|
|
406
|
+
}
|
|
407
|
+
/** The client who authored a testimonial. */
|
|
408
|
+
export interface HirelyTestimonialClient {
|
|
409
|
+
_id: string;
|
|
410
|
+
firstName?: string;
|
|
411
|
+
lastName?: string;
|
|
412
|
+
avatar?: {
|
|
413
|
+
url?: string;
|
|
414
|
+
} | null;
|
|
415
|
+
positionName?: string;
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* A frequently asked question.
|
|
419
|
+
*/
|
|
420
|
+
export interface HirelyFaq {
|
|
421
|
+
/** MongoDB document ID. */
|
|
422
|
+
_id: string;
|
|
423
|
+
/** The question. */
|
|
424
|
+
question?: string;
|
|
425
|
+
/** The answer. */
|
|
426
|
+
answer?: string;
|
|
427
|
+
/** ISO timestamp of creation. */
|
|
428
|
+
createdAt?: string;
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Public contact information (social links).
|
|
432
|
+
*/
|
|
433
|
+
export interface HirelyContact {
|
|
434
|
+
/** MongoDB document ID. */
|
|
435
|
+
_id: string;
|
|
436
|
+
/** List of social/contact links. */
|
|
437
|
+
socialLinks?: HirелySocialLink[];
|
|
438
|
+
}
|
|
439
|
+
/** A single social or contact link. */
|
|
440
|
+
export interface HirелySocialLink {
|
|
441
|
+
/** Social platform name (e.g. "github", "linkedIn"). */
|
|
442
|
+
platform: string;
|
|
443
|
+
/** The profile URL. */
|
|
444
|
+
url: string;
|
|
445
|
+
}
|
|
446
|
+
/**
|
|
447
|
+
* The most recent public CV (résumé) file.
|
|
448
|
+
*/
|
|
449
|
+
export interface HirelyCV {
|
|
450
|
+
/** MongoDB document ID. */
|
|
451
|
+
_id: string;
|
|
452
|
+
/** CV document title. */
|
|
453
|
+
title?: string;
|
|
454
|
+
/** Direct URL to the PDF version. */
|
|
455
|
+
pdfUrl?: string;
|
|
456
|
+
/** Direct URL to the DOCX version. */
|
|
457
|
+
docxUrl?: string;
|
|
458
|
+
/** How the CV was created. */
|
|
459
|
+
type?: "generated" | "uploaded";
|
|
460
|
+
/** Visibility setting. */
|
|
461
|
+
visibility?: "public" | "private";
|
|
462
|
+
/** ISO timestamp of creation. */
|
|
463
|
+
createdAt?: string;
|
|
464
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hirely/sdk",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Official JavaScript and TypeScript SDK for connecting your Hirely portfolio to any website or application.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"bun": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.js"
|
|
11
|
+
},
|
|
12
|
+
"node": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"import": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"import": "./dist/index.js",
|
|
18
|
+
"default": "./dist/index.js"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"main": "./dist/index.js",
|
|
22
|
+
"module": "./dist/index.js",
|
|
23
|
+
"types": "./dist/index.d.ts",
|
|
24
|
+
"files": [
|
|
25
|
+
"dist",
|
|
26
|
+
"README.md",
|
|
27
|
+
"LICENSE",
|
|
28
|
+
"CHANGELOG.md"
|
|
29
|
+
],
|
|
30
|
+
"scripts": {
|
|
31
|
+
"build:js": "bun build src/index.ts --outdir dist --target node --format esm --minify",
|
|
32
|
+
"build:types": "tsc -p tsconfig.build.json",
|
|
33
|
+
"build": "bun scripts/build.ts",
|
|
34
|
+
"typecheck": "bunx tsgo --noEmit",
|
|
35
|
+
"test": "bun test",
|
|
36
|
+
"clean": "rm -rf dist",
|
|
37
|
+
"prepublishOnly": "bun run clean && bun run typecheck && bun run build && bun test",
|
|
38
|
+
"release:patch": "npm version patch && git push --follow-tags && npm publish",
|
|
39
|
+
"release:minor": "npm version minor && git push --follow-tags && npm publish",
|
|
40
|
+
"release:major": "npm version major && git push --follow-tags && npm publish"
|
|
41
|
+
},
|
|
42
|
+
"keywords": [
|
|
43
|
+
"hirely",
|
|
44
|
+
"sdk",
|
|
45
|
+
"portfolio",
|
|
46
|
+
"typescript",
|
|
47
|
+
"javascript",
|
|
48
|
+
"api",
|
|
49
|
+
"client",
|
|
50
|
+
"nextjs",
|
|
51
|
+
"react",
|
|
52
|
+
"astro",
|
|
53
|
+
"remix",
|
|
54
|
+
"freelancer",
|
|
55
|
+
"career",
|
|
56
|
+
"ai"
|
|
57
|
+
],
|
|
58
|
+
"author": {
|
|
59
|
+
"name": "Hirely",
|
|
60
|
+
"url": "https://hirely.cc"
|
|
61
|
+
},
|
|
62
|
+
"license": "MIT",
|
|
63
|
+
"repository": {
|
|
64
|
+
"type": "git",
|
|
65
|
+
"url": "git+https://github.com/hirely/sdk.git"
|
|
66
|
+
},
|
|
67
|
+
"homepage": "https://hirely.cc",
|
|
68
|
+
"bugs": {
|
|
69
|
+
"url": "https://github.com/hirely/sdk/issues"
|
|
70
|
+
},
|
|
71
|
+
"publishConfig": {
|
|
72
|
+
"access": "public"
|
|
73
|
+
},
|
|
74
|
+
"engines": {
|
|
75
|
+
"node": ">=20.0.0",
|
|
76
|
+
"bun": ">=1.4.0"
|
|
77
|
+
},
|
|
78
|
+
"sideEffects": false,
|
|
79
|
+
"devDependencies": {
|
|
80
|
+
"@types/bun": "latest",
|
|
81
|
+
"@typescript/native-preview": "latest",
|
|
82
|
+
"typescript": "^7.0.2"
|
|
83
|
+
}
|
|
84
|
+
}
|