123456789101112131415161718192021222324252627282930313233 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.parse = exports.parser = void 0;
- var tslib_1 = require("tslib");
- var _babel_options_1 = tslib_1.__importDefault(require("./_babel_options"));
- // Prefer the new @babel/parser package, but fall back to babylon if
- // that's what's available.
- exports.parser = (function () {
- try {
- return require("@babel/parser");
- }
- catch (_a) {
- try {
- return require("babylon");
- }
- catch (_b) {
- throw new Error("Install @babel/parser to use the `typescript`, `flow`, or `babel` parsers");
- }
- }
- })();
- // This module is suitable for passing as options.parser when calling
- // recast.parse to process JavaScript code with Babel:
- //
- // const ast = recast.parse(source, {
- // parser: require("recast/parsers/babel")
- // });
- //
- function parse(source, options) {
- var babelOptions = (0, _babel_options_1.default)(options);
- babelOptions.plugins.push("jsx", "flow", "decoratorAutoAccessors");
- return exports.parser.parse(source, babelOptions);
- }
- exports.parse = parse;
|