eslint-plugin-import-sorting
Version:
ESLint plugin to group and sort imports by module, à la Python isort
32 lines (31 loc) • 1.05 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const ESLINT_DIRECTIVES = [
"eslint-disable",
"eslint-enable",
"eslint-disable-line",
"eslint-disable-next-line"
];
function getEslintDisabledRules(comment) {
for (let eslintDisableDirective of ESLINT_DIRECTIVES) {
let disabledRules = getEslintDisabledRulesByType(comment, eslintDisableDirective);
if (disabledRules) {
return {
eslintDisableDirective,
rules: disabledRules
};
}
}
return void 0;
}
function getEslintDisabledRulesByType(comment, eslintDisableDirective) {
let trimmedCommentValue = comment.trim();
if (eslintDisableDirective === trimmedCommentValue)
return "all";
let regexp = new RegExp(`^${eslintDisableDirective} ((?:.|\\s)*)$`);
let disabledRulesMatch = trimmedCommentValue.match(regexp);
if (!disabledRulesMatch)
return void 0;
return disabledRulesMatch[1].split(",").map((rule) => rule.trim()).filter(Boolean);
}
exports.getEslintDisabledRules = getEslintDisabledRules;