159 lines
5.3 KiB
Plaintext
159 lines
5.3 KiB
Plaintext
|
'use strict';
|
||
|
|
||
|
const eslint = require('eslint');
|
||
|
const semver = require('semver');
|
||
|
const convertConfig = require('./shared/eslint-compat-utils.9d6db786.cjs');
|
||
|
const getUnsupported = require('./shared/eslint-compat-utils.cb53cf36.cjs');
|
||
|
require('module');
|
||
|
|
||
|
function _interopNamespaceCompat(e) {
|
||
|
if (e && typeof e === 'object' && 'default' in e) return e;
|
||
|
const n = Object.create(null);
|
||
|
if (e) {
|
||
|
for (const k in e) {
|
||
|
n[k] = e[k];
|
||
|
}
|
||
|
}
|
||
|
n.default = e;
|
||
|
return n;
|
||
|
}
|
||
|
|
||
|
const eslint__namespace = /*#__PURE__*/_interopNamespaceCompat(eslint);
|
||
|
const semver__namespace = /*#__PURE__*/_interopNamespaceCompat(semver);
|
||
|
|
||
|
var __defProp = Object.defineProperty;
|
||
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
||
|
var __publicField = (obj, key, value) => {
|
||
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
||
|
return value;
|
||
|
};
|
||
|
let cacheESLint, cacheLegacyESLint;
|
||
|
function getESLint() {
|
||
|
return cacheESLint != null ? cacheESLint : cacheESLint = getESLintInternal();
|
||
|
function getESLintInternal() {
|
||
|
if (semver__namespace.gte(eslint__namespace.Linter.version, "9.0.0-0")) {
|
||
|
return eslint__namespace.ESLint;
|
||
|
}
|
||
|
return getUnsupported.getUnsupported().FlatESLint || (eslint__namespace.ESLint ? getESLintClassFromLegacyESLint(eslint__namespace.ESLint) : getESLintClassFromLegacyESLint(getLegacyESLintClassFromCLIEngine()));
|
||
|
}
|
||
|
}
|
||
|
function getLegacyESLint() {
|
||
|
return cacheLegacyESLint != null ? cacheLegacyESLint : cacheLegacyESLint = getLegacyESLintInternal();
|
||
|
function getLegacyESLintInternal() {
|
||
|
return getUnsupported.getUnsupported().LegacyESLint || eslint__namespace.ESLint || getLegacyESLintClassFromCLIEngine();
|
||
|
}
|
||
|
}
|
||
|
function getESLintClassFromLegacyESLint(legacyESLintClass) {
|
||
|
return class ESLintFromLegacyESLint extends legacyESLintClass {
|
||
|
static get version() {
|
||
|
return legacyESLintClass.version;
|
||
|
}
|
||
|
constructor(options) {
|
||
|
super(adjustOptions(options));
|
||
|
}
|
||
|
};
|
||
|
function adjustOptions(options) {
|
||
|
const {
|
||
|
baseConfig: originalBaseConfig,
|
||
|
overrideConfig: originalOverrideConfig,
|
||
|
overrideConfigFile,
|
||
|
...newOptions
|
||
|
} = options || {};
|
||
|
if (originalBaseConfig) {
|
||
|
const [baseConfig, plugins] = convertConfig$1(originalBaseConfig);
|
||
|
newOptions.baseConfig = baseConfig;
|
||
|
if (plugins) {
|
||
|
newOptions.plugins = plugins;
|
||
|
}
|
||
|
}
|
||
|
if (originalOverrideConfig) {
|
||
|
const [overrideConfig, plugins] = convertConfig$1(originalOverrideConfig);
|
||
|
newOptions.overrideConfig = overrideConfig;
|
||
|
if (plugins) {
|
||
|
newOptions.plugins = plugins;
|
||
|
}
|
||
|
}
|
||
|
if (overrideConfigFile) {
|
||
|
if (overrideConfigFile === true) {
|
||
|
newOptions.useEslintrc = false;
|
||
|
} else {
|
||
|
newOptions.overrideConfigFile = overrideConfigFile;
|
||
|
}
|
||
|
}
|
||
|
return newOptions;
|
||
|
}
|
||
|
function convertConfig$1(config) {
|
||
|
const { plugins, ...otherConfig } = config;
|
||
|
delete otherConfig.files;
|
||
|
if (typeof otherConfig.processor !== "string")
|
||
|
delete otherConfig.processor;
|
||
|
const newConfig = convertConfig.convertConfigToRc(otherConfig);
|
||
|
if (plugins) {
|
||
|
newConfig.plugins = Object.keys(plugins);
|
||
|
}
|
||
|
return [newConfig, plugins];
|
||
|
}
|
||
|
}
|
||
|
function getLegacyESLintClassFromCLIEngine() {
|
||
|
const CLIEngine = eslint__namespace.CLIEngine;
|
||
|
class LegacyESLintFromCLIEngine {
|
||
|
constructor(options) {
|
||
|
__publicField(this, "engine");
|
||
|
const {
|
||
|
overrideConfig: { plugins, globals, rules, ...overrideConfig } = {
|
||
|
plugins: [],
|
||
|
globals: {},
|
||
|
rules: {}
|
||
|
},
|
||
|
fix,
|
||
|
reportUnusedDisableDirectives,
|
||
|
plugins: pluginsMap,
|
||
|
...otherOptions
|
||
|
} = options || {};
|
||
|
const cliEngineOptions = {
|
||
|
fix: Boolean(fix),
|
||
|
reportUnusedDisableDirectives: reportUnusedDisableDirectives ? reportUnusedDisableDirectives !== "off" : void 0,
|
||
|
...otherOptions,
|
||
|
globals: globals ? Object.keys(globals).filter((n) => globals[n]) : void 0,
|
||
|
plugins: plugins || [],
|
||
|
rules: rules ? Object.fromEntries(
|
||
|
Object.entries(rules).flatMap(
|
||
|
([ruleId, opt]) => opt ? [[ruleId, opt]] : []
|
||
|
)
|
||
|
) : void 0,
|
||
|
...overrideConfig
|
||
|
};
|
||
|
this.engine = new CLIEngine(cliEngineOptions);
|
||
|
for (const [name, plugin] of Object.entries(pluginsMap || {})) {
|
||
|
this.engine.addPlugin(name, plugin);
|
||
|
}
|
||
|
}
|
||
|
static get version() {
|
||
|
return CLIEngine.version;
|
||
|
}
|
||
|
// eslint-disable-next-line @typescript-eslint/require-await -- ignore
|
||
|
async lintText(...params) {
|
||
|
var _a;
|
||
|
const result = this.engine.executeOnText(params[0], (_a = params[1]) == null ? void 0 : _a.filePath);
|
||
|
return result.results;
|
||
|
}
|
||
|
// eslint-disable-next-line @typescript-eslint/require-await -- ignore
|
||
|
async lintFiles(...params) {
|
||
|
const result = this.engine.executeOnFiles(
|
||
|
Array.isArray(params[0]) ? params[0] : [params[0]]
|
||
|
);
|
||
|
return result.results;
|
||
|
}
|
||
|
// eslint-disable-next-line @typescript-eslint/require-await -- ignore
|
||
|
static async outputFixes(...params) {
|
||
|
return CLIEngine.outputFixes({
|
||
|
results: params[0]
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
return LegacyESLintFromCLIEngine;
|
||
|
}
|
||
|
|
||
|
exports.getESLint = getESLint;
|
||
|
exports.getLegacyESLint = getLegacyESLint;
|