メタファイルが多すぎる
TypeScriptに限った話ではないのだけれど、JavaScript関連のプロジェクトつくってるとパッケージ管理などを定義するメタファイルがトップディレクトリに散乱することになる。たとえば
ここの
あたりがそれ
chestというのがあるっぽい
The easy metafile manager
とのこと
インストール
% npm install -g chest % which chest /Users/otiai10/.nvm/v0.11.9/bin/chest
つかってみる
% chest put bower.json [?] Add bower.json to gitignore on the project root: Yes % rm -rf bower_components % git status On branch freeze/try-chest Changes not staged for commit: (use "git add/rm <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: .gitignore deleted: bower.json Untracked files: (use "git add <file>..." to include in what will be committed) .chest/ no changes added to commit (use "git add" and/or "git commit -a") %
これでbower.jsonがchestの中にしまわれた状態。これを取り出して実行までしようと思ったら
% chest boost stdout: bower showv#0.3 cached https://github.com/otiai10/showv.git#0.3 bower showv#0.3 validate 0.3 against https://github.com/otiai10/showv.git#0.3 bower jquery#1.10.1 cached git://github.com/jquery/jquery.git#1.10.1 bower jquery#1.10.1 validate 1.10.1 against git://github.com/jquery/jquery.git#1.10.1 bower handlebars#1.0.0 cached git://github.com/components/handlebars.js.git#1.0.0 bower handlebars#1.0.0 validate 1.0.0 against git://github.com/components/handlebars.js.git#1.0.0 bower showv#0.3 install showv#0.3 bower handlebars#1.0.0 install handlebars#1.0.0 bower jquery#1.10.1 install jquery#1.10.1 showv#0.3 bower_components/showv handlebars#1.0.0 bower_components/handlebars jquery#1.10.1 bower_components/jquery stderr: ----------------------------------------- Update available: 1.3.3 (current: 1.2.7) Run npm update -g bower to update -----------------------------------------
おお、いけてるぽ。
他にもしまってみる
% chest put testem.json [?] Add testem.json to gitignore on the project root: Yes % chest put Gruntfile.coffee [?] Add Gruntfile.coffee to gitignore on the project root: Yes
% chest boost File already exist: bower.json stdout: stderr:
アーハン
つまり
- chest put すると.chestディレクトリ以下にしまわれる
- chest openとかするとあるべき場所にシンボリックリンクが置かれる
- chest boostすると、さらにbower installとかが走る
ということっぽい?
まとめ
結局こういう感じになりました
ちょっとハマったのは、Gruntfileとかをgit rm --cached
しなかったので、travisサーバでchest boost
が実行されたときにalready exists
かなんかでシンボリックリンク貼れてなかったりしました。
雑感
とりあえず使ってみた感