Spaces:
Sleeping
Sleeping
| const ora = require('ora') | |
| const chalk = require('chalk') | |
| const spinner = ora() | |
| let lastMsg = null | |
| let isPaused = false | |
| exports.logWithSpinner = (symbol, msg) => { | |
| if (!msg) { | |
| msg = symbol | |
| symbol = chalk.green('✔') | |
| } | |
| if (lastMsg) { | |
| spinner.stopAndPersist({ | |
| symbol: lastMsg.symbol, | |
| text: lastMsg.text | |
| }) | |
| } | |
| spinner.text = ' ' + msg | |
| lastMsg = { | |
| symbol: symbol + ' ', | |
| text: msg | |
| } | |
| spinner.start() | |
| } | |
| exports.stopSpinner = (persist) => { | |
| if (!spinner.isSpinning) { | |
| return | |
| } | |
| if (lastMsg && persist !== false) { | |
| spinner.stopAndPersist({ | |
| symbol: lastMsg.symbol, | |
| text: lastMsg.text | |
| }) | |
| } else { | |
| spinner.stop() | |
| } | |
| lastMsg = null | |
| } | |
| exports.pauseSpinner = () => { | |
| if (spinner.isSpinning) { | |
| spinner.stop() | |
| isPaused = true | |
| } | |
| } | |
| exports.resumeSpinner = () => { | |
| if (isPaused) { | |
| spinner.start() | |
| isPaused = false | |
| } | |
| } | |
| exports.failSpinner = (text) => { | |
| spinner.fail(text) | |
| } | |
| // silent all logs except errors during tests and keep record | |
| if (process.env.VUE_CLI_TEST) { | |
| require('./_silence')('spinner', exports) | |
| } | |