Music streaming on ATProto!
at main 3.0 kB view raw
1defmodule Comet.MixProject do 2 use Mix.Project 3 4 def project do 5 [ 6 app: :comet, 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, :hologram] ++ 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: {Comet.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.2"}, 44 {:phoenix_ecto, "~> 4.5"}, 45 {:ecto_sql, "~> 3.13"}, 46 {:postgrex, ">= 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 {:heroicons, 55 github: "tailwindlabs/heroicons", 56 tag: "v2.2.0", 57 sparse: "optimized", 58 app: false, 59 compile: false, 60 depth: 1}, 61 {:swoosh, "~> 1.16"}, 62 {:req, "~> 0.5"}, 63 {:telemetry_metrics, "~> 1.0"}, 64 {:telemetry_poller, "~> 1.0"}, 65 {:gettext, "~> 1.0"}, 66 {:jason, "~> 1.2"}, 67 {:dns_cluster, "~> 0.2.0"}, 68 {:bandit, "~> 1.5"}, 69 {:atex, "~> 0.6"}, 70 {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, 71 {:drinkup, "~> 0.1"}, 72 {:typedstruct, "~> 0.5"}, 73 {:hologram, "~> 0.6.5"} 74 ] 75 end 76 77 # Aliases are shortcuts or tasks specific to the current project. 78 # For example, to install project dependencies and perform other setup tasks, run: 79 # 80 # $ mix setup 81 # 82 # See the documentation for `Mix` for more info on aliases. 83 defp aliases do 84 [ 85 setup: ["deps.get", "ecto.setup", "assets.setup", "assets.build"], 86 "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"], 87 "ecto.reset": ["ecto.drop", "ecto.setup"], 88 test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"], 89 "assets.setup": [ 90 "cmd pnpm install", 91 # "tailwind.install --if-missing", 92 "esbuild.install --if-missing" 93 ], 94 "assets.build": ["compile", "tailwind comet", "esbuild comet"], 95 "assets.deploy": [ 96 "tailwind comet --minify", 97 "esbuild comet --minify", 98 "phx.digest" 99 ], 100 precommit: ["compile --warnings-as-errors", "deps.unlock --unused", "format", "test"] 101 ] 102 end 103end