resuml 1.20.1 ā 1.21.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/package.json +6 -2
- package/scripts/bundle-themes.js +17 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "resuml",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.21.0",
|
|
4
4
|
"description": "Generate JSON resumes from YAML with theme support",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/api.js",
|
|
@@ -49,6 +49,9 @@
|
|
|
49
49
|
"@dnd-kit/utilities": "^3.2.2",
|
|
50
50
|
"@jsonresume/schema": "^1.0.0",
|
|
51
51
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
52
|
+
"@sparticuz/chromium": "^147.0.2",
|
|
53
|
+
"@vercel/analytics": "^2.0.1",
|
|
54
|
+
"@vercel/speed-insights": "^2.0.0",
|
|
52
55
|
"ajv": "^8.12.0",
|
|
53
56
|
"chalk": "^5.3.0",
|
|
54
57
|
"commander": "^11.1.0",
|
|
@@ -59,9 +62,10 @@
|
|
|
59
62
|
"jsonresume-theme-kendall": "^0.2.0",
|
|
60
63
|
"jsonresume-theme-paper": "^0.5.0",
|
|
61
64
|
"jsonresume-theme-react": "^1.0.4",
|
|
62
|
-
"jsonresume-theme-stackoverflow": "^
|
|
65
|
+
"jsonresume-theme-stackoverflow": "^3.1.2",
|
|
63
66
|
"lodash.merge": "^4.6.2",
|
|
64
67
|
"lucide-react": "^1.7.0",
|
|
68
|
+
"playwright-core": "^1.59.1",
|
|
65
69
|
"react": "^19.1.0",
|
|
66
70
|
"react-dom": "^19.1.0",
|
|
67
71
|
"tar": "^7.5.13",
|
package/scripts/bundle-themes.js
CHANGED
|
@@ -1089,10 +1089,24 @@ async function main() {
|
|
|
1089
1089
|
}
|
|
1090
1090
|
}
|
|
1091
1091
|
|
|
1092
|
-
// Write manifest
|
|
1093
|
-
|
|
1092
|
+
// Write manifest. When the run is scoped (e.g. --themes=stackoverflow) we
|
|
1093
|
+
// merge into the existing manifest instead of replacing it. Otherwise a
|
|
1094
|
+
// targeted rebuild of one theme would wipe the other 400 entries and the
|
|
1095
|
+
// theme picker would hide everything it can no longer find.
|
|
1096
|
+
const manifestPath = resolve(THEMES_DIR, 'manifest.json');
|
|
1097
|
+
const isScoped = themesArg !== undefined;
|
|
1098
|
+
let finalManifest = manifest;
|
|
1099
|
+
if (isScoped && existsSync(manifestPath)) {
|
|
1100
|
+
const existing = JSON.parse(readFileSync(manifestPath, 'utf8'));
|
|
1101
|
+
const touched = new Set(manifest.map((t) => t.name));
|
|
1102
|
+
finalManifest = [
|
|
1103
|
+
...existing.filter((t) => !touched.has(t.name)),
|
|
1104
|
+
...manifest,
|
|
1105
|
+
].sort((a, b) => a.name.localeCompare(b.name));
|
|
1106
|
+
}
|
|
1107
|
+
writeFileSync(manifestPath, JSON.stringify(finalManifest, null, 2));
|
|
1094
1108
|
|
|
1095
|
-
const successful =
|
|
1109
|
+
const successful = finalManifest.filter(t => t.browserCompatible).length;
|
|
1096
1110
|
const snapshots = manifest.filter(t => t.hasSnapshot).length;
|
|
1097
1111
|
console.log(`\nā
Done! ${successful}/${manifest.length} themes bundled, ${snapshots} snapshots generated`);
|
|
1098
1112
|
console.log(`š Output: docs/themes/`);
|