/ 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