tl;dr
- @t_wadaさん神
- coffee-scriptでpower-assert使うときはespower-coffeeを使おう
あらすじ
ちょっと前に話題になっていたpower-assertを使ってみようとしました.
こんな感じのを用意しました.
1 2 3 4 5 6 7 8 9 10 |
|
んで
1
|
|
みたいに実行したら
1 2 3 4 5 6 7 8 9 10 |
|
あれ,,,ログがショボい,,,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
こんな感じのを期待したのに!!
power-assert使ってみたのに思ったように出力でない.「AssertionError: false == true」って出てしまった
— ぽち@ (@pchw) June 9, 2014
とか言ってたら@yosuke_furukawaが色々助言をくれて,こうなって
@pchw intelli-espower-loaderへのpull request案件な気がしてきましたね。 https://t.co/F5tHM0NDqh
— Yosuke FURUKAWA (@yosuke_furukawa) June 9, 2014
さらに中をみていくと
いや待てよこれ*.coffeeにしてもならないぞ,,,espower-loaderの中の方まで見ていかないと
— ぽち@ (@pchw) June 9, 2014
さらに色々調べてたら数カ月前の@mizchiの発言が
昨日power-asset 使おうとしてみたけど coffeeと espower が上手く動かんかった
— 俺は平気だよ (@mizchi) May 19, 2014
という感じで動作しない感じでした.
TypeScriptでの前例があるように
@pchw なるほど。。vvakameさんがtypescriptでどうやってやってんだろーと思って中身見たらgrunt-espower使ってたのでそういうことですね。 https://t.co/mFYljl9QRw
— Yosuke FURUKAWA (@yosuke_furukawa) June 9, 2014
のようにgruntを使ってjsにコンパイルしてそれを食わせるという方法しか無いように思えた時に @t_wada 降臨.
@pchw @yosuke_furukawa 反応遅れてすみません。 CoffeeScript で power-assert 使いたい人意外といらっしゃるみたいですね……Node のローダーではちょっと向かい風ですが、手を考えます https://t.co/P1WY2nV1fz
— Takuto Wada (@t_wada) June 9, 2014
そしてその翌日
@pchw @yosuke_furukawa espower-coffee を作ってみたので試してみてください https://t.co/U8NM7Eji9k
— Takuto Wada (@t_wada) June 10, 2014
espower-coffee が公開されてました!
使い方
1 2 |
|
grunt-mocha-test
を使っているなら
1 2 3 4 5 6 7 8 9 |
|
こんな感じ.compilers: 'coffee:coffee-script'
は要らないみたいです.
すると
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
こんなのが得られて,coffee-scriptでpower-assertが使えました!
ちなみに他のファイルとかはこんな感じでやりました.
注意点
- coffee-scriptは1.7.1以上を要求します
- coffee-errorsなどを併用するとショボいログに戻ります
- AssertionErrorの行数が実際の.coffeeの行数ではありません.(多段SourceMap対応するまでは仕様とのこと)