strict-tslint-config
Version:
An opinionated TSLint configuration preset. Works best together with strict TypeScript settings and Prettier.
29 lines (28 loc) • 1.03 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const common_tags_1 = require("common-tags");
const json_diff_1 = require("json-diff");
const colorize_1 = require("json-diff/lib/colorize");
function renderRuleDiff(ruleName, currentRules, nextRules) {
const diff = json_diff_1.diff({ [ruleName]: currentRules[ruleName] }, { [ruleName]: nextRules[ruleName] });
if (!diff) {
return;
}
return common_tags_1.codeBlock `
\`\`\`diff
${colorize_1.colorize(diff, { color: false }).trim()}
\`\`\`
`;
}
function renderRule(ruleName, currentRules, nextRules, rationales = []) {
const diff = renderRuleDiff(ruleName, currentRules, nextRules);
if (!diff) {
return;
}
const link = `[${ruleName}](https://palantir.github.io/tslint/rules/${ruleName}/)`;
const body = rationales
? rationales.map(rationale => `- ${rationale}`).join('\n')
: '';
return `#### ${link}\n\n${body && `${body}\n\n`}${diff}`;
}
exports.renderRule = renderRule;
;