diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e93c8d6..05e5b90 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -6,7 +6,7 @@ jobs: strategy: fail-fast: false matrix: - js: [[node, 18], [node, 20], [node, 22], [bun, latest]] + js: [[node, 20], [node, 22], [bun, latest]] os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{matrix.os}} steps: diff --git a/index.ts b/index.ts index 828b4d0..e0b9c6e 100755 --- a/index.ts +++ b/index.ts @@ -6,10 +6,8 @@ import {parse, coerce, diff, gt, gte, lt, neq, valid, validRange} from "semver"; import {cwd, stdout, argv, env, exit} from "node:process"; import {join, dirname, basename, resolve} from "node:path"; import {lstatSync, readFileSync, truncateSync, writeFileSync, accessSync} from "node:fs"; -import {stripVTControlCharacters} from "node:util"; +import {stripVTControlCharacters, styleText} from "node:util"; import {timerel} from "timerel"; -import supportsColor from "supports-color"; -import {magenta, red, green, disableColor} from "glowie"; import pAll from "p-all"; import picomatch from "picomatch"; import pkg from "./package.json" with {type: "json"}; @@ -148,7 +146,8 @@ const args = minimist(argv.slice(2), { }, }); -if (args["no-color"] || !supportsColor.stdout) disableColor(); +const [magenta, red, green] = (["magenta", "red", "green"] as const) + .map(color => args["no-color"] ? String : (text: string | number) => styleText(color, String(text))); type PackageArg = Set | boolean; diff --git a/package-lock.json b/package-lock.json index 02f889e..04d1ba4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,6 @@ "@types/semver": "7.5.8", "eslint": "8.57.0", "eslint-config-silverwind": "98.0.1", - "glowie": "1.3.2", "minimist": "1.2.8", "nano-spawn": "0.2.0", "p-all": "5.0.0", @@ -30,7 +29,6 @@ "restana": "5.0.0", "semver": "7.3.8", "smol-toml": "1.3.1", - "supports-color": "10.0.0", "timerel": "5.8.1", "typescript": "5.7.3", "typescript-config-silverwind": "6.2.1", @@ -42,7 +40,7 @@ "vitest-config-silverwind": "10.0.0" }, "engines": { - "node": ">=18" + "node": ">=20" } }, "node_modules/@ampproject/remapping": { @@ -6536,13 +6534,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/glowie": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/glowie/-/glowie-1.3.2.tgz", - "integrity": "sha512-PYYZnVGQYKJx3EsA7EM/AC8xNpyus/fNZsLjVYgz3aKuNzezpbLwMx2sEarrSa6yV8HmRoaSZ8ejjAsXEW9fjg==", - "dev": true, - "license": "BSD-2-Clause" - }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -9375,19 +9366,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/supports-color": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.0.0.tgz", - "integrity": "sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", diff --git a/package.json b/package.json index 0ba7947..dfa41a4 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "dist" ], "engines": { - "node": ">=18" + "node": ">=20" }, "devDependencies": { "@types/minimist": "1.2.5", @@ -23,7 +23,6 @@ "@types/semver": "7.5.8", "eslint": "8.57.0", "eslint-config-silverwind": "98.0.1", - "glowie": "1.3.2", "minimist": "1.2.8", "nano-spawn": "0.2.0", "p-all": "5.0.0", @@ -33,7 +32,6 @@ "restana": "5.0.0", "semver": "7.3.8", "smol-toml": "1.3.1", - "supports-color": "10.0.0", "timerel": "5.8.1", "typescript": "5.7.3", "typescript-config-silverwind": "6.2.1",