12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = parser;
- function _parser() {
- const data = require("@babel/parser");
- _parser = function () {
- return data;
- };
- return data;
- }
- function _codeFrame() {
- const data = require("@babel/code-frame");
- _codeFrame = function () {
- return data;
- };
- return data;
- }
- var _missingPluginHelper = require("./util/missing-plugin-helper.js");
- function* parser(pluginPasses, {
- parserOpts,
- highlightCode = true,
- filename = "unknown"
- }, code) {
- try {
- const results = [];
- for (const plugins of pluginPasses) {
- for (const plugin of plugins) {
- const {
- parserOverride
- } = plugin;
- if (parserOverride) {
- const ast = parserOverride(code, parserOpts, _parser().parse);
- if (ast !== undefined) results.push(ast);
- }
- }
- }
- if (results.length === 0) {
- return (0, _parser().parse)(code, parserOpts);
- } else if (results.length === 1) {
- yield* [];
- if (typeof results[0].then === "function") {
- throw new Error(`You appear to be using an async parser plugin, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, you may need to upgrade ` + `your @babel/core version.`);
- }
- return results[0];
- }
- throw new Error("More than one plugin attempted to override parsing.");
- } catch (err) {
- if (err.code === "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED") {
- err.message += "\nConsider renaming the file to '.mjs', or setting sourceType:module " + "or sourceType:unambiguous in your Babel config for this file.";
- }
- const {
- loc,
- missingPlugin
- } = err;
- if (loc) {
- const codeFrame = (0, _codeFrame().codeFrameColumns)(code, {
- start: {
- line: loc.line,
- column: loc.column + 1
- }
- }, {
- highlightCode
- });
- if (missingPlugin) {
- err.message = `${filename}: ` + (0, _missingPluginHelper.default)(missingPlugin[0], loc, codeFrame, filename);
- } else {
- err.message = `${filename}: ${err.message}\n\n` + codeFrame;
- }
- err.code = "BABEL_PARSE_ERROR";
- }
- throw err;
- }
- }
- 0 && 0;
- //# sourceMappingURL=index.js.map
|