@tableau/taco-toolkit
Version:
Tableau Connector Toolkit
25 lines • 1.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateProjectName = void 0;
function validateProjectName(name) {
var errors = [];
if (name.length === 0) {
errors.push('Project name cannot be empty');
return errors;
}
if (name.length > 29) {
errors.push('Project name cannot contain more than 29 characters');
}
if (name.startsWith('-')) {
errors.push('Project name cannot start with dash');
}
if (name.toLowerCase() !== name) {
errors.push('Project name cannot contain capital letters');
}
if (!/^[a-z0-9][a-z0-9-_]*$/.test(name)) {
errors.push('Project name can only contain letters, numbers and dash');
}
return errors;
}
exports.validateProjectName = validateProjectName;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1uYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaS90YWNvLWNvbW1hbmRzL2NyZWF0ZS9wcm9qZWN0LW5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBZ0IsbUJBQW1CLENBQUMsSUFBWTtJQUM5QyxJQUFNLE1BQU0sR0FBYSxFQUFFLENBQUE7SUFDM0IsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUE7UUFDM0MsT0FBTyxNQUFNLENBQUE7S0FDZDtJQUVELElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUU7UUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxxREFBcUQsQ0FBQyxDQUFBO0tBQ25FO0lBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMscUNBQXFDLENBQUMsQ0FBQTtLQUNuRDtJQUVELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksRUFBRTtRQUMvQixNQUFNLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxDQUFDLENBQUE7S0FDM0Q7SUFFRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3ZDLE1BQU0sQ0FBQyxJQUFJLENBQUMseURBQXlELENBQUMsQ0FBQTtLQUN2RTtJQUVELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQXhCRCxrREF3QkMifQ==