@elsikora/eslint-config
Version:
ESLint configuration vision of ElsiKora
26 lines (23 loc) • 911 B
JavaScript
import { applyRuleDocumentationUrl } from './apply-rule-documentation-url.utility.js';
/**
* Applies ElsiKora documentation URLs to every rule in a plugin.
* @param {ESLint.Plugin} plugin - ESLint plugin to decorate
* @param {string} pluginName - Final plugin name from the flat config
* @returns {ESLint.Plugin} Plugin with decorated rule metadata
*/
function applyPluginRuleDocumentationUrls(plugin, pluginName) {
if (!plugin.rules || !pluginName.startsWith("@elsikora/")) {
return plugin;
}
const pluginRules = plugin.rules;
const rules = {};
for (const [ruleName, rule] of Object.entries(pluginRules)) {
rules[ruleName] = applyRuleDocumentationUrl(rule, `${pluginName}/${ruleName}`);
}
return {
...plugin,
rules,
};
}
export { applyPluginRuleDocumentationUrls };
//# sourceMappingURL=apply-plugin-rule-documentation-urls.utility.js.map