parse.cjs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. "use strict";
  2. const semver = require("semver");
  3. const convert = require("./convert/index.cjs");
  4. const babelParser = require((((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, {
  5. paths: [b]
  6. }, M = require("module")) => {
  7. let f = M._findPath(r, M._nodeModulePaths(b).concat(b));
  8. if (f) return f;
  9. f = new Error(`Cannot resolve module '${r}'`);
  10. f.code = "MODULE_NOT_FOUND";
  11. throw f;
  12. })("@babel/parser", {
  13. paths: [require.resolve("@babel/core/package.json")]
  14. }));
  15. let isRunningMinSupportedCoreVersion = null;
  16. module.exports = function parse(code, options, client) {
  17. let minSupportedCoreVersion = ">=7.2.0";
  18. ;
  19. if (typeof isRunningMinSupportedCoreVersion !== "boolean") {
  20. isRunningMinSupportedCoreVersion = semver.satisfies(client.getVersion(), minSupportedCoreVersion);
  21. }
  22. if (!isRunningMinSupportedCoreVersion) {
  23. throw new Error(`@babel/eslint-parser@${"7.22.10"} does not support @babel/core@${client.getVersion()}. Please upgrade to @babel/core@${minSupportedCoreVersion}.`);
  24. }
  25. const {
  26. ast,
  27. parserOptions
  28. } = client.maybeParse(code, options);
  29. if (ast) return ast;
  30. try {
  31. return convert.ast(babelParser.parse(code, parserOptions), code, client.getTokLabels(), client.getVisitorKeys());
  32. } catch (err) {
  33. throw convert.error(err);
  34. }
  35. };
  36. //# sourceMappingURL=parse.cjs.map