UNPKG

@elsikora/eslint-config

Version:

ESLint configuration vision of ElsiKora

24 lines (21 loc) 1.16 kB
import { applyPluginRuleDocumentationUrls } from './apply-plugin-rule-documentation-urls.utility.js'; /** * Returns a cached decorated plugin while preserving plugin object identity across config blocks. * @param {TRuleDocumentationPluginCache} pluginCache - Cache scoped to one config formatting pass * @param {ESLint.Plugin} plugin - Original plugin object * @param {string} pluginName - Final plugin name from the flat config * @returns {ESLint.Plugin} Cached plugin with decorated rule metadata */ function getPluginWithRuleDocumentationUrls(pluginCache, plugin, pluginName) { const cacheByPluginName = pluginCache.get(pluginName) ?? new WeakMap(); const cachedPlugin = cacheByPluginName.get(plugin); if (cachedPlugin) { return cachedPlugin; } const pluginWithDocumentationUrls = applyPluginRuleDocumentationUrls(plugin, pluginName); cacheByPluginName.set(plugin, pluginWithDocumentationUrls); pluginCache.set(pluginName, cacheByPluginName); return pluginWithDocumentationUrls; } export { getPluginWithRuleDocumentationUrls }; //# sourceMappingURL=get-plugin-with-rule-documentation-urls.utility.js.map