defmodule Mix.Tasks.Swoosh.Mailbox.Server do @moduledoc """ Starts the mailbox preview server. ## Command line options This task accepts the same command-line arguments as `run`. For additional information, refer to the documentation for `Mix.Tasks.Run`. For example, to run `swoosh.mailbox.server` without checking dependencies: mix swoosh.mailbox.server --no-deps-check The `--no-halt` flag is automatically added. """ use Mix.Task @shortdoc "Starts the mailbox preview server" def run(args) do Application.put_env(:swoosh, :serve_mailbox, true) Mix.Task.run("run", run_args() ++ args) end defp run_args do if iex_running?(), do: [], else: ["--no-halt"] end defp iex_running? do Code.ensure_loaded?(IEx) && IEx.started?() end end