hast-util-to-parse5

hast utility to transform to a `parse5` AST

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
hast-util-to-parse5
208.0.09 months ago8 years agoMinified + gzip package size for hast-util-to-parse5 in KB

Readme

hast-util-to-parse5
!Buildbuild-badgebuild !Coveragecoverage-badgecoverage !Downloadsdownloads-badgedownloads !Sizesize-badgesize !Sponsorssponsors-badgecollective !Backersbackers-badgecollective !Chatchat-badgechat
hast utility to transform to a parse5parse5 ASTparse5-node.

Contents

*   [`toParse5(tree[, options])`](#toparse5tree-options)
*   [`Options`](#options)
*   [`Space`](#space)

What is this?

This package is a utility that can turn a hast syntax tree into a parse5 AST. Why not use a Parse5 adapter, you might ask? Well, because it’s more code weight to use adapters, and more fragile.

When should I use this?

This package is useful when working with parse5, and for some reason want to generate its AST again. The inverse utility, hast-util-from-parse5hast-util-from-parse5, is more likely what you want.

Install

This package is ESM onlyesm. In Node.js (version 16+), install with npm:
npm install hast-util-to-parse5

In Deno with esm.shesmsh:
import {toParse5} from 'https://esm.sh/hast-util-to-parse5@8'

In browsers with esm.shesmsh:
<script type="module">
  import {toParse5} from 'https://esm.sh/hast-util-to-parse5@8?bundle'
</script>

Use

import {toParse5} from 'hast-util-to-parse5'

const tree = toParse5({
  type: 'element',
  tagName: 'h1',
  properties: {},
  children: [{type: 'text', value: 'World!'}]
})

console.log(tree)

Yields:
{ nodeName: 'h1',
  tagName: 'h1',
  attrs: [],
  namespaceURI: 'http://www.w3.org/1999/xhtml',
  childNodes: [ { nodeName: '#text', value: 'World!', parentNode: [Circular] } ] }

API

This package exports the identifier toParse5api-to-parse5. There is no default export.

toParse5(tree[, options])

Transform a hast tree to a parse5 AST.
Parameters
— tree to transform
— configuration
Returns
parse5 node (Parse5Nodeparse5-node).

Options

Configuration (TypeScript type).
Fields
— which space the document is in

Space

Namespace (TypeScript type).
Type
type Space = 'html' | 'svg'

Types

This package is fully typed with TypeScript. It exports the additional types Optionsapi-options and Spaceapi-space.

Compatibility

Projects maintained by the unified collective are compatible with maintained versions of Node.js.
When we cut a new major release, we drop support for unmaintained versions of Node. This means we try to keep the current release line, hast-util-to-parse5@^8, compatible with Node.js 16.

Security

Use of hast-util-to-parse5 can open you up to a cross-site scripting (XSS)xss attack if the hast tree is unsafe.

Related

— transform from Parse5’s AST to hast
— transform hast to nlcst
— transform hast to mdast
— transform hast to xast
— transform mdast to hast
— transform mdast to nlcst

Contribute

See contributing.mdcontributing in syntax-tree/.githubhealth for ways to get started. See support.mdsupport for ways to get help.
This project has a code of conductcoc. By interacting with this repository, organization, or community you agree to abide by its terms.

License

MITlicense © Titus Wormerauthor