UNPKG

eslint-plugin-import-sorting

Version:

ESLint plugin to group and sort imports by module, à la Python isort

39 lines (38 loc) 1.59 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const getEslintDisabledRules = require("./get-eslint-disabled-rules.cjs"); function getEslintDisabledLines({ ruleName, sourceCode }) { let returnValue = []; let lineRulePermanentlyDisabled = void 0; for (let comment of sourceCode.getAllComments()) { let eslintDisabledRules = getEslintDisabledRules.getEslintDisabledRules(comment.value); let isRuleDisabled = (eslintDisabledRules == null ? void 0 : eslintDisabledRules.rules) === "all" || (eslintDisabledRules == null ? void 0 : eslintDisabledRules.rules.includes(ruleName)); if (!isRuleDisabled) continue; switch (eslintDisabledRules == null ? void 0 : eslintDisabledRules.eslintDisableDirective) { case "eslint-disable-next-line": returnValue.push(comment.loc.end.line + 1); continue; case "eslint-disable-line": returnValue.push(comment.loc.start.line); continue; case "eslint-disable": lineRulePermanentlyDisabled ?? (lineRulePermanentlyDisabled = comment.loc.start.line); break; case "eslint-enable": if (!lineRulePermanentlyDisabled) continue; returnValue.push( ...createArrayFromTo(lineRulePermanentlyDisabled + 1, comment.loc.start.line) ); lineRulePermanentlyDisabled = void 0; break; } } return returnValue; } let createArrayFromTo = (i, index) => Array.from({ length: index - i + 1 }, (_, item) => i + item); exports.getEslintDisabledLines = getEslintDisabledLines;