Files
LearnNode/node-course/node_modules/@eslint/markdown/dist/rules/no-empty-links.js
T
2026-08-06 12:00:39 +10:00

42 lines
1.4 KiB
JavaScript

/**
* @fileoverview Rule to prevent empty links in Markdown.
* @author Nicholas C. Zakas
*/
//-----------------------------------------------------------------------------
// Type Definitions
//-----------------------------------------------------------------------------
/**
* @import { MarkdownRuleDefinition } from "../types.js";
* @typedef {"emptyLink"} NoEmptyLinksMessageIds
* @typedef {[]} NoEmptyLinksOptions
* @typedef {MarkdownRuleDefinition<{ RuleOptions: NoEmptyLinksOptions, MessageIds: NoEmptyLinksMessageIds }>} NoEmptyLinksRuleDefinition
*/
//-----------------------------------------------------------------------------
// Rule Definition
//-----------------------------------------------------------------------------
export default /** @satisfies {NoEmptyLinksRuleDefinition} */ ({
meta: {
type: "problem",
docs: {
recommended: true,
description: "Disallow empty links",
url: "https://github.com/eslint/markdown/blob/main/docs/rules/no-empty-links.md",
},
messages: {
emptyLink: "Unexpected empty link found.",
},
},
create(context) {
return {
link(node) {
if (!node.url || node.url === "#") {
context.report({
loc: node.position,
messageId: "emptyLink",
});
}
},
};
},
});