react-azure-config
Version:
🚀 The Ultimate Multi-App Configuration Library! CRITICAL BUG FIXES: Prefixed environment keys no longer sent to Azure. Complete architectural redesign with bulletproof fallback system. Enterprise-grade Azure integration and monorepo support.
65 lines • 2.35 kB
TypeScript
import type { AuthenticationConfig } from '../types';
import type { ApiConfigResponse } from './api-route-helpers';
export interface EnhancedAppAzureOptions {
appId: string;
endpoint?: string;
environment?: string;
authentication?: AuthenticationConfig;
label?: string;
enableLocalFallback?: boolean;
variableMappings?: Record<string, string[]>;
includeDebugInfo?: boolean;
enableKeyTransformation?: boolean;
useBulletproofFallback?: boolean;
enableMultiStrategyResolution?: boolean;
logLevel?: 'debug' | 'info' | 'warn' | 'error' | 'silent';
}
export interface EnhancedConfigResponse extends ApiConfigResponse {
debug?: {
sourcesUsed: string[];
fallbackActivated: boolean;
variableCount: number;
transformedKeys: number;
resolutionStrategies: string[];
errors?: string[];
processingTime: number;
azureStatus: 'connected' | 'failed' | 'not-configured';
fallbackStatus: 'available' | 'unavailable' | 'used';
keyTransformations?: Array<{
env: string;
azure: string;
app: string;
}>;
};
}
export declare class EnhancedAppAzureLoader {
private options;
private azureManager;
private fallbackSystem;
private keyTransformer;
private clientResolver;
private isInitialized;
constructor(options: EnhancedAppAzureOptions);
initialize(): Promise<void>;
getConfiguration(): Promise<EnhancedConfigResponse>;
getConfigurationValue(requestedKey: string): Promise<{
success: boolean;
value?: any;
resolvedKey?: string;
strategy?: string;
source: string;
fallbacksAttempted: string[];
}>;
refreshConfiguration(): Promise<void>;
getDebugInfo(): Promise<any>;
isConfigured(): boolean;
private registerWithAzureManager;
private registerVariableMappings;
private tryAzureConfiguration;
private tryBulletproofFallback;
private tryBasicEnvironmentFallback;
private buildEnhancedResponse;
}
export declare function createEnhancedAppAzureLoader(options: EnhancedAppAzureOptions): EnhancedAppAzureLoader;
export declare function createAppAzureLoader(options: EnhancedAppAzureOptions): EnhancedAppAzureLoader;
//# sourceMappingURL=enhanced-app-azure-loader.d.ts.map