docxmlater 10.1.3 → 10.1.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.
- package/README.md +759 -754
- package/dist/constants/legacyCompatFlags.js +1 -1
- package/dist/constants/legacyCompatFlags.js.map +1 -1
- package/dist/constants/limits.js.map +1 -1
- package/dist/core/Document.d.ts +50 -50
- package/dist/core/Document.d.ts.map +1 -1
- package/dist/core/Document.js +483 -471
- package/dist/core/Document.js.map +1 -1
- package/dist/core/DocumentContent.d.ts +9 -9
- package/dist/core/DocumentContent.d.ts.map +1 -1
- package/dist/core/DocumentContent.js +1 -1
- package/dist/core/DocumentContent.js.map +1 -1
- package/dist/core/DocumentGenerator.d.ts +11 -11
- package/dist/core/DocumentGenerator.d.ts.map +1 -1
- package/dist/core/DocumentGenerator.js +251 -251
- package/dist/core/DocumentGenerator.js.map +1 -1
- package/dist/core/DocumentIdManager.js.map +1 -1
- package/dist/core/DocumentParser.d.ts +15 -15
- package/dist/core/DocumentParser.d.ts.map +1 -1
- package/dist/core/DocumentParser.js +2123 -2155
- package/dist/core/DocumentParser.js.map +1 -1
- package/dist/core/DocumentValidator.d.ts.map +1 -1
- package/dist/core/DocumentValidator.js +2 -5
- package/dist/core/DocumentValidator.js.map +1 -1
- package/dist/core/Relationship.js.map +1 -1
- package/dist/core/RelationshipManager.d.ts.map +1 -1
- package/dist/core/RelationshipManager.js +3 -3
- package/dist/core/RelationshipManager.js.map +1 -1
- package/dist/elements/AlternateContent.js.map +1 -1
- package/dist/elements/Bookmark.d.ts.map +1 -1
- package/dist/elements/Bookmark.js +3 -1
- package/dist/elements/Bookmark.js.map +1 -1
- package/dist/elements/BookmarkManager.d.ts.map +1 -1
- package/dist/elements/BookmarkManager.js.map +1 -1
- package/dist/elements/Comment.d.ts.map +1 -1
- package/dist/elements/Comment.js +9 -6
- package/dist/elements/Comment.js.map +1 -1
- package/dist/elements/CommentManager.d.ts.map +1 -1
- package/dist/elements/CommentManager.js +18 -17
- package/dist/elements/CommentManager.js.map +1 -1
- package/dist/elements/CommonTypes.d.ts +21 -21
- package/dist/elements/CommonTypes.d.ts.map +1 -1
- package/dist/elements/CommonTypes.js +56 -56
- package/dist/elements/CommonTypes.js.map +1 -1
- package/dist/elements/CustomXml.js.map +1 -1
- package/dist/elements/Endnote.d.ts.map +1 -1
- package/dist/elements/Endnote.js +6 -6
- package/dist/elements/Endnote.js.map +1 -1
- package/dist/elements/EndnoteManager.d.ts.map +1 -1
- package/dist/elements/EndnoteManager.js +6 -7
- package/dist/elements/EndnoteManager.js.map +1 -1
- package/dist/elements/Field.d.ts.map +1 -1
- package/dist/elements/Field.js +82 -25
- package/dist/elements/Field.js.map +1 -1
- package/dist/elements/FieldHelpers.d.ts.map +1 -1
- package/dist/elements/FieldHelpers.js.map +1 -1
- package/dist/elements/FontManager.d.ts.map +1 -1
- package/dist/elements/FontManager.js +1 -1
- package/dist/elements/FontManager.js.map +1 -1
- package/dist/elements/Footer.js +2 -2
- package/dist/elements/Footer.js.map +1 -1
- package/dist/elements/Footnote.d.ts.map +1 -1
- package/dist/elements/Footnote.js +6 -6
- package/dist/elements/Footnote.js.map +1 -1
- package/dist/elements/FootnoteManager.d.ts.map +1 -1
- package/dist/elements/FootnoteManager.js +6 -7
- package/dist/elements/FootnoteManager.js.map +1 -1
- package/dist/elements/Header.js +2 -2
- package/dist/elements/Header.js.map +1 -1
- package/dist/elements/HeaderFooterManager.js.map +1 -1
- package/dist/elements/Hyperlink.d.ts +5 -3
- package/dist/elements/Hyperlink.d.ts.map +1 -1
- package/dist/elements/Hyperlink.js +134 -76
- package/dist/elements/Hyperlink.js.map +1 -1
- package/dist/elements/Image.d.ts.map +1 -1
- package/dist/elements/Image.js +238 -106
- package/dist/elements/Image.js.map +1 -1
- package/dist/elements/ImageManager.d.ts.map +1 -1
- package/dist/elements/ImageManager.js +1 -1
- package/dist/elements/ImageManager.js.map +1 -1
- package/dist/elements/ImageRun.js +1 -1
- package/dist/elements/ImageRun.js.map +1 -1
- package/dist/elements/MathElement.js.map +1 -1
- package/dist/elements/Paragraph.d.ts +24 -24
- package/dist/elements/Paragraph.d.ts.map +1 -1
- package/dist/elements/Paragraph.js +181 -188
- package/dist/elements/Paragraph.js.map +1 -1
- package/dist/elements/PreservedElement.js.map +1 -1
- package/dist/elements/PropertyChangeTypes.d.ts.map +1 -1
- package/dist/elements/PropertyChangeTypes.js +6 -6
- package/dist/elements/PropertyChangeTypes.js.map +1 -1
- package/dist/elements/RangeMarker.d.ts.map +1 -1
- package/dist/elements/RangeMarker.js.map +1 -1
- package/dist/elements/Revision.d.ts.map +1 -1
- package/dist/elements/Revision.js +4 -5
- package/dist/elements/Revision.js.map +1 -1
- package/dist/elements/RevisionContent.js.map +1 -1
- package/dist/elements/RevisionManager.d.ts.map +1 -1
- package/dist/elements/RevisionManager.js +40 -48
- package/dist/elements/RevisionManager.js.map +1 -1
- package/dist/elements/Run.d.ts +16 -16
- package/dist/elements/Run.d.ts.map +1 -1
- package/dist/elements/Run.js +256 -238
- package/dist/elements/Run.js.map +1 -1
- package/dist/elements/Section.d.ts.map +1 -1
- package/dist/elements/Section.js +36 -11
- package/dist/elements/Section.js.map +1 -1
- package/dist/elements/Shape.d.ts.map +1 -1
- package/dist/elements/Shape.js.map +1 -1
- package/dist/elements/StructuredDocumentTag.d.ts +6 -6
- package/dist/elements/StructuredDocumentTag.d.ts.map +1 -1
- package/dist/elements/StructuredDocumentTag.js +99 -104
- package/dist/elements/StructuredDocumentTag.js.map +1 -1
- package/dist/elements/Table.d.ts +11 -11
- package/dist/elements/Table.d.ts.map +1 -1
- package/dist/elements/Table.js +102 -107
- package/dist/elements/Table.js.map +1 -1
- package/dist/elements/TableCell.d.ts +10 -10
- package/dist/elements/TableCell.d.ts.map +1 -1
- package/dist/elements/TableCell.js +105 -106
- package/dist/elements/TableCell.js.map +1 -1
- package/dist/elements/TableGridChange.d.ts.map +1 -1
- package/dist/elements/TableGridChange.js.map +1 -1
- package/dist/elements/TableOfContents.d.ts.map +1 -1
- package/dist/elements/TableOfContents.js +4 -4
- package/dist/elements/TableOfContents.js.map +1 -1
- package/dist/elements/TableOfContentsElement.js.map +1 -1
- package/dist/elements/TableRow.d.ts.map +1 -1
- package/dist/elements/TableRow.js +13 -6
- package/dist/elements/TableRow.js.map +1 -1
- package/dist/elements/TextBox.d.ts.map +1 -1
- package/dist/elements/TextBox.js +3 -5
- package/dist/elements/TextBox.js.map +1 -1
- package/dist/formatting/AbstractNumbering.d.ts +4 -4
- package/dist/formatting/AbstractNumbering.d.ts.map +1 -1
- package/dist/formatting/AbstractNumbering.js +54 -49
- package/dist/formatting/AbstractNumbering.js.map +1 -1
- package/dist/formatting/NumberingInstance.d.ts.map +1 -1
- package/dist/formatting/NumberingInstance.js +1 -3
- package/dist/formatting/NumberingInstance.js.map +1 -1
- package/dist/formatting/NumberingLevel.d.ts +5 -5
- package/dist/formatting/NumberingLevel.d.ts.map +1 -1
- package/dist/formatting/NumberingLevel.js +119 -125
- package/dist/formatting/NumberingLevel.js.map +1 -1
- package/dist/formatting/NumberingManager.d.ts.map +1 -1
- package/dist/formatting/NumberingManager.js +9 -9
- package/dist/formatting/NumberingManager.js.map +1 -1
- package/dist/formatting/Style.d.ts +11 -11
- package/dist/formatting/Style.d.ts.map +1 -1
- package/dist/formatting/Style.js +219 -247
- package/dist/formatting/Style.js.map +1 -1
- package/dist/formatting/StylesManager.d.ts +2 -2
- package/dist/formatting/StylesManager.d.ts.map +1 -1
- package/dist/formatting/StylesManager.js +96 -102
- package/dist/formatting/StylesManager.js.map +1 -1
- package/dist/helpers/CleanupHelper.d.ts +1 -1
- package/dist/helpers/CleanupHelper.d.ts.map +1 -1
- package/dist/helpers/CleanupHelper.js +6 -6
- package/dist/helpers/CleanupHelper.js.map +1 -1
- package/dist/images/ImageOptimizer.js +7 -7
- package/dist/images/ImageOptimizer.js.map +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/managers/DrawingManager.js.map +1 -1
- package/dist/tracking/DocumentTrackingContext.d.ts.map +1 -1
- package/dist/tracking/DocumentTrackingContext.js +23 -7
- package/dist/tracking/DocumentTrackingContext.js.map +1 -1
- package/dist/tracking/TrackingContext.d.ts.map +1 -1
- package/dist/tracking/TrackingContext.js.map +1 -1
- package/dist/types/compatibility-types.js.map +1 -1
- package/dist/types/formatting.js.map +1 -1
- package/dist/types/list-types.d.ts +6 -6
- package/dist/types/list-types.js.map +1 -1
- package/dist/types/settings-types.js.map +1 -1
- package/dist/types/styleConfig.d.ts +2 -2
- package/dist/types/styleConfig.js.map +1 -1
- package/dist/utils/ChangelogGenerator.d.ts.map +1 -1
- package/dist/utils/ChangelogGenerator.js +97 -101
- package/dist/utils/ChangelogGenerator.js.map +1 -1
- package/dist/utils/CompatibilityUpgrader.d.ts.map +1 -1
- package/dist/utils/CompatibilityUpgrader.js +1 -1
- package/dist/utils/CompatibilityUpgrader.js.map +1 -1
- package/dist/utils/InMemoryRevisionAcceptor.d.ts.map +1 -1
- package/dist/utils/InMemoryRevisionAcceptor.js +1 -6
- package/dist/utils/InMemoryRevisionAcceptor.js.map +1 -1
- package/dist/utils/MoveOperationHelper.d.ts.map +1 -1
- package/dist/utils/MoveOperationHelper.js +1 -1
- package/dist/utils/MoveOperationHelper.js.map +1 -1
- package/dist/utils/RevisionAwareProcessor.d.ts.map +1 -1
- package/dist/utils/RevisionAwareProcessor.js +2 -4
- package/dist/utils/RevisionAwareProcessor.js.map +1 -1
- package/dist/utils/RevisionWalker.d.ts.map +1 -1
- package/dist/utils/RevisionWalker.js +4 -12
- package/dist/utils/RevisionWalker.js.map +1 -1
- package/dist/utils/SelectiveRevisionAcceptor.d.ts.map +1 -1
- package/dist/utils/SelectiveRevisionAcceptor.js +2 -6
- package/dist/utils/SelectiveRevisionAcceptor.js.map +1 -1
- package/dist/utils/ShadingResolver.d.ts.map +1 -1
- package/dist/utils/ShadingResolver.js +1 -1
- package/dist/utils/ShadingResolver.js.map +1 -1
- package/dist/utils/acceptRevisions.d.ts.map +1 -1
- package/dist/utils/acceptRevisions.js +23 -12
- package/dist/utils/acceptRevisions.js.map +1 -1
- package/dist/utils/cnfStyleDecoder.d.ts +1 -1
- package/dist/utils/cnfStyleDecoder.d.ts.map +1 -1
- package/dist/utils/cnfStyleDecoder.js +40 -40
- package/dist/utils/cnfStyleDecoder.js.map +1 -1
- package/dist/utils/corruptionDetection.d.ts.map +1 -1
- package/dist/utils/corruptionDetection.js.map +1 -1
- package/dist/utils/dateFormatting.js.map +1 -1
- package/dist/utils/deepClone.js +1 -1
- package/dist/utils/deepClone.js.map +1 -1
- package/dist/utils/diagnostics.d.ts.map +1 -1
- package/dist/utils/diagnostics.js +1 -1
- package/dist/utils/diagnostics.js.map +1 -1
- package/dist/utils/errorHandling.js.map +1 -1
- package/dist/utils/formatting.d.ts.map +1 -1
- package/dist/utils/formatting.js +10 -2
- package/dist/utils/formatting.js.map +1 -1
- package/dist/utils/list-detection.d.ts +2 -2
- package/dist/utils/list-detection.d.ts.map +1 -1
- package/dist/utils/list-detection.js +21 -23
- package/dist/utils/list-detection.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +12 -7
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/parsingHelpers.js.map +1 -1
- package/dist/utils/stripTrackedChanges.d.ts.map +1 -1
- package/dist/utils/stripTrackedChanges.js +3 -3
- package/dist/utils/stripTrackedChanges.js.map +1 -1
- package/dist/utils/textDiff.d.ts +1 -1
- package/dist/utils/textDiff.js +8 -8
- package/dist/utils/textDiff.js.map +1 -1
- package/dist/utils/units.js.map +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +24 -7
- package/dist/utils/validation.js.map +1 -1
- package/dist/utils/xmlSanitization.d.ts.map +1 -1
- package/dist/utils/xmlSanitization.js +3 -3
- package/dist/utils/xmlSanitization.js.map +1 -1
- package/dist/validation/RevisionAutoFixer.d.ts.map +1 -1
- package/dist/validation/RevisionAutoFixer.js +5 -5
- package/dist/validation/RevisionAutoFixer.js.map +1 -1
- package/dist/validation/RevisionValidator.d.ts.map +1 -1
- package/dist/validation/RevisionValidator.js +7 -9
- package/dist/validation/RevisionValidator.js.map +1 -1
- package/dist/validation/ValidationRules.js +3 -3
- package/dist/validation/ValidationRules.js.map +1 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/xml/XMLBuilder.d.ts +1 -1
- package/dist/xml/XMLBuilder.d.ts.map +1 -1
- package/dist/xml/XMLBuilder.js +98 -100
- package/dist/xml/XMLBuilder.js.map +1 -1
- package/dist/xml/XMLParser.d.ts.map +1 -1
- package/dist/xml/XMLParser.js +61 -66
- package/dist/xml/XMLParser.js.map +1 -1
- package/dist/zip/ZipHandler.d.ts.map +1 -1
- package/dist/zip/ZipHandler.js.map +1 -1
- package/dist/zip/ZipReader.d.ts.map +1 -1
- package/dist/zip/ZipReader.js +1 -3
- package/dist/zip/ZipReader.js.map +1 -1
- package/dist/zip/ZipWriter.d.ts +1 -1
- package/dist/zip/ZipWriter.d.ts.map +1 -1
- package/dist/zip/ZipWriter.js +28 -36
- package/dist/zip/ZipWriter.js.map +1 -1
- package/dist/zip/types.js +1 -1
- package/dist/zip/types.js.map +1 -1
- package/package.json +92 -92
- package/src/__tests__/helper-methods.test.ts +512 -512
- package/src/constants/legacyCompatFlags.ts +138 -138
- package/src/constants/limits.ts +50 -50
- package/src/core/Document.ts +985 -1145
- package/src/core/DocumentContent.ts +461 -467
- package/src/core/DocumentGenerator.ts +1133 -1104
- package/src/core/DocumentIdManager.ts +158 -158
- package/src/core/DocumentParser.ts +2347 -2716
- package/src/core/DocumentValidator.ts +363 -372
- package/src/core/Relationship.ts +367 -367
- package/src/core/RelationshipManager.ts +429 -428
- package/src/elements/AlternateContent.ts +42 -42
- package/src/elements/Bookmark.ts +212 -210
- package/src/elements/BookmarkManager.ts +247 -250
- package/src/elements/Comment.ts +356 -359
- package/src/elements/CommentManager.ts +499 -502
- package/src/elements/CommonTypes.ts +524 -549
- package/src/elements/CustomXml.ts +36 -36
- package/src/elements/Endnote.ts +221 -217
- package/src/elements/EndnoteManager.ts +246 -249
- package/src/elements/Field.ts +1292 -1233
- package/src/elements/FieldHelpers.ts +329 -333
- package/src/elements/FontManager.ts +336 -339
- package/src/elements/Footer.ts +269 -269
- package/src/elements/Footnote.ts +221 -217
- package/src/elements/FootnoteManager.ts +246 -249
- package/src/elements/Header.ts +269 -269
- package/src/elements/HeaderFooterManager.ts +219 -219
- package/src/elements/Hyperlink.ts +1288 -1193
- package/src/elements/Image.ts +1982 -1756
- package/src/elements/ImageManager.ts +437 -432
- package/src/elements/ImageRun.ts +59 -59
- package/src/elements/MathElement.ts +65 -65
- package/src/elements/Paragraph.ts +4347 -4287
- package/src/elements/PreservedElement.ts +53 -53
- package/src/elements/PropertyChangeTypes.ts +458 -442
- package/src/elements/RangeMarker.ts +382 -400
- package/src/elements/Revision.ts +1198 -1217
- package/src/elements/RevisionContent.ts +73 -73
- package/src/elements/RevisionManager.ts +1070 -1070
- package/src/elements/Run.ts +3103 -3073
- package/src/elements/Section.ts +1521 -1421
- package/src/elements/Shape.ts +884 -873
- package/src/elements/StructuredDocumentTag.ts +1176 -1207
- package/src/elements/Table.ts +2468 -2524
- package/src/elements/TableCell.ts +1617 -1621
- package/src/elements/TableGridChange.ts +149 -151
- package/src/elements/TableOfContents.ts +701 -691
- package/src/elements/TableOfContentsElement.ts +89 -89
- package/src/elements/TableRow.ts +960 -929
- package/src/elements/TextBox.ts +766 -768
- package/src/formatting/AbstractNumbering.ts +580 -579
- package/src/formatting/NumberingInstance.ts +295 -299
- package/src/formatting/NumberingLevel.ts +981 -1040
- package/src/formatting/NumberingManager.ts +833 -827
- package/src/formatting/Style.ts +1785 -1879
- package/src/formatting/StylesManager.ts +1090 -1130
- package/src/helpers/CleanupHelper.ts +524 -524
- package/src/images/ImageOptimizer.ts +274 -274
- package/src/index.ts +559 -554
- package/src/managers/DrawingManager.ts +319 -319
- package/src/tracking/DocumentTrackingContext.ts +687 -674
- package/src/tracking/TrackingContext.ts +175 -173
- package/src/types/compatibility-types.ts +49 -49
- package/src/types/formatting.ts +210 -210
- package/src/types/list-types.ts +14 -14
- package/src/types/settings-types.ts +59 -59
- package/src/types/styleConfig.ts +189 -189
- package/src/utils/ChangelogGenerator.ts +1583 -1581
- package/src/utils/CompatibilityUpgrader.ts +235 -237
- package/src/utils/InMemoryRevisionAcceptor.ts +691 -696
- package/src/utils/MoveOperationHelper.ts +233 -238
- package/src/utils/RevisionAwareProcessor.ts +518 -526
- package/src/utils/RevisionWalker.ts +427 -457
- package/src/utils/SelectiveRevisionAcceptor.ts +662 -683
- package/src/utils/ShadingResolver.ts +105 -107
- package/src/utils/acceptRevisions.ts +723 -714
- package/src/utils/cnfStyleDecoder.ts +212 -217
- package/src/utils/corruptionDetection.ts +346 -345
- package/src/utils/dateFormatting.ts +20 -20
- package/src/utils/deepClone.ts +77 -78
- package/src/utils/diagnostics.ts +125 -129
- package/src/utils/errorHandling.ts +80 -80
- package/src/utils/formatting.ts +220 -213
- package/src/utils/list-detection.ts +32 -42
- package/src/utils/logger.ts +412 -404
- package/src/utils/parsingHelpers.ts +190 -190
- package/src/utils/stripTrackedChanges.ts +356 -353
- package/src/utils/textDiff.ts +100 -100
- package/src/utils/units.ts +421 -421
- package/src/utils/validation.ts +553 -542
- package/src/utils/xmlSanitization.ts +179 -182
- package/src/validation/RevisionAutoFixer.ts +541 -542
- package/src/validation/RevisionValidator.ts +470 -460
- package/src/validation/ValidationRules.ts +338 -338
- package/src/validation/index.ts +30 -30
- package/src/xml/XMLBuilder.ts +857 -871
- package/src/xml/XMLParser.ts +877 -919
- package/src/zip/ZipHandler.ts +629 -637
- package/src/zip/ZipReader.ts +295 -299
- package/src/zip/ZipWriter.ts +374 -390
- package/src/zip/types.ts +116 -116
|
@@ -1,138 +1,138 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Complete catalog of legacy boolean compat elements defined in
|
|
3
|
-
* ECMA-376 4th Edition Part 4 (Transitional) and [MS-DOCX] specification.
|
|
4
|
-
*
|
|
5
|
-
* These elements are direct children of <w:compat> with complex type CT_OnOff.
|
|
6
|
-
* They emulate rendering quirks of older word processors. When compatibilityMode
|
|
7
|
-
* is upgraded to 15, Word's modern layout engine no longer needs them and they
|
|
8
|
-
* should be removed.
|
|
9
|
-
*
|
|
10
|
-
* Source: ECMA-376 4th Edition Part 4 sections 2.15.3.1 through 2.15.3.65
|
|
11
|
-
* and the [MS-DOCX] specification section 2.15.3.
|
|
12
|
-
* Verified against: http://www.datypic.com/sc/ooxml/t-w_CT_Compat.html (65 elements)
|
|
13
|
-
*
|
|
14
|
-
* Element names include the w: namespace prefix as they appear in XML.
|
|
15
|
-
*/
|
|
16
|
-
export const LEGACY_COMPAT_ELEMENTS: string[] = [
|
|
17
|
-
// Word 6/95 emulation
|
|
18
|
-
'w:useSingleBorderforContiguousCells',
|
|
19
|
-
'w:wpJustification',
|
|
20
|
-
'w:noTabHangInd',
|
|
21
|
-
'w:noLeading',
|
|
22
|
-
'w:spaceForUL',
|
|
23
|
-
'w:noColumnBalance',
|
|
24
|
-
'w:balanceSingleByteDoubleByteWidth',
|
|
25
|
-
'w:noExtraLineSpacing',
|
|
26
|
-
'w:doNotLeaveBackslashAlone',
|
|
27
|
-
'w:ulTrailSpace',
|
|
28
|
-
'w:doNotExpandShiftReturn',
|
|
29
|
-
'w:spacingInWholePoints',
|
|
30
|
-
'w:lineWrapLikeWord6',
|
|
31
|
-
'w:printBodyTextBeforeHeader',
|
|
32
|
-
'w:printColBlack',
|
|
33
|
-
'w:wpSpaceWidth',
|
|
34
|
-
'w:showBreaksInFrames',
|
|
35
|
-
'w:subFontBySize',
|
|
36
|
-
'w:suppressBottomSpacing',
|
|
37
|
-
'w:suppressTopSpacing',
|
|
38
|
-
'w:suppressSpacingAtTopOfPage',
|
|
39
|
-
'w:suppressTopSpacingWP',
|
|
40
|
-
'w:suppressSpBfAfterPgBrk',
|
|
41
|
-
'w:swapBordersFacingPages',
|
|
42
|
-
'w:convMailMergeEsc',
|
|
43
|
-
'w:truncateFontHeightsLikeWP6',
|
|
44
|
-
'w:mwSmallCaps',
|
|
45
|
-
|
|
46
|
-
// Word 97/2000 emulation
|
|
47
|
-
'w:usePrinterMetrics',
|
|
48
|
-
'w:doNotSuppressParagraphBorders',
|
|
49
|
-
'w:wrapTrailSpaces',
|
|
50
|
-
'w:footnoteLayoutLikeWW8',
|
|
51
|
-
'w:shapeLayoutLikeWW8',
|
|
52
|
-
'w:alignTablesRowByRow',
|
|
53
|
-
'w:forgetLastTabAlignment',
|
|
54
|
-
'w:adjustLineHeightInTable',
|
|
55
|
-
'w:autoSpaceLikeWord95',
|
|
56
|
-
'w:noSpaceRaiseLower',
|
|
57
|
-
'w:doNotUseHTMLParagraphAutoSpacing',
|
|
58
|
-
'w:layoutRawTableWidth',
|
|
59
|
-
'w:layoutTableRowsApart',
|
|
60
|
-
'w:useWord97LineBreakRules',
|
|
61
|
-
'w:doNotBreakWrappedTables',
|
|
62
|
-
'w:doNotSnapToGridInCell',
|
|
63
|
-
'w:selectFldWithFirstOrLastChar',
|
|
64
|
-
'w:applyBreakingRules',
|
|
65
|
-
'w:doNotWrapTextWithPunct',
|
|
66
|
-
'w:doNotUseEastAsianBreakRules',
|
|
67
|
-
'w:useWord2002TableStyleRules',
|
|
68
|
-
|
|
69
|
-
// Word 2003+ additions
|
|
70
|
-
'w:growAutofit',
|
|
71
|
-
'w:useFELayout',
|
|
72
|
-
'w:useNormalStyleForList',
|
|
73
|
-
'w:doNotUseIndentAsNumberingTabStop',
|
|
74
|
-
'w:useAltKinsokuLineBreakRules',
|
|
75
|
-
'w:allowSpaceOfSameStyleInTable',
|
|
76
|
-
'w:doNotSuppressIndentation',
|
|
77
|
-
'w:doNotAutofitConstrainedTables',
|
|
78
|
-
'w:autofitToFirstFixedWidthCell',
|
|
79
|
-
'w:underlineTabInNumList',
|
|
80
|
-
'w:displayHangulFixedWidth',
|
|
81
|
-
'w:splitPgBreakAndParaMark',
|
|
82
|
-
'w:doNotVertAlignCellWithSp',
|
|
83
|
-
'w:doNotBreakConstrainedForcedTable',
|
|
84
|
-
'w:doNotVertAlignInTxbx',
|
|
85
|
-
'w:useAnsiKerningPairs',
|
|
86
|
-
'w:cachedColBalance',
|
|
87
|
-
];
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Set of legacy compat element names without the w: prefix,
|
|
91
|
-
* for efficient lookup during parsing and filtering.
|
|
92
|
-
*/
|
|
93
|
-
export const LEGACY_COMPAT_ELEMENT_NAMES = new Set<string>(
|
|
94
|
-
LEGACY_COMPAT_ELEMENTS.map(e => e.replace('w:', ''))
|
|
95
|
-
);
|
|
96
|
-
|
|
97
|
-
import type { CompatSetting } from '../types/compatibility-types';
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* The w:compatSetting entries that Word 2013+ includes for
|
|
101
|
-
* fully modern documents. These are the settings emitted when
|
|
102
|
-
* a user clicks File > Info > Convert in Word.
|
|
103
|
-
*
|
|
104
|
-
* Note: useWord2013TrackBottomHyphenation is intentionally omitted.
|
|
105
|
-
* Its default value varies across Word versions and its presence
|
|
106
|
-
* could change hyphenation behavior. Real Word 2016+ documents
|
|
107
|
-
* sometimes include it as "0" and sometimes as "1".
|
|
108
|
-
*/
|
|
109
|
-
export const MODERN_COMPAT_SETTINGS: CompatSetting[] = [
|
|
110
|
-
{
|
|
111
|
-
name: 'compatibilityMode',
|
|
112
|
-
uri: 'http://schemas.microsoft.com/office/word',
|
|
113
|
-
val: '15',
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
name: 'overrideTableStyleFontSizeAndJustification',
|
|
117
|
-
uri: 'http://schemas.microsoft.com/office/word',
|
|
118
|
-
val: '1',
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
name: 'enableOpenTypeFeatures',
|
|
122
|
-
uri: 'http://schemas.microsoft.com/office/word',
|
|
123
|
-
val: '1',
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
name: 'doNotFlipMirrorIndents',
|
|
127
|
-
uri: 'http://schemas.microsoft.com/office/word',
|
|
128
|
-
val: '1',
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
name: 'differentiateMultirowTableHeaders',
|
|
132
|
-
uri: 'http://schemas.microsoft.com/office/word',
|
|
133
|
-
val: '1',
|
|
134
|
-
},
|
|
135
|
-
];
|
|
136
|
-
|
|
137
|
-
/** The Microsoft Office Word URI used for w:compatSetting entries */
|
|
138
|
-
export const MS_WORD_COMPAT_URI = 'http://schemas.microsoft.com/office/word';
|
|
1
|
+
/**
|
|
2
|
+
* Complete catalog of legacy boolean compat elements defined in
|
|
3
|
+
* ECMA-376 4th Edition Part 4 (Transitional) and [MS-DOCX] specification.
|
|
4
|
+
*
|
|
5
|
+
* These elements are direct children of <w:compat> with complex type CT_OnOff.
|
|
6
|
+
* They emulate rendering quirks of older word processors. When compatibilityMode
|
|
7
|
+
* is upgraded to 15, Word's modern layout engine no longer needs them and they
|
|
8
|
+
* should be removed.
|
|
9
|
+
*
|
|
10
|
+
* Source: ECMA-376 4th Edition Part 4 sections 2.15.3.1 through 2.15.3.65
|
|
11
|
+
* and the [MS-DOCX] specification section 2.15.3.
|
|
12
|
+
* Verified against: http://www.datypic.com/sc/ooxml/t-w_CT_Compat.html (65 elements)
|
|
13
|
+
*
|
|
14
|
+
* Element names include the w: namespace prefix as they appear in XML.
|
|
15
|
+
*/
|
|
16
|
+
export const LEGACY_COMPAT_ELEMENTS: string[] = [
|
|
17
|
+
// Word 6/95 emulation
|
|
18
|
+
'w:useSingleBorderforContiguousCells',
|
|
19
|
+
'w:wpJustification',
|
|
20
|
+
'w:noTabHangInd',
|
|
21
|
+
'w:noLeading',
|
|
22
|
+
'w:spaceForUL',
|
|
23
|
+
'w:noColumnBalance',
|
|
24
|
+
'w:balanceSingleByteDoubleByteWidth',
|
|
25
|
+
'w:noExtraLineSpacing',
|
|
26
|
+
'w:doNotLeaveBackslashAlone',
|
|
27
|
+
'w:ulTrailSpace',
|
|
28
|
+
'w:doNotExpandShiftReturn',
|
|
29
|
+
'w:spacingInWholePoints',
|
|
30
|
+
'w:lineWrapLikeWord6',
|
|
31
|
+
'w:printBodyTextBeforeHeader',
|
|
32
|
+
'w:printColBlack',
|
|
33
|
+
'w:wpSpaceWidth',
|
|
34
|
+
'w:showBreaksInFrames',
|
|
35
|
+
'w:subFontBySize',
|
|
36
|
+
'w:suppressBottomSpacing',
|
|
37
|
+
'w:suppressTopSpacing',
|
|
38
|
+
'w:suppressSpacingAtTopOfPage',
|
|
39
|
+
'w:suppressTopSpacingWP',
|
|
40
|
+
'w:suppressSpBfAfterPgBrk',
|
|
41
|
+
'w:swapBordersFacingPages',
|
|
42
|
+
'w:convMailMergeEsc',
|
|
43
|
+
'w:truncateFontHeightsLikeWP6',
|
|
44
|
+
'w:mwSmallCaps',
|
|
45
|
+
|
|
46
|
+
// Word 97/2000 emulation
|
|
47
|
+
'w:usePrinterMetrics',
|
|
48
|
+
'w:doNotSuppressParagraphBorders',
|
|
49
|
+
'w:wrapTrailSpaces',
|
|
50
|
+
'w:footnoteLayoutLikeWW8',
|
|
51
|
+
'w:shapeLayoutLikeWW8',
|
|
52
|
+
'w:alignTablesRowByRow',
|
|
53
|
+
'w:forgetLastTabAlignment',
|
|
54
|
+
'w:adjustLineHeightInTable',
|
|
55
|
+
'w:autoSpaceLikeWord95',
|
|
56
|
+
'w:noSpaceRaiseLower',
|
|
57
|
+
'w:doNotUseHTMLParagraphAutoSpacing',
|
|
58
|
+
'w:layoutRawTableWidth',
|
|
59
|
+
'w:layoutTableRowsApart',
|
|
60
|
+
'w:useWord97LineBreakRules',
|
|
61
|
+
'w:doNotBreakWrappedTables',
|
|
62
|
+
'w:doNotSnapToGridInCell',
|
|
63
|
+
'w:selectFldWithFirstOrLastChar',
|
|
64
|
+
'w:applyBreakingRules',
|
|
65
|
+
'w:doNotWrapTextWithPunct',
|
|
66
|
+
'w:doNotUseEastAsianBreakRules',
|
|
67
|
+
'w:useWord2002TableStyleRules',
|
|
68
|
+
|
|
69
|
+
// Word 2003+ additions
|
|
70
|
+
'w:growAutofit',
|
|
71
|
+
'w:useFELayout',
|
|
72
|
+
'w:useNormalStyleForList',
|
|
73
|
+
'w:doNotUseIndentAsNumberingTabStop',
|
|
74
|
+
'w:useAltKinsokuLineBreakRules',
|
|
75
|
+
'w:allowSpaceOfSameStyleInTable',
|
|
76
|
+
'w:doNotSuppressIndentation',
|
|
77
|
+
'w:doNotAutofitConstrainedTables',
|
|
78
|
+
'w:autofitToFirstFixedWidthCell',
|
|
79
|
+
'w:underlineTabInNumList',
|
|
80
|
+
'w:displayHangulFixedWidth',
|
|
81
|
+
'w:splitPgBreakAndParaMark',
|
|
82
|
+
'w:doNotVertAlignCellWithSp',
|
|
83
|
+
'w:doNotBreakConstrainedForcedTable',
|
|
84
|
+
'w:doNotVertAlignInTxbx',
|
|
85
|
+
'w:useAnsiKerningPairs',
|
|
86
|
+
'w:cachedColBalance',
|
|
87
|
+
];
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Set of legacy compat element names without the w: prefix,
|
|
91
|
+
* for efficient lookup during parsing and filtering.
|
|
92
|
+
*/
|
|
93
|
+
export const LEGACY_COMPAT_ELEMENT_NAMES = new Set<string>(
|
|
94
|
+
LEGACY_COMPAT_ELEMENTS.map((e) => e.replace('w:', ''))
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
import type { CompatSetting } from '../types/compatibility-types';
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* The w:compatSetting entries that Word 2013+ includes for
|
|
101
|
+
* fully modern documents. These are the settings emitted when
|
|
102
|
+
* a user clicks File > Info > Convert in Word.
|
|
103
|
+
*
|
|
104
|
+
* Note: useWord2013TrackBottomHyphenation is intentionally omitted.
|
|
105
|
+
* Its default value varies across Word versions and its presence
|
|
106
|
+
* could change hyphenation behavior. Real Word 2016+ documents
|
|
107
|
+
* sometimes include it as "0" and sometimes as "1".
|
|
108
|
+
*/
|
|
109
|
+
export const MODERN_COMPAT_SETTINGS: CompatSetting[] = [
|
|
110
|
+
{
|
|
111
|
+
name: 'compatibilityMode',
|
|
112
|
+
uri: 'http://schemas.microsoft.com/office/word',
|
|
113
|
+
val: '15',
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
name: 'overrideTableStyleFontSizeAndJustification',
|
|
117
|
+
uri: 'http://schemas.microsoft.com/office/word',
|
|
118
|
+
val: '1',
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
name: 'enableOpenTypeFeatures',
|
|
122
|
+
uri: 'http://schemas.microsoft.com/office/word',
|
|
123
|
+
val: '1',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: 'doNotFlipMirrorIndents',
|
|
127
|
+
uri: 'http://schemas.microsoft.com/office/word',
|
|
128
|
+
val: '1',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
name: 'differentiateMultirowTableHeaders',
|
|
132
|
+
uri: 'http://schemas.microsoft.com/office/word',
|
|
133
|
+
val: '1',
|
|
134
|
+
},
|
|
135
|
+
];
|
|
136
|
+
|
|
137
|
+
/** The Microsoft Office Word URI used for w:compatSetting entries */
|
|
138
|
+
export const MS_WORD_COMPAT_URI = 'http://schemas.microsoft.com/office/word';
|
package/src/constants/limits.ts
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Document validation and processing limits
|
|
3
|
-
* These constants define thresholds for memory usage, file sizes, and content limits
|
|
4
|
-
* Based on Microsoft Word compatibility constraints and practical performance testing
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
const PROPERTY_LIMITS = {
|
|
8
|
-
MAX_STRING_LENGTH: 10000,
|
|
9
|
-
MAX_REVISION: 999999,
|
|
10
|
-
} as const;
|
|
11
|
-
|
|
12
|
-
const FILE_SIZE_LIMITS = {
|
|
13
|
-
WARNING_SIZE_MB: 50,
|
|
14
|
-
ERROR_SIZE_MB: 150,
|
|
15
|
-
} as const;
|
|
16
|
-
|
|
17
|
-
const XML_LIMITS = {
|
|
18
|
-
MAX_PARSE_SIZE_MB: 10,
|
|
19
|
-
MAX_PARSE_SIZE_BYTES: 10 * 1024 * 1024,
|
|
20
|
-
} as const;
|
|
21
|
-
|
|
22
|
-
const MEMORY_LIMITS = {
|
|
23
|
-
DEFAULT_MAX_HEAP_PERCENT: 80,
|
|
24
|
-
DEFAULT_MAX_RSS_MB: 2048,
|
|
25
|
-
DEFAULT_USE_ABSOLUTE_LIMIT: true,
|
|
26
|
-
} as const;
|
|
27
|
-
|
|
28
|
-
const IMAGE_LIMITS = {
|
|
29
|
-
DEFAULT_MAX_IMAGE_COUNT: 20,
|
|
30
|
-
DEFAULT_MAX_TOTAL_SIZE_MB: 100,
|
|
31
|
-
DEFAULT_MAX_SINGLE_SIZE_MB: 20,
|
|
32
|
-
} as const;
|
|
33
|
-
|
|
34
|
-
const SIZE_ESTIMATES = {
|
|
35
|
-
BYTES_PER_PARAGRAPH: 200,
|
|
36
|
-
BYTES_PER_TABLE: 1000,
|
|
37
|
-
BASE_STRUCTURE_BYTES: 50000,
|
|
38
|
-
} as const;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* All limits combined for easy import
|
|
42
|
-
*/
|
|
43
|
-
export const LIMITS = {
|
|
44
|
-
...PROPERTY_LIMITS,
|
|
45
|
-
...FILE_SIZE_LIMITS,
|
|
46
|
-
...XML_LIMITS,
|
|
47
|
-
...MEMORY_LIMITS,
|
|
48
|
-
...IMAGE_LIMITS,
|
|
49
|
-
...SIZE_ESTIMATES,
|
|
50
|
-
} as const;
|
|
1
|
+
/**
|
|
2
|
+
* Document validation and processing limits
|
|
3
|
+
* These constants define thresholds for memory usage, file sizes, and content limits
|
|
4
|
+
* Based on Microsoft Word compatibility constraints and practical performance testing
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
const PROPERTY_LIMITS = {
|
|
8
|
+
MAX_STRING_LENGTH: 10000,
|
|
9
|
+
MAX_REVISION: 999999,
|
|
10
|
+
} as const;
|
|
11
|
+
|
|
12
|
+
const FILE_SIZE_LIMITS = {
|
|
13
|
+
WARNING_SIZE_MB: 50,
|
|
14
|
+
ERROR_SIZE_MB: 150,
|
|
15
|
+
} as const;
|
|
16
|
+
|
|
17
|
+
const XML_LIMITS = {
|
|
18
|
+
MAX_PARSE_SIZE_MB: 10,
|
|
19
|
+
MAX_PARSE_SIZE_BYTES: 10 * 1024 * 1024,
|
|
20
|
+
} as const;
|
|
21
|
+
|
|
22
|
+
const MEMORY_LIMITS = {
|
|
23
|
+
DEFAULT_MAX_HEAP_PERCENT: 80,
|
|
24
|
+
DEFAULT_MAX_RSS_MB: 2048,
|
|
25
|
+
DEFAULT_USE_ABSOLUTE_LIMIT: true,
|
|
26
|
+
} as const;
|
|
27
|
+
|
|
28
|
+
const IMAGE_LIMITS = {
|
|
29
|
+
DEFAULT_MAX_IMAGE_COUNT: 20,
|
|
30
|
+
DEFAULT_MAX_TOTAL_SIZE_MB: 100,
|
|
31
|
+
DEFAULT_MAX_SINGLE_SIZE_MB: 20,
|
|
32
|
+
} as const;
|
|
33
|
+
|
|
34
|
+
const SIZE_ESTIMATES = {
|
|
35
|
+
BYTES_PER_PARAGRAPH: 200,
|
|
36
|
+
BYTES_PER_TABLE: 1000,
|
|
37
|
+
BASE_STRUCTURE_BYTES: 50000,
|
|
38
|
+
} as const;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* All limits combined for easy import
|
|
42
|
+
*/
|
|
43
|
+
export const LIMITS = {
|
|
44
|
+
...PROPERTY_LIMITS,
|
|
45
|
+
...FILE_SIZE_LIMITS,
|
|
46
|
+
...XML_LIMITS,
|
|
47
|
+
...MEMORY_LIMITS,
|
|
48
|
+
...IMAGE_LIMITS,
|
|
49
|
+
...SIZE_ESTIMATES,
|
|
50
|
+
} as const;
|