UNPKG

1.47 kBJavaScriptView Raw
1#!/usr/bin/env node
2const cac = require('cac')
3const pkg = require('../package')
4
5const cli = cac()
6
7cli
8 .command('<generator> [outDir]', 'Run a generator')
9 .action((generator, outDir, flags) => {
10 const options = Object.assign(
11 {
12 generator,
13 outDir: outDir || '.',
14 updateCheck: true
15 },
16 flags
17 )
18
19 return require('../')(options)
20 .run()
21 .catch(err => {
22 require('..').handleError(err)
23 })
24 })
25 .option(
26 '--npm-client <client>',
27 `Use a specific npm client ('yarn' or 'npm')`
28 )
29 .option('-u, --update', 'Update cached generator')
30 .option('-c, --clone', 'Clone repository instead of archive download')
31 .option('-y, --yes', 'Use the default options')
32 .option('--registry <registry>', 'Use a custom registry for npm and yarn')
33
34cli
35 .command('set-alias <name> <value>', 'Set an alias for a generator path')
36 .action((name, value) => {
37 const store = require('../lib/store')
38 const { escapeDots } = require('../lib/utils/common')
39 const logger = require('../lib/logger')
40
41 store.set(`alias.${escapeDots(name)}`, value)
42 logger.success(`Added alias '${name}'`)
43 })
44
45cli
46 .command('get-alias <name>', 'Get the generator for an alias')
47 .action(name => {
48 const store = require('../lib/store')
49 const { escapeDots } = require('../lib/utils/common')
50
51 console.log(store.get(`alias.${escapeDots(name)}`))
52 })
53
54cli.version(pkg.version)
55cli.help()
56
57cli.parse()