UNPKG

@react-hookz/eslint-config

Version:

eslint configuration files used in @react-hookz projects

44 lines (38 loc) 977 B
/** * Set configs file patters in case config does not have one. * * @param {Linter.Config[]} configs * @param {string[]} files * @return {Linter.Config[]} */ export function setFilesIfUndef(configs, files) { return configs.map(cfg => ({files, ...cfg})); } /** * Collects the list of all rules from the given configs and disables * them all. * * This function is useful for gradual application of config on large * codebases. As eslint not allowing to reduce the list of rules fixing * performed. * * @param {Linter.Config[]} configs * @param {string[]} except * @param {RegExp[]} exceptRx * @return {Linter.RulesRecord} */ export function disableAllRules(configs, except = [], exceptRx = []) { const rules = {}; for (const config of configs) { for (const rule in config.rules ?? {}) { if (except.includes(rule)) { continue; } if (exceptRx.some(rx => rx.test(rule))) { continue; } rules[rule] = 'off'; } } return rules; }