@bendyline/squisq-formats 0.1.1 → 1.0.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 (109) hide show
  1. package/dist/__tests__/docxExport.test.d.ts +8 -0
  2. package/dist/__tests__/docxExport.test.d.ts.map +1 -0
  3. package/dist/__tests__/docxExport.test.js +383 -0
  4. package/dist/__tests__/docxExport.test.js.map +1 -0
  5. package/dist/__tests__/docxImport.test.d.ts +8 -0
  6. package/dist/__tests__/docxImport.test.d.ts.map +1 -0
  7. package/dist/__tests__/docxImport.test.js +309 -0
  8. package/dist/__tests__/docxImport.test.js.map +1 -0
  9. package/dist/__tests__/html.test.d.ts +8 -0
  10. package/dist/__tests__/html.test.d.ts.map +1 -0
  11. package/dist/__tests__/html.test.js +243 -0
  12. package/dist/__tests__/html.test.js.map +1 -0
  13. package/dist/__tests__/ooxml.test.d.ts +5 -0
  14. package/dist/__tests__/ooxml.test.d.ts.map +1 -0
  15. package/dist/__tests__/ooxml.test.js +152 -0
  16. package/dist/__tests__/ooxml.test.js.map +1 -0
  17. package/dist/__tests__/pdfExport.test.d.ts +8 -0
  18. package/dist/__tests__/pdfExport.test.d.ts.map +1 -0
  19. package/dist/__tests__/pdfExport.test.js +275 -0
  20. package/dist/__tests__/pdfExport.test.js.map +1 -0
  21. package/dist/__tests__/pdfImport.test.d.ts +11 -0
  22. package/dist/__tests__/pdfImport.test.d.ts.map +1 -0
  23. package/dist/__tests__/pdfImport.test.js +254 -0
  24. package/dist/__tests__/pdfImport.test.js.map +1 -0
  25. package/dist/__tests__/roundTrip.test.d.ts +7 -0
  26. package/dist/__tests__/roundTrip.test.d.ts.map +1 -0
  27. package/dist/__tests__/roundTrip.test.js +173 -0
  28. package/dist/__tests__/roundTrip.test.js.map +1 -0
  29. package/dist/docx/export.d.ts +54 -0
  30. package/dist/docx/export.d.ts.map +1 -0
  31. package/dist/docx/export.js +729 -0
  32. package/dist/docx/export.js.map +1 -0
  33. package/dist/docx/import.d.ts +52 -0
  34. package/dist/docx/import.d.ts.map +1 -0
  35. package/dist/docx/import.js +687 -0
  36. package/dist/docx/import.js.map +1 -0
  37. package/dist/docx/index.d.ts +15 -100
  38. package/dist/docx/index.d.ts.map +1 -0
  39. package/dist/docx/index.js +22 -13
  40. package/dist/docx/index.js.map +1 -1
  41. package/dist/docx/styles.d.ts +68 -0
  42. package/dist/docx/styles.d.ts.map +1 -0
  43. package/dist/docx/styles.js +125 -0
  44. package/dist/docx/styles.js.map +1 -0
  45. package/dist/html/htmlTemplate.d.ts +64 -0
  46. package/dist/html/htmlTemplate.d.ts.map +1 -0
  47. package/dist/html/htmlTemplate.js +235 -0
  48. package/dist/html/htmlTemplate.js.map +1 -0
  49. package/dist/html/imageUtils.d.ts +29 -0
  50. package/dist/html/imageUtils.d.ts.map +1 -0
  51. package/dist/html/imageUtils.js +63 -0
  52. package/dist/html/imageUtils.js.map +1 -0
  53. package/dist/html/index.d.ts +9 -77
  54. package/dist/html/index.d.ts.map +1 -0
  55. package/dist/html/index.js +137 -16
  56. package/dist/html/index.js.map +1 -1
  57. package/dist/index.d.ts +36 -7
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +35 -53
  60. package/dist/index.js.map +1 -1
  61. package/dist/ooxml/index.d.ts +14 -343
  62. package/dist/ooxml/index.d.ts.map +1 -0
  63. package/dist/ooxml/index.js +22 -98
  64. package/dist/ooxml/index.js.map +1 -1
  65. package/dist/ooxml/namespaces.d.ts +67 -0
  66. package/dist/ooxml/namespaces.d.ts.map +1 -0
  67. package/dist/ooxml/namespaces.js +94 -0
  68. package/dist/ooxml/namespaces.js.map +1 -0
  69. package/dist/ooxml/reader.d.ts +52 -0
  70. package/dist/ooxml/reader.d.ts.map +1 -0
  71. package/dist/ooxml/reader.js +190 -0
  72. package/dist/ooxml/reader.js.map +1 -0
  73. package/dist/ooxml/types.d.ts +82 -0
  74. package/dist/ooxml/types.d.ts.map +1 -0
  75. package/dist/ooxml/types.js +9 -0
  76. package/dist/ooxml/types.js.map +1 -0
  77. package/dist/ooxml/writer.d.ts +71 -0
  78. package/dist/ooxml/writer.d.ts.map +1 -0
  79. package/dist/ooxml/writer.js +200 -0
  80. package/dist/ooxml/writer.js.map +1 -0
  81. package/dist/ooxml/xmlUtils.d.ts +76 -0
  82. package/dist/ooxml/xmlUtils.d.ts.map +1 -0
  83. package/dist/ooxml/xmlUtils.js +108 -0
  84. package/dist/ooxml/xmlUtils.js.map +1 -0
  85. package/dist/pdf/export.d.ts +50 -0
  86. package/dist/pdf/export.d.ts.map +1 -0
  87. package/dist/pdf/export.js +740 -0
  88. package/dist/pdf/export.js.map +1 -0
  89. package/dist/pdf/import.d.ts +78 -0
  90. package/dist/pdf/import.d.ts.map +1 -0
  91. package/dist/pdf/import.js +619 -0
  92. package/dist/pdf/import.js.map +1 -0
  93. package/dist/pdf/index.d.ts +17 -121
  94. package/dist/pdf/index.d.ts.map +1 -0
  95. package/dist/pdf/index.js +25 -14
  96. package/dist/pdf/index.js.map +1 -1
  97. package/dist/pdf/styles.d.ts +142 -0
  98. package/dist/pdf/styles.d.ts.map +1 -0
  99. package/dist/pdf/styles.js +145 -0
  100. package/dist/pdf/styles.js.map +1 -0
  101. package/dist/pptx/index.d.ts +9 -12
  102. package/dist/pptx/index.d.ts.map +1 -0
  103. package/dist/pptx/index.js +44 -12
  104. package/dist/pptx/index.js.map +1 -1
  105. package/dist/xlsx/index.d.ts +9 -12
  106. package/dist/xlsx/index.d.ts.map +1 -0
  107. package/dist/xlsx/index.js +44 -12
  108. package/dist/xlsx/index.js.map +1 -1
  109. package/package.json +3 -4
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Tests for DOCX export: markdownDocToDocx, docToDocx.
3
+ *
4
+ * Exports a MarkdownDocument to .docx, then unzips and inspects
5
+ * the OOXML structure to verify correctness.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=docxExport.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docxExport.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/docxExport.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,383 @@
1
+ /**
2
+ * Tests for DOCX export: markdownDocToDocx, docToDocx.
3
+ *
4
+ * Exports a MarkdownDocument to .docx, then unzips and inspects
5
+ * the OOXML structure to verify correctness.
6
+ */
7
+ import { describe, it, expect } from 'vitest';
8
+ import JSZip from 'jszip';
9
+ import { markdownDocToDocx, docToDocx } from '../docx/export';
10
+ // ============================================
11
+ // Helpers
12
+ // ============================================
13
+ async function exportAndParse(doc, options) {
14
+ const buffer = await markdownDocToDocx(doc, options);
15
+ expect(buffer).toBeInstanceOf(ArrayBuffer);
16
+ expect(buffer.byteLength).toBeGreaterThan(0);
17
+ const zip = await JSZip.loadAsync(buffer);
18
+ return zip;
19
+ }
20
+ async function getDocumentXml(zip) {
21
+ const text = await zip.file('word/document.xml').async('text');
22
+ return new DOMParser().parseFromString(text, 'application/xml');
23
+ }
24
+ function _getBodyParagraphs(doc) {
25
+ const body = doc.getElementsByTagName('w:body')[0];
26
+ return Array.from(body.children).filter((el) => el.localName === 'p');
27
+ }
28
+ // ============================================
29
+ // Basic Structure
30
+ // ============================================
31
+ describe('markdownDocToDocx', () => {
32
+ it('produces a valid zip with required parts', async () => {
33
+ const doc = {
34
+ type: 'document',
35
+ children: [{ type: 'paragraph', children: [{ type: 'text', value: 'Hello' }] }],
36
+ };
37
+ const zip = await exportAndParse(doc);
38
+ expect(zip.file('[Content_Types].xml')).not.toBeNull();
39
+ expect(zip.file('_rels/.rels')).not.toBeNull();
40
+ expect(zip.file('word/document.xml')).not.toBeNull();
41
+ expect(zip.file('word/styles.xml')).not.toBeNull();
42
+ expect(zip.file('word/settings.xml')).not.toBeNull();
43
+ expect(zip.file('word/fontTable.xml')).not.toBeNull();
44
+ });
45
+ it('exports an empty document', async () => {
46
+ const doc = { type: 'document', children: [] };
47
+ const zip = await exportAndParse(doc);
48
+ const xmlDoc = await getDocumentXml(zip);
49
+ const body = xmlDoc.getElementsByTagName('w:body')[0];
50
+ expect(body).toBeDefined();
51
+ });
52
+ // ============================================
53
+ // Headings
54
+ // ============================================
55
+ it('exports headings with correct styles', async () => {
56
+ const doc = {
57
+ type: 'document',
58
+ children: [
59
+ {
60
+ type: 'heading',
61
+ depth: 1,
62
+ children: [{ type: 'text', value: 'Title' }],
63
+ },
64
+ {
65
+ type: 'heading',
66
+ depth: 2,
67
+ children: [{ type: 'text', value: 'Subtitle' }],
68
+ },
69
+ {
70
+ type: 'heading',
71
+ depth: 3,
72
+ children: [{ type: 'text', value: 'Section' }],
73
+ },
74
+ ],
75
+ };
76
+ const zip = await exportAndParse(doc);
77
+ const xmlText = await zip.file('word/document.xml').async('text');
78
+ // Verify heading styles are present
79
+ expect(xmlText).toContain('w:val="Heading1"');
80
+ expect(xmlText).toContain('w:val="Heading2"');
81
+ expect(xmlText).toContain('w:val="Heading3"');
82
+ // Verify heading text
83
+ expect(xmlText).toContain('Title');
84
+ expect(xmlText).toContain('Subtitle');
85
+ expect(xmlText).toContain('Section');
86
+ });
87
+ // ============================================
88
+ // Inline Formatting
89
+ // ============================================
90
+ it('exports bold text with w:b element', async () => {
91
+ const doc = {
92
+ type: 'document',
93
+ children: [
94
+ {
95
+ type: 'paragraph',
96
+ children: [
97
+ {
98
+ type: 'strong',
99
+ children: [{ type: 'text', value: 'bold text' }],
100
+ },
101
+ ],
102
+ },
103
+ ],
104
+ };
105
+ const zip = await exportAndParse(doc);
106
+ const xmlText = await zip.file('word/document.xml').async('text');
107
+ expect(xmlText).toContain('<w:b/>');
108
+ expect(xmlText).toContain('bold text');
109
+ });
110
+ it('exports italic text with w:i element', async () => {
111
+ const doc = {
112
+ type: 'document',
113
+ children: [
114
+ {
115
+ type: 'paragraph',
116
+ children: [
117
+ {
118
+ type: 'emphasis',
119
+ children: [{ type: 'text', value: 'italic text' }],
120
+ },
121
+ ],
122
+ },
123
+ ],
124
+ };
125
+ const zip = await exportAndParse(doc);
126
+ const xmlText = await zip.file('word/document.xml').async('text');
127
+ expect(xmlText).toContain('<w:i/>');
128
+ expect(xmlText).toContain('italic text');
129
+ });
130
+ it('exports inline code with monospace font', async () => {
131
+ const doc = {
132
+ type: 'document',
133
+ children: [
134
+ {
135
+ type: 'paragraph',
136
+ children: [{ type: 'inlineCode', value: 'console.log()' }],
137
+ },
138
+ ],
139
+ };
140
+ const zip = await exportAndParse(doc);
141
+ const xmlText = await zip.file('word/document.xml').async('text');
142
+ expect(xmlText).toContain('Consolas');
143
+ expect(xmlText).toContain('console.log()');
144
+ });
145
+ // ============================================
146
+ // Lists
147
+ // ============================================
148
+ it('exports unordered list with numbering', async () => {
149
+ const doc = {
150
+ type: 'document',
151
+ children: [
152
+ {
153
+ type: 'list',
154
+ ordered: false,
155
+ children: [
156
+ {
157
+ type: 'listItem',
158
+ children: [{ type: 'paragraph', children: [{ type: 'text', value: 'Item 1' }] }],
159
+ },
160
+ {
161
+ type: 'listItem',
162
+ children: [{ type: 'paragraph', children: [{ type: 'text', value: 'Item 2' }] }],
163
+ },
164
+ ],
165
+ },
166
+ ],
167
+ };
168
+ const zip = await exportAndParse(doc);
169
+ // Should have numbering.xml
170
+ expect(zip.file('word/numbering.xml')).not.toBeNull();
171
+ const xmlText = await zip.file('word/document.xml').async('text');
172
+ expect(xmlText).toContain('Item 1');
173
+ expect(xmlText).toContain('Item 2');
174
+ expect(xmlText).toContain('w:numId');
175
+ // Numbering should be bullet type
176
+ const numXml = await zip.file('word/numbering.xml').async('text');
177
+ expect(numXml).toContain('w:val="bullet"');
178
+ });
179
+ it('exports ordered list with decimal numbering', async () => {
180
+ const doc = {
181
+ type: 'document',
182
+ children: [
183
+ {
184
+ type: 'list',
185
+ ordered: true,
186
+ children: [
187
+ {
188
+ type: 'listItem',
189
+ children: [{ type: 'paragraph', children: [{ type: 'text', value: 'First' }] }],
190
+ },
191
+ ],
192
+ },
193
+ ],
194
+ };
195
+ const zip = await exportAndParse(doc);
196
+ const numXml = await zip.file('word/numbering.xml').async('text');
197
+ expect(numXml).toContain('w:val="decimal"');
198
+ });
199
+ // ============================================
200
+ // Tables
201
+ // ============================================
202
+ it('exports tables with rows and cells', async () => {
203
+ const doc = {
204
+ type: 'document',
205
+ children: [
206
+ {
207
+ type: 'table',
208
+ children: [
209
+ {
210
+ type: 'tableRow',
211
+ children: [
212
+ {
213
+ type: 'tableCell',
214
+ isHeader: true,
215
+ children: [{ type: 'text', value: 'Name' }],
216
+ },
217
+ {
218
+ type: 'tableCell',
219
+ isHeader: true,
220
+ children: [{ type: 'text', value: 'Value' }],
221
+ },
222
+ ],
223
+ },
224
+ {
225
+ type: 'tableRow',
226
+ children: [
227
+ {
228
+ type: 'tableCell',
229
+ children: [{ type: 'text', value: 'A' }],
230
+ },
231
+ {
232
+ type: 'tableCell',
233
+ children: [{ type: 'text', value: '1' }],
234
+ },
235
+ ],
236
+ },
237
+ ],
238
+ },
239
+ ],
240
+ };
241
+ const zip = await exportAndParse(doc);
242
+ const xmlText = await zip.file('word/document.xml').async('text');
243
+ expect(xmlText).toContain('<w:tbl>');
244
+ expect(xmlText).toContain('<w:tr>');
245
+ expect(xmlText).toContain('<w:tc>');
246
+ expect(xmlText).toContain('Name');
247
+ expect(xmlText).toContain('Value');
248
+ });
249
+ // ============================================
250
+ // Code Blocks
251
+ // ============================================
252
+ it('exports code blocks with code styling', async () => {
253
+ const doc = {
254
+ type: 'document',
255
+ children: [
256
+ {
257
+ type: 'code',
258
+ value: 'const x = 1;\nconst y = 2;',
259
+ },
260
+ ],
261
+ };
262
+ const zip = await exportAndParse(doc);
263
+ const xmlText = await zip.file('word/document.xml').async('text');
264
+ expect(xmlText).toContain('const x = 1;');
265
+ expect(xmlText).toContain('const y = 2;');
266
+ expect(xmlText).toContain('Consolas');
267
+ });
268
+ // ============================================
269
+ // Blockquotes
270
+ // ============================================
271
+ it('exports blockquotes with quote style', async () => {
272
+ const doc = {
273
+ type: 'document',
274
+ children: [
275
+ {
276
+ type: 'blockquote',
277
+ children: [{ type: 'paragraph', children: [{ type: 'text', value: 'A wise quote' }] }],
278
+ },
279
+ ],
280
+ };
281
+ const zip = await exportAndParse(doc);
282
+ const xmlText = await zip.file('word/document.xml').async('text');
283
+ expect(xmlText).toContain('Quote');
284
+ expect(xmlText).toContain('A wise quote');
285
+ });
286
+ // ============================================
287
+ // Hyperlinks
288
+ // ============================================
289
+ it('exports hyperlinks with relationship', async () => {
290
+ const doc = {
291
+ type: 'document',
292
+ children: [
293
+ {
294
+ type: 'paragraph',
295
+ children: [
296
+ {
297
+ type: 'link',
298
+ url: 'https://example.com',
299
+ children: [{ type: 'text', value: 'click here' }],
300
+ },
301
+ ],
302
+ },
303
+ ],
304
+ };
305
+ const zip = await exportAndParse(doc);
306
+ const xmlText = await zip.file('word/document.xml').async('text');
307
+ expect(xmlText).toContain('<w:hyperlink');
308
+ expect(xmlText).toContain('click here');
309
+ // Check relationships
310
+ const relsText = await zip.file('word/_rels/document.xml.rels').async('text');
311
+ expect(relsText).toContain('https://example.com');
312
+ expect(relsText).toContain('TargetMode="External"');
313
+ });
314
+ // ============================================
315
+ // Thematic Break
316
+ // ============================================
317
+ it('exports thematic breaks', async () => {
318
+ const doc = {
319
+ type: 'document',
320
+ children: [{ type: 'thematicBreak' }],
321
+ };
322
+ const zip = await exportAndParse(doc);
323
+ const xmlText = await zip.file('word/document.xml').async('text');
324
+ expect(xmlText).toContain('w:pBdr');
325
+ expect(xmlText).toContain('w:bottom');
326
+ });
327
+ // ============================================
328
+ // Core Properties
329
+ // ============================================
330
+ it('includes core properties when options are provided', async () => {
331
+ const doc = {
332
+ type: 'document',
333
+ children: [{ type: 'paragraph', children: [{ type: 'text', value: 'test' }] }],
334
+ };
335
+ const zip = await exportAndParse(doc, {
336
+ title: 'My Document',
337
+ author: 'Test Author',
338
+ });
339
+ const coreXml = await zip.file('docProps/core.xml')?.async('text');
340
+ expect(coreXml).toBeDefined();
341
+ expect(coreXml).toContain('My Document');
342
+ expect(coreXml).toContain('Test Author');
343
+ });
344
+ });
345
+ // ============================================
346
+ // docToDocx convenience wrapper
347
+ // ============================================
348
+ describe('docToDocx', () => {
349
+ it('converts a Doc to docx', async () => {
350
+ const doc = {
351
+ articleId: 'test',
352
+ duration: 10,
353
+ blocks: [
354
+ {
355
+ id: 'block-1',
356
+ startTime: 0,
357
+ duration: 5,
358
+ audioSegment: 0,
359
+ sourceHeading: {
360
+ type: 'heading',
361
+ depth: 1,
362
+ children: [{ type: 'text', value: 'Test Heading' }],
363
+ },
364
+ contents: [
365
+ {
366
+ type: 'paragraph',
367
+ children: [{ type: 'text', value: 'Body text' }],
368
+ },
369
+ ],
370
+ },
371
+ ],
372
+ audio: { segments: [] },
373
+ };
374
+ const buffer = await docToDocx(doc);
375
+ expect(buffer).toBeInstanceOf(ArrayBuffer);
376
+ expect(buffer.byteLength).toBeGreaterThan(0);
377
+ const zip = await JSZip.loadAsync(buffer);
378
+ const xmlText = await zip.file('word/document.xml').async('text');
379
+ expect(xmlText).toContain('Test Heading');
380
+ expect(xmlText).toContain('Body text');
381
+ });
382
+ });
383
+ //# sourceMappingURL=docxExport.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docxExport.test.js","sourceRoot":"","sources":["../../src/__tests__/docxExport.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Tests for DOCX import: docxToMarkdownDoc, docxToDoc.
3
+ *
4
+ * Builds minimal .docx test fixtures programmatically using our own
5
+ * OOXML writer (dogfooding the shared layer), then imports them.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=docxImport.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docxImport.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/docxImport.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}