Skip to content

Replace xml2js with native DOMParser for XML parsing - #144

Merged
vogelsgesang merged 1 commit into
mainfrom
xml2js
Aug 22, 2026
Merged

vogelsgesang merged 1 commit into
mainfrom
xml2js

Conversation

@vogelsgesang

@vogelsgesang vogelsgesang commented Aug 22, 2026 •

Copy link
Copy Markdown
Collaborator

Remove xml2js dependency and its Node.js polyfills (buffer, stream, timers),
reducing bundle size by 104 KiB (18%: 578 KiB → 474 KiB). Use native browser
DOMParser for XML parsing instead.

Key changes:

  • Use native DOMParser API in browser, eliminating 380 KiB of polyfills
  • Remove xml2js dependency and its Node.js polyfills (buffer, stream, timers)
  • Refactor ParsedXML interface with readable property names (tag, text, attrs,
    nodes) instead of cryptic names ("#name", "_", "$", "$$")
  • Update tableau.ts to use new interface names

Remove xml2js dependency and its Node.js polyfills (buffer, stream, timers),
reducing bundle size by 104 KiB (18%: 578 KiB → 474 KiB). Use native browser
DOMParser for XML parsing instead.

Key changes:
- Use native DOMParser API in browser, eliminating 380 KiB of polyfills
- Remove xml2js dependency and its Node.js polyfills (buffer, stream, timers)
- Refactor ParsedXML interface with readable property names (tag, text, attrs,
  nodes) instead of cryptic names ("#name", "_", "$", "$$")
- Update tableau.ts to use new interface names
@vogelsgesang
vogelsgesang merged commit c1c1d87 into main Aug 22, 2026
5 checks passed
@vogelsgesang
vogelsgesang deleted the xml2js branch August 22, 2026 20:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant