You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
717 B
29 lines
717 B
2 years ago
|
const {
|
||
|
normalizeESLintConfig
|
||
|
} = require("./configuration.cjs");
|
||
|
|
||
|
const analyzeScope = require("./analyze-scope.cjs");
|
||
|
|
||
|
const baseParse = require("./parse.cjs");
|
||
|
|
||
|
const {
|
||
|
LocalClient,
|
||
|
WorkerClient
|
||
|
} = require("./client.cjs");
|
||
|
|
||
|
const client = new LocalClient();
|
||
|
|
||
|
exports.parse = function (code, options = {}) {
|
||
|
return baseParse(code, normalizeESLintConfig(options), client);
|
||
|
};
|
||
|
|
||
|
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()
|
||
|
};
|
||
|
};
|