UNPKG

1.43 kBPlain TextView Raw
1#!/usr/bin/env node
2
3const
4 parseArgs = require('minimist'),
5 chalk = require('chalk')
6
7const
8 log = require('../lib/helpers/logger')('app:mode')
9 appPaths = require('../lib/app-paths')
10
11const argv = parseArgs(process.argv.slice(2), {
12 alias: {
13 a: 'add',
14 r: 'remove',
15 h: 'help'
16 },
17 string: ['a', 'r'],
18 boolean: ['h']
19})
20
21if (argv.help) {
22 console.log(`
23 Description
24 Add/Remove support for PWA / Cordova / Electron modes.
25 Usage
26 $ quasar mode -r|-a pwa|ssr|cordova|electron
27
28 # determine what modes are currently installed:
29 $ quasar mode
30 Options
31 --add, -a Add support for mode [pwa|ssr|cordova|electron]
32 --remove, -r Remove support for mode [pwa|ssr|cordova|electron]
33 --help, -h Displays this message
34 `)
35 process.exit(0)
36}
37
38require('../lib/helpers/ensure-argv')(argv, 'mode')
39const
40 getMode = require('../lib/mode'),
41 { green, grey } = require('chalk')
42
43if (argv.add) {
44 getMode(argv.add).add()
45 process.exit(0)
46}
47else if (argv.remove) {
48 getMode(argv.remove).remove()
49 process.exit(0)
50}
51
52log(`Detecting installed modes...`)
53
54const info = []
55;['pwa', 'ssr', 'cordova', 'electron'].forEach(mode => {
56 const QuasarMode = getMode(mode)
57 info.push([
58 `Mode ${mode.toUpperCase()}`,
59 getMode(mode).isInstalled ? green('yes') : grey('no')
60 ])
61})
62
63console.log(
64 '\n' +
65 info.map(msg => ' ' + msg[0].padEnd(16, '.') + ' ' + msg[1]).join('\n') +
66 '\n'
67)