@turbodocx/html-to-docx 1.9.9 → 1.10.2

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.
@@ -1646,6 +1646,95 @@ const htmlString = `<!DOCTYPE html>
1646
1646
  </li>
1647
1647
  </ul>
1648
1648
  </div>
1649
+ <div>
1650
+ <p>Table with empty row that could corrupt</p>
1651
+ <table style="border-collapse: collapse; width: 100%; margin-top: 20px;" cellspacing="0">
1652
+ <thead>
1653
+ <tr>
1654
+ <th style="background-color: #0e693a; color: #ffffff; border: 1px solid #000; padding: 8px;">Task</th>
1655
+ <th style="background-color: #0e693a; color: #ffffff; border: 1px solid #000; padding: 8px;">Frequency</th>
1656
+ </tr>
1657
+ </thead>
1658
+ <tbody>
1659
+ <tr>
1660
+ <td style="font-weight: bold; text-align: center; color: #1274b5; border: 1px solid #000; padding: 8px;" colspan="2">Showroom</td>
1661
+ </tr>
1662
+ <tr>
1663
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Wipe down display cars</td>
1664
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1665
+ </tr>
1666
+ <tr>
1667
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Clean glass walls &amp; windows</td>
1668
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1669
+ </tr>
1670
+ <tr>
1671
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Mop &amp; polish floors</td>
1672
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1673
+ </tr>
1674
+ <tr>
1675
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Dust furniture &amp; charging stations</td>
1676
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1677
+ </tr>
1678
+ <tr>
1679
+ <td style="font-weight: bold; text-align: center; color: #1274b5; border: 1px solid #000; padding: 8px;" colspan="2">Service Bay</td>
1680
+ </tr>
1681
+ <tr>
1682
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Sweep &amp; mop floors</td>
1683
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1684
+ </tr>
1685
+ <tr>
1686
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Empty trash &amp; oil disposal bins</td>
1687
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1688
+ </tr>
1689
+ <tr>
1690
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Clean workbenches &amp; tool areas</td>
1691
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1692
+ </tr>
1693
+ <tr>
1694
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Wipe down customer drop-off zone</td>
1695
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1696
+ </tr>
1697
+ <tr>
1698
+ <td style="font-weight: bold; text-align: center; color: #1274b5; border: 1px solid #000; padding: 8px;" colspan="2">Waiting Area</td>
1699
+ </tr>
1700
+ <tr>
1701
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Vacuum carpets &amp; seating</td>
1702
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1703
+ </tr>
1704
+ <tr>
1705
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Sanitize coffee station &amp; touchscreens</td>
1706
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1707
+ </tr>
1708
+ <tr>
1709
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Restock magazines &amp; charging cables</td>
1710
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1711
+ </tr>
1712
+ <tr>
1713
+ <td style="font-weight: bold; text-align: center; color: #1274b5; border: 1px solid #000; padding: 8px;" colspan="2">Restrooms</td>
1714
+ </tr>
1715
+ <tr>
1716
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Refill soap &amp; paper products</td>
1717
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1718
+ </tr>
1719
+ <tr>
1720
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Disinfect sinks &amp; counters</td>
1721
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1722
+ </tr>
1723
+ <tr>
1724
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Mop floors</td>
1725
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1726
+ </tr>
1727
+ <tr>
1728
+ <td style="font-weight: bold; text-align: center; color: #1274b5; border: 1px solid #000; padding: 8px;" colspan="2">Employee Lounge</td>
1729
+ </tr>
1730
+ <tr>
1731
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Wipe tables &amp; kitchen counters</td>
1732
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1733
+ </tr>
1734
+ <tr></tr>
1735
+ </tbody>
1736
+ </table>
1737
+ </div>
1649
1738
  </body>
1650
1739
  </html>`;
1651
1740
 
@@ -1654,6 +1743,7 @@ const htmlString = `<!DOCTYPE html>
1654
1743
  table: { row: { cantSplit: true } },
1655
1744
  footer: true,
1656
1745
  pageNumber: true,
1746
+ preprocessing: { skipHTMLMinify: false }
1657
1747
  });
1658
1748
 
1659
1749
  fs.writeFile(filePath, fileBuffer, (error) => {
@@ -1619,6 +1619,95 @@ const htmlString = `<!DOCTYPE html>
1619
1619
  </li>
1620
1620
  <li style="font-family: arial, helvetica, sans-serif; font-size: 12pt; line-height: 1.15;"><span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;">Heading 3</span></li>
1621
1621
  </ul>
1622
+ <div>
1623
+ <p>Table with empty row that could corrupt</p>
1624
+ <table style="border-collapse: collapse; width: 100%; margin-top: 20px;" cellspacing="0">
1625
+ <thead>
1626
+ <tr>
1627
+ <th style="background-color: #0e693a; color: #ffffff; border: 1px solid #000; padding: 8px;">Task</th>
1628
+ <th style="background-color: #0e693a; color: #ffffff; border: 1px solid #000; padding: 8px;">Frequency</th>
1629
+ </tr>
1630
+ </thead>
1631
+ <tbody>
1632
+ <tr>
1633
+ <td style="font-weight: bold; text-align: center; color: #1274b5; border: 1px solid #000; padding: 8px;" colspan="2">Showroom</td>
1634
+ </tr>
1635
+ <tr>
1636
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Wipe down display cars</td>
1637
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1638
+ </tr>
1639
+ <tr>
1640
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Clean glass walls &amp; windows</td>
1641
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1642
+ </tr>
1643
+ <tr>
1644
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Mop &amp; polish floors</td>
1645
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1646
+ </tr>
1647
+ <tr>
1648
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Dust furniture &amp; charging stations</td>
1649
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1650
+ </tr>
1651
+ <tr>
1652
+ <td style="font-weight: bold; text-align: center; color: #1274b5; border: 1px solid #000; padding: 8px;" colspan="2">Service Bay</td>
1653
+ </tr>
1654
+ <tr>
1655
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Sweep &amp; mop floors</td>
1656
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1657
+ </tr>
1658
+ <tr>
1659
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Empty trash &amp; oil disposal bins</td>
1660
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1661
+ </tr>
1662
+ <tr>
1663
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Clean workbenches &amp; tool areas</td>
1664
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1665
+ </tr>
1666
+ <tr>
1667
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Wipe down customer drop-off zone</td>
1668
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1669
+ </tr>
1670
+ <tr>
1671
+ <td style="font-weight: bold; text-align: center; color: #1274b5; border: 1px solid #000; padding: 8px;" colspan="2">Waiting Area</td>
1672
+ </tr>
1673
+ <tr>
1674
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Vacuum carpets &amp; seating</td>
1675
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1676
+ </tr>
1677
+ <tr>
1678
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Sanitize coffee station &amp; touchscreens</td>
1679
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1680
+ </tr>
1681
+ <tr>
1682
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Restock magazines &amp; charging cables</td>
1683
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1684
+ </tr>
1685
+ <tr>
1686
+ <td style="font-weight: bold; text-align: center; color: #1274b5; border: 1px solid #000; padding: 8px;" colspan="2">Restrooms</td>
1687
+ </tr>
1688
+ <tr>
1689
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Refill soap &amp; paper products</td>
1690
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1691
+ </tr>
1692
+ <tr>
1693
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Disinfect sinks &amp; counters</td>
1694
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1695
+ </tr>
1696
+ <tr>
1697
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Mop floors</td>
1698
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1699
+ </tr>
1700
+ <tr>
1701
+ <td style="font-weight: bold; text-align: center; color: #1274b5; border: 1px solid #000; padding: 8px;" colspan="2">Employee Lounge</td>
1702
+ </tr>
1703
+ <tr>
1704
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Wipe tables &amp; kitchen counters</td>
1705
+ <td style="border: 1px solid #000; padding: 8px; color: #000000;">Daily</td>
1706
+ </tr>
1707
+ <tr></tr>
1708
+ </tbody>
1709
+ </table>
1710
+ </div>
1622
1711
  </body>
1623
1712
  </html>`;
1624
1713
 
@@ -1627,6 +1716,7 @@ const htmlString = `<!DOCTYPE html>
1627
1716
  table: { row: { cantSplit: true } },
1628
1717
  footer: true,
1629
1718
  pageNumber: true,
1719
+ preprocessing: { skipHTMLMinify: false }
1630
1720
  });
1631
1721
 
1632
1722
  fs.writeFile(filePath, fileBuffer, (error) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@turbodocx/html-to-docx",
3
- "version": "1.9.9",
3
+ "version": "1.10.2",
4
4
  "description": "HTML to DOCX converter",
5
5
  "keywords": [
6
6
  "html",
@@ -102,10 +102,11 @@
102
102
  "standard-version": "^9.3.1"
103
103
  },
104
104
  "dependencies": {
105
- "@oozcitak/util": "8.3.4",
106
105
  "@oozcitak/dom": "1.15.6",
106
+ "@oozcitak/util": "8.3.4",
107
107
  "color-name": "^1.1.4",
108
108
  "html-entities": "^2.3.3",
109
+ "html-minifier-terser": "^7.2.0",
109
110
  "html-to-vdom": "^0.7.0",
110
111
  "image-size": "^1.0.0",
111
112
  "image-to-base64": "^2.2.0",