8000 GitHub - gilacost/lettuce at v0.1.0
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

gilacost/lettuce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lettuce 🥬

Lettuce is a generic server process that checks the files within an elixir project that has lettuce as a dependency and then runs iex -S mix. It initialises the state gen server with the .ex files inside lib and their last modified time. By default lib is used but you specify which folders you want to be watched.

Elixir CI status

Installation

If available in Hex, the package can be installed by adding lettuce to your list of dependencies in mix.exs:

...
def deps do
  [
    {:lettuce, "~> 0.1.0", only: :dev}
  ]
end
...

Configuration example

use Mix.Config

config :lettuce, folders_to_watch: ["apps"]
...

You can also change the refresh time to control how often the project files will be checked.

use Mix.Config

config :lettuce, refresh_time: 1500
...

Even though the start_link will throw an error if the Mix.env equals to :dev it is recommended to explicitly select the extra applications by environment in the mix file.

...
def application do
  [
    extra_applications: extra_applications(Mix.env(), [:logger, ...])
  ]
end

defp extra_applications(:dev, default), do: default ++ [:lettuce]
defp extra_applications(_, default), do: default
...

Inspiration

While giving Node.js lessons as part of a charity called MigraCode in El Borne, Barcelona. We were reviewing some exercises and one of the steps in the instructions was to npm install nodemon, which reminded me of all the times I was inside IEx debbuging and I had to call recompile.

Author

Josep Lluis Giralt D'Lacoste.

License

Lettuce is released under the MIT License. See the LICENSE file for further details.

0