Asyn c Операции в PlopJS - PullRequest
       12

Asyn c Операции в PlopJS

3 голосов
/ 02 апреля 2020

Я хочу использовать 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
      })
    }
  })
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...