@vendure/core
Version:
A modern, headless ecommerce framework
27 lines (26 loc) • 881 B
TypeScript
import { PartialVendureConfig, VendureConfig } from './vendure-config';
/**
* @description
* Performs a deep merge of two VendureConfig objects. Unlike `Object.assign()` the `target` object is
* not mutated, instead the function returns a new object which is the result of deeply merging the
* values of `source` into `target`.
*
* Arrays do not get merged, they are treated as a single value that will be replaced. So if merging the
* `plugins` array, you must explicitly concatenate the array.
*
* @example
* ```ts
* const result = mergeConfig(defaultConfig, {
* assetOptions: {
* uploadMaxFileSize: 5000,
* },
* plugins: [
* ...defaultConfig.plugins,
* MyPlugin,
* ]
* };
* ```
*
* @docsCategory configuration
*/
export declare function mergeConfig<T extends VendureConfig>(target: T, source: PartialVendureConfig, depth?: number): T;