mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
PR-URL: https://github.com/nodejs/node/pull/39924 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Bradley Farias <bradley.meck@gmail.com> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
30 lines
795 B
JavaScript
30 lines
795 B
JavaScript
const [major, minor] = process.versions.node.split(".").map(Number);
|
|
|
|
if (major < 12 || major === 12 && minor < 3) {
|
|
throw new Error("@babel/eslint-parser/experimental-worker requires Node.js >= 12.3.0");
|
|
}
|
|
|
|
const {
|
|
normalizeESLintConfig
|
|
} = require("./configuration.cjs");
|
|
|
|
const analyzeScope = require("./analyze-scope.cjs");
|
|
|
|
const baseParse = require("./parse.cjs");
|
|
|
|
const {
|
|
WorkerClient
|
|
} = require("./client.cjs");
|
|
|
|
const client = new WorkerClient();
|
|
|
|
exports.parseForESLint = function (code, options = {}) {
|
|
const normalizedOptions = normalizeESLintConfig(options);
|
|
const ast = baseParse(code, normalizedOptions, client);
|
|
const scopeManager = analyzeScope(ast, normalizedOptions, client);
|
|
return {
|
|
ast,
|
|
scopeManager,
|
|
visitorKeys: client.getVisitorKeys()
|
|
};
|
|
}; |