diff --git a/lib/cjs/index.d.ts b/lib/cjs/index.d.ts index df35418e..bb70a016 100644 --- a/lib/cjs/index.d.ts +++ b/lib/cjs/index.d.ts @@ -1 +1,3 @@ +import * as SaxWasm from './saxWasm.js'; export * from './saxWasm.js'; +export default SaxWasm; diff --git a/lib/cjs/index.js b/lib/cjs/index.js index 8f2538db..327bacb9 100644 --- a/lib/cjs/index.js +++ b/lib/cjs/index.js @@ -14,5 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); +// Import everything from saxWasm.js +const SaxWasm = require("./saxWasm.js"); +// Export everything as named exports __exportStar(require("./saxWasm.js"), exports); -//# sourceMappingURL=index.js.map \ No newline at end of file +// Export everything as the default export +exports.default = SaxWasm; diff --git a/lib/cjs/index.js.map b/lib/cjs/index.js.map deleted file mode 100644 index 6c274f04..00000000 --- a/lib/cjs/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/js/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B"} \ No newline at end of file diff --git a/lib/cjs/saxWasm.js b/lib/cjs/saxWasm.js index d765b2ab..dd8e6bf8 100644 --- a/lib/cjs/saxWasm.js +++ b/lib/cjs/saxWasm.js @@ -218,7 +218,9 @@ class SAXParser { return this.end(); this.write(chunk.value); if (eventAggregator.length) { - yield* eventAggregator; + for (const event of eventAggregator) { + yield event; + } eventAggregator.length = 0; } } @@ -316,4 +318,3 @@ const readPosition = (uint8Array, ptr = 0) => { const character = readU32(uint8Array, ptr + 4); return new Position(line, character); }; -//# sourceMappingURL=saxWasm.js.map \ No newline at end of file diff --git a/lib/cjs/saxWasm.js.map b/lib/cjs/saxWasm.js.map deleted file mode 100644 index 7358d2f0..00000000 --- a/lib/cjs/saxWasm.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"saxWasm.js","sourceRoot":"","sources":["../../src/js/saxWasm.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/esm/index.d.ts b/lib/esm/index.d.ts index df35418e..bb70a016 100644 --- a/lib/esm/index.d.ts +++ b/lib/esm/index.d.ts @@ -1 +1,3 @@ +import * as SaxWasm from './saxWasm.js'; export * from './saxWasm.js'; +export default SaxWasm; diff --git a/lib/esm/index.js b/lib/esm/index.js index bf89e062..a6d20098 100644 --- a/lib/esm/index.js +++ b/lib/esm/index.js @@ -1,2 +1,6 @@ +// Import everything from saxWasm.js +import * as SaxWasm from './saxWasm.js'; +// Export everything as named exports export * from './saxWasm.js'; -//# sourceMappingURL=index.js.map \ No newline at end of file +// Export everything as the default export +export default SaxWasm; diff --git a/lib/esm/index.js.map b/lib/esm/index.js.map deleted file mode 100644 index 4445ae4d..00000000 --- a/lib/esm/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/js/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"} \ No newline at end of file diff --git a/lib/esm/saxWasm.js b/lib/esm/saxWasm.js index d633b8bb..5bb10b73 100644 --- a/lib/esm/saxWasm.js +++ b/lib/esm/saxWasm.js @@ -208,7 +208,9 @@ export class SAXParser { return this.end(); this.write(chunk.value); if (eventAggregator.length) { - yield* eventAggregator; + for (const event of eventAggregator) { + yield event; + } eventAggregator.length = 0; } } @@ -305,4 +307,3 @@ const readPosition = (uint8Array, ptr = 0) => { const character = readU32(uint8Array, ptr + 4); return new Position(line, character); }; -//# sourceMappingURL=saxWasm.js.map \ No newline at end of file diff --git a/lib/esm/saxWasm.js.map b/lib/esm/saxWasm.js.map deleted file mode 100644 index 247a1636..00000000 --- a/lib/esm/saxWasm.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"saxWasm.js","sourceRoot":"","sources":["../../src/js/saxWasm.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/index.d.ts b/lib/index.d.ts index df35418e..bb70a016 100644 --- a/lib/index.d.ts +++ b/lib/index.d.ts @@ -1 +1,3 @@ +import * as SaxWasm from './saxWasm.js'; export * from './saxWasm.js'; +export default SaxWasm; diff --git a/lib/index.js b/lib/index.js new file mode 100644 index 00000000..a6d20098 --- /dev/null +++ b/lib/index.js @@ -0,0 +1,6 @@ +// Import everything from saxWasm.js +import * as SaxWasm from './saxWasm.js'; +// Export everything as named exports +export * from './saxWasm.js'; +// Export everything as the default export +export default SaxWasm; diff --git a/lib/sax-wasm.wasm b/lib/sax-wasm.wasm old mode 100755 new mode 100644 index e9314cde..b9dbd698 Binary files a/lib/sax-wasm.wasm and b/lib/sax-wasm.wasm differ diff --git a/lib/saxWasm.js b/lib/saxWasm.js new file mode 100644 index 00000000..5bb10b73 --- /dev/null +++ b/lib/saxWasm.js @@ -0,0 +1,309 @@ +export class SaxEventType { + // 1 + static Text = 0b1; + // 2 + static ProcessingInstruction = 0b10; + // 4 + static SGMLDeclaration = 0b100; + // 8 + static Doctype = 0b1000; + // 16 + static Comment = 0b10000; + // 32 + static OpenTagStart = 0b100000; + // 64 + static Attribute = 0b1000000; + // 128 + static OpenTag = 0b10000000; + // 256 + static CloseTag = 0b100000000; + // 512 + static Cdata = 0b1000000000; +} +export class Reader { + data; + cache = {}; + ptr; + constructor(data, ptr = 0) { + this.data = data; + this.ptr = ptr; + } +} +export class Position { + line; + character; + constructor(line, character) { + this.line = line; + this.character = character; + } +} +export var AttributeType; +(function (AttributeType) { + AttributeType[AttributeType["Normal"] = 0] = "Normal"; + AttributeType[AttributeType["JSX"] = 1] = "JSX"; +})(AttributeType || (AttributeType = {})); +export class Attribute extends Reader { + type; + name; + value; + constructor(buffer, ptr = 0) { + super(buffer, ptr); + this.type = buffer[ptr]; + ptr += 1; + const len = readU32(buffer, ptr); + ptr += 4; + this.name = new Text(buffer, ptr); + ptr += len; + this.value = new Text(buffer, ptr); + } + toJSON() { + const { name, value, type } = this; + return { name, value, type }; + } + toString() { + const { name, value } = this; + return `${name}="${value}"`; + } +} +export class ProcInst extends Reader { + target; + content; + constructor(buffer, ptr = 0) { + super(buffer, ptr); + ptr += 16; + const len = readU32(buffer, ptr); + ptr += 4; + this.target = new Text(buffer, ptr); + ptr += len; + this.content = new Text(buffer, ptr); + } + get start() { + return this.cache.start || (this.cache.start = readPosition(this.data, this.ptr)); + } + get end() { + return this.cache.end || (this.cache.end = readPosition(this.data, this.ptr + 8)); + } + toJSON() { + const { start, end, target, content } = this; + return { start, end, target, content }; + } + toString() { + const { target, content } = this; + return ``; + } +} +export class Text extends Reader { + get start() { + return this.cache.start || (this.cache.start = readPosition(this.data, this.ptr)); + } + get end() { + return this.cache.end || (this.cache.end = readPosition(this.data, this.ptr + 8)); + } + get value() { + if (this.cache.value) { + return this.cache.value; + } + const valueLen = readU32(this.data, this.ptr + 16); + return (this.cache.value = readString(this.data, this.ptr + 20, valueLen)); + } + toJSON() { + const { start, end, value } = this; + return { start, end, value }; + } + toString() { + return this.value; + } +} +export class Tag extends Reader { + get openStart() { + return this.cache.openStart || (this.cache.openStart = readPosition(this.data, this.ptr + 8)); + } + get openEnd() { + return this.cache.openEnd || (this.cache.openEnd = readPosition(this.data, this.ptr + 16)); + } + get closeStart() { + return this.cache.closeStart || (this.cache.closeStart = readPosition(this.data, this.ptr + 24)); + } + get closeEnd() { + return this.cache.closeEnd || (this.cache.closeEnd = readPosition(this.data, this.ptr + 32)); + } + get selfClosing() { + return !!this.data[this.ptr + 40]; + } + get name() { + if (this.cache.name) { + return this.cache.name; + } + const nameLen = readU32(this.data, this.ptr + 41); + return (this.cache.name = readString(this.data, this.ptr + 45, nameLen)); + } + get attributes() { + if (this.cache.attributes) { + return this.cache.attributes; + } + // starting location of the attribute block + let ptr = readU32(this.data, this.ptr); + const numAttrs = readU32(this.data, ptr); + ptr += 4; + const attributes = []; + for (let i = 0; i < numAttrs; i++) { + const attrLen = readU32(this.data, ptr); + ptr += 4; + attributes[i] = new Attribute(this.data, ptr); + ptr += attrLen; + } + return (this.cache.attributes = attributes); + } + get textNodes() { + if (this.cache.textNodes) { + return this.cache.textNodes; + } + // starting location of the text nodes block + let ptr = readU32(this.data, this.ptr + 4); + const numTextNodes = readU32(this.data, ptr); + const textNodes = []; + ptr += 4; + for (let i = 0; i < numTextNodes; i++) { + const textLen = readU32(this.data, ptr); + ptr += 4; + textNodes[i] = new Text(this.data, ptr); + ptr += textLen; + } + return (this.cache.textNodes = textNodes); + } + toJSON() { + const { openStart, openEnd, closeStart, closeEnd, name, attributes, textNodes, selfClosing } = this; + return { openStart, openEnd, closeStart, closeEnd, name, attributes, textNodes, selfClosing }; + } + get value() { + return this.name; + } +} +export class SAXParser { + static textDecoder; // Web only + events; + wasmSaxParser; + eventHandler; + writeBuffer; + constructor(events = 0) { + const self = this; + Object.defineProperties(this, { + events: { + get: () => ~~events, + set: (value) => { + events = ~~value; + if (self.wasmSaxParser) { + self.wasmSaxParser.parser(events); + } + }, configurable: false, enumerable: true + } + }); + } + async *parse(reader) { + let eventAggregator = []; + this.eventHandler = function (event, detail) { eventAggregator.push([event, detail]); }; + while (true) { + const chunk = await reader.read(); + if (chunk.done) + return this.end(); + this.write(chunk.value); + if (eventAggregator.length) { + for (const event of eventAggregator) { + yield event; + } + eventAggregator.length = 0; + } + } + } + write(chunk) { + if (!this.wasmSaxParser) { + return; + } + const { write, memory } = this.wasmSaxParser; + // Allocations within the WASM process + // invalidate reference to the memory buffer. + // We check for this and create a new Uint8Array + // with the new memory buffer reference if needed. + // **NOTE** These allocations can slow down parsing + // if they become excessive. Consider adjusting the + // highWaterMark in the options up or down to find the optimal + // memory allocation to prevent too many new Uint8Array instances. + if (!this.writeBuffer || this.writeBuffer.buffer !== memory.buffer) { + this.writeBuffer = new Uint8Array(memory.buffer); + } + this.writeBuffer.set(chunk, 0); + write(0, chunk.byteLength); + } + end() { + this.writeBuffer = undefined; + this.wasmSaxParser?.end(); + } + async prepareWasm(saxWasm) { + let result; + const env = { + memory: new WebAssembly.Memory({ initial: 10, shared: true, maximum: 150 }), + table: new WebAssembly.Table({ initial: 1, element: 'anyfunc' }), + event_listener: this.eventTrap + }; + if (saxWasm instanceof Uint8Array) { + result = await WebAssembly.instantiate(saxWasm, { env }); + } + else { + result = await WebAssembly.instantiateStreaming(saxWasm, { env }); + } + if (result && typeof this.events === 'number') { + const { parser } = this.wasmSaxParser = result.instance.exports; + parser(this.events); + return true; + } + throw new Error(`Failed to instantiate the parser.`); + } + eventTrap = (event, ptr, len) => { + if (!this.wasmSaxParser) { + return; + } + const array = new Uint8Array(this.wasmSaxParser.memory.buffer, ptr, len); + const uint8array = new Uint8Array(array); + let detail; + switch (event) { + case SaxEventType.Attribute: + detail = new Attribute(uint8array); + break; + case SaxEventType.ProcessingInstruction: + detail = new ProcInst(uint8array); + break; + case SaxEventType.OpenTag: + case SaxEventType.CloseTag: + case SaxEventType.OpenTagStart: + detail = new Tag(uint8array); + break; + case SaxEventType.Text: + case SaxEventType.Cdata: + case SaxEventType.Comment: + case SaxEventType.Doctype: + case SaxEventType.SGMLDeclaration: + detail = new Text(uint8array); + break; + default: + throw new Error('No reader for this event type'); + } + if (this.eventHandler) { + this.eventHandler(event, detail); + } + }; +} +const readString = (data, offset, length) => { + // Node + if (globalThis.hasOwnProperty('Buffer')) { + return Buffer.from(data.buffer, data.byteOffset + offset, length).toString(); + } + // Web + return (SAXParser.textDecoder || (SAXParser.textDecoder = new TextDecoder())) + .decode(data.subarray(offset, offset + length)); +}; +const readU32 = (uint8Array, ptr) => (uint8Array[ptr + 3] << 24) | (uint8Array[ptr + 2] << 16) | (uint8Array[ptr + 1] << 8) | uint8Array[ptr]; +const readPosition = (uint8Array, ptr = 0) => { + const line = readU32(uint8Array, ptr); + const character = readU32(uint8Array, ptr + 4); + return new Position(line, character); +}; diff --git a/package.json b/package.json index 4f262a1b..7a864f9e 100644 --- a/package.json +++ b/package.json @@ -5,20 +5,25 @@ "type": "git", "url": "https://github.com/justinwilaby/sax-wasm.git" }, + "engines": { + "node": ">=18.20.5" + }, "description": "An extremely fast JSX, HTML and XML parser written in Rust compiled to WebAssembly for Node and the Web", "main": "lib/index.js", "module": "lib/esm/index.js", - "browser": "lib/esm/index.js", + "browser": { + "./lib/cjs/index.js": "./lib/esm/index.js" + }, + "type": "module", "files": [ "lib/**" ], "scripts": { "test": "jest", "test:coverage": "npm run test && nyc report --reporter=text-lcov", - "build:wasm": "cargo build --target wasm32-unknown-unknown --release && npm run bindgen && npm run wasm-opt", - "bindgen": "wasm-bindgen target/wasm32-unknown-unknown/release/sax_wasm.wasm --out-dir lib/ --remove-name-section --no-typescript --out-name sax-wasm.wasm", - "wasm-opt": "wasm-opt -O4 lib/sax-wasm.wasm -o lib/sax-wasm.wasm", - "build": "(npm run build:esm && npm run build:cjs) && npm run build:wasm && npm run bindgen && tsc --emitDeclarationOnly", + "build:wasm": "cargo build --target wasm32-unknown-unknown --release && npm run wasm-opt", + "wasm-opt": "wasm-opt -O4 target/wasm32-unknown-unknown/release/sax_wasm.wasm -o lib/sax-wasm.wasm", + "build": "(npm run build:esm && npm run build:cjs) && npm run build:wasm && tsc --emitDeclarationOnly", "build:esm": "tsc --module esnext --outDir lib/esm --target esnext", "build:cjs": "tsc --module commonjs --outDir lib/cjs --target esnext", "benchmark": "node src/js/__test__/benchmark.mjs", @@ -39,7 +44,8 @@ "exports": { ".": { "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js" + "require": "./lib/cjs/index.js", + "browser": "./lib/esm/index.js" }, "./lib/sax-wasm.wasm": "./lib/sax-wasm.wasm" }, diff --git a/src/js/index.ts b/src/js/index.ts index df35418e..2fedaaed 100644 --- a/src/js/index.ts +++ b/src/js/index.ts @@ -1 +1,8 @@ +// Import everything from saxWasm.js +import * as SaxWasm from './saxWasm.js'; + +// Export everything as named exports export * from './saxWasm.js'; + +// Export everything as the default export +export default SaxWasm; diff --git a/src/js/saxWasm.ts b/src/js/saxWasm.ts index 8a6d8c52..b3f4ce8d 100644 --- a/src/js/saxWasm.ts +++ b/src/js/saxWasm.ts @@ -256,7 +256,9 @@ export class SAXParser { if (chunk.done) return this.end(); this.write(chunk.value); if (eventAggregator.length) { - yield* eventAggregator; + for (const event of eventAggregator) { + yield event; + } eventAggregator.length = 0; } } diff --git a/tsconfig.json b/tsconfig.json index 4610f961..9a489460 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,7 +4,6 @@ "module": "ESNext", "target": "esnext", "outDir": "lib", - "sourceMap": true, "declaration": true, "esModuleInterop": false, "allowSyntheticDefaultImports": true,