Popularity
7.0
Growing
Activity
2.5
-
99
6
22

Monthly Downloads: 7,610
Programming language: Elixir
License: BSD 3-clause "New" or "Revised" License
Tags: Miscellaneous    
Latest version: v0.2.4

exsync alternatives and similar packages

Based on the "Miscellaneous" category.
Alternatively, view exsync alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of exsync or a related project?

Add another 'Miscellaneous' Package

README

ExSync

Yet another Elixir reloader.

System Support

ExSync deps on FileSystem

Usage

  1. Create a new application:
mix new my_app
  1. Add exsync to your mix.exs dependencies:
def deps do
  [
    {:exsync, "~> 0.2", only: :dev},
  ]
end

Optionally add this snippet to your .iex.exs (in the root of your project) or your ~/.iex.exs:

if Code.ensure_loaded?(ExSync) && function_exported?(ExSync, :register_group_leader, 0) do
  ExSync.register_group_leader()
end

This will prevent the ExSync logs from overwriting your IEx prompt. Alternatively you can always just run ExSync.register_group_leader() in your IEx prompt.

Usage for umbrella project

  1. Create an umbrella project
mix new my_umbrella_app --umbrella
  1. Add exsync to your mix.exs dependencies:
def deps do
  [
    {:exsync, "~> 0.2", only: :dev},
  ]
end
  1. start your umbrella project with exsync task
iex -S mix exsync

Config

All configuration for this library is handled via the application environment.

:addition_dirs - Additional directories to monitor

For example, to monitor the priv directory, add this to your config.exs:

config :exsync, addition_dirs: ["/priv"]

:extensions - List of file extensions to watch for changes. Defaults to: [".erl", ".hrl", ".ex", ".eex"]

:extra_extensions - List of additional extensions to watch for changes (cannot be used with :extensions)

For example, to watch .js and .css files add this to your config.exs:

config :exsync, extra_extensions: [".js", ".css"]

:logging_enabled - Set to false to disable logging (default true)

:reload_callback - A callback MFA that is called when a set of files are done reloading. Can be used to implement your own special handling to react to file reloads.

:reload_timeout - Amount of time to wait in milliseconds before triggering the :reload_callback. Defaults to 150ms.

For example, to call MyApp.MyModule.handle_reload() add this to your config.exs:

config :exsync,
  reload_timeout: 75,
  reload_callback: {MyApp.MyModule, :handle_reload, []}