UNPKG

1.59 kBJavaScriptView Raw
1"use strict";
2exports.__esModule = true;
3var tslint_1 = require("tslint");
4// tslint:disable-next-line:no-var-requires
5var tslintConfigPrettier = require("..");
6exports.check = function (configFilePaths) {
7 if (configFilePaths.length === 0) {
8 // tslint:disable-next-line:no-console
9 console.log("Usage: tslint-config-prettier-check <pathToConfigFile> ...");
10 return;
11 }
12 configFilePaths.forEach(function (configFilePath) {
13 try {
14 var conflictRules = getConflictRules(configFilePath);
15 if (conflictRules.length) {
16 // tslint:disable-next-line:no-console
17 console.error("Conflict rule(s) detected in " + configFilePath + ":\n" + conflictRules
18 .map(function (conflictRule) { return " " + conflictRule; })
19 .join("\n"));
20 process.exitCode = 1;
21 }
22 }
23 catch (error) {
24 // tslint:disable-next-line:no-console
25 console.error(error.message);
26 process.exitCode = 1;
27 }
28 });
29};
30function getConflictRules(configFilePath) {
31 var _a = tslint_1.Linter.loadConfigurationFromPath(configFilePath), rules = _a.rules, jsRules = _a.jsRules;
32 return Object.keys(tslintConfigPrettier.rules).filter(function (conflictRuleName) {
33 return isConflict(conflictRuleName, rules) ||
34 isConflict(conflictRuleName, jsRules);
35 });
36}
37function isConflict(conflictRuleName, rules) {
38 return (rules.has(conflictRuleName) &&
39 rules.get(conflictRuleName).ruleSeverity !== "off");
40}