Deprecate MD002/first-heading-h1 in favor of MD041/first-line-h1 (refs #169).

This commit is contained in:
David Anson 2019-03-12 22:23:12 -07:00
parent c71bb4fbd5
commit 0184f9d618
11 changed files with 42 additions and 28 deletions

View file

@ -9,6 +9,8 @@ const markdownIt = require("markdown-it");
const rules = require("./rules");
const shared = require("./shared");
const deprecatedRuleNames = [ "MD002" ];
// Validates the list of rules for structure and reuse
function validateRuleList(ruleList) {
let result = null;
@ -212,16 +214,19 @@ function mapAliasToRuleNames(ruleList) {
// Apply (and normalize) config
function getEffectiveConfig(ruleList, config, aliasToRuleNames) {
const defaultKey = Object.keys(config).filter(function forKey(key) {
return key.toUpperCase() === "DEFAULT";
});
const defaultKey = Object.keys(config).filter(
(key) => key.toUpperCase() === "DEFAULT"
);
const ruleDefault = (defaultKey.length === 0) || !!config[defaultKey[0]];
const effectiveConfig = {};
ruleList.forEach(function forRule(rule) {
ruleList.forEach((rule) => {
const ruleName = rule.names[0].toUpperCase();
effectiveConfig[ruleName] = ruleDefault;
});
Object.keys(config).forEach(function forKey(key) {
deprecatedRuleNames.forEach((ruleName) => {
effectiveConfig[ruleName] = false;
});
Object.keys(config).forEach((key) => {
let value = config[key];
if (value) {
if (!(value instanceof Object)) {
@ -231,7 +236,7 @@ function getEffectiveConfig(ruleList, config, aliasToRuleNames) {
value = false;
}
const keyUpper = key.toUpperCase();
(aliasToRuleNames[keyUpper] || []).forEach(function forRule(ruleName) {
(aliasToRuleNames[keyUpper] || []).forEach((ruleName) => {
effectiveConfig[ruleName] = value;
});
});