UNPKG

@ikona/cli

Version:
49 lines (47 loc) 1.76 kB
// src/utils/config.ts import { bundleNRequire } from "bundle-n-require"; import findUp from "escalade/sync"; var defaultConfig = { verbose: false, outputDir: ".ikona", force: false, icons: { optimize: false, inputDir: "icons", spriteOutputDir: "output", hash: false }, illustrations: { inputDir: "illustrations", extensions: ["svg", "png", "jpg", "jpeg", "webp"] }, cwd: process.cwd() }; var configs = [".ts", ".js", ".mts", ".mjs", ".cts", ".cjs"]; var configRegex = new RegExp(`ikona.config(${configs.join("|")})$`); // src/utils/merge-config.ts var mergeConfigs = ({ cliConfig, fileConfig }) => { return { verbose: cliConfig.v ?? cliConfig.verbose ?? fileConfig.verbose ?? defaultConfig.verbose, outputDir: cliConfig["out-dir"] ?? fileConfig.outputDir ?? defaultConfig.outputDir, force: cliConfig.force ?? fileConfig.force ?? defaultConfig.force, icons: { optimize: cliConfig.optimize ?? fileConfig.icons?.optimize ?? defaultConfig.icons.optimize, inputDir: fileConfig.icons?.inputDir ?? defaultConfig.icons.inputDir, // TODO add missing cli config flag spriteOutputDir: fileConfig.icons?.spriteOutputDir ?? defaultConfig.icons.spriteOutputDir, // TODO add missing cli config flag hash: cliConfig.hash ?? fileConfig.icons?.hash ?? defaultConfig.icons.hash }, illustrations: { inputDir: fileConfig.illustrations?.inputDir ?? defaultConfig.illustrations.inputDir, // TODO add missing cli config flag extensions: fileConfig.illustrations?.extensions ?? defaultConfig.illustrations.extensions // TODO add missing cli config flag }, cwd: cliConfig.cwd ?? fileConfig.cwd ?? defaultConfig.cwd }; }; export { mergeConfigs };