
Research
Node.js Fixes AsyncLocalStorage Crash Bug That Could Take Down Production Servers
Node.js patched a crash bug where AsyncLocalStorage could cause stack overflows to bypass error handlers and terminate production servers.
TypesXML is a native TypeScript XML library and processing toolkit — there are no bindings to C/C++ libraries or other native layers. It ships first-class DOM and SAX pipelines, validates full DTD grammars, resolves entities through OASIS XML Catalogs, and passes 100% of the W3C XML Conformance Test Suite for DTD-driven documents.
DOMBuilder) that produces an in-memory tree and preserves lexical information needed by canonicalization.SAXParser drives any ContentHandler implementation. A handler receives structured callbacks during parsing:
interface ContentHandler {
initialize(): void;
setCatalog(catalog: Catalog): void;
startDocument(): void;
endDocument(): void;
xmlDeclaration(version: string, encoding: string, standalone: string): void;
startElement(name: string, atts: XMLAttribute[]): void;
endElement(name: string): void;
internalSubset(declaration: string): void;
characters(text: string): void;
ignorableWhitespace(text: string): void;
comment(text: string): void;
processingInstruction(target: string, data: string): void;
startCDATA(): void;
endCDATA(): void;
startDTD(name: string, publicId: string, systemId: string): void;
endDTD(): void;
skippedEntity(name: string): void;
}
The built-in DOMBuilder implements this interface to provide DOM support out of the box.
npm install typesxml
import { DOMBuilder, SAXParser } from "typesxml";
const handler = new DOMBuilder();
const parser = new SAXParser();
parser.setContentHandler(handler);
// Parse from a file
parser.parseFile("example.xml");
const document = handler.getDocument();
console.log(document.toString());
// Parse from a string
parser.parseString("<root><child/></root>");
// Parse from a stream
// await parser.parseStream(fs.createReadStream("example.xml"));
To enable XML Catalog resolution or validation, configure the parser before invoking parse* methods:
parser.setCatalog(myCatalog);
parser.setValidating(true); // Turns on DTD validation only.
samples/ to see the code in action.The repository includes a harness that runs against the official W3C XML Conformance Test Suite for DTD grammars. To execute it locally:
Download the latest archive from the W3C XML Test Suite (e.g., xmlts20080827.zip).
Extract the archive into ./tests/xmltest so the valid, invalid, and not-wf folders sit under that path.
Install dependencies if needed: npm install.
Run the suite:
npm run testDtd
The script compiles the TypeScript sources and executes ts/tests/DTDTestSuite.ts, reporting any conformance failures.
FAQs
Open source XML library written in TypeScript
The npm package typesxml receives a total of 458 weekly downloads. As such, typesxml popularity was classified as not popular.
We found that typesxml demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Node.js patched a crash bug where AsyncLocalStorage could cause stack overflows to bypass error handlers and terminate production servers.

Research
/Security News
A malicious Chrome extension steals newly created MEXC API keys, exfiltrates them to Telegram, and enables full account takeover with trading and withdrawal rights.

Security News
CVE disclosures hit a record 48,185 in 2025, driven largely by vulnerabilities in third-party WordPress plugins.