An example AT Protocol application, written in Elixir using atex and Drinkup.
at main 92 lines 2.8 kB view raw
1defmodule Statusphere.MixProject do 2 use Mix.Project 3 4 def project do 5 [ 6 app: :statusphere, 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: {Statusphere.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 {:phoenix, "~> 1.8.3"}, 44 {:phoenix_ecto, "~> 4.5"}, 45 {:ecto_sql, "~> 3.13"}, 46 {:ecto_sqlite3, ">= 0.0.0"}, 47 {:phoenix_html, "~> 4.1"}, 48 {:phoenix_live_reload, "~> 1.2", only: :dev}, 49 {:phoenix_live_view, "~> 1.1.0"}, 50 {:lazy_html, ">= 0.1.0", only: :test}, 51 {:phoenix_live_dashboard, "~> 0.8.3"}, 52 {:esbuild, "~> 0.10", runtime: Mix.env() == :dev}, 53 {:tailwind, "~> 0.3", runtime: Mix.env() == :dev}, 54 {:telemetry_metrics, "~> 1.0"}, 55 {:telemetry_poller, "~> 1.0"}, 56 {:jason, "~> 1.2"}, 57 {:dns_cluster, "~> 0.2.0"}, 58 {:bandit, "~> 1.5"}, 59 # {:atex, "~> 0.6"}, 60 {:atex, 61 git: "https://github.com/cometsh/atex.git", ref: "2cc3686d47e30118ac8ac2d48cdc135a13da9163"}, 62 {:drinkup, "~> 0.1"}, 63 {:typedstruct, "~> 0.5"} 64 ] 65 end 66 67 # Aliases are shortcuts or tasks specific to the current project. 68 # For example, to install project dependencies and perform other setup tasks, run: 69 # 70 # $ mix setup 71 # 72 # See the documentation for `Mix` for more info on aliases. 73 defp aliases do 74 [ 75 setup: ["deps.get", "ecto.setup", "assets.setup", "assets.build"], 76 "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"], 77 "ecto.reset": ["ecto.drop", "ecto.setup"], 78 test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"], 79 "assets.setup": [ 80 # "tailwind.install --if-missing", 81 "esbuild.install --if-missing" 82 ], 83 "assets.build": ["compile", "tailwind statusphere", "esbuild statusphere"], 84 "assets.deploy": [ 85 "tailwind statusphere --minify", 86 "esbuild statusphere --minify", 87 "phx.digest" 88 ], 89 precommit: ["compile --warnings-as-errors", "deps.unlock --unused", "format", "test"] 90 ] 91 end 92end