docgen-utils 1.0.5

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 (88) hide show
  1. package/README.md +118 -0
  2. package/dist/bundle.js +36086 -0
  3. package/dist/bundle.min.js +197 -0
  4. package/dist/cli.js +47432 -0
  5. package/dist/index.d.ts +9 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +9 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/packages/cli/commands/export-docs.d.ts +5 -0
  10. package/dist/packages/cli/commands/export-docs.d.ts.map +1 -0
  11. package/dist/packages/cli/commands/export-docs.js +24 -0
  12. package/dist/packages/cli/commands/export-docs.js.map +1 -0
  13. package/dist/packages/cli/commands/export-slides.d.ts +5 -0
  14. package/dist/packages/cli/commands/export-slides.d.ts.map +1 -0
  15. package/dist/packages/cli/commands/export-slides.js +86 -0
  16. package/dist/packages/cli/commands/export-slides.js.map +1 -0
  17. package/dist/packages/cli/commands/import-docx.d.ts +5 -0
  18. package/dist/packages/cli/commands/import-docx.d.ts.map +1 -0
  19. package/dist/packages/cli/commands/import-docx.js +27 -0
  20. package/dist/packages/cli/commands/import-docx.js.map +1 -0
  21. package/dist/packages/cli/commands/import-pptx.d.ts +5 -0
  22. package/dist/packages/cli/commands/import-pptx.d.ts.map +1 -0
  23. package/dist/packages/cli/commands/import-pptx.js +44 -0
  24. package/dist/packages/cli/commands/import-pptx.js.map +1 -0
  25. package/dist/packages/cli/index.d.ts +11 -0
  26. package/dist/packages/cli/index.d.ts.map +1 -0
  27. package/dist/packages/cli/index.js +103 -0
  28. package/dist/packages/cli/index.js.map +1 -0
  29. package/dist/packages/docs/common.d.ts +183 -0
  30. package/dist/packages/docs/common.d.ts.map +1 -0
  31. package/dist/packages/docs/common.js +27 -0
  32. package/dist/packages/docs/common.js.map +1 -0
  33. package/dist/packages/docs/convert.d.ts +7 -0
  34. package/dist/packages/docs/convert.d.ts.map +1 -0
  35. package/dist/packages/docs/convert.js +1399 -0
  36. package/dist/packages/docs/convert.js.map +1 -0
  37. package/dist/packages/docs/create-document.d.ts +30 -0
  38. package/dist/packages/docs/create-document.d.ts.map +1 -0
  39. package/dist/packages/docs/create-document.js +170 -0
  40. package/dist/packages/docs/create-document.js.map +1 -0
  41. package/dist/packages/docs/export.d.ts +57 -0
  42. package/dist/packages/docs/export.d.ts.map +1 -0
  43. package/dist/packages/docs/export.js +430 -0
  44. package/dist/packages/docs/export.js.map +1 -0
  45. package/dist/packages/docs/import-docx.d.ts +13 -0
  46. package/dist/packages/docs/import-docx.d.ts.map +1 -0
  47. package/dist/packages/docs/import-docx.js +2299 -0
  48. package/dist/packages/docs/import-docx.js.map +1 -0
  49. package/dist/packages/docs/parse.d.ts +6 -0
  50. package/dist/packages/docs/parse.d.ts.map +1 -0
  51. package/dist/packages/docs/parse.js +4253 -0
  52. package/dist/packages/docs/parse.js.map +1 -0
  53. package/dist/packages/shared/dom-parser-shim.d.ts +30 -0
  54. package/dist/packages/shared/dom-parser-shim.d.ts.map +1 -0
  55. package/dist/packages/shared/dom-parser-shim.js +152 -0
  56. package/dist/packages/shared/dom-parser-shim.js.map +1 -0
  57. package/dist/packages/slides/common.d.ts +325 -0
  58. package/dist/packages/slides/common.d.ts.map +1 -0
  59. package/dist/packages/slides/common.js +12 -0
  60. package/dist/packages/slides/common.js.map +1 -0
  61. package/dist/packages/slides/convert.d.ts +35 -0
  62. package/dist/packages/slides/convert.d.ts.map +1 -0
  63. package/dist/packages/slides/convert.js +308 -0
  64. package/dist/packages/slides/convert.js.map +1 -0
  65. package/dist/packages/slides/createPresentation.d.ts +51 -0
  66. package/dist/packages/slides/createPresentation.d.ts.map +1 -0
  67. package/dist/packages/slides/createPresentation.js +265 -0
  68. package/dist/packages/slides/createPresentation.js.map +1 -0
  69. package/dist/packages/slides/export.d.ts +24 -0
  70. package/dist/packages/slides/export.d.ts.map +1 -0
  71. package/dist/packages/slides/export.js +52 -0
  72. package/dist/packages/slides/export.js.map +1 -0
  73. package/dist/packages/slides/import-pptx.d.ts +13 -0
  74. package/dist/packages/slides/import-pptx.d.ts.map +1 -0
  75. package/dist/packages/slides/import-pptx.js +619 -0
  76. package/dist/packages/slides/import-pptx.js.map +1 -0
  77. package/dist/packages/slides/parse.d.ts +45 -0
  78. package/dist/packages/slides/parse.d.ts.map +1 -0
  79. package/dist/packages/slides/parse.js +1185 -0
  80. package/dist/packages/slides/parse.js.map +1 -0
  81. package/dist/packages/slides/transform.d.ts +37 -0
  82. package/dist/packages/slides/transform.d.ts.map +1 -0
  83. package/dist/packages/slides/transform.js +140 -0
  84. package/dist/packages/slides/transform.js.map +1 -0
  85. package/dist/packages/slides/vendor/VENDORING.md +58 -0
  86. package/dist/packages/slides/vendor/pptxgen.d.ts +805 -0
  87. package/dist/packages/slides/vendor/pptxgen.js +7442 -0
  88. package/package.json +57 -0
package/README.md ADDED
@@ -0,0 +1,118 @@
1
+ # DocGen
2
+
3
+ Converts HTML into DOCX, PPTX and vice versa.
4
+
5
+ ## Key Components
6
+
7
+ ### Build & Distribution
8
+
9
+ | File | Description |
10
+ | ---------- | -------------------------------------------------------------- |
11
+ | `build.sh` | Builds the library |
12
+ | `dist/` | Output directory containing production-ready minified JS files |
13
+
14
+ ## Usage
15
+
16
+ ### Build
17
+
18
+ ```bash
19
+ npm run build
20
+ ```
21
+
22
+ ### CLI
23
+ The CLI is used in the agent sandbox to transform artifacts.
24
+
25
+ ```bash
26
+ node dist/cli.js import docx --file=file.docx --out-dir=./output
27
+ node dist/cli.js import pptx --file=file.pptx --out-dir=./output
28
+ node dist/cli.js export docs --file=file.html --out-dir=./output
29
+ node dist/cli.js export slides --files=slide-1.html,slide-2.html --out-dir=./output
30
+ ```
31
+
32
+ ### Deploy
33
+
34
+ ```bash
35
+ npm run deploy
36
+ ```
37
+
38
+ ## Visual Comparison
39
+
40
+ The `output` directory contains the rendered output in target formats. e.g. DOCX or PPTX vs HTML
41
+
42
+ - Files in `test-data/docs/` → converted to DOCX → `docx-render.jpg`
43
+ - Files in `test-data/slides/` → converted to PPTX → `pptx-render.jpg`
44
+ - Files in `test-data/pptx/` → imported to HTML → `html-render.jpg`
45
+
46
+ ### Prerequisites
47
+
48
+ Install the required system dependencies:
49
+
50
+ **macOS:**
51
+
52
+ ```bash
53
+ # LibreOffice (for DOCX/PPTX → PDF conversion)
54
+ brew install --cask libreoffice
55
+ # Poppler (for PDF → PNG conversion)
56
+ brew install poppler
57
+ # Chromium for Playwright
58
+ npx playwright install chromium
59
+ ```
60
+
61
+ ### Usage
62
+
63
+ Process a specific document (HTML -> DOCX):
64
+
65
+ ```bash
66
+ npm run generate-output -- test-data/docs/doc-1.html
67
+ ```
68
+
69
+ Process a specific slide (HTML -> PPTX):
70
+
71
+ ```bash
72
+ npm run generate-output -- test-data/slides/slide-1.html
73
+ ```
74
+
75
+ Import a PPTX file (PPTX -> HTML):
76
+
77
+ ```bash
78
+ npm run generate-output -- test-data/pptx/presentation.pptx
79
+ ```
80
+
81
+ Process multiple files:
82
+
83
+ ```bash
84
+ npm run generate-all-docs-output # All docs
85
+ npm run generate-all-slides-output # All slides
86
+ ```
87
+
88
+ ### Output
89
+
90
+ The script generates the following structure:
91
+
92
+ ```
93
+ output/
94
+ ├── doc-1.html/
95
+ │ ├── html-render.jpg # Screenshot of HTML (via Playwright)
96
+ │ ├── docx-render.jpg # DOCX rendered via LibreOffice
97
+ │ ├── diff.jpg # Visual diff highlighting differences
98
+ │ ├── output.docx # Generated DOCX file
99
+ │ └── report.json # Comparison metrics
100
+ ├── slide-1.html/
101
+ │ ├── html-render.jpg # Screenshot of HTML (via Playwright)
102
+ │ ├── pptx-render.jpg # PPTX rendered via LibreOffice
103
+ │ ├── diff.jpg # Visual diff highlighting differences
104
+ │ ├── output.pptx # Generated PPTX file
105
+ │ └── report.json # Comparison metrics
106
+ ├── presentation.pptx/
107
+ │ ├── pptx-render.jpg # Original PPTX rendered via LibreOffice
108
+ │ ├── html-render.jpg # Imported HTML rendered via Playwright
109
+ │ ├── diff.jpg # Visual diff highlighting differences
110
+ │ ├── output.html # Generated HTML (all slides concatenated)
111
+ │ └── report.json # Comparison metrics
112
+ └── ...
113
+ ```
114
+
115
+ **Metrics explained:**
116
+
117
+ - **pixelDiff.percentDiff** - Percentage of pixels that differ between the two images (lower is better)
118
+ - **ssim.mssim** - Structural Similarity Index (0-1, higher is better). Values above 0.9 indicate very similar images