@jsonresume/types 0.2.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2014-2026 JSON Resume contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,453 @@
1
+ /**
2
+ * Auto-generated by packages/types/scripts/generate.mjs from
3
+ * @jsonresume/schema (schema.json + job-schema.json). Do not edit by hand;
4
+ * run `pnpm --filter @jsonresume/types build` to regenerate.
5
+ */
6
+ /* eslint-disable */
7
+
8
+ /**
9
+ * Similar to the standard date type, but each section after the year is optional. e.g. 2014-06-29 or 2023-04
10
+ */
11
+ export type Iso8601 = string;
12
+
13
+ export interface Resume {
14
+ /**
15
+ * link to the version of the schema that can validate the resume
16
+ */
17
+ $schema?: string;
18
+ basics?: ResumeBasics;
19
+ work?: WorkItem[];
20
+ volunteer?: VolunteerItem[];
21
+ education?: EducationItem[];
22
+ /**
23
+ * Specify any awards you have received throughout your professional career
24
+ */
25
+ awards?: AwardItem[];
26
+ /**
27
+ * Specify any certificates you have received throughout your professional career
28
+ */
29
+ certificates?: CertificateItem[];
30
+ /**
31
+ * Specify your publications through your career
32
+ */
33
+ publications?: PublicationItem[];
34
+ /**
35
+ * List out your professional skill-set
36
+ */
37
+ skills?: SkillItem[];
38
+ /**
39
+ * List any other languages you speak
40
+ */
41
+ languages?: LanguageItem[];
42
+ interests?: InterestItem[];
43
+ /**
44
+ * List references you have received
45
+ */
46
+ references?: ReferenceItem[];
47
+ /**
48
+ * Specify career projects
49
+ */
50
+ projects?: ProjectItem[];
51
+ meta?: ResumeMeta;
52
+ [k: string]: any;
53
+ }
54
+ export interface ResumeBasics {
55
+ name?: string;
56
+ /**
57
+ * e.g. Web Developer
58
+ */
59
+ label?: string;
60
+ /**
61
+ * URL (as per RFC 3986) to a image in JPEG or PNG format
62
+ */
63
+ image?: string;
64
+ /**
65
+ * e.g. thomas@gmail.com
66
+ */
67
+ email?: string;
68
+ /**
69
+ * Phone numbers are stored as strings so use any format you like, e.g. 712-117-2923
70
+ */
71
+ phone?: string;
72
+ /**
73
+ * URL (as per RFC 3986) to your website, e.g. personal homepage
74
+ */
75
+ url?: string;
76
+ /**
77
+ * Write a short 2-3 sentence biography about yourself
78
+ */
79
+ summary?: string;
80
+ location?: ResumeLocation;
81
+ /**
82
+ * Specify any number of social networks that you participate in
83
+ */
84
+ profiles?: ResumeProfile[];
85
+ [k: string]: any;
86
+ }
87
+ export interface ResumeLocation {
88
+ /**
89
+ * To add multiple address lines, use
90
+ * . For example, 1234 Glücklichkeit Straße
91
+ * Hinterhaus 5. Etage li.
92
+ */
93
+ address?: string;
94
+ postalCode?: string;
95
+ city?: string;
96
+ /**
97
+ * code as per ISO-3166-1 ALPHA-2, e.g. US, AU, IN
98
+ */
99
+ countryCode?: string;
100
+ /**
101
+ * The general region where you live. Can be a US state, or a province, for instance.
102
+ */
103
+ region?: string;
104
+ [k: string]: any;
105
+ }
106
+ export interface ResumeProfile {
107
+ /**
108
+ * e.g. Facebook or Twitter
109
+ */
110
+ network?: string;
111
+ /**
112
+ * e.g. neutralthoughts
113
+ */
114
+ username?: string;
115
+ /**
116
+ * e.g. http://twitter.example.com/neutralthoughts
117
+ */
118
+ url?: string;
119
+ [k: string]: any;
120
+ }
121
+ export interface WorkItem {
122
+ /**
123
+ * e.g. Facebook
124
+ */
125
+ name?: string;
126
+ /**
127
+ * e.g. Menlo Park, CA
128
+ */
129
+ location?: string;
130
+ /**
131
+ * e.g. Social Media Company
132
+ */
133
+ description?: string;
134
+ /**
135
+ * e.g. Software Engineer
136
+ */
137
+ position?: string;
138
+ /**
139
+ * e.g. http://facebook.example.com
140
+ */
141
+ url?: string;
142
+ startDate?: Iso8601;
143
+ endDate?: Iso8601;
144
+ /**
145
+ * Give an overview of your responsibilities at the company
146
+ */
147
+ summary?: string;
148
+ /**
149
+ * Specify multiple accomplishments
150
+ */
151
+ highlights?: string[];
152
+ [k: string]: any;
153
+ }
154
+ export interface VolunteerItem {
155
+ /**
156
+ * e.g. Facebook
157
+ */
158
+ organization?: string;
159
+ /**
160
+ * e.g. Software Engineer
161
+ */
162
+ position?: string;
163
+ /**
164
+ * e.g. http://facebook.example.com
165
+ */
166
+ url?: string;
167
+ startDate?: Iso8601;
168
+ endDate?: Iso8601;
169
+ /**
170
+ * Give an overview of your responsibilities at the company
171
+ */
172
+ summary?: string;
173
+ /**
174
+ * Specify accomplishments and achievements
175
+ */
176
+ highlights?: string[];
177
+ [k: string]: any;
178
+ }
179
+ export interface EducationItem {
180
+ /**
181
+ * e.g. Massachusetts Institute of Technology
182
+ */
183
+ institution?: string;
184
+ /**
185
+ * e.g. http://facebook.example.com
186
+ */
187
+ url?: string;
188
+ /**
189
+ * e.g. Arts
190
+ */
191
+ area?: string;
192
+ /**
193
+ * e.g. Bachelor
194
+ */
195
+ studyType?: string;
196
+ startDate?: Iso8601;
197
+ endDate?: Iso8601;
198
+ /**
199
+ * grade point average, e.g. 3.67/4.0
200
+ */
201
+ score?: string;
202
+ /**
203
+ * List notable courses/subjects
204
+ */
205
+ courses?: string[];
206
+ [k: string]: any;
207
+ }
208
+ export interface AwardItem {
209
+ /**
210
+ * e.g. One of the 100 greatest minds of the century
211
+ */
212
+ title?: string;
213
+ date?: Iso8601;
214
+ /**
215
+ * e.g. Time Magazine
216
+ */
217
+ awarder?: string;
218
+ /**
219
+ * e.g. Received for my work with Quantum Physics
220
+ */
221
+ summary?: string;
222
+ [k: string]: any;
223
+ }
224
+ export interface CertificateItem {
225
+ /**
226
+ * e.g. Certified Kubernetes Administrator
227
+ */
228
+ name?: string;
229
+ date?: Iso8601;
230
+ /**
231
+ * e.g. http://example.com
232
+ */
233
+ url?: string;
234
+ /**
235
+ * e.g. CNCF
236
+ */
237
+ issuer?: string;
238
+ [k: string]: any;
239
+ }
240
+ export interface PublicationItem {
241
+ /**
242
+ * e.g. The World Wide Web
243
+ */
244
+ name?: string;
245
+ /**
246
+ * e.g. IEEE, Computer Magazine
247
+ */
248
+ publisher?: string;
249
+ releaseDate?: Iso8601;
250
+ /**
251
+ * e.g. http://www.computer.org.example.com/csdl/mags/co/1996/10/rx069-abs.html
252
+ */
253
+ url?: string;
254
+ /**
255
+ * Short summary of publication. e.g. Discussion of the World Wide Web, HTTP, HTML.
256
+ */
257
+ summary?: string;
258
+ [k: string]: any;
259
+ }
260
+ export interface SkillItem {
261
+ /**
262
+ * e.g. Web Development
263
+ */
264
+ name?: string;
265
+ /**
266
+ * e.g. Master
267
+ */
268
+ level?: string;
269
+ /**
270
+ * List some keywords pertaining to this skill
271
+ */
272
+ keywords?: string[];
273
+ [k: string]: any;
274
+ }
275
+ export interface LanguageItem {
276
+ /**
277
+ * e.g. English, Spanish
278
+ */
279
+ language?: string;
280
+ /**
281
+ * e.g. Fluent, Beginner
282
+ */
283
+ fluency?: string;
284
+ [k: string]: any;
285
+ }
286
+ export interface InterestItem {
287
+ /**
288
+ * e.g. Philosophy
289
+ */
290
+ name?: string;
291
+ keywords?: string[];
292
+ [k: string]: any;
293
+ }
294
+ export interface ReferenceItem {
295
+ /**
296
+ * e.g. Timothy Cook
297
+ */
298
+ name?: string;
299
+ /**
300
+ * e.g. Joe blogs was a great employee, who turned up to work at least once a week. He exceeded my expectations when it came to doing nothing.
301
+ */
302
+ reference?: string;
303
+ [k: string]: any;
304
+ }
305
+ export interface ProjectItem {
306
+ /**
307
+ * e.g. The World Wide Web
308
+ */
309
+ name?: string;
310
+ /**
311
+ * Short summary of project. e.g. Collated works of 2017.
312
+ */
313
+ description?: string;
314
+ /**
315
+ * Specify multiple features
316
+ */
317
+ highlights?: string[];
318
+ /**
319
+ * Specify special elements involved
320
+ */
321
+ keywords?: string[];
322
+ startDate?: Iso8601;
323
+ endDate?: Iso8601;
324
+ /**
325
+ * e.g. http://www.computer.org/csdl/mags/co/1996/10/rx069-abs.html
326
+ */
327
+ url?: string;
328
+ /**
329
+ * Specify your role on this project or in company
330
+ */
331
+ roles?: string[];
332
+ /**
333
+ * Specify the relevant company/entity affiliations e.g. 'greenpeace', 'corporationXYZ'
334
+ */
335
+ entity?: string;
336
+ /**
337
+ * e.g. 'volunteering', 'presentation', 'talk', 'application', 'conference'
338
+ */
339
+ type?: string;
340
+ [k: string]: any;
341
+ }
342
+ /**
343
+ * The schema version and any other tooling configuration lives here
344
+ */
345
+ export interface ResumeMeta {
346
+ /**
347
+ * URL (as per RFC 3986) to latest version of this document
348
+ */
349
+ canonical?: string;
350
+ /**
351
+ * A version field which follows semver - e.g. v1.0.0
352
+ */
353
+ version?: string;
354
+ /**
355
+ * Using ISO 8601 with YYYY-MM-DDThh:mm:ss
356
+ */
357
+ lastModified?: string;
358
+ [k: string]: any;
359
+ }
360
+
361
+ export interface JobDescription {
362
+ /**
363
+ * e.g. Web Developer
364
+ */
365
+ title?: string;
366
+ /**
367
+ * Microsoft
368
+ */
369
+ company?: string;
370
+ /**
371
+ * Full-time, part-time, contract, etc.
372
+ */
373
+ type?: string;
374
+ date?: Iso8601;
375
+ /**
376
+ * Write a short description about the job
377
+ */
378
+ description?: string;
379
+ location?: {
380
+ /**
381
+ * To add multiple address lines, use \n. For example, 1234 Glücklichkeit Straße\nHinterhaus 5. Etage li.
382
+ */
383
+ address?: string;
384
+ postalCode?: string;
385
+ city?: string;
386
+ /**
387
+ * code as per ISO-3166-1 ALPHA-2, e.g. US, AU, IN
388
+ */
389
+ countryCode?: string;
390
+ /**
391
+ * The general region where you live. Can be a US state, or a province, for instance.
392
+ */
393
+ region?: string;
394
+ [k: string]: any;
395
+ };
396
+ /**
397
+ * the level of remote work available
398
+ */
399
+ remote?: 'Full' | 'Hybrid' | 'None';
400
+ /**
401
+ * 100000
402
+ */
403
+ salary?: string;
404
+ /**
405
+ * Senior or Junior or Mid-level
406
+ */
407
+ experience?: string;
408
+ /**
409
+ * what the job entails
410
+ */
411
+ responsibilities?: string[];
412
+ /**
413
+ * List out your qualifications
414
+ */
415
+ qualifications?: string[];
416
+ /**
417
+ * List out your professional skill-set
418
+ */
419
+ skills?: {
420
+ /**
421
+ * e.g. Web Development
422
+ */
423
+ name?: string;
424
+ /**
425
+ * e.g. Master
426
+ */
427
+ level?: string;
428
+ /**
429
+ * List some keywords pertaining to this skill
430
+ */
431
+ keywords?: string[];
432
+ [k: string]: any;
433
+ }[];
434
+ /**
435
+ * The schema version and any other tooling configuration lives here
436
+ */
437
+ meta?: {
438
+ /**
439
+ * URL (as per RFC 3986) to latest version of this document
440
+ */
441
+ canonical?: string;
442
+ /**
443
+ * A version field which follows semver - e.g. v1.0.0
444
+ */
445
+ version?: string;
446
+ /**
447
+ * Using ISO 8601 with YYYY-MM-DDThh:mm:ss
448
+ */
449
+ lastModified?: string;
450
+ [k: string]: any;
451
+ };
452
+ [k: string]: any;
453
+ }
package/index.js ADDED
@@ -0,0 +1,3 @@
1
+ // @jsonresume/types is a types-only package. The runtime entry is intentionally
2
+ // empty: all interfaces live in ./dist/index.d.ts (generated from the schema).
3
+ export {};
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@jsonresume/types",
3
+ "version": "0.2.0",
4
+ "private": false,
5
+ "description": "TypeScript types for the JSON Resume and Job schemas, generated from @jsonresume/schema",
6
+ "types": "./dist/index.d.ts",
7
+ "main": "./index.js",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "default": "./index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist",
16
+ "index.js"
17
+ ],
18
+ "devDependencies": {
19
+ "json-schema-to-typescript": "^15.0.4",
20
+ "typescript": "^5.9.3",
21
+ "@jsonresume/schema": "1.3.0",
22
+ "tsconfig": "0.0.0"
23
+ },
24
+ "keywords": [
25
+ "resume",
26
+ "cv",
27
+ "json-resume",
28
+ "types",
29
+ "typescript"
30
+ ],
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "https://github.com/jsonresume/jsonresume.org",
34
+ "directory": "packages/types"
35
+ },
36
+ "homepage": "https://github.com/jsonresume/jsonresume.org/tree/master/packages/types",
37
+ "bugs": {
38
+ "url": "https://github.com/jsonresume/jsonresume.org/issues"
39
+ },
40
+ "publishConfig": {
41
+ "access": "public"
42
+ },
43
+ "license": "MIT",
44
+ "scripts": {
45
+ "build": "node ./scripts/generate.mjs",
46
+ "typecheck": "tsc --noEmit -p tsconfig.json"
47
+ }
48
+ }