perf(cli): replace ora with nanospinner (#10779)

This commit is contained in:
neverland 2022-07-02 23:05:11 +08:00 committed by GitHub
parent 2e27c67c76
commit 5883d3e0c7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 24 additions and 16 deletions

View File

@ -80,7 +80,7 @@
"markdown-it": "^12.2.0",
"markdown-it-anchor": "^8.4.1",
"nano-staged": "^0.8.0",
"ora": "^6.0.1",
"nanospinner": "^1.1.0",
"picocolors": "^1.0.0",
"postcss": "^8.3.11",
"postcss-load-config": "^3.1.0",

View File

@ -3,7 +3,7 @@ import execa from 'execa';
import { join, relative } from 'path';
import { clean } from './clean.js';
import { CSS_LANG } from '../common/css.js';
import { ora, consola } from '../common/logger.js';
import { createSpinner, consola } from '../common/logger.js';
import { installDependencies } from '../common/manager.js';
import { compileSfc } from '../compiler/compile-sfc.js';
import { compileStyle } from '../compiler/compile-style.js';
@ -178,14 +178,14 @@ const tasks = [
async function runBuildTasks() {
for (let i = 0; i < tasks.length; i++) {
const { task, text } = tasks[i];
const spinner = ora(text).start();
const spinner = createSpinner(text).start();
try {
/* eslint-disable no-await-in-loop */
await task();
spinner.succeed(text);
spinner.success({ text });
} catch (err) {
spinner.fail(text);
spinner.error({ text });
console.log(err);
throw err;
}

View File

@ -1,7 +1,7 @@
import { join, dirname } from 'path';
import { fileURLToPath } from 'url';
import { ROOT } from '../common/constant.js';
import { ora, slimPath } from '../common/logger.js';
import { createSpinner, slimPath } from '../common/logger.js';
import { createWriteStream, readFileSync } from 'fs';
import conventionalChangelog from 'conventional-changelog';
@ -48,7 +48,7 @@ function transform(item: any) {
}
export async function changelog(): Promise<void> {
const spinner = ora('Generating changelog...').start();
const spinner = createSpinner('Generating changelog...').start();
return new Promise((resolve) => {
conventionalChangelog(
@ -68,7 +68,9 @@ export async function changelog(): Promise<void> {
)
.pipe(createWriteStream(DIST_FILE))
.on('close', () => {
spinner.succeed(`Changelog generated at ${slimPath(DIST_FILE)}`);
spinner.success({
text: `Changelog generated at ${slimPath(DIST_FILE)}`,
});
resolve();
});
});

View File

@ -1,5 +1,5 @@
import execa from 'execa';
import { consola, ora } from '../common/logger.js';
import { consola, createSpinner } from '../common/logger.js';
import { SCRIPT_EXTS } from '../common/constant.js';
type RunCommandMessages = {
@ -13,7 +13,7 @@ function runCommand(
options: string[],
messages: RunCommandMessages
) {
const spinner = ora(messages.start).start();
const spinner = createSpinner(messages.start).start();
return new Promise((resolve) => {
execa(cmd, options, {
@ -21,11 +21,11 @@ function runCommand(
env: { FORCE_COLOR: true },
})
.then(() => {
spinner.succeed(messages.succeed);
spinner.success({ text: messages.succeed });
resolve(true);
})
.catch((err: any) => {
spinner.fail(messages.failed);
spinner.error({ text: messages.failed });
consola.error(err.stderr || err.stdout);
resolve(false);
});

View File

@ -1,4 +1,4 @@
import ora from 'ora';
import { createSpinner } from 'nanospinner';
import color from 'picocolors';
import consola from 'consola';
import { ROOT } from '../common/constant.js';
@ -7,4 +7,4 @@ export function slimPath(path: string) {
return color.yellow(path.replace(ROOT, ''));
}
export { ora, consola };
export { createSpinner, consola };

10
pnpm-lock.yaml generated
View File

@ -124,7 +124,7 @@ importers:
markdown-it: ^12.2.0
markdown-it-anchor: ^8.4.1
nano-staged: ^0.8.0
ora: ^6.0.1
nanospinner: ^1.1.0
picocolors: ^1.0.0
postcss: ^8.3.11
postcss-load-config: ^3.1.0
@ -173,7 +173,7 @@ importers:
markdown-it: 12.3.2
markdown-it-anchor: 8.6.4_d643ca6eb40ae68ab966a77bead78073
nano-staged: 0.8.0
ora: 6.1.2
nanospinner: 1.1.0
picocolors: 1.0.0
postcss: 8.4.14
postcss-load-config: 3.1.4_postcss@8.4.14
@ -5549,6 +5549,12 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
/nanospinner/1.1.0:
resolution: {integrity: sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA==}
dependencies:
picocolors: 1.0.0
dev: false
/natural-compare/1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}