 
   # Specifies which paths to compile per environment.
   defp elixirc_paths(:test), do: ["lib", "test/support"]
-  defp elixirc_paths(_),     do: ["lib"]
+  defp elixirc_paths(_), do: ["lib"]
 
   def preferred_cli_env do
     [

      {:poison, "~> 3.0"},
      {:postgrex, ">= 0.0.0"},
      {:proper, github: "manopapad/proper", tag: "v1.2", only: :test},
      {:reprise, "~> 0.5.0", only: :dev},
    ]
  end

  defp dialyzer do
    [plt_add_deps: :transitive,
     plt_add_apps: [:mnesia],
    ]
  end

  defp aliases do
    [setup: [
        &check_prereqs/1,
        &npm_install/1,
        "deps.get",
        "compile",
        "bs.schema",
        &test/1],

     "bs.schema": [
       "bs.schema.drop",
       "bs.schema.install",
     ],
     "watch": &watch/1,
     "bs.dot2svg": [&dot2svg/1]
    ]
  end

  defp npm_install(_) do
    Mix.shell.cmd("npm install")
  end

  def test(_) do
    Mix.shell.cmd("MIX_ENV=test mix test")
  end

  def check_prereqs(_) do
    prereq("sass")
    prereq("npm")
  end

  def dot2svg(_) do
    Mix.shell.cmd("dot -Ksfdp xref_graph.dot -Tsvg -o xref_graph.svg")
  end

  def watch(_) do
    Mix.shell.cmd "watchman-make -p 'lib/**/*.ex' 'test/**/*.ex' 'test/**/*.exs' --run 'mix test --stale'"
  end

  def prereq(cmd) do
    if Mix.shell.cmd("command -v #{cmd} >/dev/null 2>&1") != 0,
      do: Mix.raise("#{cmd} is required, but could not be found. Aborting.")
  end
end

  end

  def extra_applications(:dev) do
    [:mix | extra_applications(:all)]
  end

  def extra_applications(_all) do
