@swissquote/eslint-plugin-swissquote
Version:
- Provide a style guide for your JavaScript - Warns on common mistakes in JavaScript - Works with EcmaScript 2015+
34 lines (26 loc) • 818 B
JavaScript
const { Linter } = require("eslint");
function prepareESLint(...args) {
const configuration = {
configType: "flat"
};
const configs = args
.filter(arg => typeof arg !== "object")
.map(
preset => require(`@swissquote/eslint-plugin-swissquote`).configs[preset]
)
.flat();
const overrides = args.find(arg => typeof arg === "object") || null;
if (overrides) {
configs.push(overrides);
}
const linter = new Linter(configuration);
return function lint(text, filename = "foo.js") {
const messages = linter.verify(text.replace(/^\n/, ""), configs, filename);
return {
messages,
warningCount: messages.filter(m => m.severity === 1).length,
errorCount: messages.filter(m => m.severity === 2).length
};
};
}
module.exports = { prepareESLint };