52 lines
1.5 KiB
Plaintext
52 lines
1.5 KiB
Plaintext
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getInstalledParserId = exports.resolveParser = void 0;
|
|
const espree_1 = require("./espree");
|
|
const require_user_1 = require("./require-user");
|
|
function resolveParser() {
|
|
const modules = [
|
|
"@typescript-eslint/parser",
|
|
"@babel/eslint-parser",
|
|
"espree",
|
|
];
|
|
for (const id of modules) {
|
|
const parser = toParserForESLint((0, require_user_1.requireUserLocal)(id));
|
|
if (!parser) {
|
|
continue;
|
|
}
|
|
return parser;
|
|
}
|
|
try {
|
|
return toParserForESLint(require("@typescript-eslint/parser"));
|
|
}
|
|
catch (_a) {
|
|
}
|
|
return toParserForESLint((0, espree_1.getEspree)());
|
|
}
|
|
exports.resolveParser = resolveParser;
|
|
function getInstalledParserId() {
|
|
const modules = ["@typescript-eslint/parser", "@babel/eslint-parser"];
|
|
return modules.find(require_user_1.requireUserLocal);
|
|
}
|
|
exports.getInstalledParserId = getInstalledParserId;
|
|
function toParserForESLint(mod) {
|
|
for (const m of [mod, mod && mod.default]) {
|
|
if (!m) {
|
|
continue;
|
|
}
|
|
if (typeof m.parseForESLint === "function") {
|
|
return m;
|
|
}
|
|
if (typeof m.parse === "function") {
|
|
return {
|
|
parseForESLint(...args) {
|
|
return {
|
|
ast: m.parse(...args),
|
|
};
|
|
},
|
|
};
|
|
}
|
|
}
|
|
return null;
|
|
}
|