diff --git a/demo/markdownlint-browser.js b/demo/markdownlint-browser.js index 2fca4046..22b77f19 100644 --- a/demo/markdownlint-browser.js +++ b/demo/markdownlint-browser.js @@ -2414,6 +2414,8 @@ function getEnabledRulesPerLineNumber(ruleList, lines, frontMatterLines, noInlin * Lints a string containing Markdown content. * * @param {Rule[]} ruleList List of rules. + * @param {Object.} aliasToRuleNames Map of alias to rule + * names. * @param {string} name Identifier for the content. * @param {string} content Markdown content. * @param {Object} md Instance of markdown-it. @@ -2426,7 +2428,7 @@ function getEnabledRulesPerLineNumber(ruleList, lines, frontMatterLines, noInlin * @param {Function} callback Callback (err, result) function. * @returns {void} */ -function lintContent(ruleList, name, content, md, config, configParsers, frontMatter, handleRuleFailures, noInlineConfig, resultVersion, callback) { +function lintContent(ruleList, aliasToRuleNames, name, content, md, config, configParsers, frontMatter, handleRuleFailures, noInlineConfig, resultVersion, callback) { // Remove UTF-8 byte order marker (if present) content = content.replace(/^\uFEFF/, ""); // Remove front matter @@ -2434,7 +2436,7 @@ function lintContent(ruleList, name, content, md, config, configParsers, frontMa var frontMatterLines = removeFrontMatterResult.frontMatterLines; content = removeFrontMatterResult.content; // Get enabled rules per line (with HTML comments present) - var _getEnabledRulesPerLi = getEnabledRulesPerLineNumber(ruleList, content.split(helpers.newLineRe), frontMatterLines, noInlineConfig, config, configParsers, mapAliasToRuleNames(ruleList)), + var _getEnabledRulesPerLi = getEnabledRulesPerLineNumber(ruleList, content.split(helpers.newLineRe), frontMatterLines, noInlineConfig, config, configParsers, aliasToRuleNames), effectiveConfig = _getEnabledRulesPerLi.effectiveConfig, enabledRulesPerLineNumber = _getEnabledRulesPerLi.enabledRulesPerLineNumber; // Parse content into parser tokens @@ -2676,6 +2678,8 @@ function lintContent(ruleList, name, content, md, config, configParsers, frontMa * Lints a file containing Markdown content. * * @param {Rule[]} ruleList List of rules. + * @param {Object.} aliasToRuleNames Map of alias to rule + * names. * @param {string} file Path of file to lint. * @param {Object} md Instance of markdown-it. * @param {Configuration} config Configuration object. @@ -2689,13 +2693,13 @@ function lintContent(ruleList, name, content, md, config, configParsers, frontMa * @param {Function} callback Callback (err, result) function. * @returns {void} */ -function lintFile(ruleList, file, md, config, configParsers, frontMatter, handleRuleFailures, noInlineConfig, resultVersion, fs, synchronous, callback) { +function lintFile(ruleList, aliasToRuleNames, file, md, config, configParsers, frontMatter, handleRuleFailures, noInlineConfig, resultVersion, fs, synchronous, callback) { // eslint-disable-next-line jsdoc/require-jsdoc function lintContentWrapper(err, content) { if (err) { return callback(err); } - return lintContent(ruleList, file, content, md, config, configParsers, frontMatter, handleRuleFailures, noInlineConfig, resultVersion, callback); + return lintContent(ruleList, aliasToRuleNames, file, content, md, config, configParsers, frontMatter, handleRuleFailures, noInlineConfig, resultVersion, callback); } // Make a/synchronous call to read file if (synchronous) { @@ -2758,6 +2762,7 @@ function lintInput(options, synchronous, callback) { _iterator24.f(); } var fs = options.fs || __webpack_require__(/*! node:fs */ "?d0ee"); + var aliasToRuleNames = mapAliasToRuleNames(ruleList); var results = newResults(ruleList); var done = false; var concurrency = 0; @@ -2783,11 +2788,11 @@ function lintInput(options, synchronous, callback) { // Lint next file concurrency++; currentItem = files.shift(); - lintFile(ruleList, currentItem, md, config, configParsers, frontMatter, handleRuleFailures, noInlineConfig, resultVersion, fs, synchronous, lintWorkerCallback); + lintFile(ruleList, aliasToRuleNames, currentItem, md, config, configParsers, frontMatter, handleRuleFailures, noInlineConfig, resultVersion, fs, synchronous, lintWorkerCallback); } else if (currentItem = stringsKeys.shift()) { // Lint next string concurrency++; - lintContent(ruleList, currentItem, strings[currentItem] || "", md, config, configParsers, frontMatter, handleRuleFailures, noInlineConfig, resultVersion, lintWorkerCallback); + lintContent(ruleList, aliasToRuleNames, currentItem, strings[currentItem] || "", md, config, configParsers, frontMatter, handleRuleFailures, noInlineConfig, resultVersion, lintWorkerCallback); } else if (concurrency === 0) { // Finish done = true; diff --git a/lib/markdownlint.js b/lib/markdownlint.js index 9ad4367a..8fe2dded 100644 --- a/lib/markdownlint.js +++ b/lib/markdownlint.js @@ -509,6 +509,8 @@ function getEnabledRulesPerLineNumber( * Lints a string containing Markdown content. * * @param {Rule[]} ruleList List of rules. + * @param {Object.} aliasToRuleNames Map of alias to rule + * names. * @param {string} name Identifier for the content. * @param {string} content Markdown content. * @param {Object} md Instance of markdown-it. @@ -523,6 +525,7 @@ function getEnabledRulesPerLineNumber( */ function lintContent( ruleList, + aliasToRuleNames, name, content, md, @@ -548,7 +551,7 @@ function lintContent( noInlineConfig, config, configParsers, - mapAliasToRuleNames(ruleList) + aliasToRuleNames ); // Parse content into parser tokens const markdownitTokens = md.parse(content, {}); @@ -792,6 +795,8 @@ function lintContent( * Lints a file containing Markdown content. * * @param {Rule[]} ruleList List of rules. + * @param {Object.} aliasToRuleNames Map of alias to rule + * names. * @param {string} file Path of file to lint. * @param {Object} md Instance of markdown-it. * @param {Configuration} config Configuration object. @@ -807,6 +812,7 @@ function lintContent( */ function lintFile( ruleList, + aliasToRuleNames, file, md, config, @@ -825,6 +831,7 @@ function lintFile( } return lintContent( ruleList, + aliasToRuleNames, file, content, md, @@ -887,6 +894,7 @@ function lintInput(options, synchronous, callback) { md.use(...plugin); } const fs = options.fs || require("node:fs"); + const aliasToRuleNames = mapAliasToRuleNames(ruleList); const results = newResults(ruleList); let done = false; let concurrency = 0; @@ -914,6 +922,7 @@ function lintInput(options, synchronous, callback) { currentItem = files.shift(); lintFile( ruleList, + aliasToRuleNames, currentItem, md, config, @@ -931,6 +940,7 @@ function lintInput(options, synchronous, callback) { concurrency++; lintContent( ruleList, + aliasToRuleNames, currentItem, strings[currentItem] || "", md,