diff --git a/cli.js b/cli.js index aac9f520f..635e2c42b 100755 --- a/cli.js +++ b/cli.js @@ -3,16 +3,36 @@ const path = require('path') const sao = require('sao') const cac = require('cac') const chalk = require('chalk') +const envinfo = require('envinfo') const { version } = require('./package.json') const generator = path.resolve(__dirname, './') const cli = cac('create-nuxt-app') +const showEnvInfo = async () => { + console.log(chalk.bold('\nEnvironment Info:')) + const result = await envinfo + .run({ + System: ['OS', 'CPU'], + Binaries: ['Node', 'Yarn', 'npm'], + Browsers: ['Chrome', 'Edge', 'Firefox', 'Safari'], + npmGlobalPackages: ['nuxt', 'create-nuxt-app'] + }) + console.log(result) + process.exit(1) +} + cli .command('[out-dir] [options]', 'Generate in a custom directory or current directory') .option('--edge', 'To install `nuxt-edge` instead of `nuxt`') + .option('--info', 'Print out debugging information relating to the local environment') .action((outDir = '.') => { + const hasInfoArg = process.argv.slice(2)[0] === '--info' + if (hasInfoArg) { + return showEnvInfo() + } + console.log() console.log(chalk`{cyan create-nuxt-app v${version}}`) console.log(chalk`✨ Generating Nuxt.js project in {cyan ${outDir}}`) diff --git a/package.json b/package.json index 9f1c534dc..dc544b05b 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "cac": "^6.5.2", "chalk": "^2.4.2", "cross-spawn": "^6.0.5", + "envinfo": "^7.3.1", "glob": "^7.1.3", "lodash": "^4.17.11", "sao": "^1.6.1",