Re-export types from supports-color (#526)
This commit is contained in:
parent
c987c61486
commit
09fd5c4ba8
5 changed files with 25 additions and 50 deletions
|
|
@ -1,3 +1,4 @@
|
||||||
|
import process from 'node:process';
|
||||||
import styles from 'ansi-styles';
|
import styles from 'ansi-styles';
|
||||||
import chalk from '../source/index.js';
|
import chalk from '../source/index.js';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-styles": "^6.1.0",
|
"ansi-styles": "^6.1.0",
|
||||||
"supports-color": "^9.0.2"
|
"supports-color": "^9.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"ava": "^3.15.0",
|
"ava": "^3.15.0",
|
||||||
|
|
@ -54,7 +54,7 @@
|
||||||
"nyc": "^15.1.0",
|
"nyc": "^15.1.0",
|
||||||
"tsd": "^0.17.0",
|
"tsd": "^0.17.0",
|
||||||
"typescript": "^4.3.5",
|
"typescript": "^4.3.5",
|
||||||
"xo": "^0.42.0",
|
"xo": "^0.46.4",
|
||||||
"yoctodelay": "^1.2.0"
|
"yoctodelay": "^1.2.0"
|
||||||
},
|
},
|
||||||
"types": "./source/index.d.ts",
|
"types": "./source/index.d.ts",
|
||||||
|
|
|
||||||
46
source/index.d.ts
vendored
46
source/index.d.ts
vendored
|
|
@ -1,3 +1,5 @@
|
||||||
|
import {ColorInfo, ColorSupportLevel} from 'supports-color';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Basic foreground colors.
|
Basic foreground colors.
|
||||||
|
|
||||||
|
|
@ -67,15 +69,6 @@ export type Modifiers =
|
||||||
| 'strikethrough'
|
| 'strikethrough'
|
||||||
| 'visible';
|
| 'visible';
|
||||||
|
|
||||||
/**
|
|
||||||
Levels:
|
|
||||||
- `0` - All colors disabled.
|
|
||||||
- `1` - Basic 16 colors support.
|
|
||||||
- `2` - ANSI 256 colors support.
|
|
||||||
- `3` - Truecolor 16 million colors support.
|
|
||||||
*/
|
|
||||||
export type ColorSupportLevel = 0 | 1 | 2 | 3;
|
|
||||||
|
|
||||||
export interface Options {
|
export interface Options {
|
||||||
/**
|
/**
|
||||||
Specify the color support for Chalk.
|
Specify the color support for Chalk.
|
||||||
|
|
@ -94,32 +87,7 @@ export interface Options {
|
||||||
/**
|
/**
|
||||||
Return a new Chalk instance.
|
Return a new Chalk instance.
|
||||||
*/
|
*/
|
||||||
export const Chalk: new (options?: Options) => ChalkInstance;
|
export const Chalk: new (options?: Options) => ChalkInstance; // eslint-disable-line @typescript-eslint/naming-convention
|
||||||
|
|
||||||
/**
|
|
||||||
Detect whether the terminal supports color.
|
|
||||||
*/
|
|
||||||
export interface ColorSupport {
|
|
||||||
/**
|
|
||||||
The color level used by Chalk.
|
|
||||||
*/
|
|
||||||
level: ColorSupportLevel;
|
|
||||||
|
|
||||||
/**
|
|
||||||
Return whether Chalk supports basic 16 colors.
|
|
||||||
*/
|
|
||||||
hasBasic: boolean;
|
|
||||||
|
|
||||||
/**
|
|
||||||
Return whether Chalk supports ANSI 256 colors.
|
|
||||||
*/
|
|
||||||
has256: boolean;
|
|
||||||
|
|
||||||
/**
|
|
||||||
Return whether Chalk supports Truecolor 16 million colors.
|
|
||||||
*/
|
|
||||||
has16m: boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface ChalkInstance {
|
export interface ChalkInstance {
|
||||||
(...text: unknown[]): string;
|
(...text: unknown[]): string;
|
||||||
|
|
@ -333,9 +301,15 @@ This simply means that `chalk.red.yellow.green` is equivalent to `chalk.green`.
|
||||||
*/
|
*/
|
||||||
declare const chalk: ChalkInstance;
|
declare const chalk: ChalkInstance;
|
||||||
|
|
||||||
export const supportsColor: ColorSupport | false;
|
export const supportsColor: ColorInfo;
|
||||||
|
|
||||||
export const chalkStderr: typeof chalk;
|
export const chalkStderr: typeof chalk;
|
||||||
export const supportsColorStderr: typeof supportsColor;
|
export const supportsColorStderr: typeof supportsColor;
|
||||||
|
|
||||||
|
export {
|
||||||
|
ColorInfo,
|
||||||
|
ColorSupport,
|
||||||
|
ColorSupportLevel,
|
||||||
|
} from 'supports-color';
|
||||||
|
|
||||||
export default chalk;
|
export default chalk;
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
import {expectType, expectAssignable, expectError} from 'tsd';
|
import {expectType, expectAssignable, expectError} from 'tsd';
|
||||||
import chalk, {Chalk, ChalkInstance, Color, ColorSupport, ColorSupportLevel, chalkStderr, supportsColor, supportsColorStderr} from './index.js';
|
import chalk, {Chalk, ChalkInstance, Color, ColorInfo, ColorSupport, ColorSupportLevel, chalkStderr, supportsColor, supportsColorStderr} from './index.js';
|
||||||
|
|
||||||
// - Helpers -
|
|
||||||
type colorReturn = ChalkInstance & {supportsColor?: never};
|
|
||||||
|
|
||||||
// - supportsColor -
|
// - supportsColor -
|
||||||
expectType<ColorSupport | false>(supportsColor);
|
expectType<ColorInfo>(supportsColor);
|
||||||
if (supportsColor) {
|
if (supportsColor) {
|
||||||
|
expectType<ColorSupport>(supportsColor);
|
||||||
|
expectType<ColorSupportLevel>(supportsColor.level);
|
||||||
expectType<boolean>(supportsColor.hasBasic);
|
expectType<boolean>(supportsColor.hasBasic);
|
||||||
expectType<boolean>(supportsColor.has256);
|
expectType<boolean>(supportsColor.has256);
|
||||||
expectType<boolean>(supportsColor.has16m);
|
expectType<boolean>(supportsColor.has16m);
|
||||||
|
|
@ -14,7 +13,7 @@ if (supportsColor) {
|
||||||
|
|
||||||
// - stderr -
|
// - stderr -
|
||||||
expectAssignable<ChalkInstance>(chalkStderr);
|
expectAssignable<ChalkInstance>(chalkStderr);
|
||||||
expectType<ColorSupport | false>(supportsColorStderr);
|
expectType<ColorInfo>(supportsColorStderr);
|
||||||
if (supportsColorStderr) {
|
if (supportsColorStderr) {
|
||||||
expectType<boolean>(supportsColorStderr.hasBasic);
|
expectType<boolean>(supportsColorStderr.hasBasic);
|
||||||
expectType<boolean>(supportsColorStderr.has256);
|
expectType<boolean>(supportsColorStderr.has256);
|
||||||
|
|
@ -35,12 +34,12 @@ expectType<ChalkInstance>(new Chalk({level: 1}));
|
||||||
expectType<ColorSupportLevel>(chalk.level);
|
expectType<ColorSupportLevel>(chalk.level);
|
||||||
|
|
||||||
// -- Color methods --
|
// -- Color methods --
|
||||||
expectAssignable<colorReturn>(chalk.rgb(0, 0, 0));
|
expectType<ChalkInstance>(chalk.rgb(0, 0, 0));
|
||||||
expectAssignable<colorReturn>(chalk.hex('#DEADED'));
|
expectType<ChalkInstance>(chalk.hex('#DEADED'));
|
||||||
expectAssignable<colorReturn>(chalk.ansi256(0));
|
expectType<ChalkInstance>(chalk.ansi256(0));
|
||||||
expectAssignable<colorReturn>(chalk.bgRgb(0, 0, 0));
|
expectType<ChalkInstance>(chalk.bgRgb(0, 0, 0));
|
||||||
expectAssignable<colorReturn>(chalk.bgHex('#DEADED'));
|
expectType<ChalkInstance>(chalk.bgHex('#DEADED'));
|
||||||
expectAssignable<colorReturn>(chalk.bgAnsi256(0));
|
expectType<ChalkInstance>(chalk.bgAnsi256(0));
|
||||||
|
|
||||||
// -- Modifiers --
|
// -- Modifiers --
|
||||||
expectType<string>(chalk.reset('foo'));
|
expectType<string>(chalk.reset('foo'));
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import process from 'node:process';
|
||||||
import test from 'ava';
|
import test from 'ava';
|
||||||
import chalk, {Chalk, chalkStderr} from '../source/index.js';
|
import chalk, {Chalk, chalkStderr} from '../source/index.js';
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue