#!/usr/bin/env node const parseArgs = require('minimist') const log = require('../lib/helpers/logger')('app:mode') appPaths = require('../lib/app-paths') const argv = parseArgs(process.argv.slice(2), { alias: { h: 'help' }, boolean: ['h'] }) if (argv.help) { console.log(` Description Add/Remove support for PWA / Cordova / Electron modes. Usage $ quasar mode [add|remove pwa|ssr|cordova|electron] # determine what modes are currently installed: $ quasar mode Options --help, -h Displays this message `) process.exit(0) } if (argv._.length !== 0 && argv._.length !== 2) { console.log() warn(`⚠️ Wrong number of parameters (${argv._.length}).`) showHelp() process.exit(1) } const getMode = require('../lib/mode'), { green, grey } = require('chalk') if (argv._.length === 2) { let [ action, mode ] = argv._ if (!['add', 'remove'].includes(action)) { console.log() warn(`⚠️ Unknown action specified (${ action }).`) showHelp() process.exit(1) } if (![undefined, 'pwa', 'cordova', 'electron', 'ssr'].includes(mode)) { warn(`⚠️ Unknown mode "${ mode }" to add`) warn() process.exit(1) } if (![undefined, 'pwa', 'cordova', 'electron', 'ssr'].includes(mode)) { warn(`⚠️ Unknown mode "${ mode }" to remove`) warn() process.exit(1) } getMode(mode)[action]() process.exit(0) } log(`Detecting installed modes...`) const info = [] ;['pwa', 'ssr', 'cordova', 'electron'].forEach(mode => { const QuasarMode = getMode(mode) info.push([ `Mode ${mode.toUpperCase()}`, getMode(mode).isInstalled ? green('yes') : grey('no') ]) }) console.log( '\n' + info.map(msg => ' ' + msg[0].padEnd(16, '.') + ' ' + msg[1]).join('\n') + '\n' )