diff --git a/.npmrc b/.npmrc index 11a14acfd..dc6df5cce 100644 --- a/.npmrc +++ b/.npmrc @@ -1,4 +1,4 @@ -registry=https://registry.npmmirror.com/ +registry=https://registry.npmjs.org/ strict-peer-dependencies=false auto-install-peers=false diff --git a/packages/create-vant-cli-app/package.json b/packages/create-vant-cli-app/package.json index bf927269f..9fe4111f8 100644 --- a/packages/create-vant-cli-app/package.json +++ b/packages/create-vant-cli-app/package.json @@ -36,7 +36,7 @@ "typescript": "^5.0.4" }, "dependencies": { - "consola": "^3.0.2", + "rslog": "^1.0.0", "fast-glob": "^3.2.11", "fs-extra": "^11.1.0", "enquirer": "2.3.6", diff --git a/packages/create-vant-cli-app/src/generator.ts b/packages/create-vant-cli-app/src/generator.ts index d9e5d7f28..0545ada36 100644 --- a/packages/create-vant-cli-app/src/generator.ts +++ b/packages/create-vant-cli-app/src/generator.ts @@ -1,7 +1,7 @@ import fs from 'fs-extra'; import glob from 'fast-glob'; import color from 'picocolors'; -import { consola } from 'consola'; +import { logger } from 'rslog'; import { prompt } from 'enquirer'; import { sep, join } from 'node:path'; import { CWD, GENERATOR_DIR } from './constant'; @@ -64,7 +64,7 @@ export class VanGenerator { writing() { console.log(); - consola.info(`Creating project in ${color.green(this.outputDir)}\n`); + logger.info(`Creating project in ${color.green(this.outputDir)}\n`); // see https://github.com/mrmlnc/fast-glob#how-to-write-patterns-on-windows const templatePath = join(GENERATOR_DIR, this.inputs.vueVersion).replace( @@ -99,15 +99,15 @@ export class VanGenerator { fs.writeFileSync(to, content); const name = to.replace(this.outputDir + sep, ''); - consola.success(`${color.green('create')} ${name}`); + logger.success(`${color.green('create')} ${name}`); } end() { const { name } = this.inputs; console.log(); - consola.success(`Successfully created ${color.yellow(name)}.`); - consola.success( + logger.success(`Successfully created ${color.yellow(name)}.`); + logger.success( `Run ${color.yellow( `cd ${name} && git init && yarn && yarn dev`, )} to start development!`, diff --git a/packages/create-vant-cli-app/src/index.ts b/packages/create-vant-cli-app/src/index.ts index 831e079ed..a28b08391 100644 --- a/packages/create-vant-cli-app/src/index.ts +++ b/packages/create-vant-cli-app/src/index.ts @@ -1,6 +1,6 @@ #!/usr/bin/env node -import { consola } from 'consola'; +import { logger } from 'rslog'; import { prompt } from 'enquirer'; import { ensureDir } from 'fs-extra'; import { VanGenerator } from './generator'; @@ -17,7 +17,7 @@ async function run() { const generator = new VanGenerator(name); await generator.run(); } catch (e) { - consola.error(e); + logger.error(e); } } diff --git a/packages/vant-cli/package.json b/packages/vant-cli/package.json index 44fd02c6a..71f8ebd4f 100644 --- a/packages/vant-cli/package.json +++ b/packages/vant-cli/package.json @@ -55,7 +55,7 @@ "@vue/babel-plugin-jsx": "^1.1.1", "autoprefixer": "^10.4.8", "commander": "^11.0.0", - "consola": "^3.0.2", + "rslog": "^1.0.0", "esbuild": "^0.18.11", "eslint": "^8.46.0", "enquirer": "2.3.6", @@ -69,7 +69,6 @@ "markdown-it": "^13.0.1", "markdown-it-anchor": "^8.6.4", "nano-staged": "^0.8.0", - "nanospinner": "^1.1.0", "picocolors": "^1.0.0", "postcss": "^8.4.23", "postcss-load-config": "^4.0.1", diff --git a/packages/vant-cli/src/commands/build.ts b/packages/vant-cli/src/commands/build.ts index 34a90b613..6b663d486 100644 --- a/packages/vant-cli/src/commands/build.ts +++ b/packages/vant-cli/src/commands/build.ts @@ -1,9 +1,9 @@ import fse from 'fs-extra'; +import { logger } from 'rslog'; import { execSync } from 'child_process'; import { join, relative } from 'node:path'; import { clean } from './clean.js'; import { CSS_LANG } from '../common/css.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'; @@ -181,20 +181,19 @@ const tasks = [ async function runBuildTasks() { for (let i = 0; i < tasks.length; i++) { const { task, text } = tasks[i]; - const spinner = createSpinner(text).start(); try { /* eslint-disable no-await-in-loop */ await task(); - spinner.success({ text }); + logger.ready(text); } catch (err) { - spinner.error({ text }); - console.log(err); + logger.error(text); + logger.error(err); throw err; } } - consola.success('Compile successfully'); + logger.success('Build all files'); } export async function build() { @@ -205,7 +204,7 @@ export async function build() { await installDependencies(); await runBuildTasks(); } catch (err) { - consola.error('Build failed'); + logger.error('Build failed'); process.exit(1); } } diff --git a/packages/vant-cli/src/commands/commit-lint.ts b/packages/vant-cli/src/commands/commit-lint.ts index 01d42ca26..27336a761 100644 --- a/packages/vant-cli/src/commands/commit-lint.ts +++ b/packages/vant-cli/src/commands/commit-lint.ts @@ -1,5 +1,5 @@ +import { logger } from 'rslog'; import { readFileSync } from 'node:fs'; -import { consola } from '../common/logger.js'; const commitRE = /^(revert: )?(fix|feat|docs|perf|test|types|style|build|chore|release|refactor|breaking change)(\(.+\))?: .{1,50}/; @@ -9,7 +9,7 @@ export function commitLint(gitParams: string) { const commitMsg = readFileSync(gitParams, 'utf-8').trim(); if (!commitRE.test(commitMsg) && !mergeRE.test(commitMsg)) { - consola.error(`invalid commit message: "${commitMsg}". + logger.error(`invalid commit message: "${commitMsg}". Proper commit message format is required for automated changelog generation. diff --git a/packages/vant-cli/src/commands/lint.ts b/packages/vant-cli/src/commands/lint.ts index cab294a38..4d91d9ec5 100644 --- a/packages/vant-cli/src/commands/lint.ts +++ b/packages/vant-cli/src/commands/lint.ts @@ -1,5 +1,5 @@ import { exec } from 'child_process'; -import { consola, createSpinner } from '../common/logger.js'; +import { logger } from 'rslog'; import { SCRIPT_EXTS } from '../common/constant.js'; type RunCommandMessages = { @@ -9,7 +9,7 @@ type RunCommandMessages = { }; function runCommand(cmd: string, messages: RunCommandMessages) { - const spinner = createSpinner(messages.start).start(); + logger.start(messages.start); return new Promise((resolve) => { const options = { @@ -18,11 +18,11 @@ function runCommand(cmd: string, messages: RunCommandMessages) { exec(cmd, options, (error, stdout, stderr) => { if (error) { - consola.error(stderr || stdout); - spinner.error({ text: messages.failed }); + logger.error(stderr || stdout); + logger.error(messages.failed); resolve(false); } else { - spinner.success({ text: messages.succeed }); + logger.success(messages.succeed); resolve(true); } }); diff --git a/packages/vant-cli/src/commands/release.ts b/packages/vant-cli/src/commands/release.ts index 0ee86d931..07d349017 100644 --- a/packages/vant-cli/src/commands/release.ts +++ b/packages/vant-cli/src/commands/release.ts @@ -2,15 +2,15 @@ import fse from 'fs-extra'; import { join } from 'node:path'; import color from 'picocolors'; import enquirer from 'enquirer'; -import { consola } from '../common/logger.js'; +import { logger } from 'rslog'; import { getPackageManager } from '../common/manager.js'; import { execSync } from 'child_process'; function logCurrentVersion(cwd: string) { const pkgJson = join(cwd, 'package.json'); const pkg = fse.readJSONSync(pkgJson); - consola.success(`${color.bold('Current package:')} ${color.green(pkg.name)}`); - consola.success( + logger.success(`${color.bold('Current package:')} ${color.green(pkg.name)}`); + logger.success( `${color.bold('Current version:')} ${color.green(pkg.version)}`, ); return { @@ -43,7 +43,7 @@ function getNpmTag(version: string, forceTag?: string) { tag = 'latest'; } - consola.success(`${color.bold('Npm tag:')} ${color.green(tag)}`); + logger.success(`${color.bold('Npm tag:')} ${color.green(tag)}`); return tag; } @@ -60,7 +60,7 @@ function setPkgVersion( function buildPackage(pkgJson: Record, packageManager: string) { if (pkgJson.scripts?.build) { const command = `${packageManager} run build`; - consola.success(`${color.bold('Build package:')} ${color.green(command)}`); + logger.success(`${color.bold('Build package:')} ${color.green(command)}`); execSync(command, { stdio: 'inherit' }); } } @@ -113,7 +113,7 @@ export async function release(command: { tag?: string; gitTag?: boolean }) { try { buildPackage(pkgJson, packageManager); } catch (err) { - consola.error('Failed to build package, rollback to the previous version.'); + logger.error('Failed to build package, rollback to the previous version.'); setPkgVersion(pkgJson, pkgJsonPath, currentVersion); throw err; } diff --git a/packages/vant-cli/src/common/logger.ts b/packages/vant-cli/src/common/logger.ts index f79e766db..d70581cee 100644 --- a/packages/vant-cli/src/common/logger.ts +++ b/packages/vant-cli/src/common/logger.ts @@ -1,10 +1,6 @@ -import { createSpinner } from 'nanospinner'; import color from 'picocolors'; -import { consola } from 'consola'; import { ROOT } from '../common/constant.js'; export function slimPath(path: string) { return color.yellow(path.replace(ROOT, '')); } - -export { createSpinner, consola }; diff --git a/packages/vant-cli/src/common/manager.ts b/packages/vant-cli/src/common/manager.ts index 46dd0f6f8..5e5852f0b 100644 --- a/packages/vant-cli/src/common/manager.ts +++ b/packages/vant-cli/src/common/manager.ts @@ -1,4 +1,4 @@ -import { consola } from './logger.js'; +import { logger } from 'rslog'; import { execSync } from 'child_process'; import { getVantConfig } from './constant.js'; @@ -28,7 +28,7 @@ export function getPackageManager() { } export async function installDependencies() { - consola.info('Install Dependencies\n'); + logger.info('Install Dependencies\n'); try { const manager = getPackageManager(); diff --git a/packages/vant-cli/src/compiler/compile-site.ts b/packages/vant-cli/src/compiler/compile-site.ts index 8d2890cdc..d19288915 100644 --- a/packages/vant-cli/src/compiler/compile-site.ts +++ b/packages/vant-cli/src/compiler/compile-site.ts @@ -45,7 +45,7 @@ export async function compileSite(production = false) { const require = createRequire(import.meta.url); const { version } = require('vite/package.json'); const viteInfo = color.cyan(`vite v${version}`); - console.log(`\n ${viteInfo}` + color.green(` dev server running at:\n`)); + console.log(` ${viteInfo}` + color.green(` dev server running at:\n`)); server.printUrls(); } } diff --git a/packages/vant-cli/src/compiler/compile-style.ts b/packages/vant-cli/src/compiler/compile-style.ts index 15244e277..f1bbfee02 100644 --- a/packages/vant-cli/src/compiler/compile-style.ts +++ b/packages/vant-cli/src/compiler/compile-style.ts @@ -1,10 +1,10 @@ import { parse } from 'node:path'; import fse from 'fs-extra'; +import { logger } from 'rslog'; import { getVantConfig, replaceExt } from '../common/index.js'; import { compileCss } from './compile-css.js'; import { compileLess } from './compile-less.js'; import { compileSass } from './compile-sass.js'; -import { consola } from '../common/logger.js'; const { readFileSync, writeFileSync, removeSync } = fse; @@ -25,7 +25,7 @@ async function compileFile(filePath: string) { const source = readFileSync(filePath, 'utf-8'); return await compileCss(source); } catch (err) { - consola.error('Compile style failed: ' + filePath); + logger.error('Compile style failed: ' + filePath); throw err; } } diff --git a/packages/vant-cli/src/index.ts b/packages/vant-cli/src/index.ts index 1003e554a..b15cf8af9 100755 --- a/packages/vant-cli/src/index.ts +++ b/packages/vant-cli/src/index.ts @@ -1,9 +1,12 @@ // @ts-ignore import fs from 'node:fs'; import { URL, fileURLToPath } from 'node:url'; +import { logger } from 'rslog'; const packagePath = fileURLToPath(new URL('../package.json', import.meta.url)); const packageJson = JSON.parse(fs.readFileSync(packagePath, 'utf-8')); export const cliVersion: string = packageJson.version; +logger.greet(` Vant CLI v${cliVersion}\n`); + process.env.VANT_CLI_VERSION = cliVersion; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 02c27eb5d..2191e4912 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,9 +29,6 @@ importers: packages/create-vant-cli-app: dependencies: - consola: - specifier: ^3.0.2 - version: 3.2.3 enquirer: specifier: 2.3.6 version: 2.3.6 @@ -44,6 +41,9 @@ importers: picocolors: specifier: ^1.0.0 version: 1.0.0 + rslog: + specifier: ^1.0.0 + version: 1.0.0 devDependencies: '@types/fs-extra': specifier: ^11.0.1 @@ -172,9 +172,6 @@ importers: commander: specifier: ^11.0.0 version: 11.0.0 - consola: - specifier: ^3.0.2 - version: 3.2.3 enquirer: specifier: 2.3.6 version: 2.3.6 @@ -214,9 +211,6 @@ importers: nano-staged: specifier: ^0.8.0 version: 0.8.0 - nanospinner: - specifier: ^1.1.0 - version: 1.1.0 picocolors: specifier: ^1.0.0 version: 1.0.0 @@ -229,6 +223,9 @@ importers: prettier: specifier: ^3.0.0 version: 3.0.1 + rslog: + specifier: ^1.0.0 + version: 1.0.0 terser: specifier: ^5.19.2 version: 5.19.2 @@ -1591,11 +1588,6 @@ packages: proto-list: 1.2.4 dev: true - /consola@3.2.3: - resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} - engines: {node: ^14.18.0 || >=16.10.0} - dev: false - /convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -2660,12 +2652,6 @@ 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-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: false @@ -2956,6 +2942,11 @@ packages: resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} dev: true + /rslog@1.0.0: + resolution: {integrity: sha512-yTulfJJIYHBftErlZZXHdZuFA8275spDcTrCs8JIXIh+wRIRgi6RGoT8MAnB8H6NIEvJbMUP14Mo1t7hCw4k1g==} + engines: {node: '>=14.17.6'} + dev: false + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: