cfn-forge
Version:
CloudFormation deployment automation tool with git-based workflows
39 lines (31 loc) • 880 B
JavaScript
/**
* Validation utilities for CFN-Forge CLI
*/
/**
* Validates project name
* @param {string} name - Project name to validate
* @returns {boolean|string} - true if valid, error message if invalid
*/
function validateProjectName(name) {
if (!name || typeof name !== 'string') {
return 'Project name is required';
}
if (name.length < 1) {
return 'Project name cannot be empty';
}
if (name.length > 64) {
return 'Project name must be 64 characters or less';
}
// Allow alphanumeric, hyphens, underscores
if (!/^[a-zA-Z0-9_-]+$/.test(name)) {
return 'Project name can only contain letters, numbers, hyphens, and underscores';
}
// Must start with letter or underscore
if (!/^[a-zA-Z_]/.test(name)) {
return 'Project name must start with a letter or underscore';
}
return true;
}
module.exports = {
validateProjectName,
};