From 402c6ed7ba89d36a0c81e87f3ddecc608fe8fe99 Mon Sep 17 00:00:00 2001 From: silverwind Date: Wed, 28 Nov 2018 00:41:13 +0100 Subject: [PATCH] remove chalk dependency --- package.json | 1 - updates.js | 15 ++++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index b05de7a..602660e 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,6 @@ "updates.js" ], "dependencies": { - "chalk": "2.4.1", "escape-string-regexp": "1.0.5", "find-up": "3.0.0", "hosted-git-info": "^2.7.1", diff --git a/updates.js b/updates.js index 95b40ae..d51e6f4 100755 --- a/updates.js +++ b/updates.js @@ -80,8 +80,14 @@ if (args.version) { process.exit(0); } -if (args["color"]) process.env.FORCE_COLOR = "1"; -if (args["no-color"]) process.env.FORCE_COLOR = "0"; +let useColor = Boolean(process.stdout.isTTY); +if (args["color"]) useColor = true; +if (args["no-color"]) useColor = false; + +const colors = { + green: str => useColor ? `\x1b[0;32m${str}\x1b[0m` : str, + red: str => useColor ? `\x1b[0;31m${str}\x1b[0m` : str, +}; const greatest = parseMixedArg(args.greatest); const prerelease = parseMixedArg(args.prerelease); @@ -167,7 +173,6 @@ if (!Object.keys(deps).length) { const fetch = require("make-fetch-happen"); const esc = require("escape-string-regexp"); -const chalk = require("chalk"); const hostedGitInfo = require("hosted-git-info"); const get = async name => { @@ -224,7 +229,7 @@ Promise.all(Object.keys(deps).map(name => get(name))).then(dati => { │ package.json updated │ ╰────────────────────────╯`; - finish(chalk.green(msg.substring(1))); + finish(colors.green(msg.substring(1))); }).catch(finish); function finish(obj, opts) { @@ -262,7 +267,7 @@ function finish(obj, opts) { function highlightDiff(a, b, added) { const aParts = a.split(/\./); const bParts = b.split(/\./); - const color = chalk[added ? "green" : "red"]; + const color = colors[added ? "green" : "red"]; const versionPartRe = /^[0-9a-zA-Z-.]+$/; let res = "";