diff options
Diffstat (limited to 'src/compiler/parse/acorn.ts')
-rw-r--r-- | src/compiler/parse/acorn.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/compiler/parse/acorn.ts b/src/compiler/parse/acorn.ts new file mode 100644 index 000000000..f017b6dec --- /dev/null +++ b/src/compiler/parse/acorn.ts @@ -0,0 +1,18 @@ +import { Node } from 'acorn'; +import acorn from 'acorn'; +// @ts-ignore +import jsx from 'acorn-jsx'; + +const acornJsx = acorn.Parser.extend(jsx()); + +export const parse = (source: string): Node => acorn.parse(source, { + sourceType: 'module', + ecmaVersion: 2020, + locations: true +}); + +export const parse_expression_at = (source: string, index: number): Node => acornJsx.parseExpressionAt(source, index, { + sourceType: 'module', + ecmaVersion: 2020, + locations: true +}); |