rehype-recma
v1.0.0
Published
recma plugin to transform HTML (hast) to JS (estree)
Downloads
1,283,431
Readme
rehype-recma
rehype plugin to transform HTML to JS.
Contents
What is this?
This package is a unified (rehype) plugin that can turn HTML into JavaScript.
When should I use this?
Use this when you want to integrate static HTML into some JavaScript application.
If you don’t use plugins and access syntax trees manually,
you can directly use hast-util-to-estree
,
which is used inside this plugin.
Install
This package is ESM only. In Node.js (version 16+), install with npm:
npm install rehype-recma
In Deno with esm.sh
:
import rehypeRecma from 'https://esm.sh/rehype-recma@1'
In browsers with esm.sh
:
<script type="module">
import rehypeRecma from 'https://esm.sh/rehype-recma@1?bundle'
</script>
Use
Say we have the following module example.js
:
import recmaJsx from 'recma-jsx'
import recmaStringify from 'recma-stringify'
import rehypeParse from 'rehype-parse'
import rehypeRecma from 'rehype-recma'
import {unified} from 'unified'
const file = await unified()
.use(rehypeParse, {fragment: true})
.use(rehypeRecma)
.use(recmaJsx)
.use(recmaStringify)
.process('<p>Hi!<h1>Hello!')
console.log(String(file))
…running that with node example.js
yields:
<><p>{"Hi!"}</p><h1>{"Hello!"}</h1></>;
API
This package exports no identifiers.
The default export is rehypeRecma
.
unified().use(rehypeRecma[, options])
Plugin to transform HTML (hast) to JS (estree).
Parameters
options
(Options
, optional) — configuration
Returns
Transform (Transformer
).
Options
Configuration (TypeScript type).
Same as Options
from hast-util-to-estree
.
Types
This package is fully typed with TypeScript.
It exports the additional type Options
.
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,
rehype-recma@1
,
compatible with Node.js 16.
Security
As recma works on JS and evaluating JS is unsafe, use of recma can also be unsafe. Do not evaluate unsafe code.
Contribute
See § Contribute on our site for ways to get started. See § Support for ways to get help.
This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.