github cjnoname/excelts v7.1.0

latest releases: v9.4.2, v9.4.1, v9.4.0...
26 days ago

🚀 v7.1.0 Highlights

New: Standalone XML Module (@cj-tech-master/excelts/xml)

A brand-new, zero-dependency XML toolkit — powers the XLSX pipeline internally, now available as a standalone subpath export.

  • SAX Parser — High-performance event-driven streaming parser
  • DOM Parser — Build queryable XML trees with parseXml()
  • Query Engine — Simplified path expressions (a/b[@id='1'], a//c, a/b[0])
  • Dual-Mode Writer — Buffered (XmlWriter) with rollback, streaming (XmlStreamWriter) with backpressure
  • Full Namespace Support — Prefix resolution, reserved namespace enforcement, unbound prefix detection
  • Security Hardened — Entity expansion limits, nesting depth limits, duplicate attribute rejection, name injection prevention, BOM handling
import { SaxParser, parseXml, XmlWriter, query, queryAll } from "@cj-tech-master/excelts/xml";

Performance

  • Direct SAX callback mode eliminates intermediate event objects on the Excel read path
  • Hot-path optimizations for large-workbook throughput (text decoding, write batching, row spans parsing)
  • isDateFmt caching, TextEncoder.encodeInto() in StringBuf

Bug Fixes

  • Proper backpressure handling for both sync and async write() in browser streaming (fixes #74 #75 #76)
  • Windows: wait for file stream close before resolving
  • XML: complete namespace support, HAN CELL prefix detection, second root rejection, fatal UTF-8 decode

7.1.0 (2026-04-01)

Features

  • xml: Add standalone @xml module with streaming write pipeline and backpressure support (a0a0630)

Bug Fixes

  • Enhance backpressure handling in StreamingZipWriterAdapter for sync and async write() return types (156b5fa)
  • Extract _checkBackpressure to resolve CodeQL missing-await alerts #74 #75 #76 (7081e1f)
  • Handle async write() return in StreamingZipWriterAdapter backpressure check (dc8c3fd)
  • Wait for file stream close before resolving on Windows (84503eb)
  • xml: Complete namespace support, harden parser, simplify module, and update validator (9a59fe8)
  • xml: Correct HAN CELL prefix detection, xmlEncode FFFE/FFFF, and tag mutation (56c8665)
  • xml: Reject second root element, fatal UTF-8 decode, lightweight decodeCol (95b676e)

Performance Improvements

  • Cache isDateFmt, use encodeInto in StringBuf, optimize row spans parsing (3c63a07)
  • xml: Eliminate XML parse overhead with direct SAX callbacks (74ebdaf)
  • xml: Optimize hot paths for large-data throughput (97bd074)
  • xml: Optimize text decoding, SAX consumers, and write batching (aaa41a9)

Don't miss a new excelts release

NewReleases is sending notifications on new releases.