Skip to content

Tracking new HTML parser work #272

@tbranyen

Description

@tbranyen

I am currently in the process of rewriting the >5 year old HTML parser that currently exists. The existing parser is a fork of node-fast-html-parser that is stripped down. Unfortunately the regexes are unnecessarily complex and the code is hard to work on. Instead I'm rewriting the parser to use a modern tokenizer approach and be zero-copy as possible for large payloads. I'm iterating the design with strong TDD, so I anticipate hundreds of new unit tests once this is complete.

Feature progress:

  • Significantly more reliable, fix bugs that currently exist in the parser, lots of unit tests
  • Support HTML comments
  • Smaller code footprint that is more specific towards VDOM
  • Better middleware introspection for the parser, helping the linter plugin

Future of the parser:

Post 1.0 launch, I want to invest time planning and building a parser compiled to WebAssembly that can then be plugged into any framework/runtime. This will not use regular expressions or anything hacky like the current parser. I think I'll need to solicit donations for that particular project or find some really passionate engineers who can help. Turns out this was easier than anticipated and will be added for the 1.0 slate.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions