UNPKG

@mysticatea/eslint-plugin

Version:
68 lines (63 loc) 2.15 kB
/** * This was copied from eslint-plugin-vue. * @author Toru Nagashima <https://github.com/mysticatea> */ "use strict" module.exports = { preprocess(code) { return [code] }, postprocess(messages) { const state = { block: { disableAll: false, disableRules: new Set(), }, line: { disableAll: false, disableRules: new Set(), }, } // Filter messages which are in disabled area. return messages[0].filter(message => { if (message.ruleId === "@mysticatea/vue/comment-directive") { const rules = message.message.split(" ") const type = rules.shift() const group = rules.shift() switch (type) { case "--": state[group].disableAll = true break case "++": state[group].disableAll = false break case "-": for (const rule of rules) { state[group].disableRules.add(rule) } break case "+": for (const rule of rules) { state[group].disableRules.delete(rule) } break case "clear": state.block.disableAll = false state.block.disableRules.clear() state.line.disableAll = false state.line.disableRules.clear() break // no default } return false } return !( state.block.disableAll || state.line.disableAll || state.block.disableRules.has(message.ruleId) || state.line.disableRules.has(message.ruleId) ) }) }, supportsAutofix: true, }