/ mix.exs
mix.exs
1 defmodule AIBizOps.MixProject do 2 use Mix.Project 3 4 def project do 5 [ 6 app: :ai_business_ops, 7 version: "0.1.0", 8 elixir: "~> 1.18", 9 elixirc_paths: elixirc_paths(Mix.env()), 10 start_permanent: Mix.env() == :prod, 11 aliases: aliases(), 12 deps: deps(), 13 test_coverage: [tool: ExCoveralls] 14 ] 15 end 16 17 def application do 18 [ 19 mod: {AIBizOps.Application, []}, 20 extra_applications: [:logger, :runtime_tools] 21 ] 22 end 23 24 def cli do 25 [preferred_envs: [coveralls: :test]] 26 end 27 28 defp elixirc_paths(:test), do: ["lib", "test/support"] 29 defp elixirc_paths(_), do: ["lib"] 30 31 defp deps do 32 [ 33 {:phoenix, "~> 1.8.5"}, 34 {:phoenix_ecto, "~> 4.6"}, 35 {:ecto_sql, "~> 3.12"}, 36 {:postgrex, ">= 0.0.0"}, 37 {:phoenix_html, "~> 4.1"}, 38 {:phoenix_live_reload, "~> 1.5", only: :dev}, 39 {:phoenix_live_view, "~> 1.1"}, 40 {:floki, ">= 0.30.0", only: :test}, 41 {:phoenix_live_dashboard, "~> 0.8.6"}, 42 {:esbuild, "~> 0.10", runtime: Mix.env() == :dev}, 43 {:tailwind, "~> 0.2", runtime: Mix.env() == :dev}, 44 {:swoosh, "~> 1.16"}, 45 {:finch, "~> 0.19"}, 46 {:telemetry_metrics, "~> 1.0"}, 47 {:telemetry_poller, "~> 1.0"}, 48 {:gettext, "~> 0.26"}, 49 {:jason, "~> 1.4"}, 50 {:dns_cluster, "~> 0.1.1"}, 51 {:bandit, "~> 1.6"}, 52 {:oban, "~> 2.19"}, 53 {:req, "~> 0.5"}, 54 {:ex_aws, "~> 2.5"}, 55 {:ex_aws_s3, "~> 2.5"}, 56 {:hackney, "~> 1.20"}, 57 {:sweet_xml, "~> 0.7"}, 58 {:nimble_options, "~> 1.1"}, 59 {:excoveralls, "~> 0.18", only: :test} 60 ] 61 end 62 63 defp aliases do 64 [ 65 setup: ["deps.get", "ecto.setup"], 66 "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"], 67 "ecto.reset": ["ecto.drop", "ecto.setup"], 68 "test.db": ["ecto.create --quiet", "ecto.migrate --quiet", "test --include db"] 69 ] 70 end 71 end