tslint-lerna-rules
Version:
TSLint rules for Lerna repos
67 lines • 4.97 kB
JavaScript
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
var Lint = require("tslint");
var ts = require("typescript");
var Test;
(function (Test) {
var program;
Test.RULES_DIRECTORY = 'lib';
Test.FORMATTER_DIRECTORY = 'customFormatters/';
Test.FILE_ENCODING = 'utf8';
function runRule(opts) {
var configuration = {
extends: [],
jsRules: new Map(),
linterOptions: {},
rules: new Map(),
rulesDirectory: []
};
if (Array.isArray(opts.userOptions) && opts.userOptions.length > 0) {
configuration.rules.set(opts.ruleName, {
ruleName: opts.ruleName,
ruleArguments: opts.userOptions
});
}
else {
configuration.rules.set(opts.ruleName, {
ruleName: opts.ruleName
});
}
var options = {
formatter: 'json',
fix: false,
rulesDirectory: Test.RULES_DIRECTORY,
formattersDirectory: Test.FORMATTER_DIRECTORY
};
if (opts.useTypeChecker) {
var defaultHost_1 = ts.createCompilerHost({});
program = ts.createProgram([opts.file.path], {}, __assign({}, defaultHost_1, { getSourceFile: function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var path = args[0], version = args[1];
if (path === opts.file.path) {
return ts.createSourceFile(opts.file.path, opts.file.contents, version);
}
return defaultHost_1.getSourceFile.apply(defaultHost_1, args);
} }));
}
var linter = new Lint.Linter(options, opts.useTypeChecker ? program : undefined);
linter.lint(opts.file.path, opts.file.contents, configuration);
return linter.getResult();
}
Test.runRule = runRule;
})(Test = exports.Test || (exports.Test = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSw2QkFBK0I7QUFDL0IsK0JBQWlDO0FBS2pDLElBQWMsSUFBSSxDQW1HakI7QUFuR0QsV0FBYyxJQUFJO0lBRWQsSUFBSSxPQUFtQixDQUFDO0lBTWIsb0JBQWUsR0FBVyxLQUFLLENBQUM7SUFLaEMsd0JBQW1CLEdBQVcsbUJBQW1CLENBQUM7SUFLbEQsa0JBQWEsR0FBVyxNQUFNLENBQUM7SUE4QjFDLFNBQWdCLE9BQU8sQ0FBQyxJQUFvQjtRQUN4QyxJQUFNLGFBQWEsR0FBMEM7WUFDekQsT0FBTyxFQUFFLEVBQUU7WUFDWCxPQUFPLEVBQUUsSUFBSSxHQUFHLEVBQWtDO1lBQ2xELGFBQWEsRUFBRSxFQUFFO1lBQ2pCLEtBQUssRUFBRSxJQUFJLEdBQUcsRUFBa0M7WUFDaEQsY0FBYyxFQUFFLEVBQUU7U0FDckIsQ0FBQztRQUVGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBRWhFLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ25DLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXO2FBQ2xDLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDSCxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNuQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7YUFDMUIsQ0FBQyxDQUFDO1NBQ047UUFFRCxJQUFNLE9BQU8sR0FBeUI7WUFDbEMsU0FBUyxFQUFFLE1BQU07WUFDakIsR0FBRyxFQUFFLEtBQUs7WUFDVixjQUFjLEVBQUUsS0FBQSxlQUFlO1lBQy9CLG1CQUFtQixFQUFFLEtBQUEsbUJBQW1CO1NBQzNDLENBQUM7UUFFRixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsSUFBTSxhQUFXLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRTlDLE9BQU8sR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLGVBQzFDLGFBQVcsSUFDZCxhQUFhLEVBQWI7b0JBQWMsY0FBTzt5QkFBUCxVQUFPLEVBQVAscUJBQU8sRUFBUCxJQUFPO3dCQUFQLHlCQUFPOztvQkFDWixJQUFBLGNBQUksRUFBRSxpQkFBTyxDQUFTO29CQUU3QixJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTt3QkFDM0IsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUE7cUJBQ3hFO29CQUVELE9BQU8sYUFBVyxDQUFDLGFBQWEsT0FBekIsYUFBVyxFQUFrQixJQUFJLEVBQUU7Z0JBQzVDLENBQUMsSUFDRCxDQUFDO1NBQ047UUFFRCxJQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbkYsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUUvRCxPQUFPLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBbERlLFlBQU8sVUFrRHRCLENBQUE7QUFDTCxDQUFDLEVBbkdhLElBQUksR0FBSixZQUFJLEtBQUosWUFBSSxRQW1HakIifQ==
;