feat: report subtask progress without a spinner

pull/3385/head
Yuxuan Zhang 2 years ago
parent 007fa592da
commit e7c0a82c24
No known key found for this signature in database
GPG Key ID: 6910B04F3351EF7D

@ -4,6 +4,7 @@ import c from 'picocolors'
export const okMark = c.green('✓')
export const failMark = c.red('✖')
export const clearLine = '\x1b[2K\r'
export type UpdateHandle = (
done?: number,
@ -14,7 +15,17 @@ export type UpdateHandle = (
let updateHandle: UpdateHandle | null = null
export const updateCurrentTask: UpdateHandle = (...args) => {
updateHandle?.(...args)
if (updateHandle) updateHandle(...args)
else if (!process.stderr.isTTY) {
return
} else if (args.length === 0) {
process.stderr.write(clearLine)
} else {
const name = args[2] || 'unknown task'
process.stderr.write(
`${clearLine}${name} [${args.slice(0, 2).join(' / ')}]`
)
}
}
export async function task<T>(

Loading…
Cancel
Save