Function: loadConfig()
function loadConfig(env): object;
Defined in: packages/uimatch-core/src/config/loader.ts:22
Load configuration from environment variables with validation. Falls back to defaults for missing values.
Environment variables:
- BASIC_AUTH_USER: HTTP Basic Auth username
- BASIC_AUTH_PASS: HTTP Basic Auth password
- PIXELMATCH_THRESHOLD: Pixelmatch threshold (0-1)
- COLOR_DELTA_E_THRESHOLD: Color delta E threshold
Parameters
env
Record<string, string | undefined> = process.env
Environment variables object (defaults to process.env)
Returns
object
Validated configuration
capture
capture: object = CaptureConfigSchema;
capture.basicAuthPass?
optional basicAuthPass: string;
HTTP Basic Authentication password (from env)
capture.basicAuthUser?
optional basicAuthUser: string;
HTTP Basic Authentication username (from env)
capture.defaultDpr
defaultDpr: number;
Default device pixel ratio
Default
2
capture.defaultFigmaScale
defaultFigmaScale: number;
Default Figma image scale (separate from browser DPR)
Default
2
Remarks
Allows independent control of Figma export resolution vs browser capture resolution
capture.defaultIdleWaitMs
defaultIdleWaitMs: number;
Default idle wait after networkidle (ms)
Default
150
capture.defaultMaxChildren
defaultMaxChildren: number;
Default maximum child elements to collect styles from
Default
200
capture.defaultMaxDepth
defaultMaxDepth: number;
Default maximum depth to traverse for child elements
Default
6
capture.defaultViewportHeight
defaultViewportHeight: number;
Default viewport height
Default
900
capture.defaultViewportWidth
defaultViewportWidth: number;
Default viewport width
Default
1440
capture.figmaAutoRoi
figmaAutoRoi: boolean;
Enable automatic ROI detection from Figma child nodes
Default
false
Remarks
When true, if specified node is much larger than implementation capture, automatically finds closest matching child frame and uses it instead
comparison
comparison: object = ComparisonConfigSchema;
comparison.acceptanceColorDeltaE
acceptanceColorDeltaE: number;
Acceptance threshold for colorDeltaEAvg (quality gate)
Default
3.0
comparison.acceptancePixelDiffRatio
acceptancePixelDiffRatio: number;
Acceptance threshold for pixelDiffRatio (quality gate)
Default
0.01
comparison.colorDeltaEThreshold
colorDeltaEThreshold: number;
Color delta E threshold for style differences
Default
3.0
comparison.ignoreProperties
ignoreProperties: string[];
Properties to ignore in style comparison (default noise filtering) Common decorative/non-essential properties that add noise to reports
Default
[]
comparison.includeAA
includeAA: boolean;
Whether to skip anti-aliasing detection in pixelmatch
Default
false
comparison.pixelmatchThreshold
pixelmatchThreshold: number;
Pixelmatch threshold (0 to 1). Smaller = more sensitive.
Default
0.1
comparison.toleranceBorderWidth
toleranceBorderWidth: number;
Tolerance ratio for border-width
Default
0.3 (30%)
comparison.toleranceDimension
toleranceDimension: number;
Tolerance ratio for dimension properties (width, height)
Default
0.05 (5%)
comparison.toleranceLayoutGap
toleranceLayoutGap: number;
Tolerance ratio for gap properties (gap, column-gap, row-gap)
Default
0.1 (10%)
comparison.toleranceRadius
toleranceRadius: number;
Tolerance ratio for border-radius
Default
0.12 (12%)
comparison.toleranceShadowBlur
toleranceShadowBlur: number;
Tolerance ratio for box-shadow blur
Default
0.15 (15%)
comparison.toleranceShadowColorExtraDE
toleranceShadowColorExtraDE: number;
Extra Delta E tolerance for box-shadow color comparison
Default
1.0
comparison.toleranceSpacing
toleranceSpacing: number;
Tolerance ratio for spacing properties (padding, margin)
Default
0.15 (15%)
Throws
If configuration is invalid