Socket
Socket
Sign inDemoInstall

@starptech/webparser

Package Overview
Dependencies
0
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @starptech/webparser

Optimized html parser for HTML5 Web Components.


Version published
Weekly downloads
3.7K
increased by0.38%
Maintainers
1
Install size
172 kB
Created
Weekly downloads
 

Readme

Source

@starptech/webparser

Optimized html parser for HTML5 Web Components. The parser supports features which are very useful if you want to implement a HTML formatter or anything else where a less strict parser is needed to keep all informations in the ast.

Installation

npm install --save @starptech/webparser

Usage

This example shows how we parse HTML

const parser = new HtmlParser(options)
const result = parser.parse('<div></div>')

Representation

There are four different types of nodes

  • Doctype
{
  value: '<!doctype html>',
  sourceSpan: null
}
  • Element
{
  name: 'div',
  attrs: [],
  children: [],
  implicitNs: false,
  sourceSpan: null,
  startSourceSpan: null,
  endSourceSpan
}

Void or self-closing elements can be checked when the startSourceSpan is equals the endSourceSpan.

  • Attribute
{
  name: 'div',
  value: 'foo',
  children: [],
  implicitNs: false,
  sourceSpan:null,
  valueSpan: null
}
  • Comment
{
  value: 'foo comment',
  sourceSpan: null
}

API

HtmlParser.parse(doc: string): ParseTreeResult

Parse a document and returns a ParseTreeResult result.

options.decodeEntities (enabled by default)

Decode html entities in text and attributes according to HTML5 specification.

options.ignoreFirstLf (enabled by default)

Ignore first line feed of pre, textarea and listing tags according to HTML5 specification.

options.selfClosingCustomElements (disabled by default)

Allow custom self-closing elements.

options.selfClosingElements (disabled by default)

Allow custom and known self closing HTML elements.

options.insertRequiredParents (disabled by default)

Insert the required parent element according to the HTML5 specification.

Credits

The parser is a modificated version of Angular 6 template parser.

Keywords

FAQs

Last updated on 21 Jun 2019

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc