packages.json の ^ について

^ はキャレット (caret) と読む。

プロジェクトのルートに、 .npmrc というファイルをつくって、

save-exact=true

と書くと、^が自動的につかなくなる。

npmの設定を一覧するには

$ npm config list

マシン全体で設定してしまいたいときは

$ npm config set save-exact=true

他に、

save-prefix='~'

というconfigの書き方もあるっぽい

参考: Change npm default caret(^) in package.json

環境構築メモ (1) Gulp

Gruntを覚えたばかりだったけれど、Gulpへ乗り換えた仲間がいたので実践。

Gruntだろうが、Gulpだろうが、やりたいことは同じ。

基本ワークフロー

・Compass(Sass)の変更をwatchして、コンパイル、適宜結合
・CoffeeScriptの変更をwatchして、コンパイル、適宜結合
・Slicy連携、自作スプライトイメージ処理用Rubyスクリプトを自動実行 → これをCompassが良い感じに処理
・これらの処理に応じてブラウザを自動的に再読み込み

デプロイ用ワークフロー

・CSSを最適化 (ベンダープレフィックスやmedia-query周り、プロパティのソートなど)
・CSSをminify
・pngをminify
・JavaScriptをUglify
・JSライブラリのライセンスも良い感じに残す

こうして出来たのが、
soohei/gulp-seed
です。

人間が作業するのはsource以下。Gulpが頑張るのがassets以下。
デプロイ時はsource不要で、assetsフォルダのみでOK。
普段は、gulp
デプロイ前に、gulp -dist

次回へ続く。