Package Exports
- esast-util-from-estree
- esast-util-from-estree/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (esast-util-from-estree) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
esast-util-from-estree
esast utility to transform from estree.
This is often an optional transform: estrees can be used in most places
where esast can be used, and vice versa.
This makes sure nodes are plain JSON, adds unist positions, normalizes
.bigint
, and removes certain discouraged fields.
Install
This package is ESM only:
Node 12+ is needed to use it and it must be import
ed instead of require
d.
npm:
npm install esast-util-from-estree
Use
import {parse} from 'acorn'
import {fromEstree} from 'esast-util-from-estree'
// Make acorn support comments and positional info.
const comments = []
const esast = parse(
'export function x() { /* Something senseless */ console.log(/(?:)/ + 1n) }',
{sourceType: 'module', locations: true, onComment: comments}
)
esast.comments = comments
console.log(fromEstree(esast))
Yields:
{
type: 'Program',
body: [
{
type: 'ExportNamedDeclaration',
declaration: [Object],
specifiers: [],
source: null,
position: [Object]
}
],
sourceType: 'module',
comments: [
{
type: 'Block',
value: ' Something senseless ',
position: [Object]
}
],
position: {
start: {line: 1, column: 1, offset: 0},
end: {line: 1, column: 75, offset: 74}
}
}
API
This package exports the following identifiers: fromEstree
.
There is no default export.
fromEstree(estree, options?)
Given an estree
returns an esast.
Pass options.dirty: true
to leave discouraged fields in the tree.
Related
Contribute
See contributing.md
in syntax-tree/.github
for ways to get
started.
See support.md
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.