in generators/app/index.js [94:132]
async prompting() {
// Ask for extension type
const extensionType = this.options['extensionType'];
if (extensionType) {
const extensionTypeId = 'ext-' + extensionType;
const extensionGenerator = extensionGenerators.find(g => g.aliases.indexOf(extensionType) !== -1);
if (extensionGenerator) {
this.extensionConfig.type = extensionGenerator.id;
} else {
this.log("Invalid extension type: " + extensionType + '\nPossible types are: ' + extensionGenerators.map(g => g.aliases.join(', ')).join(', '));
this.abort = true;
}
} else {
const choices = [];
for (const g of extensionGenerators) {
const name = this.extensionConfig.insiders ? g.insidersName : g.name;
if (name) {
choices.push({ name, value: g.id })
}
}
this.extensionConfig.type = (await this.prompt({
type: 'list',
name: 'type',
message: 'What type of extension do you want to create?',
pageSize: choices.length,
choices,
})).type;
}
this.extensionGenerator = extensionGenerators.find(g => g.id === this.extensionConfig.type);
try {
await this.extensionGenerator.prompting(this, this.extensionConfig);
} catch (e) {
this.abort = true;
}
}