Always validate configuration values at runtime and provide clear, actionable error messages when invalid combinations are detected. This prevents runtime failures and guides users toward correct configuration.
Always validate configuration values at runtime and provide clear, actionable error messages when invalid combinations are detected. This prevents runtime failures and guides users toward correct configuration.
Key validation practices:
Example from environment variable validation:
if (
!args.outputStyle &&
process.env.NX_DEFAULT_OUTPUT_STYLE &&
choices.includes(process.env.NX_DEFAULT_OUTPUT_STYLE as OutputStyle)
) {
args.outputStyle = process.env.NX_DEFAULT_OUTPUT_STYLE;
}
Example from configuration combination validation:
if (usesVersionPlaceholder && hasSkipVersionActions) {
throw new Error(
`Release group "${groupName}" configures "skipVersionActions" but its docker version scheme contains the "{versionActionsVersion}" placeholder which cannot be resolved without version actions. Remove "skipVersionActions" or remove the placeholder from the scheme.`
);
}
This approach catches configuration errors early, provides clear guidance for resolution, and prevents confusing runtime failures that are difficult to debug.
Enter the URL of a public GitHub repository