UNPKG

eslint-plugin-logical-properties

Version:
23 lines (22 loc) 936 B
import { prefixedRules as rules } from '../rules/index.js'; import { defaultFunctions, defaultJsxAttributes, defaultKeyframes, rulePrefix, } from '../constants.js'; import plugin from '../plugin.js'; const getOptional = (input, fallback) => ((input?.length ?? 0) > 0 ? input : fallback); export const createLogicalPropertiesConfig = (severity = 'error', options = {}) => { const functions = getOptional(options.functions, defaultFunctions); const jsxAttributes = getOptional(options.jsxAttributes, defaultJsxAttributes); const keyframes = getOptional(options.keyframes, defaultKeyframes); const configOptions = { functions, jsxAttributes, keyframes, }; const configRules = (Object.fromEntries(Object.keys(rules) .map((name) => [name, [severity, configOptions]]))); return { plugins: { [rulePrefix]: plugin, }, rules: configRules, }; };