Releases: dragonwasrobot/ex_rerun
Ignore pattern filter
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.
Pluggable tasks
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:
scan_interval
specifies the number of ms to wait between rerun checks,silent
toggles whether to print the output of thetasks
registered, every
timeex_rerun
runs,file_types
lists which file types that will trigger a rerun when changed,paths
lists which folders to monitor, andtasks
enumerates the mix tasks to run each time a code modification
occurs, possible built-in values are::elixir
,:test
,:escript
,
where:elixir
recompiles Elixir source code (same asMix.Tasks.Compile.Elixir
),:test
reruns any mix tests in the project (same asMix.Tasks.Test
), andescript
rebuilds a escript file (same asMix.Tasks.Escript.Build
).
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. An example project config using ex_rerun
and elm_compile
might look
like so:
config :ex_rerun,
file_types: [".elm", ".ex", ".exs", ".eex", ".json"],
paths: ["lib", "priv", "web"],
tasks: [:elixir, Mix.Tasks.Compile.Elm]
Another example of a custom mix task could be to generate API documentation for
a project based on a set of RAML
files.
Initial release
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 timeex_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, andfile_types
lists which files that will trigger a rerun when changed.