daily-tracker

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

mix.exs (2878B)


      1 defmodule DailyTracker.MixProject do
      2   use Mix.Project
      3 
      4   def project do
      5     [
      6       app: :daily_tracker,
      7       version: "0.1.0",
      8       elixir: "~> 1.15",
      9       elixirc_paths: elixirc_paths(Mix.env()),
     10       start_permanent: Mix.env() == :prod,
     11       aliases: aliases(),
     12       deps: deps(),
     13       compilers: [:phoenix_live_view] ++ Mix.compilers(),
     14       listeners: [Phoenix.CodeReloader]
     15     ]
     16   end
     17 
     18   # Configuration for the OTP application.
     19   #
     20   # Type `mix help compile.app` for more information.
     21   def application do
     22     [
     23       mod: {DailyTracker.Application, []},
     24       extra_applications: [:logger, :runtime_tools]
     25     ]
     26   end
     27 
     28   def cli do
     29     [
     30       preferred_envs: [precommit: :test]
     31     ]
     32   end
     33 
     34   # Specifies which paths to compile per environment.
     35   defp elixirc_paths(:test), do: ["lib", "test/support"]
     36   defp elixirc_paths(_), do: ["lib"]
     37 
     38   # Specifies your project dependencies.
     39   #
     40   # Type `mix help deps` for examples and options.
     41   defp deps do
     42     [
     43       {:bcrypt_elixir, "~> 3.0"},
     44       {:phoenix, "~> 1.8.7"},
     45       {:phoenix_ecto, "~> 4.5"},
     46       {:ecto_sql, "~> 3.13"},
     47       {:postgrex, ">= 0.0.0"},
     48       {:phoenix_html, "~> 4.1"},
     49       {:phoenix_live_reload, "~> 1.2", only: :dev},
     50       {:phoenix_live_view, "~> 1.1.0"},
     51       {:lazy_html, ">= 0.1.0", only: :test},
     52       {:phoenix_live_dashboard, "~> 0.8.3"},
     53       {:esbuild, "~> 0.10", runtime: Mix.env() == :dev},
     54       {:tailwind, "~> 0.3", runtime: Mix.env() == :dev},
     55       {:heroicons,
     56        github: "tailwindlabs/heroicons",
     57        tag: "v2.2.0",
     58        sparse: "optimized",
     59        app: false,
     60        compile: false,
     61        depth: 1},
     62       {:swoosh, "~> 1.16"},
     63       {:gen_smtp, "~> 1.0"},
     64       {:req, "~> 0.5"},
     65       {:telemetry_metrics, "~> 1.0"},
     66       {:telemetry_poller, "~> 1.0"},
     67       {:gettext, "~> 1.0"},
     68       {:jason, "~> 1.2"},
     69       {:dns_cluster, "~> 0.2.0"},
     70       {:bandit, "~> 1.5"}
     71     ]
     72   end
     73 
     74   # Aliases are shortcuts or tasks specific to the current project.
     75   # For example, to install project dependencies and perform other setup tasks, run:
     76   #
     77   #     $ mix setup
     78   #
     79   # See the documentation for `Mix` for more info on aliases.
     80   defp aliases do
     81     [
     82       setup: ["deps.get", "ecto.setup", "assets.setup", "assets.build"],
     83       "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"],
     84       "ecto.reset": ["ecto.drop", "ecto.setup"],
     85       test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"],
     86       "assets.setup": ["tailwind.install --if-missing", "esbuild.install --if-missing"],
     87       "assets.build": ["compile", "tailwind daily_tracker", "esbuild daily_tracker"],
     88       "assets.deploy": [
     89         "tailwind daily_tracker --minify",
     90         "esbuild daily_tracker --minify",
     91         "phx.digest"
     92       ],
     93       precommit: ["compile --warnings-as-errors", "deps.unlock --unused", "format", "test"]
     94     ]
     95   end
     96 end