@dbs-portal/tool-mock
Version:
API mocking toolkit using MSW for DBS Portal development workflows
192 lines • 4.91 kB
TypeScript
/**
* Build utilities for MSW integration
*/
import type { BuildUtilsConfig, BuildMockModuleConfig, HotReloadConfig } from './types';
/**
* Build configuration utilities
*/
export declare const buildUtils: {
/**
* Create build configuration for MSW
*/
createBuildConfig: (config?: BuildUtilsConfig) => {
build: {
outDir: string;
sourcemap: boolean;
minify: boolean;
lib: {
entry: string;
formats: string[];
fileName: (format: string) => string;
};
rollupOptions: {
external: string[];
output: {
globals: {
msw: string;
};
};
};
};
};
/**
* Create library build configuration
*/
createLibraryConfig: (config: BuildUtilsConfig & {
name: string;
}) => {
build: {
lib: {
name: string;
entry: string;
formats: string[];
fileName: (format: string) => string;
};
outDir: string;
sourcemap: boolean;
minify: boolean;
rollupOptions: {
external: string[];
output: {
globals: {
msw: string;
};
};
};
};
};
/**
* Create development build configuration
*/
createDevConfig: (config?: BuildUtilsConfig) => {
build: {
minify: boolean;
sourcemap: boolean;
outDir: string;
lib: {
entry: string;
formats: string[];
fileName: (format: string) => string;
};
rollupOptions: {
external: string[];
output: {
globals: {
msw: string;
};
};
};
};
};
};
/**
* Mock module utilities
*/
export declare const mockModuleUtils: {
/**
* Create mock module configuration
*/
createModuleConfig: (config: BuildMockModuleConfig) => BuildMockModuleConfig;
/**
* Generate mock module imports
*/
generateModuleImports: (modules: BuildMockModuleConfig[]) => string;
/**
* Create conditional module loader
*/
createConditionalLoader: (modules: BuildMockModuleConfig[]) => string;
};
/**
* Hot reload utilities
*/
export declare const hotReloadUtils: {
/**
* Create hot reload configuration
*/
createHotReloadConfig: (config?: HotReloadConfig) => HotReloadConfig;
/**
* Generate hot reload code
*/
generateHotReloadCode: (config: HotReloadConfig) => string;
/**
* Create file watcher patterns
*/
createWatchPatterns: (patterns?: string[]) => string[];
};
/**
* Environment utilities
*/
export declare const envUtils: {
/**
* Create environment-specific configuration
*/
createEnvConfig: (env: "development" | "production" | "test") => {
mswEnabled: boolean;
mswLogging: boolean;
mswDelay: number[];
hotReload: boolean;
sourcemap: boolean;
minify: boolean;
} | {
mswEnabled: boolean;
mswLogging: boolean;
mswDelay: number;
hotReload: boolean;
sourcemap: boolean;
minify: boolean;
} | {
mswEnabled?: never;
mswLogging?: never;
mswDelay?: never;
hotReload?: never;
sourcemap?: never;
minify?: never;
};
/**
* Generate environment variables
*/
generateEnvVars: (config: any) => Record<string, string>;
};
/**
* Bundle analysis utilities
*/
export declare const bundleUtils: {
/**
* Analyze MSW bundle impact
*/
analyzeMSWImpact: (bundleStats: any) => {
moduleCount: any;
totalSize: any;
modules: any;
impact: {
percentage: number;
recommendation: string;
};
};
/**
* Generate bundle report
*/
generateBundleReport: (analysis: any) => string;
};
/**
* Performance utilities
*/
export declare const performanceUtils: {
/**
* Create performance monitoring
*/
createPerformanceMonitor: () => {
startTimer: (metric: "mswSetupTime" | "handlerRegistrationTime" | "requestInterceptionTime") => () => void;
getMetrics: () => {
mswSetupTime: number;
handlerRegistrationTime: number;
requestInterceptionTime: number;
};
reset: () => void;
};
/**
* Generate performance report
*/
generatePerformanceReport: (metrics: any) => string;
};
//# sourceMappingURL=utils.d.ts.map