@vibeship/devtools
Version:
Comprehensive markdown-based project management system with AI capabilities for Next.js applications
73 lines (69 loc) • 2.47 kB
TypeScript
import { V as VibeshipConfig, P as PartialVibeshipConfig, D as DeepPartial } from './types-ChLtbM8s.js';
/**
* Default configuration for Vibeship DevTools
*/
declare const defaultConfig: VibeshipConfig;
/**
* Development-specific configuration overrides
*/
declare const developmentConfig: Partial<VibeshipConfig>;
/**
* Production-specific configuration overrides
*/
declare const productionConfig: Partial<VibeshipConfig>;
/**
* Test-specific configuration overrides
*/
declare const testConfig: Partial<VibeshipConfig>;
/**
* Get environment-specific defaults
*/
declare function getEnvironmentDefaults(): Partial<VibeshipConfig>;
/**
* Deep merge utility for configuration objects
*/
declare function deepMerge<T extends object>(target: T, ...sources: DeepPartial<T>[]): T;
/**
* Merge configurations with proper precedence
* Priority (highest to lowest):
* 1. User configuration
* 2. Environment overrides
* 3. Environment defaults
* 4. Base defaults
*
* @param defaultConfig - Base default configuration
* @param environmentDefaults - Environment-specific defaults
* @param environmentOverrides - Environment variable overrides
* @param userConfig - User-provided configuration
* @returns Merged configuration
*
* @example
* ```ts
* const config = mergeConfigurations(
* defaultConfig,
* developmentConfig,
* envOverrides,
* userConfig
* );
* ```
*
* @public
*/
declare function mergeConfigurations(defaultConfig: VibeshipConfig, environmentDefaults: PartialVibeshipConfig, environmentOverrides: PartialVibeshipConfig, userConfig: PartialVibeshipConfig): VibeshipConfig;
/**
* Apply environment variable overrides to configuration
*/
declare function applyEnvironmentOverrides(config: VibeshipConfig): VibeshipConfig;
/**
* Freeze configuration to prevent mutations
*/
declare function freezeConfig<T extends object>(config: T): Readonly<T>;
/**
* Create a configuration patch that can be applied later
*/
declare function createConfigPatch(baseConfig: VibeshipConfig, newConfig: VibeshipConfig): PartialVibeshipConfig;
/**
* Validate that a configuration patch is safe to apply
*/
declare function isPatchSafe(patch: PartialVibeshipConfig): boolean;
export { developmentConfig as a, deepMerge as b, applyEnvironmentOverrides as c, defaultConfig as d, createConfigPatch as e, freezeConfig as f, getEnvironmentDefaults as g, isPatchSafe as i, mergeConfigurations as m, productionConfig as p, testConfig as t };