adjust logging

This commit is contained in:
Evan You
2017-12-29 11:14:04 -05:00
parent b7223aa4dc
commit 267a12d926
10 changed files with 52 additions and 24 deletions
@@ -0,0 +1 @@
module.exports = () => {}
@@ -1,4 +1,4 @@
const { info, error, hasYarn } = require('@vue/cli-shared-utils')
const { info, error, hasYarn, clearConsole } = require('@vue/cli-shared-utils')
module.exports = (api, options) => {
api.registerCommand('serve', {
@@ -12,6 +12,7 @@ module.exports = (api, options) => {
'--https': 'use https'
}
}, args => {
clearConsole()
info('Starting development server...')
api.setEnv(args.env || 'development')
+7 -7
View File
@@ -1,5 +1,6 @@
const chalk = require('chalk')
const padStart = require('string.prototype.padstart')
const { logWithSpinner, stopSpinner } = require('./spinner')
const format = (label, msg) => {
return msg.split('\n').map((line, i) => {
@@ -9,6 +10,9 @@ const format = (label, msg) => {
}).join('\n')
}
exports.logWithSpinner = logWithSpinner
exports.stopSpinner = stopSpinner
exports.info = msg => {
console.log(format(chalk.bgBlue.black(' INFO '), msg))
}
@@ -28,18 +32,14 @@ exports.error = (msg) => {
}
}
const cliVersion = require('@vue/cli/package.json').version
exports.clearConsole = function () {
exports.clearConsole = title => {
if (process.stdout.isTTY) {
process.stdout.write(
process.platform === 'win32' ? '\x1Bc' : '\x1B[2J\x1B[3J\x1B[H'
)
let title = chalk.bold.green(`Vue CLI v${cliVersion}`)
if (process.env.VUE_CLI_DEBUG) {
title += ' ' + chalk.bgRed(' DEBUG MODE ')
if (title) {
console.log(title)
}
console.log(title)
console.log()
}
}
@@ -20,6 +20,7 @@
"homepage": "https://github.com/vuejs/vue-cli/packages/@vue/cli-shared-utils#readme",
"dependencies": {
"chalk": "^2.3.0",
"ora": "^1.3.0",
"string.prototype.padstart": "^3.0.0"
},
"publishConfig": {
@@ -18,8 +18,8 @@ exports.logWithSpinner = (symbol, msg) => {
spinner.start()
}
exports.stopSpinner = () => {
if (lastMsg) {
exports.stopSpinner = (persist) => {
if (lastMsg && persist !== false) {
spinner.stopAndPersist({
symbol: lastMsg.symbol,
text: lastMsg.text
+17 -10
View File
@@ -9,14 +9,11 @@ const Generator = require('./Generator')
const installDeps = require('./util/installDeps')
const PromptModuleAPI = require('./PromptModuleAPI')
const writeFileTree = require('./util/writeFileTree')
const { logWithSpinner, stopSpinner } = require('./util/spinner')
const updatePackageForDev = require('./util/updatePackageForDev')
const { logWithSpinner, stopSpinner } = require('@vue/cli-shared-utils')
const {
error,
hasYarn,
clearConsole
} = require('@vue/cli-shared-utils')
const clearConsole = require('./util/clearConsole')
const { error, hasYarn } = require('@vue/cli-shared-utils')
const rcPath = path.join(os.homedir(), '.vuerc')
const isMode = _mode => ({ mode }) => _mode === mode
@@ -87,7 +84,7 @@ module.exports = class Creator {
}, null, 2)
})
// install deps
// install plugins
logWithSpinner(emoji.get('electric_plug'), `Installing CLI plugins. This might take a while...`)
const deps = Object.keys(options.plugins)
if (process.env.VUE_CLI_DEBUG) {
@@ -98,16 +95,26 @@ module.exports = class Creator {
await installDeps(options.packageManager, targetDir, deps)
}
logWithSpinner(emoji.get('gear'), `Invoking generators...`)
// run generator
logWithSpinner(emoji.get('gear'), `Invoking generators...`)
const generator = new Generator(targetDir, options)
await generator.generate()
// install deps again (new deps injected by generators)
// install additional deps (injected by generators)
logWithSpinner(emoji.get('package'), `Installing additional dependencies...`)
await installDeps(options.packageManager, targetDir)
// log instructions
stopSpinner()
console.log(`${chalk.green('✔')} Successfully created project ${chalk.yellow(name)}.`)
console.log()
console.log(`${chalk.green('✔')} Successfully created project ${chalk.yellow(name)} with the following plugins:`)
console.log()
deps.forEach(dep => {
if (dep !== '@vue/cli-service') {
dep = dep.replace(/^(@vue\/|vue-)cli-plugin-/, '')
console.log(` ${chalk.gray('-')} ${dep}`)
}
})
console.log()
console.log(
`${emoji.get('point_right')} Get started with the following commands:\n\n` +
+11 -2
View File
@@ -5,7 +5,13 @@ const rimraf = require('rimraf')
const inquirer = require('inquirer')
const program = require('commander')
const Creator = require('./Creator')
const { warn, error, clearConsole } = require('@vue/cli-shared-utils')
const {
warn,
error,
stopSpinner
} = require('@vue/cli-shared-utils')
const clearConsole = require('./util/clearConsole')
async function run () {
program
@@ -50,4 +56,7 @@ async function run () {
await creator.create(projectName, targetDir)
}
run().catch(error)
run().catch(err => {
stopSpinner(false) // do not persist
error(err)
})
@@ -0,0 +1,10 @@
const chalk = require('chalk')
const version = require('../../package.json').version
const { clearConsole } = require('@vue/cli-shared-utils')
let title = chalk.bold.green(`Vue CLI v${version}`)
if (process.env.VUE_CLI_DEBUG) {
title += ' ' + chalk.magenta(' DEBUG MODE ')
}
module.exports = () => clearConsole(title)
@@ -9,7 +9,7 @@ module.exports = function updatePackageForDev (targetDir, deps) {
deps.forEach(dep => {
pkg.devDependencies[dep] = require(path.resolve(
__dirname,
'../../../',
'../../../../',
dep,
'package.json'
)).version
-1
View File
@@ -36,7 +36,6 @@
"klaw-sync": "^3.0.2",
"mkdirp": "^0.5.1",
"node-emoji": "^1.8.1",
"ora": "^1.3.0",
"resolve": "^1.5.0",
"rimraf": "^2.6.2",
"semver": "^5.4.1"