jsonresume-theme-cjean 1.3.2 → 1.3.4

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.
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Generate a Google favicon URL.
3
+ * @param url The URL to generate a favicon for.
4
+ * @param size The size of the favicon.
5
+ * @returns The Google favicon URL.
6
+ */
7
+ export declare function generateGoogleFaviconUrl(url: string, size?: number): string;
@@ -0,0 +1,19 @@
1
+ type GravatarOptions = {
2
+ size?: number;
3
+ rating?: "g" | "pg" | "r" | "x";
4
+ d?: "404" | "mp" | "identicon" | "monsterid" | "wavatar" | "retro" | "robohash" | "blank";
5
+ };
6
+ /**
7
+ * Convert an email to a SHA-256 hash.
8
+ * @param email The email to convert.
9
+ * @returns The SHA-256 hash of the email.
10
+ */
11
+ export declare function emailToHash(email: string): Promise<string>;
12
+ /**
13
+ * Generate a gravatar URL from an email hash.
14
+ * @param hash The email hash.
15
+ * @param options The gravatar options.
16
+ * @returns The gravatar picture.
17
+ */
18
+ export declare function generateGravatarUrl(hash: string, options?: GravatarOptions): string;
19
+ export {};
@@ -0,0 +1,78 @@
1
+ import { Translator } from '@cjean-fr/i18n-tiny';
2
+ import { JSXNode } from '@cjean-fr/jsx-string';
3
+ export type ThemeSpec = {
4
+ work_experience: readonly [];
5
+ projects: readonly [];
6
+ education: readonly [];
7
+ skills: readonly [];
8
+ present: readonly [];
9
+ contact_info: readonly [];
10
+ phone_call: readonly [];
11
+ email_send: readonly [];
12
+ show_address: readonly [];
13
+ portrait_alt: readonly ["name"];
14
+ last_modified: readonly ["date"];
15
+ profile_page_name: readonly ["name", "label"];
16
+ theme_credit: readonly ["link"];
17
+ skip_to_content: readonly [];
18
+ };
19
+ declare const resources: {
20
+ en: {
21
+ readonly work_experience: "Work Experience";
22
+ readonly projects: "Projects";
23
+ readonly education: "Education";
24
+ readonly skills: "Skills";
25
+ readonly present: "Present";
26
+ readonly contact_info: "Contact Information";
27
+ readonly phone_call: "Call mobile phone";
28
+ readonly email_send: "Send email";
29
+ readonly show_address: "Show address";
30
+ readonly portrait_alt: "Portrait of {name}";
31
+ readonly last_modified: "Last updated on {date}";
32
+ readonly profile_page_name: "{name}'s resume - {label}";
33
+ readonly theme_credit: "Theme made with love by {link}";
34
+ readonly skip_to_content: "Skip to main content";
35
+ };
36
+ fr: {
37
+ readonly work_experience: "Expériences professionnelles";
38
+ readonly projects: "Projets";
39
+ readonly education: "Formations";
40
+ readonly skills: "Compétences";
41
+ readonly present: "Présent";
42
+ readonly contact_info: "Informations de contact";
43
+ readonly phone_call: "Appeler sur le téléphone mobile";
44
+ readonly email_send: "Envoyer un email";
45
+ readonly show_address: "Afficher l'adresse";
46
+ readonly portrait_alt: "Portrait de {name}";
47
+ readonly last_modified: "Dernière mise à jour le {date}";
48
+ readonly profile_page_name: "CV de {name} - {label}";
49
+ readonly theme_credit: "Thème proposé avec amour par {link}";
50
+ readonly skip_to_content: "Aller au contenu principal";
51
+ };
52
+ };
53
+ type Locale = keyof typeof resources;
54
+ /**
55
+ * Translate a key to the current locale.
56
+ * @param key The key to translate.
57
+ * @param args The arguments to pass to the translator.
58
+ * @returns The translated string.
59
+ */
60
+ export declare const t: Translator<ThemeSpec>;
61
+ /**
62
+ * Translate a key to the current locale and return a RawString.
63
+ * @param key The key to translate.
64
+ * @param args The arguments to pass to the translator.
65
+ * @returns The translated string as a RawString.
66
+ */
67
+ export declare const tx: Translator<ThemeSpec, JSXNode>;
68
+ /**
69
+ * Initialize the translator with a specific locale.
70
+ */
71
+ export declare function init(locale: Locale): void;
72
+ export type DateFormat = "year" | "month" | "date" | "iso";
73
+ export declare const dateFormatter: {
74
+ normalize(date: Date | string): Date | null;
75
+ format(date: Date | string, format: DateFormat): string;
76
+ toISO(date: Date | string): string;
77
+ };
78
+ export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Get the company logo from an URL.
3
+ * @param url The URL to get the logo from
4
+ * @param size The size of the logo
5
+ * @returns The optimized logo
6
+ */
7
+ export declare function getLogoFromUrl(url?: string, size?: number): Promise<string | undefined>;
8
+ export declare function getPictureFromEmail(email: string, size?: number): Promise<string | undefined>;
@@ -0,0 +1,13 @@
1
+ export interface TrianglifyOptions {
2
+ width?: number;
3
+ height?: number;
4
+ cellSize?: number;
5
+ variance?: number;
6
+ seed?: number;
7
+ }
8
+ /**
9
+ * Generates a jittered grid triangulation as an SVG Data URI
10
+ * @param options
11
+ * @returns
12
+ */
13
+ export declare function generateTriangulation(options?: TrianglifyOptions): string;
@@ -0,0 +1,16 @@
1
+ type WSRVOptions = {
2
+ w?: number;
3
+ h?: number;
4
+ fit?: "cover" | "contain" | "fill" | "inside" | "outside";
5
+ a?: "top" | "bottom" | "left" | "right" | "center" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "entropy" | "attention";
6
+ output?: "webp" | "avif" | "png" | "jpg";
7
+ encoding?: "base64" | null;
8
+ };
9
+ /**
10
+ * Generate a URL for the WSRV CDN.
11
+ * @param url The URL to proxy.
12
+ * @param options The WSRV options.
13
+ * @returns The WSRV URL.
14
+ */
15
+ export declare function generateWSRVUrl(url: string, options?: WSRVOptions): string;
16
+ export {};
@@ -0,0 +1,270 @@
1
+ import { z } from 'zod/v4/mini';
2
+ export declare const ThemeConfigSchema: z.ZodMiniObject<{
3
+ ui: z.ZodMiniPrefault<z.ZodMiniObject<{
4
+ primary: z.ZodMiniDefault<z.ZodMiniString<string>>;
5
+ headerFrom: z.ZodMiniDefault<z.ZodMiniString<string>>;
6
+ headerTo: z.ZodMiniDefault<z.ZodMiniString<string>>;
7
+ footerFrom: z.ZodMiniDefault<z.ZodMiniString<string>>;
8
+ footerTo: z.ZodMiniDefault<z.ZodMiniString<string>>;
9
+ backgroundTilesSeed: z.ZodMiniDefault<z.ZodMiniNumber<number>>;
10
+ showLogos: z.ZodMiniDefault<z.ZodMiniBoolean<boolean>>;
11
+ cta: z.ZodMiniOptional<z.ZodMiniObject<{
12
+ text: z.ZodMiniString<string>;
13
+ url: z.ZodMiniString<string>;
14
+ icon: z.ZodMiniDefault<z.ZodMiniOptional<z.ZodMiniString<string>>>;
15
+ }, z.core.$strip>>;
16
+ links: z.ZodMiniDefault<z.ZodMiniArray<z.ZodMiniString<string>>>;
17
+ }, z.core.$strip>>;
18
+ seo: z.ZodMiniPrefault<z.ZodMiniObject<{
19
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
20
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
21
+ canonical: z.ZodMiniOptional<z.ZodMiniURL>;
22
+ favicon: z.ZodMiniOptional<z.ZodMiniString<string>>;
23
+ ogImage: z.ZodMiniOptional<z.ZodMiniURL>;
24
+ twitterImage: z.ZodMiniOptional<z.ZodMiniURL>;
25
+ firstName: z.ZodMiniOptional<z.ZodMiniString<string>>;
26
+ lastName: z.ZodMiniOptional<z.ZodMiniString<string>>;
27
+ robots: z.ZodMiniDefault<z.ZodMiniOptional<z.ZodMiniString<string>>>;
28
+ }, z.core.$strip>>;
29
+ modest: z.ZodMiniDefault<z.ZodMiniBoolean<boolean>>;
30
+ }, z.core.$strip>;
31
+ export declare const WorkSchema: z.ZodMiniPipe<z.ZodMiniObject<{
32
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
33
+ company: z.ZodMiniOptional<z.ZodMiniString<string>>;
34
+ location: z.ZodMiniOptional<z.ZodMiniString<string>>;
35
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
36
+ position: z.ZodMiniOptional<z.ZodMiniString<string>>;
37
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
38
+ website: z.ZodMiniOptional<z.ZodMiniURL>;
39
+ startDate: z.ZodMiniString<string>;
40
+ endDate: z.ZodMiniOptional<z.ZodMiniString<string>>;
41
+ summary: z.ZodMiniOptional<z.ZodMiniString<string>>;
42
+ highlights: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
43
+ logo: z.ZodMiniOptional<z.ZodMiniURL>;
44
+ }, z.core.$loose>, z.ZodMiniTransform<{
45
+ url?: string | undefined;
46
+ name: string | undefined;
47
+ startDate: string;
48
+ location?: string | undefined;
49
+ description?: string | undefined;
50
+ position?: string | undefined;
51
+ endDate?: string | undefined;
52
+ summary?: string | undefined;
53
+ highlights?: string[] | undefined;
54
+ logo?: string | undefined;
55
+ }, {
56
+ [x: string]: unknown;
57
+ startDate: string;
58
+ name?: string | undefined;
59
+ company?: string | undefined;
60
+ location?: string | undefined;
61
+ description?: string | undefined;
62
+ position?: string | undefined;
63
+ url?: string | undefined;
64
+ website?: string | undefined;
65
+ endDate?: string | undefined;
66
+ summary?: string | undefined;
67
+ highlights?: string[] | undefined;
68
+ logo?: string | undefined;
69
+ }>>;
70
+ export declare const ProfileSchema: z.ZodMiniObject<{
71
+ network: z.ZodMiniString<string>;
72
+ username: z.ZodMiniOptional<z.ZodMiniString<string>>;
73
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
74
+ }, z.core.$loose>;
75
+ export declare const LocationSchema: z.ZodMiniObject<{
76
+ address: z.ZodMiniOptional<z.ZodMiniString<string>>;
77
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
78
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
79
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
80
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
81
+ }, z.core.$loose>;
82
+ export declare const BasicsSchema: z.ZodMiniObject<{
83
+ name: z.ZodMiniString<string>;
84
+ label: z.ZodMiniOptional<z.ZodMiniString<string>>;
85
+ image: z.ZodMiniOptional<z.ZodMiniURL>;
86
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
87
+ phone: z.ZodMiniOptional<z.ZodMiniString<string>>;
88
+ birthDate: z.ZodMiniOptional<z.ZodMiniString<string>>;
89
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
90
+ summary: z.ZodMiniOptional<z.ZodMiniString<string>>;
91
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
92
+ address: z.ZodMiniOptional<z.ZodMiniString<string>>;
93
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
94
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
95
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
96
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
97
+ }, z.core.$loose>>;
98
+ profiles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
99
+ network: z.ZodMiniString<string>;
100
+ username: z.ZodMiniOptional<z.ZodMiniString<string>>;
101
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
102
+ }, z.core.$loose>>>;
103
+ }, z.core.$loose>;
104
+ export declare const ProjectSchema: z.ZodMiniObject<{
105
+ name: z.ZodMiniString<string>;
106
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
107
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
108
+ startDate: z.ZodMiniString<string>;
109
+ endDate: z.ZodMiniOptional<z.ZodMiniString<string>>;
110
+ highlights: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
111
+ }, z.core.$strip>;
112
+ export declare const EducationSchema: z.ZodMiniObject<{
113
+ institution: z.ZodMiniString<string>;
114
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
115
+ area: z.ZodMiniOptional<z.ZodMiniString<string>>;
116
+ studyType: z.ZodMiniOptional<z.ZodMiniString<string>>;
117
+ startDate: z.ZodMiniString<string>;
118
+ endDate: z.ZodMiniOptional<z.ZodMiniString<string>>;
119
+ score: z.ZodMiniOptional<z.ZodMiniString<string>>;
120
+ courses: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
121
+ }, z.core.$strip>;
122
+ export declare const CertificatesSchema: z.ZodMiniObject<{
123
+ name: z.ZodMiniString<string>;
124
+ date: z.ZodMiniOptional<z.ZodMiniString<string>>;
125
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
126
+ issuer: z.ZodMiniOptional<z.ZodMiniString<string>>;
127
+ }, z.core.$strip>;
128
+ export declare const SkillsSchema: z.ZodMiniObject<{
129
+ name: z.ZodMiniString<string>;
130
+ level: z.ZodMiniOptional<z.ZodMiniString<string>>;
131
+ keywords: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
132
+ }, z.core.$strip>;
133
+ export declare const LanguagesSchema: z.ZodMiniObject<{
134
+ language: z.ZodMiniString<string>;
135
+ fluency: z.ZodMiniOptional<z.ZodMiniString<string>>;
136
+ }, z.core.$loose>;
137
+ export declare const ResumeSchema: z.ZodMiniObject<{
138
+ meta: z.ZodMiniPrefault<z.ZodMiniObject<{
139
+ lang: z.ZodMiniDefault<z.ZodMiniCatch<z.ZodMiniEnum<{
140
+ en: "en";
141
+ fr: "fr";
142
+ }>>>;
143
+ lastModified: z.ZodMiniDefault<z.ZodMiniString<string>>;
144
+ themeConfig: z.ZodMiniPrefault<z.ZodMiniObject<{
145
+ ui: z.ZodMiniPrefault<z.ZodMiniObject<{
146
+ primary: z.ZodMiniDefault<z.ZodMiniString<string>>;
147
+ headerFrom: z.ZodMiniDefault<z.ZodMiniString<string>>;
148
+ headerTo: z.ZodMiniDefault<z.ZodMiniString<string>>;
149
+ footerFrom: z.ZodMiniDefault<z.ZodMiniString<string>>;
150
+ footerTo: z.ZodMiniDefault<z.ZodMiniString<string>>;
151
+ backgroundTilesSeed: z.ZodMiniDefault<z.ZodMiniNumber<number>>;
152
+ showLogos: z.ZodMiniDefault<z.ZodMiniBoolean<boolean>>;
153
+ cta: z.ZodMiniOptional<z.ZodMiniObject<{
154
+ text: z.ZodMiniString<string>;
155
+ url: z.ZodMiniString<string>;
156
+ icon: z.ZodMiniDefault<z.ZodMiniOptional<z.ZodMiniString<string>>>;
157
+ }, z.core.$strip>>;
158
+ links: z.ZodMiniDefault<z.ZodMiniArray<z.ZodMiniString<string>>>;
159
+ }, z.core.$strip>>;
160
+ seo: z.ZodMiniPrefault<z.ZodMiniObject<{
161
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
162
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
163
+ canonical: z.ZodMiniOptional<z.ZodMiniURL>;
164
+ favicon: z.ZodMiniOptional<z.ZodMiniString<string>>;
165
+ ogImage: z.ZodMiniOptional<z.ZodMiniURL>;
166
+ twitterImage: z.ZodMiniOptional<z.ZodMiniURL>;
167
+ firstName: z.ZodMiniOptional<z.ZodMiniString<string>>;
168
+ lastName: z.ZodMiniOptional<z.ZodMiniString<string>>;
169
+ robots: z.ZodMiniDefault<z.ZodMiniOptional<z.ZodMiniString<string>>>;
170
+ }, z.core.$strip>>;
171
+ modest: z.ZodMiniDefault<z.ZodMiniBoolean<boolean>>;
172
+ }, z.core.$strip>>;
173
+ }, z.core.$loose>>;
174
+ work: z.ZodMiniDefault<z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniObject<{
175
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
176
+ company: z.ZodMiniOptional<z.ZodMiniString<string>>;
177
+ location: z.ZodMiniOptional<z.ZodMiniString<string>>;
178
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
179
+ position: z.ZodMiniOptional<z.ZodMiniString<string>>;
180
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
181
+ website: z.ZodMiniOptional<z.ZodMiniURL>;
182
+ startDate: z.ZodMiniString<string>;
183
+ endDate: z.ZodMiniOptional<z.ZodMiniString<string>>;
184
+ summary: z.ZodMiniOptional<z.ZodMiniString<string>>;
185
+ highlights: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
186
+ logo: z.ZodMiniOptional<z.ZodMiniURL>;
187
+ }, z.core.$loose>, z.ZodMiniTransform<{
188
+ url?: string | undefined;
189
+ name: string | undefined;
190
+ startDate: string;
191
+ location?: string | undefined;
192
+ description?: string | undefined;
193
+ position?: string | undefined;
194
+ endDate?: string | undefined;
195
+ summary?: string | undefined;
196
+ highlights?: string[] | undefined;
197
+ logo?: string | undefined;
198
+ }, {
199
+ [x: string]: unknown;
200
+ startDate: string;
201
+ name?: string | undefined;
202
+ company?: string | undefined;
203
+ location?: string | undefined;
204
+ description?: string | undefined;
205
+ position?: string | undefined;
206
+ url?: string | undefined;
207
+ website?: string | undefined;
208
+ endDate?: string | undefined;
209
+ summary?: string | undefined;
210
+ highlights?: string[] | undefined;
211
+ logo?: string | undefined;
212
+ }>>>>>;
213
+ projects: z.ZodMiniDefault<z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
214
+ name: z.ZodMiniString<string>;
215
+ description: z.ZodMiniOptional<z.ZodMiniString<string>>;
216
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
217
+ startDate: z.ZodMiniString<string>;
218
+ endDate: z.ZodMiniOptional<z.ZodMiniString<string>>;
219
+ highlights: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
220
+ }, z.core.$strip>>>>;
221
+ basics: z.ZodMiniObject<{
222
+ name: z.ZodMiniString<string>;
223
+ label: z.ZodMiniOptional<z.ZodMiniString<string>>;
224
+ image: z.ZodMiniOptional<z.ZodMiniURL>;
225
+ email: z.ZodMiniOptional<z.ZodMiniEmail>;
226
+ phone: z.ZodMiniOptional<z.ZodMiniString<string>>;
227
+ birthDate: z.ZodMiniOptional<z.ZodMiniString<string>>;
228
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
229
+ summary: z.ZodMiniOptional<z.ZodMiniString<string>>;
230
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
231
+ address: z.ZodMiniOptional<z.ZodMiniString<string>>;
232
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
233
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
234
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
235
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
236
+ }, z.core.$loose>>;
237
+ profiles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
238
+ network: z.ZodMiniString<string>;
239
+ username: z.ZodMiniOptional<z.ZodMiniString<string>>;
240
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
241
+ }, z.core.$loose>>>;
242
+ }, z.core.$loose>;
243
+ education: z.ZodMiniDefault<z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
244
+ institution: z.ZodMiniString<string>;
245
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
246
+ area: z.ZodMiniOptional<z.ZodMiniString<string>>;
247
+ studyType: z.ZodMiniOptional<z.ZodMiniString<string>>;
248
+ startDate: z.ZodMiniString<string>;
249
+ endDate: z.ZodMiniOptional<z.ZodMiniString<string>>;
250
+ score: z.ZodMiniOptional<z.ZodMiniString<string>>;
251
+ courses: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
252
+ }, z.core.$strip>>>>;
253
+ certificates: z.ZodMiniDefault<z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
254
+ name: z.ZodMiniString<string>;
255
+ date: z.ZodMiniOptional<z.ZodMiniString<string>>;
256
+ url: z.ZodMiniOptional<z.ZodMiniURL>;
257
+ issuer: z.ZodMiniOptional<z.ZodMiniString<string>>;
258
+ }, z.core.$strip>>>>;
259
+ skills: z.ZodMiniDefault<z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
260
+ name: z.ZodMiniString<string>;
261
+ level: z.ZodMiniOptional<z.ZodMiniString<string>>;
262
+ keywords: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
263
+ }, z.core.$strip>>>>;
264
+ languages: z.ZodMiniDefault<z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
265
+ language: z.ZodMiniString<string>;
266
+ fluency: z.ZodMiniOptional<z.ZodMiniString<string>>;
267
+ }, z.core.$loose>>>>;
268
+ }, z.core.$strip>;
269
+ export type Resume = z.infer<typeof ResumeSchema>;
270
+ export type ThemeConfig = z.infer<typeof ThemeConfigSchema>;
package/package.json CHANGED
@@ -1,14 +1,21 @@
1
1
  {
2
2
  "name": "jsonresume-theme-cjean",
3
- "version": "1.3.2",
3
+ "version": "1.3.4",
4
4
  "description": "A clean, professional, and print-optimized JSON Resume theme built with Tailwind CSS and TypeScript.",
5
5
  "author": "Christophe Jean",
6
6
  "license": "MIT",
7
+ "homepage": "https://github.com/cjean-fr/atelier/tree/main/packages/jsonresume-theme-cjean#readme",
7
8
  "repository": {
8
9
  "type": "git",
9
10
  "url": "git+https://github.com/cjean-fr/atelier.git",
10
11
  "directory": "packages/jsonresume-theme-cjean"
11
12
  },
13
+ "bugs": {
14
+ "url": "https://github.com/cjean-fr/atelier/issues"
15
+ },
16
+ "engines": {
17
+ "node": ">=22.0.0"
18
+ },
12
19
  "keywords": [
13
20
  "jsonresume-theme",
14
21
  "resume",
@@ -24,20 +31,20 @@
24
31
  "jsonresume-theme-cjean": "./bin/jsonresume-theme-cjean.js"
25
32
  },
26
33
  "devDependencies": {
27
- "@cjean-fr/i18n-tiny": "catalog:",
28
- "@cjean-fr/jsx-string": "catalog:",
29
- "@tailwindcss/vite": "catalog:",
30
- "@types/react": "catalog:",
31
- "tailwindcss": "catalog:",
32
- "typescript": "catalog:",
33
- "vite": "catalog:",
34
- "vite-plugin-dts": "catalog:",
35
- "zod": "catalog:",
36
- "eslint": "catalog:",
37
- "typescript-eslint": "catalog:",
38
- "@typescript-eslint/parser": "catalog:",
39
- "@typescript-eslint/eslint-plugin": "catalog:",
40
- "@cjean-fr/eslint-plugin-jsx-string": "catalog:"
34
+ "@cjean-fr/i18n-tiny": "1.1.0",
35
+ "@cjean-fr/jsx-string": "2.0.0",
36
+ "@tailwindcss/vite": "^4",
37
+ "@types/react": "^19",
38
+ "tailwindcss": "^4",
39
+ "typescript": "^6",
40
+ "vite": "^8",
41
+ "vite-plugin-dts": "^5",
42
+ "zod": "^4",
43
+ "eslint": "^10",
44
+ "typescript-eslint": "^8",
45
+ "@typescript-eslint/parser": "^8",
46
+ "@typescript-eslint/eslint-plugin": "^8",
47
+ "@cjean-fr/eslint-plugin-jsx-string": "0.1.0"
41
48
  },
42
49
  "exports": {
43
50
  ".": {
@@ -57,10 +64,10 @@
57
64
  "LICENSE"
58
65
  ],
59
66
  "scripts": {
60
- "build": "vite build",
67
+ "build": "NODE_NO_WARNINGS=1 vite build",
61
68
  "check": "tsc --noEmit",
62
69
  "format": "prettier --write \"**/*.{ts,tsx,json,md}\"",
63
70
  "lint": "eslint ."
64
71
  },
65
72
  "type": "module"
66
- }
73
+ }