Выполнение другого сценария командной строки в CLI с Gluegun - PullRequest
0 голосов
/ 15 января 2019

Я использую Gluegun для создания CLI узла, который отображает случайную собаку в вашем терминале при вызове (революционный).

Gluegun упрощает настройку и HTTP-запрос.
В commands/random.js:

module.exports = {
  name: 'random',
  alias: ['rd'],
  run: async toolbox => {
    const { print, system, dogExt } = toolbox

    print.info('Fetching you a dog')

    // Calls the extension that fetches the data
    const dog = await dogExt.getRandomDog()

    // DISPLAY DOG IN TERMINAL HERE WITH URL FETCHED    
  }
}

И в extensions/dog-extension.js я получаю данные по dog.ceo API.

module.exports = toolbox => {
  async function getRandomDog() {
    const api = toolbox.http.create({
      baseURL: 'https://dog.ceo/api'
    })

    const dog = await api.get('/breeds/image/random')

    return dog
  }

  toolbox.dogExt = { getRandomDog }
}

Мой вопрос довольно прост, как я могу назвать пакет NPM , который заботится о отображении изображения после вызова API?

Я пытался установить пакет, импортируя его как плагин, например

.plugin('./node_modules', {
   matching: 'terminal-image-*',
   hidden: true
 })

И вызывая его в моей команде с toolbox.system.run, но он всегда говорит command not found.

Можно ли напрямую вызвать другой пакет с узлом?

...