Phoenix will watch your JS for you, just watch!
Phoenix has a method of integrating those watchers into the server itself.
config :myapp, MyApp.Endpoint, watchers: [yarn: ["run", "watch", cd: Path.expand("../assets", __DIR__)]]
The above configuration goes in
config/dev.exs and runs the watch command whenever you start the server/endpoint. The keyword option
cd is as of yet undocumented, but does what you think it does, changes the directory to the path you configure, which by convention in Phoenix 1.3 would be the assets directory.
cd is the only keyword option.