UNPKG

@perfective/eslint-config

Version:
26 lines 576 B
import { hasNodeModule } from "./node.js"; export function optionalRule(rule, config) { const plugin = pluginOfRule(rule); if (plugin === null) { return {}; } if (hasEslintPlugin(plugin)) { return { [rule]: config }; } return {}; } export function hasEslintPlugin(plugin) { if (plugin.startsWith('@')) { return hasNodeModule(`${plugin}/eslint-plugin`); } return hasNodeModule(`eslint-plugin-${plugin}`); } function pluginOfRule(rule) { const parts = rule.split('/'); if (parts.length > 1) { return parts[0]; } return null; }