marcparadise / exsync

Yet another elixir reloader.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ExSync

Yet another Elixir reloader.

System Support

ExSync deps on FileSystem

Usage

  1. Create a new application:

     mix new my_app
    
  2. Add exsync to your mix.exs dependencies:

     def deps do
       [ {:exsync, "~> 0.2", only: :dev} ]
     end
    
  3. Start your application the usual way, e.g., iex -S mix, then:

     ExSync.start()
    
  4. (Alternative) Always start ExSync when available, add the following to an application's start/2:

     defmodule MyApp do
       use Application
    
       def start(_type, _args) do
         import Supervisor.Spec, warn: false
    
         case Code.ensure_loaded(ExSync) do
           {:module, ExSync = mod} ->
             mod.start()
           {:error, :nofile} ->
             :ok
         end
    
         # ... rest of your applications start script.
       end
     end
    

Usage for umbrella project

  1. Create an umbrella project

     mix new my_umbrella_app --umbrella
    
  2. Add exsync to your mix.exs dependencies:

     def deps do
       [ {:exsync, "~> 0.2", only: :dev} ]
     end
    
  3. start your umbrella project with exsync task

     iex -S mix exsync
    

Config

  1. add your own dirs to monitor, if you want monitor priv dir, use such config:

     config :exsync, :addition_dirs, ["/priv"]
    
  2. add your own extensions

     config :exsync, :extensions, [".erl", ".hrl", ".ex", ".tpl"]
    

About

Yet another elixir reloader.

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Elixir 100.0%