UNPKG

eslint-plugin-perfectionist

Version:

ESLint plugin for sorting various data such as objects, imports, types, enums, JSX props, etc.

42 lines (41 loc) 1.2 kB
'use strict' Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }) let eslintDisableDirectives = [ 'eslint-disable', 'eslint-enable', 'eslint-disable-line', 'eslint-disable-next-line', ] let getEslintDisabledRules = comment => { for (let eslintDisableDirective of eslintDisableDirectives) { let disabledRules = getEslintDisabledRulesByType( comment, eslintDisableDirective, ) if (disabledRules) { return { eslintDisableDirective, rules: disabledRules, } } } return null } let getEslintDisabledRulesByType = (comment, eslintDisableDirective) => { let trimmedCommentValue = comment.trim() if (eslintDisableDirective === trimmedCommentValue) { return 'all' } let regexp = new RegExp(`^${eslintDisableDirective} ((?:.|\\s)*)$`) let disabledRulesMatch = trimmedCommentValue.match(regexp) let disableRulesMatchValue = disabledRulesMatch == null ? void 0 : disabledRulesMatch[1] if (!disableRulesMatchValue) { return null } return disableRulesMatchValue .split(',') .map(rule => rule.trim()) .filter(rule => !!rule) } exports.getEslintDisabledRules = getEslintDisabledRules