diff --git a/packages/new-design/lib/utils.mjs b/packages/new-design/lib/utils.mjs index 3b95d85840e..62d1afff416 100644 --- a/packages/new-design/lib/utils.mjs +++ b/packages/new-design/lib/utils.mjs @@ -49,8 +49,9 @@ export const checkNodeVersion = () => { // Helper method to validate the design name const validateDesignName = (name) => { - if (/^([a-z]+)$/.test(name)) return true - else return ' 🙈 Please use only [a-z], no spaces, no capitals, no nothing 🤷' + if (/^([a-z0-9][a-z0-9_\-]*)$/.test(name)) return true + else + return ' 🙈 Please use only lowercase letters, digits, underscores, and hyphens. Names must start with a lowercase letter or digit. 🤷' } // Gets user input to figure out what to do @@ -106,7 +107,7 @@ export const getChoices = async () => { await prompts({ type: 'text', name: 'name', - message: 'What name would you like the design to have? 🏷️ ([a-z] only)', + message: 'What name would you like the design to have? 🏷️ ([a-z0-9_-] only)', validate: validateDesignName, }) ).name diff --git a/scripts/add-software.mjs b/scripts/add-software.mjs index 15d26b70b99..e56cc29600d 100644 --- a/scripts/add-software.mjs +++ b/scripts/add-software.mjs @@ -85,7 +85,7 @@ async function addDesign() { const { name } = await prompts({ type: 'text', name: 'name', - message: 'What name would you like the design to have? ([a-z] only)', + message: 'What name would you like the design to have? ([a-z0-9_-] only)', validate: validateDesignName, }) @@ -223,8 +223,9 @@ function validateDesignName(name) { ) return `Sorry but ${name} is already taken so you'll need to pick something else` - if (/^([a-z]+)$/.test(name)) return true - else return ' 🙈 Please use only [a-z], no spaces, no capitals, no nothing 🤷' + if (/^([a-z0-9][a-z0-9_\-]*)$/.test(name)) return true + else + return ' 🙈 Please use only lowercase letters, digits, underscores, and hyphens. Names must start with a lowercase letter or digit. 🤷' } function validatePluginName(name) {