Skip to main content

exports

The main export function and availableConfigs, extracted from src/uglier.js.

export default function(options = {}) {
const {
with: includeConfigs = ["lints-js", "lints-jsdoc"],
without: excludeConfigs = [],
options: perConfigOptions = {},
} = options

const configs = []

for(const configName of includeConfigs) {
if(excludeConfigs.includes(configName)) {
continue
}

if(!CONFIGS[configName]) {
throw new Error(
`Unknown config: "${configName}". Available: ${Object.keys(CONFIGS).join(", ")}`
)
}

const configOptions = perConfigOptions[configName] || {}
const config = CONFIGS[configName](configOptions)

configs.push(config)
}

return configs
}

/**
* All available config block names
*
* @type {Array<ConfigName>}
*/
export const availableConfigs =
/** @type {Array<ConfigName>} */ (Object.keys(CONFIGS))