12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- 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)
- }
|