Node.js 21.7.0のアップデートでText Stylingという項目がありました。
コンソールに表示させる 文字の色や装飾や背景色を変えられるようになります。
const { styleText } = require('node:util');
const errorMessage = styleText('red', 'Error! Error!');
console.log(errorMessage);
こんな感じでコンソールの文字色が外部モジュール無しで変えられます。
待ち望んでいた人も多いのでは......たぶん
元々チョークがあった
npmモジュールでチョーク(chalk)というパッケージがあり、これを使って色をつけることができました。
今回のアップデートでチョークライクなことが外部パッケージを入れずに使えるようになったような印象です。
(チョークを元々ちゃんと使ったことがなかったのでもっと別の機能があるのかもしれないですが)
使える色
使える色はこちらにまとまってます。
例えばblue
を指定するとこんな感じ。
Foreground colors
- black
- red
- green
- yellow
- blue
- magenta
- cyan
- white
- gray (alias: grey, blackBright)
- redBright
- greenBright
- yellowBright
- blueBright
- magentaBright
- cyanBright
- whiteBright
blueBright
とblue
、redBright
とred
はこんな感じ。
絶妙。。
使える装飾
下線や取り消し線なども使えるとのことです。
以下が掲載されています。
- reset - Resets all (color) modifiers to their defaults
- bold - Make text bold
- italic - Make text italic
- underline - Make text underlined
- strikethrough - Puts a horizontal line through the center of the text (Alias: strikeThrough, crossedout, crossedOut)
- hidden - Prints the text, but makes it invisible (Alias: conceal)
- dim - Decreased color intensity (Alias: faint)
- overlined - Make text overlined
- blink - Hides and shows the text in an interval
- inverse - Swap foreground and background colors (Alias: swapcolors, swapColors)
- doubleunderline - Make text double underlined (Alias: doubleUnderline)
- framed - Draw a frame around the text
装飾も何個か試してみる
- イタリック
const errorMessage = styleText('italic', 'Error! Error!');
- アンダーライン
const errorMessage = styleText('underline', 'Error! Error!');
- 取り消し戦
const errorMessage = styleText(`strikethrough`, 'Error! Error!',);
背景色も使える
背景色も変えられます。
https://nodejs.org/api/util.html#background-colors
Background colors
Customizing util.inspect colors
の項目にある背景色は以下の模様です。
- bgBlack
- bgRed
- bgGreen
- bgYellow
- bgBlue
- bgMagenta
- bgCyan
- bgWhite
- bgGray (alias: bgGrey, bgBlackBright)
- bgRedBright
- bgGreenBright
- bgYellowBright
- bgBlueBright
- bgMagentaBright
- bgCyanBright
- bgWhiteBright
何個か指定してみる
- 背景を緑に
const errorMessage = styleText(`bgGreen`, 'Error! Error!',);
- 背景をマゼンタに
const errorMessage = styleText(`bgMagentaBright`, 'Error! Error!',);
まとめ
割と便利な気がします。
背景色の指定と装飾を同時にしたいってときにどう指定するのか今の所わかってないです。できるのかな。