From ec5b36c770c96e3772f4d4c9bf2d79f26badefe7 Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 20 Oct 2023 10:23:18 +0800 Subject: [PATCH] chore: replace chalk with picocolors --- .github/renovate.json5 | 1 - package.json | 2 +- pnpm-lock.yaml | 7 ++++--- rollup.config.js | 4 ++-- scripts/build.js | 4 ++-- scripts/release.js | 16 ++++++++-------- scripts/utils.js | 6 +++--- scripts/verifyCommit.js | 12 ++++++------ 8 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 8f8378edf..088913317 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -45,7 +45,6 @@ 'typescript', // ESM only - 'chalk', 'estree-walker' ] } diff --git a/package.json b/package.json index e92b0c91c..205f00c72 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,6 @@ "@typescript-eslint/parser": "^6.7.2", "@vitest/coverage-istanbul": "^0.34.4", "@vue/consolidate": "0.17.3", - "chalk": "^4.1.0", "conventional-changelog-cli": "^4.1.0", "enquirer": "^2.4.1", "esbuild": "^0.19.3", @@ -87,6 +86,7 @@ "marked": "^9.1.1", "minimist": "^1.2.8", "npm-run-all": "^4.1.5", + "picocolors": "^1.0.0", "prettier": "^3.0.3", "pretty-bytes": "^6.1.1", "pug": "^3.0.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 34b54bd1b..121ea25d8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -47,9 +47,6 @@ importers: '@vue/consolidate': specifier: 0.17.3 version: 0.17.3 - chalk: - specifier: ^4.1.0 - version: 4.1.2 conventional-changelog-cli: specifier: ^4.1.0 version: 4.1.0 @@ -98,6 +95,9 @@ importers: npm-run-all: specifier: ^4.1.5 version: 4.1.5 + picocolors: + specifier: ^1.0.0 + version: 1.0.0 prettier: specifier: ^3.0.3 version: 3.0.3 @@ -3959,6 +3959,7 @@ packages: /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + requiresBuild: true dev: true /js-yaml@4.1.0: diff --git a/rollup.config.js b/rollup.config.js index 7050ba437..d8dfc98a3 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -4,7 +4,7 @@ import { fileURLToPath } from 'node:url' import path from 'node:path' import replace from '@rollup/plugin-replace' import json from '@rollup/plugin-json' -import chalk from 'chalk' +import pico from 'picocolors' import commonJS from '@rollup/plugin-commonjs' import polyfillNode from 'rollup-plugin-polyfill-node' import { nodeResolve } from '@rollup/plugin-node-resolve' @@ -91,7 +91,7 @@ export default packageConfigs function createConfig(format, output, plugins = []) { if (!output) { - console.log(chalk.yellow(`invalid format: "${format}"`)) + console.log(pico.yellow(`invalid format: "${format}"`)) process.exit(1) } diff --git a/scripts/build.js b/scripts/build.js index eb1ac33ac..154ed5b2d 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -21,7 +21,7 @@ import { existsSync, readFileSync } from 'node:fs' import path from 'node:path' import minimist from 'minimist' import { gzipSync, brotliCompressSync } from 'node:zlib' -import chalk from 'chalk' +import pico from 'picocolors' import { execa, execaSync } from 'execa' import { cpus } from 'node:os' import { createRequire } from 'node:module' @@ -164,7 +164,7 @@ async function checkFileSize(filePath) { const brotli = brotliCompressSync(file) console.log( - `${chalk.gray(chalk.bold(fileName))} min:${prettyBytes( + `${pico.gray(pico.bold(fileName))} min:${prettyBytes( file.length )} / gzip:${prettyBytes(gzipped.length)} / brotli:${prettyBytes( brotli.length diff --git a/scripts/release.js b/scripts/release.js index 8d9141991..400e808ba 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -2,7 +2,7 @@ import minimist from 'minimist' import fs from 'node:fs' import path from 'node:path' -import chalk from 'chalk' +import pico from 'picocolors' import semver from 'semver' import enquirer from 'enquirer' import { execa } from 'execa' @@ -73,16 +73,16 @@ const inc = i => semver.inc(currentVersion, i, preId) const run = (bin, args, opts = {}) => execa(bin, args, { stdio: 'inherit', ...opts }) const dryRun = (bin, args, opts = {}) => - console.log(chalk.blue(`[dryrun] ${bin} ${args.join(' ')}`), opts) + console.log(pico.blue(`[dryrun] ${bin} ${args.join(' ')}`), opts) const runIfNotDry = isDryRun ? dryRun : run const getPkgRoot = pkg => path.resolve(__dirname, '../packages/' + pkg) -const step = msg => console.log(chalk.cyan(msg)) +const step = msg => console.log(pico.cyan(msg)) async function main() { if (!(await isInSyncWithRemote())) { return } else { - console.log(`${chalk.green(`✓`)} commit is up-to-date with rmeote.\n`) + console.log(`${pico.green(`✓`)} commit is up-to-date with rmeote.\n`) } let targetVersion = args._[0] @@ -285,7 +285,7 @@ async function main() { if (skippedPackages.length) { console.log( - chalk.yellow( + pico.yellow( `The following packages are skipped and NOT published:\n- ${skippedPackages.join( '\n- ' )}` @@ -361,7 +361,7 @@ function updateDeps(pkg, depType, version, getNewPackageName) { const newName = getNewPackageName(dep) const newVersion = newName === dep ? version : `npm:${newName}@${version}` console.log( - chalk.yellow(`${pkg.name} -> ${depType} -> ${dep}@${newVersion}`) + pico.yellow(`${pkg.name} -> ${depType} -> ${dep}@${newVersion}`) ) deps[dep] = newVersion } @@ -407,10 +407,10 @@ async function publishPackage(pkgName, version) { stdio: 'pipe' } ) - console.log(chalk.green(`Successfully published ${pkgName}@${version}`)) + console.log(pico.green(`Successfully published ${pkgName}@${version}`)) } catch (e) { if (e.stderr.match(/previously published/)) { - console.log(chalk.red(`Skipping already published: ${pkgName}`)) + console.log(pico.red(`Skipping already published: ${pkgName}`)) } else { throw e } diff --git a/scripts/utils.js b/scripts/utils.js index b58f25a13..9429074d7 100644 --- a/scripts/utils.js +++ b/scripts/utils.js @@ -1,6 +1,6 @@ // @ts-check import fs from 'node:fs' -import chalk from 'chalk' +import pico from 'picocolors' import { createRequire } from 'node:module' const require = createRequire(import.meta.url) @@ -33,8 +33,8 @@ export function fuzzyMatchTarget(partialTargets, includeAllMatching) { } else { console.log() console.error( - ` ${chalk.bgRed.white(' ERROR ')} ${chalk.red( - `Target ${chalk.underline(partialTargets)} not found!` + ` ${pico.white(pico.bgRed(' ERROR '))} ${pico.red( + `Target ${pico.underline(partialTargets)} not found!` )}` ) console.log() diff --git a/scripts/verifyCommit.js b/scripts/verifyCommit.js index 4c1a2828b..62af7fd1c 100644 --- a/scripts/verifyCommit.js +++ b/scripts/verifyCommit.js @@ -1,5 +1,5 @@ // @ts-check -import chalk from 'chalk' +import pico from 'picocolors' import { readFileSync } from 'fs' import path from 'path' @@ -12,17 +12,17 @@ const commitRE = if (!commitRE.test(msg)) { console.log() console.error( - ` ${chalk.bgRed.white(' ERROR ')} ${chalk.red( + ` ${pico.white(pico.bgRed(' ERROR '))} ${pico.red( `invalid commit message format.` )}\n\n` + - chalk.red( + pico.red( ` Proper commit message format is required for automated changelog generation. Examples:\n\n` ) + - ` ${chalk.green(`feat(compiler): add 'comments' option`)}\n` + - ` ${chalk.green( + ` ${pico.green(`feat(compiler): add 'comments' option`)}\n` + + ` ${pico.green( `fix(v-model): handle events on blur (close #28)` )}\n\n` + - chalk.red(` See .github/commit-convention.md for more details.\n`) + pico.red(` See .github/commit-convention.md for more details.\n`) ) process.exit(1) }