Require plugin IDs to be valid

This commit is contained in:
Fredrik Adelöw
2020-03-18 09:30:08 +01:00
parent 4d7a93c351
commit 72bbbfd243
2 changed files with 31 additions and 4 deletions
+10 -2
View File
@@ -332,8 +332,16 @@ const createPlugin = async () => {
type: 'input',
name: 'id',
message: chalk.blue('Enter an ID for the plugin [required]'),
validate: (value: any) =>
value ? true : chalk.red('Please enter an ID for the plugin'),
validate: (value: any) => {
if (!value) {
return chalk.red('Please enter an ID for the plugin');
} else if (!/^[a-z0-9]+(-[a-z0-9]+)*$/.test(value)) {
return chalk.red(
'Plugin IDs must be kebab-cased and contain only letters, digits, and dashes.',
);
}
return true;
},
},
];
const answers: Answers = await inquirer.prompt(questions);