@otomate/docx 0.1.0 → 0.2.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/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { readDocx } from "./reader.js";
2
2
  export type { DocxReadOptions } from "./reader.js";
3
- export { writeDocx } from "./writer.js";
4
- export type { DocxWriteOptions } from "./writer.js";
3
+ export { writeDocx, writeDiffDocx } from "./writer.js";
4
+ export type { DocxWriteOptions, DiffDocxOptions } from "./writer.js";
5
5
  export { extractDocx, packDocx } from "./zip.js";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export { readDocx } from "./reader.js";
2
- export { writeDocx } from "./writer.js";
2
+ export { writeDocx, writeDiffDocx } from "./writer.js";
3
3
  export { extractDocx, packDocx } from "./zip.js";
4
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC"}
package/dist/writer.d.ts CHANGED
@@ -1,8 +1,27 @@
1
1
  import type { Root } from "@otomate/core";
2
+ import type { DiffResult } from "@otomate/diff";
2
3
  export interface DocxWriteOptions {
3
4
  /** CSS class rules: { className: { property: value } } */
4
5
  cssClasses?: Record<string, Record<string, string>>;
5
6
  }
7
+ export interface DiffDocxOptions extends DocxWriteOptions {
8
+ /** Author name for w:author on revision marks (default: "Otomate") */
9
+ author?: string;
10
+ /** ISO 8601 date string for w:date on revision marks (default: "2024-01-01T00:00:00Z") */
11
+ date?: string;
12
+ }
6
13
  /** Serialize a UDM tree to a .docx buffer. */
7
14
  export declare function writeDocx(tree: Root, options?: DocxWriteOptions): Promise<Uint8Array>;
15
+ /**
16
+ * Serialize a UDM tree to a .docx buffer with Word track-changes revision marks.
17
+ *
18
+ * Inserted content is wrapped in `<w:ins>`, deleted content in `<w:del>`, and
19
+ * partial text changes are split into per-segment runs so Word's Accept/Reject
20
+ * All Changes buttons work correctly.
21
+ *
22
+ * @param newTree The "after" document tree (from diff())
23
+ * @param diffResult The diff result produced by diff(oldTree, newTree)
24
+ * @param options Author/date for revision marks, plus standard CSS options
25
+ */
26
+ export declare function writeDiffDocx(newTree: Root, diffResult: DiffResult, options?: DiffDocxOptions): Promise<Uint8Array>;
8
27
  //# sourceMappingURL=writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,IAAI,EAEL,MAAM,eAAe,CAAC;AAMvB,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAMD,8CAA8C;AAC9C,wBAAsB,SAAS,CAC7B,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,UAAU,CAAC,CA+ErB"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,IAAI,EAEL,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,eAAe,CAAC;AAS/D,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAiBD,8CAA8C;AAC9C,wBAAsB,SAAS,CAC7B,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,UAAU,CAAC,CA+ErB;AA4qBD;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,UAAU,CAAC,CA+FrB"}
package/dist/writer.js CHANGED
@@ -86,6 +86,36 @@ function allocHyperlinkRId(ctx, url) {
86
86
  ctx.hyperlinks.set(rId, url);
87
87
  return rId;
88
88
  }
89
+ // ---------------------------------------------------------------------------
90
+ // Diff helpers
91
+ // ---------------------------------------------------------------------------
92
+ /** Build a node → pathKey map for the given tree (used by writeDiffDocx). */
93
+ function buildNodePathMap(tree) {
94
+ const map = new Map();
95
+ function recurse(node, path) {
96
+ map.set(node, path.join(","));
97
+ if (isParent(node)) {
98
+ node.children.forEach((c, i) => recurse(c, [...path, i]));
99
+ }
100
+ }
101
+ recurse(tree, []);
102
+ return map;
103
+ }
104
+ /** Index a DiffResult into three O(1) lookup maps. MoveOp and UpdateOp are ignored for v1. */
105
+ function buildDiffCtx(diffResult, author, date) {
106
+ const insertedPaths = new Map();
107
+ const deletedPaths = new Map();
108
+ const textChangePaths = new Map();
109
+ for (const op of diffResult.operations) {
110
+ if (op.type === "insert")
111
+ insertedPaths.set(op.path.join(","), op);
112
+ else if (op.type === "delete")
113
+ deletedPaths.set(op.path.join(","), op);
114
+ else if (op.type === "updateText")
115
+ textChangePaths.set(op.path.join(","), op);
116
+ }
117
+ return { insertedPaths, deletedPaths, textChangePaths, revId: { value: 1 }, author, date };
118
+ }
89
119
  function convertBlock(node, ctx, listIlvl) {
90
120
  switch (node.type) {
91
121
  case "paragraph": return convertParagraph(node, ctx);
@@ -247,12 +277,29 @@ function convertBlockWithContainer(node, ctx, listIlvl) {
247
277
  function convertParagraph(node, ctx) {
248
278
  const pPr = buildPPr(node, ctx);
249
279
  const cssRPr = resolveBlockCssRunProps(node, ctx);
280
+ if (ctx.diff && ctx.nodePathKeys) {
281
+ const key = ctx.nodePathKeys.get(node);
282
+ if (key !== undefined && ctx.diff.insertedPaths.has(key)) {
283
+ return convertInsertedParagraph(node, pPr, cssRPr, ctx);
284
+ }
285
+ }
250
286
  const runs = node.children.map(c => convertInline(c, ctx, cssRPr)).join("");
251
287
  return `<w:p>${pPr}${runs}</w:p>`;
252
288
  }
253
289
  function convertHeading(node, ctx) {
254
290
  const tag = `h${node.depth}`;
255
291
  const cssRPr = ctx.cssElements[tag] ? buildRunPropsXml(cssToRunProps(ctx.cssElements[tag])) : "";
292
+ if (ctx.diff && ctx.nodePathKeys) {
293
+ const key = ctx.nodePathKeys.get(node);
294
+ if (key !== undefined && ctx.diff.insertedPaths.has(key)) {
295
+ if (ctx.cssElements[tag])
296
+ ensureElementStyle(tag, ctx);
297
+ const pPr = ctx.cssElements[tag]
298
+ ? `<w:pPr><w:pStyle w:val="_el_${tag}"/></w:pPr>`
299
+ : `<w:pPr><w:pStyle w:val="Heading${node.depth}"/></w:pPr>`;
300
+ return convertInsertedParagraph(node, pPr, cssRPr, ctx);
301
+ }
302
+ }
256
303
  const runs = node.children.map(c => convertInline(c, ctx, cssRPr)).join("");
257
304
  if (ctx.cssElements[tag]) {
258
305
  ensureElementStyle(tag, ctx);
@@ -260,6 +307,27 @@ function convertHeading(node, ctx) {
260
307
  }
261
308
  return `<w:p><w:pPr><w:pStyle w:val="Heading${node.depth}"/></w:pPr>${runs}</w:p>`;
262
309
  }
310
+ /** Render a paragraph (or heading cast as paragraph) with all runs wrapped in w:ins. */
311
+ function convertInsertedParagraph(node, pPr, cssRPr, ctx) {
312
+ const diff = ctx.diff;
313
+ const author = esc(diff.author);
314
+ const date = diff.date;
315
+ // Track the paragraph mark itself as inserted (inject into pPr)
316
+ const markId = diff.revId.value++;
317
+ const insMarkXml = `<w:rPr><w:ins w:id="${markId}" w:author="${author}" w:date="${date}"/></w:rPr>`;
318
+ const trackedPPr = pPr
319
+ ? pPr.replace("</w:pPr>", `${insMarkXml}</w:pPr>`)
320
+ : `<w:pPr>${insMarkXml}</w:pPr>`;
321
+ // Wrap each inline child's run in its own w:ins
322
+ const runs = node.children.map(c => {
323
+ const runXml = convertInline(c, ctx, cssRPr);
324
+ if (!runXml)
325
+ return "";
326
+ const id = diff.revId.value++;
327
+ return `<w:ins w:id="${id}" w:author="${author}" w:date="${date}">${runXml}</w:ins>`;
328
+ }).join("");
329
+ return `<w:p>${trackedPPr}${runs}</w:p>`;
330
+ }
263
331
  /** Resolve CSS run properties for a block node (from element + class CSS) */
264
332
  function resolveBlockCssRunProps(node, ctx) {
265
333
  const tag = udmTypeToHtmlTag(node.type, node);
@@ -463,6 +531,40 @@ function convertText(node, ctx, inheritedRPr = "") {
463
531
  }
464
532
  }
465
533
  const rPr = dedupedParts.length > 0 ? `<w:rPr>${dedupedParts.join("")}</w:rPr>` : "";
534
+ // Track-changes: check diff context (skip for linked text to avoid nesting complexity)
535
+ if (ctx.diff && ctx.nodePathKeys && !linkMark) {
536
+ const key = ctx.nodePathKeys.get(node);
537
+ if (key !== undefined) {
538
+ const diff = ctx.diff;
539
+ const author = esc(diff.author);
540
+ const date = diff.date;
541
+ if (diff.insertedPaths.has(key)) {
542
+ // Whole text node is new — wrap run in w:ins
543
+ const id = diff.revId.value++;
544
+ return `<w:ins w:id="${id}" w:author="${author}" w:date="${date}"><w:r>${rPr}<w:t xml:space="preserve">${esc(node.value)}</w:t></w:r></w:ins>`;
545
+ }
546
+ if (diff.textChangePaths.has(key)) {
547
+ // Partial text change — emit one element per TextChange segment
548
+ const changes = diff.textChangePaths.get(key).changes;
549
+ return changes.map(change => {
550
+ if (!change.value)
551
+ return "";
552
+ switch (change.type) {
553
+ case "equal":
554
+ return `<w:r>${rPr}<w:t xml:space="preserve">${esc(change.value)}</w:t></w:r>`;
555
+ case "insert": {
556
+ const id = diff.revId.value++;
557
+ return `<w:ins w:id="${id}" w:author="${author}" w:date="${date}"><w:r>${rPr}<w:t xml:space="preserve">${esc(change.value)}</w:t></w:r></w:ins>`;
558
+ }
559
+ case "delete": {
560
+ const id = diff.revId.value++;
561
+ return `<w:del w:id="${id}" w:author="${author}" w:date="${date}"><w:r>${rPr}<w:delText xml:space="preserve">${esc(change.value)}</w:delText></w:r></w:del>`;
562
+ }
563
+ }
564
+ }).join("");
565
+ }
566
+ }
567
+ }
466
568
  if (linkMark) {
467
569
  const url = String(linkMark.attrs?.url ?? "");
468
570
  const rId = allocHyperlinkRId(ctx, url);
@@ -587,7 +689,134 @@ function stripDataForSnapshot(node) {
587
689
  function parseColorSafe(val) {
588
690
  return parseColor(val) ?? "auto";
589
691
  }
692
+ // ---------------------------------------------------------------------------
693
+ // Deleted-block rendering (for writeDiffDocx)
694
+ // ---------------------------------------------------------------------------
695
+ /** Recursively collect all text content from a UDM node snapshot. */
696
+ function extractTextContent(node) {
697
+ if (node.type === "text")
698
+ return node.value ?? "";
699
+ if (node.type === "codeBlock")
700
+ return node.value ?? "";
701
+ if (isParent(node))
702
+ return node.children.map(extractTextContent).filter(Boolean).join(" ");
703
+ return "";
704
+ }
705
+ /** Render a DeleteOp node as a w:del paragraph (track-changes markup). */
706
+ function convertDeletedBlock(op, ctx) {
707
+ const node = op.node;
708
+ const diff = ctx.diff;
709
+ const author = esc(diff.author);
710
+ const date = diff.date;
711
+ const textContent = extractTextContent(node);
712
+ if (!textContent)
713
+ return "";
714
+ const delMarkId = diff.revId.value++;
715
+ const delContentId = diff.revId.value++;
716
+ // Preserve heading style if the deleted node was a heading
717
+ let pStyle = "";
718
+ if (node.type === "heading") {
719
+ const depth = node.depth;
720
+ pStyle = `<w:pStyle w:val="Heading${depth}"/>`;
721
+ }
722
+ const delMarkXml = `<w:del w:id="${delMarkId}" w:author="${author}" w:date="${date}"/>`;
723
+ const pPr = `<w:pPr>${pStyle}<w:rPr>${delMarkXml}</w:rPr></w:pPr>`;
724
+ const delContent = `<w:del w:id="${delContentId}" w:author="${author}" w:date="${date}"><w:r><w:delText xml:space="preserve">${esc(textContent)}</w:delText></w:r></w:del>`;
725
+ return `<w:p>${pPr}${delContent}</w:p>`;
726
+ }
590
727
  function esc(s) {
591
728
  return s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
592
729
  }
730
+ // ---------------------------------------------------------------------------
731
+ // writeDiffDocx — serialize a diff result as a .docx with track-changes markup
732
+ // ---------------------------------------------------------------------------
733
+ /**
734
+ * Serialize a UDM tree to a .docx buffer with Word track-changes revision marks.
735
+ *
736
+ * Inserted content is wrapped in `<w:ins>`, deleted content in `<w:del>`, and
737
+ * partial text changes are split into per-segment runs so Word's Accept/Reject
738
+ * All Changes buttons work correctly.
739
+ *
740
+ * @param newTree The "after" document tree (from diff())
741
+ * @param diffResult The diff result produced by diff(oldTree, newTree)
742
+ * @param options Author/date for revision marks, plus standard CSS options
743
+ */
744
+ export async function writeDiffDocx(newTree, diffResult, options) {
745
+ const cssData = newTree.data?.css;
746
+ const mergedClassCss = { ...cssData?.classRules, ...options?.cssClasses };
747
+ const elementCss = cssData?.elementRules ?? {};
748
+ const author = options?.author ?? "Otomate";
749
+ const date = options?.date ?? "2024-01-01T00:00:00Z";
750
+ const diffCtx = buildDiffCtx(diffResult, author, date);
751
+ const nodePathKeys = buildNodePathMap(newTree);
752
+ const ctx = {
753
+ cssClasses: mergedClassCss,
754
+ cssElements: elementCss,
755
+ customStyles: [],
756
+ generatedStyleIds: new Set(),
757
+ nextNumId: 3,
758
+ hyperlinks: new Map(),
759
+ nextRId: 100,
760
+ diff: diffCtx,
761
+ nodePathKeys,
762
+ };
763
+ // Pass 1: render newTree with diff-aware converters (ins/updateText handled inline)
764
+ const renderedBlocks = newTree.children.map(child => convertBlock(child, ctx, 0));
765
+ // Pass 2: inject root-level deleted blocks at their approximate old-tree position
766
+ const rootDeletes = [...diffCtx.deletedPaths.values()]
767
+ .filter(op => op.path.length === 1)
768
+ .sort((a, b) => a.path[0] - b.path[0]);
769
+ let offset = 0;
770
+ for (const op of rootDeletes) {
771
+ const xml = convertDeletedBlock(op, ctx);
772
+ if (xml) {
773
+ renderedBlocks.splice(Math.min(op.path[0] + offset, renderedBlocks.length), 0, xml);
774
+ offset++;
775
+ }
776
+ }
777
+ const bodyXml = renderedBlocks.join("\n");
778
+ const docxData = newTree.data?.docx;
779
+ let stylesXml = docxData?.styles ?? DEFAULT_STYLES;
780
+ if (ctx.customStyles.length > 0) {
781
+ const injection = ctx.customStyles.join("\n");
782
+ stylesXml = stylesXml.replace("</w:styles>", `${injection}\n</w:styles>`);
783
+ }
784
+ const docXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
785
+ <w:document ${W_NS} ${R_NS} ${WP_NS}>
786
+ <w:body>
787
+ ${bodyXml}
788
+ <w:sectPr><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440"/></w:sectPr>
789
+ </w:body>
790
+ </w:document>`;
791
+ let relsXml = docxData?.relationships ?? DOC_RELS;
792
+ if (ctx.hyperlinks.size > 0) {
793
+ const hlRels = [...ctx.hyperlinks].map(([rId, url]) => `<Relationship Id="${rId}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="${esc(url)}" TargetMode="External"/>`).join("\n ");
794
+ relsXml = relsXml.replace("</Relationships>", ` ${hlRels}\n</Relationships>`);
795
+ }
796
+ const parts = {
797
+ document: docXml,
798
+ styles: stylesXml,
799
+ numbering: docxData?.numbering ?? DEFAULT_NUMBERING,
800
+ relationships: relsXml,
801
+ contentTypes: docxData?.contentTypes ?? undefined,
802
+ media: new Map(),
803
+ rawParts: new Map(),
804
+ };
805
+ const udmSnapshot = stripDataForSnapshot(newTree);
806
+ parts.rawParts.set("word/otomate-udm.json", JSON.stringify(udmSnapshot));
807
+ if (cssData && (Object.keys(cssData.classRules ?? {}).length > 0 || Object.keys(cssData.elementRules ?? {}).length > 0)) {
808
+ parts.rawParts.set("word/otomate-css.json", JSON.stringify(cssData));
809
+ }
810
+ if (docxData?.rawParts) {
811
+ const raw = docxData.rawParts;
812
+ for (const [k, v] of Object.entries(raw)) {
813
+ if (!parts.rawParts.has(k))
814
+ parts.rawParts.set(k, v);
815
+ }
816
+ }
817
+ if (!parts.rawParts.has("_rels/.rels")) {
818
+ parts.rawParts.set("_rels/.rels", RELS);
819
+ }
820
+ return packDocx(parts);
821
+ }
593
822
  //# sourceMappingURL=writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../src/writer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@otomate/docx",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -14,11 +14,11 @@
14
14
  "dependencies": {
15
15
  "@otomate/core": "workspace:*",
16
16
  "@otomate/css-docx": "workspace:*",
17
+ "@otomate/diff": "workspace:*",
17
18
  "jszip": "^3.10.0",
18
19
  "fast-xml-parser": "^4.4.0"
19
20
  },
20
21
  "devDependencies": {
21
- "@otomate/diff": "workspace:*",
22
22
  "@otomate/html": "workspace:*",
23
23
  "@types/node": "^25.5.2",
24
24
  "tsx": "^4.19.0",