chore: rename jsonresume-theme-custom to curriculum-vitae
				
					
				
			
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						| @@ -12,9 +12,6 @@ out | ||||
| build | ||||
| dist | ||||
| public/curriculum-vitae | ||||
| # PWA | ||||
| public/workbox-*.js | ||||
| public/sw.js | ||||
|  | ||||
| # testing | ||||
| coverage | ||||
|   | ||||
| @@ -6,7 +6,7 @@ RUN npm clean-install | ||||
| FROM node:20.5.0 AS builder | ||||
| WORKDIR /usr/src/application | ||||
| COPY --from=builder-dependencies /usr/src/application/node_modules ./node_modules | ||||
| COPY --from=builder-dependencies /usr/src/application/jsonresume-theme-custom/node_modules ./jsonresume-theme-custom/node_modules | ||||
| COPY --from=builder-dependencies /usr/src/application/curriculum-vitae/node_modules ./curriculum-vitae/node_modules | ||||
| COPY ./ ./ | ||||
| RUN npm run build | ||||
|  | ||||
|   | ||||
| @@ -1,8 +1,5 @@ | ||||
| { | ||||
|   "$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json", | ||||
|   "meta": { | ||||
|     "theme": "custom" | ||||
|   }, | ||||
|   "basics": { | ||||
|     "name": "Théo LUDWIG", | ||||
|     "label": "Développeur Full Stack • Étudiant", | ||||
							
								
								
									
										20
									
								
								curriculum-vitae/build.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,20 @@ | ||||
| import { fileURLToPath } from 'node:url' | ||||
| import fs from 'node:fs' | ||||
|  | ||||
| import { build } from 'vite' | ||||
|  | ||||
| const curriculumVitae = new URL('./', import.meta.url) | ||||
| const curriculumVitaeDist = new URL('./dist', curriculumVitae) | ||||
| const publicCurriculumVitaeOutputURL = new URL( | ||||
|   '../public/curriculum-vitae', | ||||
|   import.meta.url | ||||
| ) | ||||
|  | ||||
| await build({ | ||||
|   root: fileURLToPath(curriculumVitae), | ||||
|   base: '/curriculum-vitae/' | ||||
| }) | ||||
|  | ||||
| await fs.promises.cp(curriculumVitaeDist, publicCurriculumVitaeOutputURL, { | ||||
|   recursive: true | ||||
| }) | ||||
| Before Width: | Height: | Size: 1015 B After Width: | Height: | Size: 1015 B | 
| Before Width: | Height: | Size: 986 B After Width: | Height: | Size: 986 B | 
| Before Width: | Height: | Size: 629 B After Width: | Height: | Size: 629 B | 
| Before Width: | Height: | Size: 912 B After Width: | Height: | Size: 912 B | 
| Before Width: | Height: | Size: 528 B After Width: | Height: | Size: 528 B | 
| @@ -1,267 +1,27 @@ | ||||
| { | ||||
|   "name": "jsonresume-theme-custom", | ||||
|   "name": "curriculum-vitae", | ||||
|   "version": "1.0.0", | ||||
|   "lockfileVersion": 3, | ||||
|   "requires": true, | ||||
|   "packages": { | ||||
|     "": { | ||||
|       "name": "jsonresume-theme-custom", | ||||
|       "name": "curriculum-vitae", | ||||
|       "version": "1.0.0", | ||||
|       "dependencies": { | ||||
|         "jsonc-parser": "3.2.0", | ||||
|         "modern-normalize": "2.0.0" | ||||
|       }, | ||||
|       "devDependencies": { | ||||
|         "@types/node": "20.4.4", | ||||
|         "@types/node": "20.4.5", | ||||
|         "date-and-time": "3.0.2", | ||||
|         "vite": "4.4.6", | ||||
|         "vite": "4.4.7", | ||||
|         "vite-plugin-html": "3.2.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/android-arm": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.15.tgz", | ||||
|       "integrity": "sha512-wlkQBWb79/jeEEoRmrxt/yhn5T1lU236OCNpnfRzaCJHZ/5gf82uYx1qmADTBWE0AR/v7FiozE1auk2riyQd3w==", | ||||
|       "cpu": [ | ||||
|         "arm" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "android" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/android-arm64": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.15.tgz", | ||||
|       "integrity": "sha512-NI/gnWcMl2kXt1HJKOn2H69SYn4YNheKo6NZt1hyfKWdMbaGadxjZIkcj4Gjk/WPxnbFXs9/3HjGHaknCqjrww==", | ||||
|       "cpu": [ | ||||
|         "arm64" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "android" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/android-x64": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.15.tgz", | ||||
|       "integrity": "sha512-FM9NQamSaEm/IZIhegF76aiLnng1kEsZl2eve/emxDeReVfRuRNmvT28l6hoFD9TsCxpK+i4v8LPpEj74T7yjA==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "android" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/darwin-arm64": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.15.tgz", | ||||
|       "integrity": "sha512-XmrFwEOYauKte9QjS6hz60FpOCnw4zaPAb7XV7O4lx1r39XjJhTN7ZpXqJh4sN6q60zbP6QwAVVA8N/wUyBH/w==", | ||||
|       "cpu": [ | ||||
|         "arm64" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "darwin" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/darwin-x64": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.15.tgz", | ||||
|       "integrity": "sha512-bMqBmpw1e//7Fh5GLetSZaeo9zSC4/CMtrVFdj+bqKPGJuKyfNJ5Nf2m3LknKZTS+Q4oyPiON+v3eaJ59sLB5A==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "darwin" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/freebsd-arm64": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.15.tgz", | ||||
|       "integrity": "sha512-LoTK5N3bOmNI9zVLCeTgnk5Rk0WdUTrr9dyDAQGVMrNTh9EAPuNwSTCgaKOKiDpverOa0htPcO9NwslSE5xuLA==", | ||||
|       "cpu": [ | ||||
|         "arm64" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "freebsd" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/freebsd-x64": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.15.tgz", | ||||
|       "integrity": "sha512-62jX5n30VzgrjAjOk5orYeHFq6sqjvsIj1QesXvn5OZtdt5Gdj0vUNJy9NIpjfdNdqr76jjtzBJKf+h2uzYuTQ==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "freebsd" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/linux-arm": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.15.tgz", | ||||
|       "integrity": "sha512-dT4URUv6ir45ZkBqhwZwyFV6cH61k8MttIwhThp2BGiVtagYvCToF+Bggyx2VI57RG4Fbt21f9TmXaYx0DeUJg==", | ||||
|       "cpu": [ | ||||
|         "arm" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "linux" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/linux-arm64": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.15.tgz", | ||||
|       "integrity": "sha512-BWncQeuWDgYv0jTNzJjaNgleduV4tMbQjmk/zpPh/lUdMcNEAxy+jvneDJ6RJkrqloG7tB9S9rCrtfk/kuplsQ==", | ||||
|       "cpu": [ | ||||
|         "arm64" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "linux" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/linux-ia32": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.15.tgz", | ||||
|       "integrity": "sha512-JPXORvgHRHITqfms1dWT/GbEY89u848dC08o0yK3fNskhp0t2TuNUnsrrSgOdH28ceb1hJuwyr8R/1RnyPwocw==", | ||||
|       "cpu": [ | ||||
|         "ia32" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "linux" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/linux-loong64": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.15.tgz", | ||||
|       "integrity": "sha512-kArPI0DopjJCEplsVj/H+2Qgzz7vdFSacHNsgoAKpPS6W/Ndh8Oe24HRDQ5QCu4jHgN6XOtfFfLpRx3TXv/mEg==", | ||||
|       "cpu": [ | ||||
|         "loong64" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "linux" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/linux-mips64el": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.15.tgz", | ||||
|       "integrity": "sha512-b/tmngUfO02E00c1XnNTw/0DmloKjb6XQeqxaYuzGwHe0fHVgx5/D6CWi+XH1DvkszjBUkK9BX7n1ARTOst59w==", | ||||
|       "cpu": [ | ||||
|         "mips64el" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "linux" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/linux-ppc64": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.15.tgz", | ||||
|       "integrity": "sha512-KXPY69MWw79QJkyvUYb2ex/OgnN/8N/Aw5UDPlgoRtoEfcBqfeLodPr42UojV3NdkoO4u10NXQdamWm1YEzSKw==", | ||||
|       "cpu": [ | ||||
|         "ppc64" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "linux" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/linux-riscv64": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.15.tgz", | ||||
|       "integrity": "sha512-komK3NEAeeGRnvFEjX1SfVg6EmkfIi5aKzevdvJqMydYr9N+pRQK0PGJXk+bhoPZwOUgLO4l99FZmLGk/L1jWg==", | ||||
|       "cpu": [ | ||||
|         "riscv64" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "linux" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/linux-s390x": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.15.tgz", | ||||
|       "integrity": "sha512-632T5Ts6gQ2WiMLWRRyeflPAm44u2E/s/TJvn+BP6M5mnHSk93cieaypj3VSMYO2ePTCRqAFXtuYi1yv8uZJNA==", | ||||
|       "cpu": [ | ||||
|         "s390x" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "linux" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/linux-x64": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.15.tgz", | ||||
|       "integrity": "sha512-MsHtX0NgvRHsoOtYkuxyk4Vkmvk3PLRWfA4okK7c+6dT0Fu4SUqXAr9y4Q3d8vUf1VWWb6YutpL4XNe400iQ1g==", | ||||
|       "version": "0.18.17", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz", | ||||
|       "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
| @@ -274,102 +34,6 @@ | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/netbsd-x64": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.15.tgz", | ||||
|       "integrity": "sha512-djST6s+jQiwxMIVQ5rlt24JFIAr4uwUnzceuFL7BQT4CbrRtqBPueS4GjXSiIpmwVri1Icj/9pFRJ7/aScvT+A==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "netbsd" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/openbsd-x64": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.15.tgz", | ||||
|       "integrity": "sha512-naeRhUIvhsgeounjkF5mvrNAVMGAm6EJWiabskeE5yOeBbLp7T89tAEw0j5Jm/CZAwyLe3c67zyCWH6fsBLCpw==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "openbsd" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/sunos-x64": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.15.tgz", | ||||
|       "integrity": "sha512-qkT2+WxyKbNIKV1AEhI8QiSIgTHMcRctzSaa/I3kVgMS5dl3fOeoqkb7pW76KwxHoriImhx7Mg3TwN/auMDsyQ==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "sunos" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/win32-arm64": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.15.tgz", | ||||
|       "integrity": "sha512-HC4/feP+pB2Vb+cMPUjAnFyERs+HJN7E6KaeBlFdBv799MhD+aPJlfi/yk36SED58J9TPwI8MAcVpJgej4ud0A==", | ||||
|       "cpu": [ | ||||
|         "arm64" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "win32" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/win32-ia32": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.15.tgz", | ||||
|       "integrity": "sha512-ovjwoRXI+gf52EVF60u9sSDj7myPixPxqzD5CmkEUmvs+W9Xd0iqISVBQn8xcx4ciIaIVlWCuTbYDOXOnOL44Q==", | ||||
|       "cpu": [ | ||||
|         "ia32" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "win32" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@esbuild/win32-x64": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.15.tgz", | ||||
|       "integrity": "sha512-imUxH9a3WJARyAvrG7srLyiK73XdX83NXQkjKvQ+7vPh3ZxoLrzvPkQKKw2DwZ+RV2ZB6vBfNHP8XScAmQC3aA==", | ||||
|       "cpu": [ | ||||
|         "x64" | ||||
|       ], | ||||
|       "dev": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "win32" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@jridgewell/gen-mapping": { | ||||
|       "version": "0.3.3", | ||||
|       "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", | ||||
| @@ -483,9 +147,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@types/node": { | ||||
|       "version": "20.4.4", | ||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.4.tgz", | ||||
|       "integrity": "sha512-CukZhumInROvLq3+b5gLev+vgpsIqC2D0deQr/yS1WnxvmYLlJXZpaQrQiseMY+6xusl79E04UjWoqyr+t1/Ew==", | ||||
|       "version": "20.4.5", | ||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.5.tgz", | ||||
|       "integrity": "sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "node_modules/acorn": { | ||||
| @@ -798,9 +462,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/esbuild": { | ||||
|       "version": "0.18.15", | ||||
|       "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.15.tgz", | ||||
|       "integrity": "sha512-3WOOLhrvuTGPRzQPU6waSDWrDTnQriia72McWcn6UCi43GhCHrXH4S59hKMeez+IITmdUuUyvbU9JIp+t3xlPQ==", | ||||
|       "version": "0.18.17", | ||||
|       "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", | ||||
|       "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==", | ||||
|       "dev": true, | ||||
|       "hasInstallScript": true, | ||||
|       "bin": { | ||||
| @@ -810,28 +474,28 @@ | ||||
|         "node": ">=12" | ||||
|       }, | ||||
|       "optionalDependencies": { | ||||
|         "@esbuild/android-arm": "0.18.15", | ||||
|         "@esbuild/android-arm64": "0.18.15", | ||||
|         "@esbuild/android-x64": "0.18.15", | ||||
|         "@esbuild/darwin-arm64": "0.18.15", | ||||
|         "@esbuild/darwin-x64": "0.18.15", | ||||
|         "@esbuild/freebsd-arm64": "0.18.15", | ||||
|         "@esbuild/freebsd-x64": "0.18.15", | ||||
|         "@esbuild/linux-arm": "0.18.15", | ||||
|         "@esbuild/linux-arm64": "0.18.15", | ||||
|         "@esbuild/linux-ia32": "0.18.15", | ||||
|         "@esbuild/linux-loong64": "0.18.15", | ||||
|         "@esbuild/linux-mips64el": "0.18.15", | ||||
|         "@esbuild/linux-ppc64": "0.18.15", | ||||
|         "@esbuild/linux-riscv64": "0.18.15", | ||||
|         "@esbuild/linux-s390x": "0.18.15", | ||||
|         "@esbuild/linux-x64": "0.18.15", | ||||
|         "@esbuild/netbsd-x64": "0.18.15", | ||||
|         "@esbuild/openbsd-x64": "0.18.15", | ||||
|         "@esbuild/sunos-x64": "0.18.15", | ||||
|         "@esbuild/win32-arm64": "0.18.15", | ||||
|         "@esbuild/win32-ia32": "0.18.15", | ||||
|         "@esbuild/win32-x64": "0.18.15" | ||||
|         "@esbuild/android-arm": "0.18.17", | ||||
|         "@esbuild/android-arm64": "0.18.17", | ||||
|         "@esbuild/android-x64": "0.18.17", | ||||
|         "@esbuild/darwin-arm64": "0.18.17", | ||||
|         "@esbuild/darwin-x64": "0.18.17", | ||||
|         "@esbuild/freebsd-arm64": "0.18.17", | ||||
|         "@esbuild/freebsd-x64": "0.18.17", | ||||
|         "@esbuild/linux-arm": "0.18.17", | ||||
|         "@esbuild/linux-arm64": "0.18.17", | ||||
|         "@esbuild/linux-ia32": "0.18.17", | ||||
|         "@esbuild/linux-loong64": "0.18.17", | ||||
|         "@esbuild/linux-mips64el": "0.18.17", | ||||
|         "@esbuild/linux-ppc64": "0.18.17", | ||||
|         "@esbuild/linux-riscv64": "0.18.17", | ||||
|         "@esbuild/linux-s390x": "0.18.17", | ||||
|         "@esbuild/linux-x64": "0.18.17", | ||||
|         "@esbuild/netbsd-x64": "0.18.17", | ||||
|         "@esbuild/openbsd-x64": "0.18.17", | ||||
|         "@esbuild/sunos-x64": "0.18.17", | ||||
|         "@esbuild/win32-arm64": "0.18.17", | ||||
|         "@esbuild/win32-ia32": "0.18.17", | ||||
|         "@esbuild/win32-x64": "0.18.17" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/estree-walker": { | ||||
| @@ -921,20 +585,6 @@ | ||||
|         "node": ">=12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/fsevents": { | ||||
|       "version": "2.3.2", | ||||
|       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", | ||||
|       "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", | ||||
|       "dev": true, | ||||
|       "hasInstallScript": true, | ||||
|       "optional": true, | ||||
|       "os": [ | ||||
|         "darwin" | ||||
|       ], | ||||
|       "engines": { | ||||
|         "node": "^8.16.0 || ^10.6.0 || >=11.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/glob-parent": { | ||||
|       "version": "5.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", | ||||
| @@ -1388,9 +1038,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/tslib": { | ||||
|       "version": "2.6.0", | ||||
|       "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", | ||||
|       "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==", | ||||
|       "version": "2.6.1", | ||||
|       "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", | ||||
|       "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "node_modules/universalify": { | ||||
| @@ -1403,9 +1053,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/vite": { | ||||
|       "version": "4.4.6", | ||||
|       "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.6.tgz", | ||||
|       "integrity": "sha512-EY6Mm8vJ++S3D4tNAckaZfw3JwG3wa794Vt70M6cNJ6NxT87yhq7EC8Rcap3ahyHdo8AhCmV9PTk+vG1HiYn1A==", | ||||
|       "version": "4.4.7", | ||||
|       "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.7.tgz", | ||||
|       "integrity": "sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==", | ||||
|       "dev": true, | ||||
|       "dependencies": { | ||||
|         "esbuild": "^0.18.10", | ||||
| @@ -1,5 +1,5 @@ | ||||
| { | ||||
|   "name": "jsonresume-theme-custom", | ||||
|   "name": "curriculum-vitae", | ||||
|   "private": true, | ||||
|   "version": "1.0.0", | ||||
|   "type": "module", | ||||
| @@ -13,9 +13,9 @@ | ||||
|     "modern-normalize": "2.0.0" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@types/node": "20.4.4", | ||||
|     "@types/node": "20.4.5", | ||||
|     "date-and-time": "3.0.2", | ||||
|     "vite": "4.4.6", | ||||
|     "vite": "4.4.7", | ||||
|     "vite-plugin-html": "3.2.0" | ||||
|   } | ||||
| } | ||||
| @@ -5,11 +5,17 @@ import { parse as JSONCParser } from 'jsonc-parser' | ||||
| import { createHtmlPlugin } from 'vite-plugin-html' | ||||
| import date from 'date-and-time' | ||||
| 
 | ||||
| const jsonResumeURL = new URL('../resume.jsonc', import.meta.url) | ||||
| const dataResumeStringJSON = await fs.promises.readFile(jsonResumeURL, { | ||||
|   encoding: 'utf-8' | ||||
| }) | ||||
| const resume = JSONCParser(dataResumeStringJSON) | ||||
| const jsonCurriculumVitaeURL = new URL( | ||||
|   '../curriculum-vitae.jsonc', | ||||
|   import.meta.url | ||||
| ) | ||||
| const dataCurriculumVitaeStringJSON = await fs.promises.readFile( | ||||
|   jsonCurriculumVitaeURL, | ||||
|   { | ||||
|     encoding: 'utf-8' | ||||
|   } | ||||
| ) | ||||
| const curriculumVitae = JSONCParser(dataCurriculumVitaeStringJSON) | ||||
| 
 | ||||
| /** | ||||
|  * Documentation: <https://vitejs.dev/config/>
 | ||||
| @@ -24,7 +30,7 @@ export default defineConfig({ | ||||
|         data: { | ||||
|           date, | ||||
|           locals: { | ||||
|             ...resume | ||||
|             ...curriculumVitae | ||||
|           } | ||||
|         } | ||||
|       } | ||||
| @@ -1,20 +0,0 @@ | ||||
| import { fileURLToPath } from 'node:url' | ||||
| import fs from 'node:fs' | ||||
|  | ||||
| import { build } from 'vite' | ||||
|  | ||||
| const jsonResumeThemeCustom = new URL('./', import.meta.url) | ||||
| const jsonResumeThemeCustomDist = new URL('./dist', jsonResumeThemeCustom) | ||||
| const publicResumeOutputURL = new URL( | ||||
|   '../public/curriculum-vitae', | ||||
|   import.meta.url | ||||
| ) | ||||
|  | ||||
| await build({ | ||||
|   root: fileURLToPath(jsonResumeThemeCustom), | ||||
|   base: '/curriculum-vitae/' | ||||
| }) | ||||
|  | ||||
| await fs.promises.cp(jsonResumeThemeCustomDist, publicResumeOutputURL, { | ||||
|   recursive: true | ||||
| }) | ||||
							
								
								
									
										5985
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
							
								
								
									
										20
									
								
								package.json
									
									
									
									
									
								
							
							
						
						| @@ -13,7 +13,7 @@ | ||||
|   "scripts": { | ||||
|     "dev": "next dev", | ||||
|     "start": "next start", | ||||
|     "build": "npm run resume:build && next build", | ||||
|     "build": "npm run curriculum-vitae:build && next build", | ||||
|     "lint:commit": "commitlint", | ||||
|     "lint:editorconfig": "editorconfig-checker", | ||||
|     "lint:markdown": "markdownlint-cli2", | ||||
| @@ -24,7 +24,7 @@ | ||||
|     "test:html-w3c-validator": "start-server-and-test \"start\" \"http://127.0.0.1:3000\" \"html-w3c-validator\"", | ||||
|     "test:e2e": "start-server-and-test \"start\" http://127.0.0.1:3000 \"cypress run\"", | ||||
|     "test:dev": "start-server-and-test \"dev\" \"http://127.0.0.1:3000\" \"cypress open\"", | ||||
|     "resume:build": "node ./jsonresume-theme-custom/build.js", | ||||
|     "curriculum-vitae:build": "node ./curriculum-vitae/build.js", | ||||
|     "release": "semantic-release", | ||||
|     "postinstall": "husky install" | ||||
|   }, | ||||
| @@ -65,25 +65,25 @@ | ||||
|     "@semantic-release/git": "10.0.1", | ||||
|     "@tailwindcss/typography": "0.5.9", | ||||
|     "@tsconfig/strictest": "2.0.1", | ||||
|     "@types/node": "20.4.4", | ||||
|     "@types/react": "18.2.15", | ||||
|     "@types/node": "20.4.5", | ||||
|     "@types/react": "18.2.17", | ||||
|     "@types/unist": "3.0.0", | ||||
|     "@typescript-eslint/eslint-plugin": "6.1.0", | ||||
|     "@typescript-eslint/parser": "6.1.0", | ||||
|     "@typescript-eslint/eslint-plugin": "6.2.0", | ||||
|     "@typescript-eslint/parser": "6.2.0", | ||||
|     "autoprefixer": "10.4.14", | ||||
|     "cypress": "12.17.2", | ||||
|     "editorconfig-checker": "5.1.1", | ||||
|     "eslint": "8.45.0", | ||||
|     "eslint-config-conventions": "11.0.1", | ||||
|     "eslint-config-next": "13.4.12", | ||||
|     "eslint-config-prettier": "8.8.0", | ||||
|     "eslint-plugin-import": "2.27.5", | ||||
|     "eslint-config-prettier": "8.9.0", | ||||
|     "eslint-plugin-import": "2.28.0", | ||||
|     "eslint-plugin-prettier": "5.0.0", | ||||
|     "eslint-plugin-promise": "6.1.1", | ||||
|     "eslint-plugin-unicorn": "48.0.0", | ||||
|     "eslint-plugin-unicorn": "48.0.1", | ||||
|     "html-w3c-validator": "1.4.0", | ||||
|     "husky": "8.0.3", | ||||
|     "jsonresume-theme-custom": "file:./jsonresume-theme-custom", | ||||
|     "curriculum-vitae": "file:./curriculum-vitae", | ||||
|     "lint-staged": "13.2.3", | ||||
|     "markdownlint-cli2": "0.8.1", | ||||
|     "markdownlint-rule-relative-links": "2.1.0", | ||||
|   | ||||