ottijp blog

Solarizedでmocha実行時にアウトプットが見にくい問題を解決する

Solarizedという配色テーマが好きで,ターミナル,Vim,Xcode全部Solarizedにしています😆

なのですが,node.jsのテストフレームワークであるmochaを使うと,ターミナルのアウトプットに見えなく(とても見にくく)なる文字が発生します.

mocha invisible

これについて,以下のように原因を特定して修正のPRを送っている方がいましたが,マージはされていないようでした😢

そこで,上のPRの内容をローカルの環境に適用するワンライナーを作りました(package.jsonのあるディレクトリで実行します).

$ sed -i '.bak' -E "/^exports.colors = {$/,/^};$/ s/(^ +['a-zA-Z0-9 ]+): 90/\1: 2/g" ./node_modules/mocha/lib/reporters/base.js

これを当てるとmochaの実行結果が次のようになります.

mocha visible

見えなかった文字が見えるようになりました!

今後公式にマージされるとうれしいんですけどね・・・.

環境

  • macOS 10.12.6
  • node v5.11
  • mocha v4.0.1

やっていることと注意点

  • mochaのlib/reporters/base.jsのファイル中exports.colorsで定義されているカラーコードのうち,90のものを2に置き換えています
  • 元のbase.jsbase.js.bakにバックアップされています
  • パターンマッチしているだけなので,将来のmochaのバージョンではうまく置き換えられなくなる可能性はあります

参考

Macの(BSD版)sed での上書き保存 - Qiita


ottijp
都内でアプリケーションエンジニアをしています
© 2026, ottijp