UNPKG

polen

Version:

A framework for delightful GraphQL developer portals

53 lines 2.24 kB
import { Vite } from '#dep/vite/index'; import { spreadShallow } from '#lib/kit-temp'; /** * Deep merge two Polen config inputs. * The second config (overrides) takes precedence over the first (base). */ export const mergeInputs = (base, overrides) => { if (!overrides) { return base; } const merged = spreadShallow(base, overrides); // Merge schema if both have it if (base.schema ?? overrides.schema) { merged.schema = overrides.schema ?? base.schema; } // Merge build config if (base.build ?? overrides.build) { merged.build = spreadShallow(base.build, overrides.build); } // Merge server config if (base.server ?? overrides.server) { merged.server = spreadShallow(base.server, overrides.server); } // Merge warnings config if (base.warnings ?? overrides.warnings) { merged.warnings = spreadShallow(base.warnings, overrides.warnings); // Merge interactiveWithoutSchema config if (base.warnings?.interactiveWithoutSchema ?? overrides.warnings?.interactiveWithoutSchema) { merged.warnings.interactiveWithoutSchema = spreadShallow(base.warnings?.interactiveWithoutSchema, overrides.warnings?.interactiveWithoutSchema); } } // Merge advanced config if (base.advanced ?? overrides.advanced) { merged.advanced = spreadShallow(base.advanced, overrides.advanced); // Merge advanced.watch config if (base.advanced?.watch ?? overrides.advanced?.watch) { merged.advanced.watch = spreadShallow(base.advanced?.watch, overrides.advanced?.watch); // Merge watch.also arrays if (base.advanced?.watch?.also ?? overrides.advanced?.watch?.also) { merged.advanced.watch.also = [ ...(base.advanced?.watch?.also ?? []), ...(overrides.advanced?.watch?.also ?? []), ]; } } // Merge Vite configs if present if (base.advanced?.vite ?? overrides.advanced?.vite) { merged.advanced.vite = Vite.mergeConfig(base.advanced?.vite ?? {}, overrides.advanced?.vite ?? {}); } } return merged; }; //# sourceMappingURL=merge.js.map