From 2e35a0c00e1c379ce6b4b29f90fcd3212e546a8c Mon Sep 17 00:00:00 2001 From: Kiko Beats Date: Tue, 10 Feb 2026 11:51:24 +0100 Subject: [PATCH] chore: drop picocolors --- package.json | 1 - src/api.js | 22 ++++++++-------------- src/colors.js | 18 ++++++++++++++++++ src/exit.js | 16 ++++++---------- src/help.js | 2 +- src/print.js | 10 +++++----- 6 files changed, 38 insertions(+), 31 deletions(-) create mode 100644 src/colors.js diff --git a/package.json b/package.json index 735eae8..bcab6e9 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,6 @@ "jsome": "~2.5.0", "mri": "~1.2.0", "nanospinner": "~1.2.2", - "picocolors": "~1.1.1", "pretty-bytes": "5", "pretty-ms": "~7.0.1", "restore-cursor": "~3.1.0", diff --git a/src/api.js b/src/api.js index a7f3308..b34d74c 100644 --- a/src/api.js +++ b/src/api.js @@ -9,11 +9,11 @@ const { URLSearchParams } = require('url') const clipboardy = require('clipboardy') const mql = require('@microlink/mql') const prettyMs = require('pretty-ms') -const colors = require('picocolors') const temp = require('temperment') const fs = require('fs') const os = require('os') +const { gray, green } = require('./colors') const print = require('./print') const exit = require('./exit') @@ -113,36 +113,30 @@ const render = ({ response, flags }) => { console.error() console.error( print.label('success', 'green'), - colors.gray(`${print.bytes(size)} in ${time}`) + gray(`${print.bytes(size)} in ${time}`) ) console.error() if (serverTiming) { - console.error(' ', print.keyValue(colors.green('timing'), serverTiming)) + console.error(' ', print.keyValue(green('timing'), serverTiming)) } if (cacheStatus) { console.error( ' ', - print.keyValue( - colors.green('cache'), - `${cacheStatus} ${colors.gray(expiredAt)}` - ) + print.keyValue(green('cache'), `${cacheStatus} ${gray(expiredAt)}`) ) } if (fetchMode) { console.error( ' ', - print.keyValue( - colors.green('mode'), - `${fetchMode} ${colors.gray(fetchTime)}` - ) + print.keyValue(green('mode'), `${fetchMode} ${gray(fetchTime)}`) ) } - console.error(' ', print.keyValue(colors.green('uri'), uri)) - console.error(' ', print.keyValue(colors.green('id'), id)) + console.error(' ', print.keyValue(green('uri'), uri)) + console.error(' ', print.keyValue(green('id'), id)) if (flags.copy) { let copiedValue @@ -152,7 +146,7 @@ const render = ({ response, flags }) => { copiedValue = body } clipboardy.writeSync(JSON.stringify(copiedValue, null, 2)) - console.error(`\n ${colors.gray('Copied to clipboard!')}`) + console.error(`\n ${gray('Copied to clipboard!')}`) } } diff --git a/src/colors.js b/src/colors.js new file mode 100644 index 0000000..de706da --- /dev/null +++ b/src/colors.js @@ -0,0 +1,18 @@ +'use strict' + +const { styleText } = require('node:util') + +const gray = str => styleText('gray', str) + +const white = str => styleText('white', str) + +const green = str => styleText('green', str) + +const red = str => styleText('red', str) + +const yellow = str => styleText('yellow', str) + +const label = (text, color) => + styleText(['inverse', 'bold', color], ` ${text.toUpperCase()} `) + +module.exports = { gray, white, green, red, yellow, label } diff --git a/src/exit.js b/src/exit.js index fe3068a..b76c1b4 100644 --- a/src/exit.js +++ b/src/exit.js @@ -1,6 +1,6 @@ 'use strict' -const colors = require('picocolors') +const { gray, red } = require('./colors') const print = require('./print') @@ -15,31 +15,27 @@ module.exports = async (promise, { flags }) => { console.log( ' ', print.label((error.status || 'fail').toUpperCase(), 'red'), - colors.gray(error.message.replace(`${error.code}, `, '')) + gray(error.message.replace(`${error.code}, `, '')) ) console.log() if (error.data) { console.log(print.keyValue(' ', JSON.stringify(error.data))) console.log() } - id && console.log(' ', print.keyValue(colors.red('id'), id)) - error.url && - console.log(' ', print.keyValue(colors.red('uri'), error.url)) + id && console.log(' ', print.keyValue(red('id'), id)) + error.url && console.log(' ', print.keyValue(red('uri'), error.url)) error.code && console.log( ' ', print.keyValue( - colors.red('code'), + red('code'), `${error.code} ${error.statusCode ? `(${error.statusCode})` : ''}` ) ) error.more && console.log( ' ', - print.keyValue( - colors.red('more'), - print.link('click to report', error.more) - ) + print.keyValue(red('more'), print.link('click to report', error.more)) ) process.exit(1) diff --git a/src/help.js b/src/help.js index 688ed98..fea705d 100644 --- a/src/help.js +++ b/src/help.js @@ -1,6 +1,6 @@ 'use strict' -const { gray, white } = require('picocolors') +const { gray, white } = require('./colors') const code = str => `\`${str}\`` diff --git a/src/print.js b/src/print.js index f4ece8f..1e5fe6e 100644 --- a/src/print.js +++ b/src/print.js @@ -5,10 +5,11 @@ const restoreCursor = require('restore-cursor') const terminalLink = require('terminal-link') const prettyBytes = require('pretty-bytes') const prettyMs = require('pretty-ms') -const colors = require('picocolors') const termImg = require('term-img') const jsome = require('jsome') +const { gray, yellow, label } = require('./colors') + const TICK_INTERVAL = 50 jsome.colors = { @@ -55,19 +56,18 @@ module.exports = { json: (payload, { color: colorize = true } = {}) => colorize ? jsome(payload) : console.log(payload), - label: (text, color) => - colors.inverse(colors.bold(colors[color](` ${text.toUpperCase()} `))), + label, bytes: prettyBytes, - keyValue: (key, value) => key + ' ' + colors.gray(value), + keyValue: (key, value) => key + ' ' + gray(value), image: filepath => console.log( termImg(filepath, { width: '50%', fallback: () => - `\n${colors.yellow(' tip:')} ${colors.gray( + `\n${yellow(' tip:')} ${gray( 'use iTerm >=3 to see the image here!' )}` })