@ledsun blog

Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。

Rails 7でJavaScriptバンドラーとCSSプロセッサを同時に起動するときはforemanを使うらしい

jsbundling-railsとcssbundling-rails両方に修正が入りました。

ポイントは次の処理です。

if Rails.root.join("Procfile.dev").exist?
  append_to_file "Procfile.dev", "js: yarn build --watch"
else
  say "Add default Procfile.dev"
  copy_file "#{__dir__}/Procfile.dev", "Procfile.dev"

  say "Ensure foreman is installed"
  run "gem install foreman"
end

jsbundling-railsの場合、Procfile.devファイルがすでに存在すれば、起動コマンドjs: yarn build --watchを追加します。 無ければProcfile.devファイルをコピーしてforemanをインストールします。

発端は次のissueです。

github.com

JavaScriptバンドラーとCSSプロセッサを同時に起動するときにどうしたらいいんだ?というissueです。

npmパッケージのconcurrentlyを使う案と、gemのforemanを使う案が出ています。 DHHからのコメントは、まだ、ありませんが、foremanを使うことにしたようです*1。 foremanはrubyで書かれていますし、Ruby on Railsのユーザーには馴染みがあって良さそうです。

てか、foremanて久しぶりに聞きました。まだ、生きてたんですね・・・

*1:この記事書いている間にコメントがついていました。