Я хочу использовать async / await в свойстве actions, однако оно дает мне [ERROR] Обработчик не выполняет никаких действий . Я попробовал .then()
и все равно не смог.
Это то, что я пробовал до сих пор. То, что я пытаюсь сделать, это сделать реактивное приглашение (которого я не знаю), выполнив его в действиях, а затем использовать await
, но не удалось, поэтому я перешел к синтаксису .then
, который также не удался.
const fs = require('fs')
const inquirer = require('inquirer')
const chalk = require('chalk')
const directories = (dir) => fs.readdirSync(dir, {
withFileTypes: true
}).reduce((a, c) => {
c.isDirectory() && a.push(c.name)
return a
}, [])
const folders = directories('./src/views')
module.exports = function (plop) {
plop.setGenerator('Handler', {
description: 'Application translations generator',
prompts: [
{
type: 'input',
name: 'filename',
message: 'Filename (ex. file name):'
},
{
type: 'list',
name: 'folder',
message: 'Select folder location: ',
choices: folders
}
],
actions: (data) => {
const subfolders = directories(`./src/views/${data.folder}`)
const actions = []
inquirer.prompt({
type: 'list',
name: 'subfolder',
message: 'Select subfolder location: ',
choices: subfolders
}).then(x => {
actions.push({
type: 'add',
path: './asdfasdf.vue',
templateFile: './generators/templates/vue.hbs',
skipIfExists: true
})
return actions
})
}
})
}