@usejunior/docx-core 0.18.0 → 0.20.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 (142) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/core-types.d.ts +1 -139
  3. package/dist/core-types.d.ts.map +1 -1
  4. package/dist/core-types.js +1 -3
  5. package/dist/core-types.js.map +1 -1
  6. package/dist/generation/emit/borders.d.ts +14 -0
  7. package/dist/generation/emit/borders.d.ts.map +1 -0
  8. package/dist/generation/emit/borders.js +45 -0
  9. package/dist/generation/emit/borders.js.map +1 -0
  10. package/dist/generation/emit/properties.d.ts +1 -1
  11. package/dist/generation/emit/properties.d.ts.map +1 -1
  12. package/dist/generation/emit/properties.js +4 -0
  13. package/dist/generation/emit/properties.js.map +1 -1
  14. package/dist/generation/emit/table.d.ts.map +1 -1
  15. package/dist/generation/emit/table.js +3 -31
  16. package/dist/generation/emit/table.js.map +1 -1
  17. package/dist/generation/index.d.ts +1 -1
  18. package/dist/generation/index.d.ts.map +1 -1
  19. package/dist/generation/types.d.ts +9 -0
  20. package/dist/generation/types.d.ts.map +1 -1
  21. package/dist/generation/types.js.map +1 -1
  22. package/dist/generation/validate-spec.d.ts.map +1 -1
  23. package/dist/generation/validate-spec.js +2 -0
  24. package/dist/generation/validate-spec.js.map +1 -1
  25. package/dist/index.d.ts +3 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +11 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/integration/generation-probes.d.ts +36 -2
  30. package/dist/integration/generation-probes.d.ts.map +1 -1
  31. package/dist/integration/generation-probes.js +137 -15
  32. package/dist/integration/generation-probes.js.map +1 -1
  33. package/dist/integration/libreoffice-oracle.js +1 -1
  34. package/dist/integration/synthetic-docx-fixture.d.ts.map +1 -1
  35. package/dist/integration/synthetic-docx-fixture.js +37 -20
  36. package/dist/integration/synthetic-docx-fixture.js.map +1 -1
  37. package/dist/primitives/accept_ai_edits.js +14 -2
  38. package/dist/primitives/accept_ai_edits.js.map +1 -1
  39. package/dist/primitives/accept_changes.d.ts +7 -0
  40. package/dist/primitives/accept_changes.d.ts.map +1 -1
  41. package/dist/primitives/accept_changes.js +92 -4
  42. package/dist/primitives/accept_changes.js.map +1 -1
  43. package/dist/primitives/bookmarks.d.ts +1 -0
  44. package/dist/primitives/bookmarks.d.ts.map +1 -1
  45. package/dist/primitives/bookmarks.js +1 -1
  46. package/dist/primitives/bookmarks.js.map +1 -1
  47. package/dist/primitives/comments.d.ts +31 -4
  48. package/dist/primitives/comments.d.ts.map +1 -1
  49. package/dist/primitives/comments.js +111 -12
  50. package/dist/primitives/comments.js.map +1 -1
  51. package/dist/primitives/document.d.ts +47 -1
  52. package/dist/primitives/document.d.ts.map +1 -1
  53. package/dist/primitives/document.js +198 -13
  54. package/dist/primitives/document.js.map +1 -1
  55. package/dist/primitives/document_view-headings.d.ts +3 -1
  56. package/dist/primitives/document_view-headings.d.ts.map +1 -1
  57. package/dist/primitives/document_view-headings.js +5 -5
  58. package/dist/primitives/document_view-headings.js.map +1 -1
  59. package/dist/primitives/document_view.d.ts +2 -0
  60. package/dist/primitives/document_view.d.ts.map +1 -1
  61. package/dist/primitives/document_view.js +18 -4
  62. package/dist/primitives/document_view.js.map +1 -1
  63. package/dist/primitives/field_evaluation.d.ts +70 -0
  64. package/dist/primitives/field_evaluation.d.ts.map +1 -0
  65. package/dist/primitives/field_evaluation.js +462 -0
  66. package/dist/primitives/field_evaluation.js.map +1 -0
  67. package/dist/primitives/footnotes.d.ts +17 -3
  68. package/dist/primitives/footnotes.d.ts.map +1 -1
  69. package/dist/primitives/footnotes.js +64 -17
  70. package/dist/primitives/footnotes.js.map +1 -1
  71. package/dist/primitives/formatting_tags.js +2 -2
  72. package/dist/primitives/formatting_tags.js.map +1 -1
  73. package/dist/primitives/index.d.ts +8 -1
  74. package/dist/primitives/index.d.ts.map +1 -1
  75. package/dist/primitives/index.js +8 -1
  76. package/dist/primitives/index.js.map +1 -1
  77. package/dist/primitives/merge_runs.d.ts +3 -1
  78. package/dist/primitives/merge_runs.d.ts.map +1 -1
  79. package/dist/primitives/merge_runs.js +12 -2
  80. package/dist/primitives/merge_runs.js.map +1 -1
  81. package/dist/primitives/namespaces.d.ts +12 -2
  82. package/dist/primitives/namespaces.d.ts.map +1 -1
  83. package/dist/primitives/namespaces.js +13 -2
  84. package/dist/primitives/namespaces.js.map +1 -1
  85. package/dist/primitives/note_conversion.d.ts +11 -0
  86. package/dist/primitives/note_conversion.d.ts.map +1 -0
  87. package/dist/primitives/note_conversion.js +12 -0
  88. package/dist/primitives/note_conversion.js.map +1 -0
  89. package/dist/primitives/opc-target.d.ts +24 -0
  90. package/dist/primitives/opc-target.d.ts.map +1 -0
  91. package/dist/primitives/opc-target.js +99 -0
  92. package/dist/primitives/opc-target.js.map +1 -0
  93. package/dist/primitives/paragraph_numbering.d.ts +40 -0
  94. package/dist/primitives/paragraph_numbering.d.ts.map +1 -0
  95. package/dist/primitives/paragraph_numbering.js +198 -0
  96. package/dist/primitives/paragraph_numbering.js.map +1 -0
  97. package/dist/primitives/reject_changes.d.ts +7 -0
  98. package/dist/primitives/reject_changes.d.ts.map +1 -1
  99. package/dist/primitives/reject_changes.js +133 -10
  100. package/dist/primitives/reject_changes.js.map +1 -1
  101. package/dist/primitives/sectPrAudit.d.ts +18 -1
  102. package/dist/primitives/sectPrAudit.d.ts.map +1 -1
  103. package/dist/primitives/sectPrAudit.js +120 -34
  104. package/dist/primitives/sectPrAudit.js.map +1 -1
  105. package/dist/primitives/sections.d.ts +134 -0
  106. package/dist/primitives/sections.d.ts.map +1 -0
  107. package/dist/primitives/sections.js +644 -0
  108. package/dist/primitives/sections.js.map +1 -0
  109. package/dist/primitives/serialize_html.d.ts.map +1 -1
  110. package/dist/primitives/serialize_html.js +18 -7
  111. package/dist/primitives/serialize_html.js.map +1 -1
  112. package/dist/primitives/styles.d.ts +60 -0
  113. package/dist/primitives/styles.d.ts.map +1 -1
  114. package/dist/primitives/styles.js +206 -25
  115. package/dist/primitives/styles.js.map +1 -1
  116. package/dist/primitives/symbol_run_content.d.ts +42 -0
  117. package/dist/primitives/symbol_run_content.d.ts.map +1 -0
  118. package/dist/primitives/symbol_run_content.js +79 -0
  119. package/dist/primitives/symbol_run_content.js.map +1 -0
  120. package/dist/primitives/text.d.ts +29 -0
  121. package/dist/primitives/text.d.ts.map +1 -1
  122. package/dist/primitives/text.js +354 -44
  123. package/dist/primitives/text.js.map +1 -1
  124. package/dist/primitives/track-changes-emitter.d.ts +9 -0
  125. package/dist/primitives/track-changes-emitter.d.ts.map +1 -1
  126. package/dist/primitives/track-changes-emitter.js +40 -2
  127. package/dist/primitives/track-changes-emitter.js.map +1 -1
  128. package/dist/primitives/validate_document.d.ts.map +1 -1
  129. package/dist/primitives/validate_document.js +22 -1
  130. package/dist/primitives/validate_document.js.map +1 -1
  131. package/dist/shared/docx/DocxArchive.d.ts.map +1 -1
  132. package/dist/shared/docx/DocxArchive.js +7 -0
  133. package/dist/shared/docx/DocxArchive.js.map +1 -1
  134. package/dist/shared/field-semantics.d.ts +26 -0
  135. package/dist/shared/field-semantics.d.ts.map +1 -0
  136. package/dist/shared/field-semantics.js +232 -0
  137. package/dist/shared/field-semantics.js.map +1 -0
  138. package/dist/shared/field-structure.d.ts +14 -0
  139. package/dist/shared/field-structure.d.ts.map +1 -1
  140. package/dist/shared/field-structure.js +98 -7
  141. package/dist/shared/field-structure.js.map +1 -1
  142. package/package.json +3 -5
@@ -9,6 +9,11 @@ function getWAttr(el, localName) {
9
9
  function allW(root, localName) {
10
10
  return Array.from(root.getElementsByTagNameNS(OOXML.W_NS, localName));
11
11
  }
12
+ /**
13
+ * @deprecated `w:fldChar` inside `<w:del>` is valid, so a `true` result is not a
14
+ * defect. Word and Aspose both emit it. Retained only so existing callers keep
15
+ * compiling; do not gate on it. See {@link collectFieldStructureIssues}.
16
+ */
12
17
  export function hasFldCharInsideDel(documentXml) {
13
18
  const root = parseXml(documentXml).documentElement;
14
19
  let insideDelDepth = 0;
@@ -43,6 +48,7 @@ export function hasFldCharInsideDel(documentXml) {
43
48
  *
44
49
  * @conformance ECMA-376 edition 5, Part 1 § 17.16.18
45
50
  * @ooxmlSpec ooxml.ecma376.5ed.part1.fields.complex-field-characters
51
+ * @see https://github.com/UseJunior/safe-docx/issues/645
46
52
  */
47
53
  export function collectFieldStructureIssues(input) {
48
54
  if (typeof input === 'string') {
@@ -57,7 +63,7 @@ export function collectFieldStructureIssues(input) {
57
63
  /**
58
64
  * Text-placement rules added for the AI revision validator. They are NOT part
59
65
  * of `validateFieldStructure`: that boolean is pinned extensionally against
60
- * the Lean model (`Tier2.FieldStructure.validateFieldStructure`) by the Lean
66
+ * the comparison engine's validation model by the differential
61
67
  * differential harness, so its rule set must not grow.
62
68
  */
63
69
  const TEXT_PLACEMENT_ISSUE_CODES = new Set([
@@ -69,6 +75,80 @@ export function validateFieldStructure(input) {
69
75
  .filter((issue) => !TEXT_PLACEMENT_ISSUE_CODES.has(issue.code))
70
76
  .length === 0;
71
77
  }
78
+ function collectStrictStackIssuesForStory(xml, story) {
79
+ const root = parseXml(xml).documentElement;
80
+ const issues = [];
81
+ const separators = [];
82
+ function push(code, message) {
83
+ issues.push({ code, message, story, element: 'w:fldChar' });
84
+ }
85
+ function scan(node) {
86
+ for (let child = node.firstChild; child; child = child.nextSibling) {
87
+ if (child.nodeType !== 1)
88
+ continue;
89
+ const element = child;
90
+ if (isW(element, 'fldChar')) {
91
+ const type = getWAttr(element, 'fldCharType');
92
+ if (type === 'begin') {
93
+ separators.push(false);
94
+ }
95
+ else if (type === 'separate') {
96
+ if (separators.length === 0) {
97
+ push('FIELD_STRAY_SEPARATOR', `Field separator appears outside an open field in ${story}`);
98
+ }
99
+ else {
100
+ const depthIndex = separators.length - 1;
101
+ if (separators[depthIndex]) {
102
+ push('FIELD_DUPLICATE_SEPARATOR', `Field at depth ${separators.length} has more than one separator in ${story}`);
103
+ }
104
+ else {
105
+ separators[depthIndex] = true;
106
+ }
107
+ }
108
+ }
109
+ else if (type === 'end') {
110
+ if (separators.length === 0) {
111
+ push('FIELD_STRAY_END', `Field end appears outside an open field in ${story}`);
112
+ }
113
+ else {
114
+ separators.pop();
115
+ }
116
+ }
117
+ else {
118
+ push('FIELD_UNKNOWN_CHAR_TYPE', `w:fldChar has missing or unknown w:fldCharType '${type ?? '(missing)'}' in ${story}`);
119
+ }
120
+ }
121
+ scan(element);
122
+ }
123
+ }
124
+ scan(root);
125
+ if (separators.length > 0) {
126
+ push('FIELD_UNCLOSED_DEPTH', `Field story ${story} ends with ${separators.length} unclosed field level(s)`);
127
+ }
128
+ return issues;
129
+ }
130
+ /**
131
+ * Reports strict runtime field-story violations without changing the
132
+ * pinned `validateFieldStructure` predicate.
133
+ *
134
+ * @conformance ECMA-376 edition 5, Part 1 § 17.16.18
135
+ */
136
+ export function collectStrictFieldStructureIssues(input) {
137
+ const stories = typeof input === 'string'
138
+ ? [{ label: 'document', xml: input }]
139
+ : input;
140
+ const issues = [];
141
+ for (const story of stories) {
142
+ issues.push(...collectFieldStructureIssuesForStory(story.xml, story.label));
143
+ issues.push(...collectStrictStackIssuesForStory(story.xml, story.label));
144
+ }
145
+ return issues;
146
+ }
147
+ export function validateStrictFieldStructure(input) {
148
+ return collectStrictFieldStructureIssues(input)
149
+ .filter((issue) => !TEXT_PLACEMENT_ISSUE_CODES.has(issue.code))
150
+ .length === 0;
151
+ }
72
152
  function collectFieldStructureIssuesForStory(documentXml, story) {
73
153
  const issues = [];
74
154
  const root = parseXml(documentXml).documentElement;
@@ -104,11 +184,18 @@ function collectFieldStructureIssuesForStory(documentXml, story) {
104
184
  let insideDelDepth = 0;
105
185
  // Move-sources (w:moveFrom) carry deletion-flavored content (w:delText)
106
186
  // per the OOXML revision model; the text-placement rules treat them as
107
- // deletion contexts. The Lean-pinned field rules above use only w:del.
187
+ // deletion contexts. The field rules above use only w:del.
108
188
  let insideMoveFromDepth = 0;
109
189
  function push(code, message, element) {
110
190
  issues.push({ code, message, story, element });
111
191
  }
192
+ function isInsideOpenFieldCodeRegion() {
193
+ for (let fieldDepth = 1; fieldDepth <= depth; fieldDepth++) {
194
+ if (!pastSeparatorAtDepth[fieldDepth])
195
+ return true;
196
+ }
197
+ return false;
198
+ }
112
199
  function scan(node) {
113
200
  for (let child = node.firstChild; child; child = child.nextSibling) {
114
201
  if (child.nodeType !== 1)
@@ -127,9 +214,13 @@ function collectFieldStructureIssuesForStory(documentXml, story) {
127
214
  continue;
128
215
  }
129
216
  if (isW(el, 'fldChar')) {
130
- if (insideDelDepth > 0) {
131
- push('FIELD_CHAR_INSIDE_DELETION', 'w:fldChar must not appear inside w:del', 'w:fldChar');
132
- }
217
+ // `w:fldChar` inside `<w:del>` is NOT a violation. The Transitional WML
218
+ // schema reaches it (w:del -> CT_RunTrackChange -> EG_ContentRunContent
219
+ // -> w:r -> EG_RunInnerContent), and Word 16.112 and Aspose.Words 25.10
220
+ // both emit whole deleted fields that way on real input, producing
221
+ // schema-valid output. The rule this once enforced (issue #217) came
222
+ // from a research summary rather than the standard; enforcing it left
223
+ // deleted fields as unrenderable husks. See insertWholeDeletedField.
133
224
  const type = getWAttr(el, 'fldCharType');
134
225
  if (type === 'begin') {
135
226
  depth++;
@@ -145,7 +236,7 @@ function collectFieldStructureIssuesForStory(documentXml, story) {
145
236
  }
146
237
  }
147
238
  else if (isW(el, 'instrText')) {
148
- if (depth === 0 || pastSeparatorAtDepth[depth]) {
239
+ if (!isInsideOpenFieldCodeRegion()) {
149
240
  push('INSTRUCTION_TEXT_OUTSIDE_FIELD_CODE', 'w:instrText must appear inside an open field code region', 'w:instrText');
150
241
  }
151
242
  }
@@ -153,7 +244,7 @@ function collectFieldStructureIssuesForStory(documentXml, story) {
153
244
  if (insideDelDepth === 0) {
154
245
  push('DELETED_INSTRUCTION_TEXT_OUTSIDE_DELETION', 'w:delInstrText must appear inside w:del', 'w:delInstrText');
155
246
  }
156
- if (depth === 0 || pastSeparatorAtDepth[depth]) {
247
+ if (!isInsideOpenFieldCodeRegion()) {
157
248
  push('DELETED_INSTRUCTION_TEXT_OUTSIDE_FIELD_CODE', 'w:delInstrText must appear inside an open field code region', 'w:delInstrText');
158
249
  }
159
250
  }
@@ -1 +1 @@
1
- {"version":3,"file":"field-structure.js","sourceRoot":"","sources":["../../src/shared/field-structure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-structure.js","sourceRoot":"","sources":["../../src/shared/field-structure.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@usejunior/docx-core",
3
- "version": "0.18.0",
3
+ "version": "0.20.1",
4
4
  "description": "OOXML (.docx) core library: primitives, document generation, and track changes",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -12,7 +12,7 @@
12
12
  "test": "node ../../node_modules/vitest/vitest.mjs",
13
13
  "test:run": "node ../../node_modules/vitest/vitest.mjs run",
14
14
  "test:baseline": "node ../../node_modules/vitest/vitest.mjs run -c vitest.baseline.config.ts",
15
- "test:coverage": "node ../../node_modules/vitest/vitest.mjs run --coverage --coverage.reporter=text-summary --coverage.reporter=json-summary --coverage.reporter=lcov",
15
+ "test:coverage": "node ../../node_modules/vitest/vitest.mjs run --coverage --maxWorkers=1 --coverage.reporter=text-summary --coverage.reporter=json-summary --coverage.reporter=lcov",
16
16
  "check:spec-coverage": "npm run check:spec-coverage:openspec && npm run check:spec-coverage:primitives -- --strict && npm run check:spec-coverage:tag-density",
17
17
  "check:spec-coverage:openspec": "node scripts/validate_openspec_coverage.mjs",
18
18
  "check:spec-coverage:primitives": "node scripts/validate_primitives_openspec_coverage.mjs",
@@ -25,13 +25,11 @@
25
25
  "jszip": "^3.10.1"
26
26
  },
27
27
  "devDependencies": {
28
- "@types/diff-match-patch": "^1.0.36",
29
28
  "@types/node": "^22.10.0",
30
- "@usejunior/docx-compare": "^0.18.0",
29
+ "@usejunior/docx-compare": "^0.20.1",
31
30
  "@vitest/coverage-v8": "^4.1.8",
32
31
  "@vitest/runner": "^4.1.8",
33
32
  "allure-vitest": "^3.9.0",
34
- "diff-match-patch": "^1.0.5",
35
33
  "fast-check": "^3.23.2",
36
34
  "tsx": "^4.19.2",
37
35
  "typescript": "^5.7.2",