特に難しいことはなく以下の通りです。
pm2 start hoge.sh

.shに引数をつける場合は
pm2 start hoge.sh -- run # ここでは run が引数

今回はこれだけです。
それでは。


はじめに

これまで社内でRuby Sassを使っていましたが、さすがにそろそろ乗り換えないといけないと思い、node-sassに変更しました。
そこで発生した問題が、コンパイル後のCSS差分でした。
会社ではエンジニアはWindows、デザイナはMacを使っているのですが、node-sassにしてからコンパイル後のCSSがWindowsとMacで毎回diffが出てしまいました。
今回はこの問題を解消した話です。

差分の内容

吐き出されたCSSの主要部分には差分は無く、表示上の問題はありませんでした。
差分が出たのはCSSのコメント部分です。
SCSSのコメントは問題ありません。
具体的には、CSSの複数行コメントがWindowsでは複数行で吐き出され、Macでは1行で吐き出されるという差分です。
コンパイルのオプションは以下で統一していました。
--source-map true --output-style compact
実際に起きていた差分は以下のようなものです。
Mac
/* ここはコメントです */

Windows
/*
  ここはコメントです
*/

原因と対処方法

原因はWindowsとMacの改行コードの違いとGit for Windowsのautocrlfです。
対処方法としては、まずSCSSのファイルの改行コードをすべてLFに変更します。
自分はPhpStormを使っているので、以下手順で実行しました。


Project から css ディレクトリを選択して Ctrl + Shift + A をして lf を実行
続いて、Gitのautocrlf を無効にします。
ターミナルから git config --global core.autocrlf false
コンパイルのオプションに以下を追加。
--linefeed lf
最後に、PhpStormのデフォルト改行コードを変更します。
Settings → Editor → Code Style → Line separator: Unix and OS X (\n) にする
これで吐き出されるCSSがMacと同じになります。
Mac
/* ここはコメントです */

Windows
/* ここはコメントです */

まとめ

なんとなくGitやSassを導入してそのまま運用してきてしまったがために今回かなり苦労する羽目になりました。
そのような現場も多いと思います。
今後は使えるなと思った段階で設定周りに問題が出ないか振り返るようにしていきたいと感じた出来事でした。