-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmix.exs
More file actions
126 lines (119 loc) · 4.21 KB
/
Copy pathmix.exs
File metadata and controls
126 lines (119 loc) · 4.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
defmodule IeeeTamuPortal.MixProject do
use Mix.Project
def project do
[
app: :ieee_tamu_portal,
version: "0.2.12",
elixir: "1.18.4",
elixirc_paths: elixirc_paths(Mix.env()),
start_permanent: Mix.env() == :prod,
aliases: aliases(),
deps: deps(),
listeners: [Phoenix.CodeReloader],
compilers: [:phoenix_live_view] ++ Mix.compilers()
]
end
# Configuration for the OTP application.
#
# Type `mix help compile.app` for more information.
def application do
[
mod: {IeeeTamuPortal.Application, []},
extra_applications: [:logger, :runtime_tools]
]
end
# Specifies which paths to compile per environment.
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
# Specifies your project dependencies.
#
# Type `mix help deps` for examples and options.
defp deps do
[
{:bcrypt_elixir, "3.3.2"},
{:phoenix, "1.8.3"},
{:phoenix_ecto, "4.7.0"},
{:ecto_sql, "3.13.4"},
{:myxql, "0.8.0"},
{:ecto_mysql_extras, "0.6.3", only: :dev},
{:phoenix_html, "4.3.0"},
{:phoenix_live_reload, "1.6.2", only: :dev},
{:phoenix_live_view, "1.1.22"},
{:aws_signature, "0.4.2"},
{:phoenix_live_dashboard, "0.8.7"},
{:esbuild, "0.10.0", runtime: Mix.env() == :dev},
{:tailwind, "0.4.1", runtime: Mix.env() == :dev},
{:heroicons,
github: "tailwindlabs/heroicons",
tag: "v2.2.0",
sparse: "optimized",
app: false,
compile: false,
depth: 1},
{:swoosh, "1.21.0"},
{:gen_smtp, "1.3.0", only: :prod},
{:telemetry_metrics, "1.1.0"},
{:telemetry_poller, "1.3.0"},
{:gettext, "0.26.2"},
{:jason, "1.4.4"},
{:dns_cluster, "0.2.0"},
{:bandit, "1.10.2"},
{:open_api_spex, "3.22.2"},
{:deps_nix, "2.6.2", only: :dev},
{:req, "0.5.17"},
{:assent, "0.3.1"},
{:zstream, "0.6.7"},
{:flop_phoenix, "0.25.3"},
{:lazy_html, "0.1.8", only: :test},
{:mox, "1.2.0", only: :test},
{:igniter, "0.7.2", only: [:dev, :test]},
{:igniter_new, "== 0.5.33", only: :dev},
{:nimble_csv, "1.3.0"},
{:eqrcode, "0.2.1"},
{:live_debugger, "0.5.1", only: [:dev]},
{:icalendar, github: "tcitworld/icalendar", branch: "main"},
{:tzdata, "1.1.3"}
]
end
# Aliases are shortcuts or tasks specific to the current project.
# For example, to install project dependencies and perform other setup tasks, run:
#
# $ mix setup
#
# See the documentation for `Mix` for more info on aliases.
defp aliases do
base_aliases = [
setup: ["deps.get", "ecto.setup", "assets.setup", "assets.build"],
"ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"],
"ecto.reset": ["ecto.drop", "ecto.setup"],
test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"],
"assets.setup": ["tailwind.install --if-missing", "esbuild.install --if-missing"],
"assets.build": ["tailwind ieee_tamu_portal", "esbuild ieee_tamu_portal"],
"assets.deploy": [
"tailwind ieee_tamu_portal --minify",
"esbuild ieee_tamu_portal --minify",
"phx.digest"
],
fmt: ["format"]
]
if Mix.env() == :dev do
base_aliases ++
[
# deps_nix - ensure deps.nix is run before cutting a nix based release
# to update deps.nix with the latest dependencies from mix.lock.
# if release is made in gh actions - can install nix and fail if deps.nix
# is not up to date - opening a PR to update it. Or, run a gh action whenever
# renovate open a PR to update deps.nix in the same PR.
# renovate runs something like: 'mix deps.update phoenix_live_view'
# to update the mix lockfile. However, deps_nix requires all dependencies
# to be fetched before it can run. It also calls out to the nix cli
# to hash non mix dependencies. Work with upstream to do the hashing
# in elixir? and only need the one dep being updated?
# "deps.get": ["deps.get", "deps.nix"],
# "deps.update": ["deps.update", "deps.get", "deps.nix"]
]
else
base_aliases
end
end
end