Avoid invoking Micromark parser when no Micromark-based rules are in effect.

This commit is contained in:
Yury Puzynya 2025-04-14 03:05:07 +00:00 committed by David Anson
parent 00fef38119
commit 759c31760e

View file

@ -461,12 +461,14 @@ function lintContent(
const needMarkdownItTokens = enabledRuleList.some( const needMarkdownItTokens = enabledRuleList.some(
(rule) => (rule.parser === "markdownit") || (rule.parser === undefined) (rule) => (rule.parser === "markdownit") || (rule.parser === undefined)
); );
const needMicromarkTokens = enabledRuleList.some(
(rule) => (rule.parser === "micromark")
);
const customRulesPresent = (ruleList.length !== rules.length); const customRulesPresent = (ruleList.length !== rules.length);
// Parse content into parser tokens // Parse content into parser tokens
const micromarkTokens = micromarkParse( const micromarkTokens = needMicromarkTokens ?
content, micromarkParse(content, { "freezeTokens": customRulesPresent }) :
{ "freezeTokens": customRulesPresent } [];
);
// Hide the content of HTML comments from rules // Hide the content of HTML comments from rules
const preClearedContent = content; const preClearedContent = content;
content = helpers.clearHtmlCommentText(content); content = helpers.clearHtmlCommentText(content);