Scenic Live Reload - Add live reload to your scenic project in development

Scenic Live Reload is a library that you can drop-in to your Scenic applications to give you nearly effortless live-reloading capabilities in development. No longer will you have to stop your scenic app and restart it, instead when you save changes to your files, those will be picked up, recompiled, and then your current scenic scene will be reloaded. It is an evolution of my scenic_starter_pack that now requires much less integration which makes it easy to drop into an existing project.

Demo:

To get started you just need to add the library to your deps, and then drop this in your configuration:

case Mix.env() do
  :dev ->
    config :exsync,
      reload_timeout: 75,
      reload_callback: {ScenicLiveReload, :reload_current_scene, []}

  _ ->
    nil
end

GitHub repo:

I hope everyone gets to enjoy and play around with Scenic, I know I’ve been enjoying it greatly!

19 Likes

Just released version 0.2.0 of scenic_live_reload, it is now more reliable if you have a deep tree of scenes.

The changelog has instructions on upgrading, but it may be easier to just look at the PR to the demo app: https://github.com/axelson/scenic_live_reload_demo/pull/1

3 Likes

I just released version 0.2.2 (and 0.2.1) of scenic_live_reload :tada:. Nothing truly new but it is tested with the latest version of scenic (0.10.5) which was released today and is also more restrictive on the version of scenic that it accepts because the next scenic version will be a larger update:

Full changelog:

5 Likes

I just released Scenic Live Reload version 0.3.0 (and 0.3.1)! :tada:

It now works with Scenic 0.11 which was released today. Here’s the changelog:

There is a minor breaking change (you need to remove ScenicLiveReload from your application supervision tree because it now starts up automatically).

3 Likes