grunt-typescript で型チェックエラーを無視する
バッドな感じのタイトルだけど、開発中にとりえあず型エラーが出ていてもとりえあずjsファイルを吐いてほしいときはある。
実際 tsc コマンドを打つと、syntax error のときは js を吐かないけど、型エラーのときは js を吐いている。(それが好ましいのかどうかはしらないけど。)
- hoge.ts
class Hoge {} var h = new Hoge(); h.hoge();
Hogeクラスにhogeメソッドなんてないので型エラーがでるけど、jsファイルはできてる。
$ tsc hoge.ts hoge.ts(3,2): The property 'hoge' does not exist on value of type 'Hoge' $ ls hoge.js hoge.ts
- hoge.js
var Hoge = (function () { function Hoge() { } return Hoge; })(); var h = new Hoge(); h.hoge();
grunt-typescript では型エラーが出るともう js 吐かない。ちょっと動作確認だけしたいみたいなときにもちゃんと型の整合性を取る必要があるので、"型付けを後回し"にすることができない(すべきじゃないとか言われそう)
ので grunt-typescript にオプションを足してみる
diff --git a/tasks/typescript.js b/tasks/typescript.js @@ -306,7 +306,7 @@ module.exports = function (grunt) { } }); compiler.typeCheck(); - if(compiler.errorReporter.hasErrors){ + if(compiler.errorReporter.hasErrors && !options.ignoreTypeCheck){ return false; } compiler.emit(io);
Gruntfile の typescript のオプションに ignoreTypeCheck: true を足したら型エラーが出ても js ファイル吐き出してくれた。
タスク自体は失敗になるので注意。
- 作者: 高橋侑久
- 出版社/メーカー: ラトルズ
- 発売日: 2013/04/25
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る