@fimbul/wotan
Version:
Pluggable TypeScript and JavaScript linter
42 lines • 1.33 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.NodeRuleLoader = void 0;
const tslib_1 = require("tslib");
const ymir_1 = require("@fimbul/ymir");
const debug = require("debug");
const path = require("path");
const inversify_1 = require("inversify");
const log = debug('wotan:ruleLoaderHost');
let NodeRuleLoader = class NodeRuleLoader {
constructor(builtinResolver, resolver) {
this.builtinResolver = builtinResolver;
this.resolver = resolver;
}
loadCoreRule(name) {
name = this.builtinResolver.resolveRule(name);
try {
name = this.resolver.resolve(name);
}
catch {
return;
}
log('Found %s', name);
return this.resolver.require(name).Rule;
}
loadCustomRule(name, directory) {
try {
name = this.resolver.resolve(path.join(directory, name), directory);
}
catch {
return;
}
log('Found %s', name);
return this.resolver.require(name).Rule;
}
};
NodeRuleLoader = tslib_1.__decorate([
inversify_1.injectable(),
tslib_1.__metadata("design:paramtypes", [ymir_1.BuiltinResolver, ymir_1.Resolver])
], NodeRuleLoader);
exports.NodeRuleLoader = NodeRuleLoader;
//# sourceMappingURL=rule-loader-host.js.map
;