From 85f99bb67721fa7d36ec3d43969d1c0a352e0c38 Mon Sep 17 00:00:00 2001 From: Pavel Lang Date: Thu, 27 Dec 2018 18:21:46 +0100 Subject: [PATCH] feat: support for 'chalk/stderr' fix #301 --- package.json | 4 +++- stderr.d.ts | 6 ++++++ stderr.js | 7 +++++++ stderr.test-d.ts | 27 +++++++++++++++++++++++++++ 4 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 stderr.d.ts create mode 100644 stderr.js create mode 100644 stderr.test-d.ts diff --git a/package.json b/package.json index 35fb7d0..4335586 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,9 @@ "index.js", "templates.js", "index.d.ts", - "index.js.flow" + "index.js.flow", + "stderr.js", + "stderr.d.ts" ], "keywords": [ "color", diff --git a/stderr.d.ts b/stderr.d.ts new file mode 100644 index 0000000..7b40af9 --- /dev/null +++ b/stderr.d.ts @@ -0,0 +1,6 @@ +import Chalk from '.'; + +declare const chalk: Chalk; + +export * from '.'; +export default chalk; diff --git a/stderr.js b/stderr.js new file mode 100644 index 0000000..e203616 --- /dev/null +++ b/stderr.js @@ -0,0 +1,7 @@ +'use strict'; +const {stderr: stderrColor} = require('supports-color'); +const {constructor: Chalk} = require('.'); + +module.exports = new Chalk({level: stderrColor ? stderrColor.level : 0}); +module.exports.supportsColor = stderrColor; +module.exports.default = module.exports; // For TypeScript diff --git a/stderr.test-d.ts b/stderr.test-d.ts new file mode 100644 index 0000000..f6c7fb2 --- /dev/null +++ b/stderr.test-d.ts @@ -0,0 +1,27 @@ +import {expectType} from 'tsd-check'; +import cherr, {Level, Chalk, ColorSupport} from './stderr'; + +// - Helpers - +type colorReturn = Chalk & {supportsColor: ColorSupport}; + +// - supportsColor - +expectType(cherr.supportsColor.hasBasic); +expectType(cherr.supportsColor.has256); +expectType(cherr.supportsColor.has16m); + +// - Chalk - +// -- Constructor -- +expectType(new cherr.constructor({level: 1})); + +// -- Properties -- +expectType(cherr.enabled); +expectType(cherr.level); + +// -- Template literal -- +expectType(cherr``); + +// -- Color methods -- +expectType(cherr.hex('#DEADED')); + +// -- Complex -- +expectType(cherr.underline.red.bgGreen('foo'));