-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmix.exs
More file actions
56 lines (51 loc) · 1.63 KB
/
mix.exs
File metadata and controls
56 lines (51 loc) · 1.63 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
defmodule EnsureConsistency.MixProject do
use Mix.Project
def project do
[
app: :ensure_consistency,
version: "0.1.0",
elixir: "~> 1.18",
start_permanent: Mix.env() == :prod,
deps: deps(),
aliases: aliases(),
test_coverage: [tool: ExCoveralls]
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
extra_applications: [:logger],
mod: {EnsureConsistency.Application, []}
]
end
# Run "mix help deps" to learn about dependencies.
defp deps do
[
{:credo, "~> 1.7", only: [:dev, :test, :ci], runtime: false},
{:dialyxir, "~> 1.4", only: [:dev, :test, :ci], runtime: false},
{:excoveralls, "~> 0.18", only: [:dev, :test, :ci], runtime: false},
{:ex_doc, "~> 0.38", only: [:dev, :test, :ci], runtime: false},
{:sobelow, "~> 0.14", only: [:dev, :test, :ci ]},
{:phoenix, "~> 1.7.0"},
{:plug, "~> 1.18.0"}
]
end
defp aliases do
[
ensure_consistency: [
"format --check-formatted", # ensures code is formatted
"test", # runs all tests
"dialyzer", # static type analysis
"coveralls", # test coverage report
"credo --strict", # linting & code style
"sobelow --exit", # Phoenix security checks
"hex.audit" # dependency audit
],
# Quick aliases for individual checks
format_check: ["format --check-formatted"],
lint: ["credo --strict"],
coverage: ["coveralls.html"],
docs: ["docs"]
]
end
end