Changelog

v0.3.0 [2020-02-02]

Added

Adds the property ignore_pattern to the ex_rerun configuration:

config :ex_rerun,
  ...
  ignore_pattern: ~r{\.?#(.)}

which provides some finer granularity to ignore temporary or autogenerated files that happens to have a file type that is in the file_types list. For example, the pattern above, ~r{\.?#(.)}, ignores Emacs auto-save and interlocking files as these files happen to have similar filenames as the files they are related to but prepended with a # or .#. The default value for ignore_pattern is nil, meaning no further filtering is performed.

Bumps the version Elixir version used for compiling ex_rerun to 1.9.

v0.2.0 [2019-03-24]

Changed

Changes the configuration format to the following:

config :ex_rerun,
  scan_interval: 4000,
  silent: false,
  file_types: [".ex", ".exs", ".eex", ".json"],
  paths: ["lib", "priv"],
  tasks: [:elixir]

where:

  • tasks enumerates the mix tasks to run each time a code modification occurs, possible built-in values are: :elixir, :test, :escript, where

Furthermore, tasks can also include custom mix tasks. For example, the hex package elm_compile defines the Mix.Tasks.Compile.Elm task which allows mix to also compile Elm files in a mix project.

v0.1.0 [2019-01-12]

Added

  • Support for monitoring Elixir and other source files and running mix tasks on code modification changes using the following configuration parameters:
# Default values
config :ex_rerun,
  scan_interval: 4000,
  silent: false,
  elm: false,
  test: false,
  escript: false,
  paths: ["lib", "priv"],
  file_types: [".ex", ".exs", ".eex", ".json"]

where:

  • scan_interval specifies the number of ms to wait between rerun checks,
  • silent toggles whether to print every time ex_rerun recompiles,
  • elm toggles whether to run the elm compilation task on recompile, requires elm_compile to be installed as a project dependency,
  • test toggles whether to also run mix test after each recompilation,
  • escript toggles whether to run the escript compilation task on recompile,
  • paths lists which folders to monitor, and
  • file_types lists which files that will trigger a rerun when changed.