UNPKG

@quasar/app-webpack

Version:

Quasar Framework App CLI with Webpack

100 lines (79 loc) 2.2 kB
const parseArgs = require('minimist') const argv = parseArgs(process.argv.slice(2), { alias: { h: 'help' }, boolean: [ 'h' ] }) function showHelp () { console.log(` Description Manage Quasar App Extensions Usage # display list of installed extensions $ quasar ext # Add Quasar App Extension $ quasar ext add <ext-id> # Remove Quasar App Extension $ quasar ext remove <ext-id> # Add Quasar App Extension, but # skip installing the npm package # (assumes it's already installed) $ quasar ext invoke <ext-id> # Remove Quasar App Extension, but # skip uninstalling the npm package $ quasar ext uninvoke <ext-id> Options --help, -h Displays this message `) } if (argv.help) { showHelp() process.exit(0) } const { log, warn } = require('../utils/logger.js') const { green } = require('kolorist') if (argv._.length !== 0 && argv._.length !== 2) { console.log() warn(`Wrong number of parameters (${ argv._.length }).`) showHelp() process.exit(1) } const { getCtx } = require('../utils/get-ctx.js') const { appExt } = getCtx() async function runExtAction () { const [ action, extName ] = argv._ if (![ 'add', 'remove', 'invoke', 'uninvoke' ].includes(action)) { console.log() warn(`Unknown action specified (${ action }).`) showHelp() process.exit(1) } const ext = appExt.createInstance(extName) await ext[ action === 'add' || action === 'invoke' ? 'install' : 'uninstall' ](action === 'invoke' || action === 'uninvoke') } if (argv._.length === 0) { if (appExt.extensionList.length === 0) { log(' No App Extensions are installed') log(' You can look for "quasar-app-extension-*" in npm registry.') } else { console.log() for (const ext of appExt.extensionList) { const prompts = ext.getPrompts() const hasPrompts = Object.keys(prompts).length !== 0 console.log(`App Extension [ ${ green(ext.extId) } ]${ hasPrompts === true ? ' with prompts:' : '' }`) if (hasPrompts === true) { console.log(JSON.stringify(prompts, null, 2)) console.log() } } } } else { runExtAction() }