UNPKG

@shayanthenerd/eslint-config

Version:

A modern, flexible ESLint configuration for enforcing best practices and maintaining a consistent coding style

26 lines (25 loc) 873 B
import { defaultOptions } from "./defaultOptions.mjs"; import { isEmptyString } from "../../utils/isEmptyString.mjs"; import { enableDetectedConfigs } from "./enableDetectedConfigs.mjs"; import { createDefu } from "defu"; //#region src/helpers/options/mergeWithDefaults.ts const mergeOptions = createDefu((object, key, value) => { if ([ "allowedRelativeFontUnits", "blocksOrder", "macrosOrder", "attributesOrder" ].includes(key.toString())) { object[key] = value; return true; } const isValueTrue = value === true; const isDefaultValueFalse = object[key] === false; return isEmptyString(value) || isValueTrue && !isDefaultValueFalse; }); function mergeWithDefaults(options) { const optionsWithDetectedConfigs = enableDetectedConfigs(options); return mergeOptions(optionsWithDetectedConfigs, defaultOptions); } //#endregion export { mergeWithDefaults };