UNPKG

@textlint/kernel

Version:
56 lines 2.72 kB
// LICENSE : MIT "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const textlint_core_task_1 = __importDefault(require("./textlint-core-task")); const rule_severity_1 = require("../shared/rule-severity"); const TextlintFilterRuleContextImpl_1 = require("../context/TextlintFilterRuleContextImpl"); const TextlintRuleContextImpl_1 = require("../context/TextlintRuleContextImpl"); const debug_1 = __importDefault(require("debug")); const debug = (0, debug_1.default)("textlint:TextLintCoreTask"); class TextLintCoreTask extends textlint_core_task_1.default { constructor({ config, configBaseDir, fixableRuleDescriptor, filterRuleDescriptors, sourceCode }) { super(); this.config = config; this.configBaseDir = configBaseDir; this.fixableRuleDescriptor = fixableRuleDescriptor; this.filterRuleDescriptors = filterRuleDescriptors; this.sourceCode = sourceCode; this._setupRules(); } start() { this.startTraverser(this.sourceCode); } _setupRules() { // rule const sourceCode = this.sourceCode; const report = this.createReporter(sourceCode); const ignoreReport = this.createShouldIgnore(); // setup "rules" field by using a single fixerRule debug("fixerRule", this.fixableRuleDescriptor); const ruleContext = new TextlintRuleContextImpl_1.TextlintRuleContextImpl({ ruleId: this.fixableRuleDescriptor.id, severityLevel: (0, rule_severity_1.getSeverity)(this.fixableRuleDescriptor.normalizedOptions), sourceCode, report, configBaseDir: this.configBaseDir }); this.tryToAddListenRule(this.fixableRuleDescriptor.fixer, ruleContext, this.fixableRuleDescriptor.normalizedOptions); // setup "filters" field debug("filterRules", this.filterRuleDescriptors); this.filterRuleDescriptors.descriptors.forEach((filterRuleDescriptor) => { const ruleContext = new TextlintFilterRuleContextImpl_1.TextlintFilterRuleContextImpl({ ruleId: filterRuleDescriptor.id, severityLevel: (0, rule_severity_1.getSeverity)(filterRuleDescriptor.normalizedOptions), sourceCode, ignoreReport, configBaseDir: this.configBaseDir }); this.tryToAddListenRule(filterRuleDescriptor.filter, ruleContext, filterRuleDescriptor.normalizedOptions); }); } } exports.default = TextLintCoreTask; //# sourceMappingURL=fixer-task.js.map