gem middleman-typescriptをリリースしました。

今日はOkayama.rbだったので久々にRubyっぽいことをやりました。
というか昨日の夜から作業してたやつの続きをしただけですが。

先日、有志でやってる読書会の教材としてどの本にしようか?という話をしていたのですが、それはUnity系にしようということに決まったのですが、個人的にはTypeScript気になるなぁと思っていたのです。

しかし、Railsに慣れてる人がTypeScriptをやろうと思うと結構めんどい。

RailsでTypeScriptをやるのは茨の道らしいというのはぐぐったらわかっていたのですが、最近typescript-railsというgemが更新されだしたらしいではないですか。といっても、Railsで新しいプロジェクトを作るんならいいけれど、簡単にTypeScriptを試したい人にとってはちょっと敷居が高いかなと思ったので、middlemanでTypeScriptを使えるようにしよう!と思った訳です。

typescript-railsが、typescript-nodeというgemを使っていたので、これを使うようにして、middlemanの拡張を作り始めました。middlemanのソースを読んだのですが、なかなかうまくいかず、最終的にはmiddleman-livereloadのソースを読んで、必要なところだけ抽出してmiddleman-typescriptを作りました。テストは(まだ)書いていません。バージョン0.0.1だから許して…。

github: okayamarb/middleman-typescript

使い方

まず、middlemanプロジェクトのGemfileに追記してください。

gem 'middleman-typescript'

そしてbundle installします。

そして、config.rbに以下を書きます。

configure :development do
  ignore "source/typescripts/*" 
  activate :livereload
  activate :typescript # デフォルトはtypescripts。オプションで typescript_dir: 'ts' で変更可能
end

そして、sourceディレクトリ以下にデフォルトならtypescriptsディレクトリを作ります。ここにtypespcriptファイル(*.ts)を置きます。あとはmiddleman sでサーバが起動している状態でtsファイルを作ると、js_dirに*.tsファイルから*.jsファイルがコンパイルされます。

ignore “source/typescripts/*”

としておくことで、middlemanのLiveReloadからtypescriptディレクトリを除外します。middleman-typescriptがsource/typescripts/*を監視しているので、LiveReloadで見る事はありません。というのも、middleman-typescriptがtsファイルからjsファイルを作ったタイミングでmiddleman-livereloadによってリロードされますから、除外しておかないとリロードしまくっておかしくなるのです。

ただ、jsファイルを実際に作るので、middlemanがデフォルトでサポートしているCoffeeScriptのようにはなりません。

これで自分的にもTypeScriptを勉強する環境が整ったはず!


カテゴリー JavaScript, Ruby | タグ   | パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です