@json-to-office/jto 1.7.0 → 1.11.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.
Files changed (30) hide show
  1. package/dist/cli.js +23 -5
  2. package/dist/cli.js.map +1 -1
  3. package/dist/client/assets/{HomePage-fDrbL-5G.js → HomePage-r7ryeW_v.js} +4 -4
  4. package/dist/client/assets/{HomePage-fDrbL-5G.js.map → HomePage-r7ryeW_v.js.map} +1 -1
  5. package/dist/client/assets/{JsonEditorPage-CRY9589Y.js → JsonEditorPage-BxUyYH8Z.js} +3 -3
  6. package/dist/client/assets/{JsonEditorPage-CRY9589Y.js.map → JsonEditorPage-BxUyYH8Z.js.map} +1 -1
  7. package/dist/client/assets/{MonacoPluginProvider-n1_V7jsc.js → MonacoPluginProvider-CGvtVJKz.js} +3 -3
  8. package/dist/client/assets/{MonacoPluginProvider-n1_V7jsc.js.map → MonacoPluginProvider-CGvtVJKz.js.map} +1 -1
  9. package/dist/client/assets/{editor-Y9dek093.js → editor-gT4UjmPk.js} +2 -2
  10. package/dist/client/assets/{editor-Y9dek093.js.map → editor-gT4UjmPk.js.map} +1 -1
  11. package/dist/client/assets/{editor-monaco-json-oBxvTIvi.js → editor-monaco-json-BYUK4OUI.js} +2 -2
  12. package/dist/client/assets/{editor-monaco-json-oBxvTIvi.js.map → editor-monaco-json-BYUK4OUI.js.map} +1 -1
  13. package/dist/client/assets/{editor-refs-store-BMwl0ejj.js → editor-refs-store-ChL2fzuX.js} +2 -2
  14. package/dist/client/assets/{editor-refs-store-BMwl0ejj.js.map → editor-refs-store-ChL2fzuX.js.map} +1 -1
  15. package/dist/client/assets/{index-B4R-AAtI.js → index-CgCY8SiY.js} +4 -4
  16. package/dist/client/assets/index-CgCY8SiY.js.map +1 -0
  17. package/dist/client/assets/{preview-zCYkbgdR.js → preview-ZqhmQZJG.js} +2 -2
  18. package/dist/client/assets/{preview-zCYkbgdR.js.map → preview-ZqhmQZJG.js.map} +1 -1
  19. package/dist/client/assets/{useQualityAnalysis-BFG1bJDp.js → useQualityAnalysis-eKT8VcIt.js} +2 -2
  20. package/dist/client/assets/{useQualityAnalysis-BFG1bJDp.js.map → useQualityAnalysis-eKT8VcIt.js.map} +1 -1
  21. package/dist/client/index.html +1 -1
  22. package/dist/client/templates/minimalist-pitch-deck.pptx.json +431 -7
  23. package/dist/client/templates/modern-annual-report-1.docx.json +4128 -168
  24. package/dist/client/templates/modern-annual-report-2.docx.json +5122 -4648
  25. package/dist/client/templates/modern-annual-report-3.docx.json +4540 -2755
  26. package/dist/client/templates/standard-annual-report.docx.json +6609 -234
  27. package/dist/client/templates/tech-report.docx.json +6404 -213
  28. package/dist/client/templates/vermilion-annual-report.docx.json +726 -106
  29. package/package.json +6 -6
  30. package/dist/client/assets/index-B4R-AAtI.js.map +0 -1
package/dist/cli.js CHANGED
@@ -270,6 +270,9 @@ function collectReferencedNames(config2, customThemes, adapterName) {
270
270
  }
271
271
  return names;
272
272
  }
273
+ function isReferenceableWeight(v) {
274
+ return typeof v === "number" && v >= 100 && v <= 900;
275
+ }
273
276
  function collectReferencedWeights(config2, customThemes) {
274
277
  const weights = /* @__PURE__ */ new Set();
275
278
  const visit3 = (node) => {
@@ -279,8 +282,12 @@ function collectReferencedWeights(config2, customThemes) {
279
282
  return;
280
283
  }
281
284
  if (typeof node === "object") {
282
- for (const [k, v] of Object.entries(node)) {
283
- if (k === "fontWeight" && typeof v === "number" && v >= 100 && v <= 900) {
285
+ const obj = node;
286
+ if (obj.bold === true && !isReferenceableWeight(obj.fontWeight)) {
287
+ weights.add(700);
288
+ }
289
+ for (const [k, v] of Object.entries(obj)) {
290
+ if (k === "fontWeight" && isReferenceableWeight(v)) {
284
291
  weights.add(v);
285
292
  } else {
286
293
  visit3(v);
@@ -481,6 +488,7 @@ var init_generator = __esm({
481
488
  const bypassCache = options?.bypassCache === true || extraEntries.length > 0 || declaresRegistry;
482
489
  const baseDir = typeof options?.baseDir === "string" ? options.baseDir : void 0;
483
490
  const renderer = typeof options?.renderer === "string" ? options.renderer : void 0;
491
+ const svgRasterFallback = typeof options?.svgRasterFallback === "boolean" ? options.svgRasterFallback : void 0;
484
492
  const resolvedFonts = [];
485
493
  const coreWarnings = [];
486
494
  const needsFontOpts = extraEntries.length > 0 || declaresRegistry || fontMode !== void 0 || fontSubstitution !== void 0 || callerStrict !== void 0;
@@ -541,7 +549,9 @@ var init_generator = __esm({
541
549
  baseDir: baseDir ?? null,
542
550
  // Same document, different backend → different bytes. Without this,
543
551
  // switching backends would serve the other one's cached buffer.
544
- renderer: renderer ?? null
552
+ renderer: renderer ?? null,
553
+ // Skipping the fallback changes the bytes, so it has to change the key.
554
+ svgRasterFallback: svgRasterFallback ?? null
545
555
  };
546
556
  const cacheKey = this.cacheService.generateCacheKey(cacheKeyData);
547
557
  const hasDynamicContent = this.cacheService.hasDynamicContent(config2);
@@ -571,6 +581,7 @@ var init_generator = __esm({
571
581
  fonts: fontOpts,
572
582
  baseDir,
573
583
  renderer,
584
+ ...svgRasterFallback !== void 0 && { svgRasterFallback },
574
585
  warnings: coreWarnings,
575
586
  quality
576
587
  });
@@ -581,6 +592,7 @@ var init_generator = __esm({
581
592
  fonts: fontOpts,
582
593
  baseDir,
583
594
  renderer,
595
+ ...svgRasterFallback !== void 0 && { svgRasterFallback },
584
596
  warnings: coreWarnings,
585
597
  quality,
586
598
  prepared
@@ -2500,7 +2512,13 @@ function createFormatRouter(adapter) {
2500
2512
  // (#255).
2501
2513
  ...options?.renderer !== void 0 && {
2502
2514
  renderer: options.renderer
2503
- }
2515
+ },
2516
+ // The answer to this request is a PDF. LibreOffice draws the
2517
+ // vector, so the raster fallback each inline SVG carries for Word
2518
+ // before 2016 is never read — and on a document whose artwork is
2519
+ // hundreds of small SVGs, producing it was most of the wait
2520
+ // (tech-report: 56s, against 2s without).
2521
+ svgRasterFallback: false
2504
2522
  }
2505
2523
  });
2506
2524
  const pdfBuffer = await libreOfficeService.convertToPdf(
@@ -4370,7 +4388,7 @@ function createDevCommand(adapter) {
4370
4388
  }
4371
4389
 
4372
4390
  // src/cli.ts
4373
- var PACKAGE_VERSION = true ? "1.7.0" : "dev-mode";
4391
+ var PACKAGE_VERSION = true ? "1.11.1" : "dev-mode";
4374
4392
  var program = new Command2();
4375
4393
  program.name("jto").description("JSON to Office CLI - Generate .docx and .pptx from JSON").version(PACKAGE_VERSION);
4376
4394
  registerCoreCommands(program, {