Skip to content

Commit 8cc9ea5

Browse files
committed
fix: pause & resume spinners elegantly
1 parent af17a9b commit 8cc9ea5

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

packages/@vue/cli-service/lib/config/css.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
const fs = require('fs')
22
const path = require('path')
33
const semver = require('semver')
4-
const { warn } = require('@vue/cli-shared-utils')
4+
const { warn, pauseSpinner, resumeSpinner } = require('@vue/cli-shared-utils')
55

66
const findExisting = (context, files) => {
77
for (const file of files) {
@@ -22,7 +22,9 @@ module.exports = (api, rootOptions) => {
2222
sassLoaderVersion = semver.major(require('sass-loader/package.json').version)
2323
} catch (e) {}
2424
if (sassLoaderVersion < 8) {
25+
pauseSpinner()
2526
warn('sass-loader v8 is out, please consider upgrading your sass-loader version.')
27+
resumeSpinner()
2628
}
2729

2830
const defaultSassLoaderOptions = {}

packages/@vue/cli-shared-utils/lib/spinner.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const chalk = require('chalk')
33

44
const spinner = ora()
55
let lastMsg = null
6+
let isPaused = false
67

78
exports.logWithSpinner = (symbol, msg) => {
89
if (!msg) {
@@ -36,11 +37,17 @@ exports.stopSpinner = (persist) => {
3637
}
3738

3839
exports.pauseSpinner = () => {
39-
spinner.stop()
40+
if (spinner.isSpinning) {
41+
spinner.stop()
42+
isPaused = true
43+
}
4044
}
4145

4246
exports.resumeSpinner = () => {
43-
spinner.start()
47+
if (isPaused) {
48+
spinner.start()
49+
isPaused = false
50+
}
4451
}
4552

4653
exports.failSpinner = (text) => {

0 commit comments

Comments
 (0)