Packages

Mutation testing for Elixir. Name the code and the tests, and it tells you what the tests miss.

Current section

Files

Jump to
muta mix.exs
Raw

mix.exs

defmodule Muta.MixProject do
use Mix.Project
@version "0.1.0"
@source_url "https://github.com/fabioelizandro/muta"
@description "Mutation testing for Elixir. Name the code and the tests, and it tells you what the tests miss."
def project do
[
app: :muta,
version: @version,
elixir: "~> 1.20",
start_permanent: Mix.env() == :prod,
elixirc_paths: elixirc_paths(Mix.env()),
deps: deps(),
aliases: aliases(),
name: "muta",
description: @description,
source_url: @source_url,
package: package(),
docs: docs()
]
end
def application do
[
extra_applications: [:logger]
]
end
def cli do
[preferred_envs: [precommit: :test, mutate: :test]]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp package do
[
licenses: ["MIT"],
links: %{"GitHub" => @source_url},
files: ~w(lib .assets .formatter.exs mix.exs README.md LICENSE)
]
end
defp docs do
[
main: "readme",
extras: ["README.md", "LICENSE"],
source_ref: "v#{@version}",
logo: ".assets/logo.svg"
]
end
defp deps do
[
{:credo, "~> 1.7", only: [:dev, :test], runtime: false},
{:ex_doc, "~> 0.34", only: :dev, runtime: false},
{:mix_audit, "~> 2.1", only: [:dev, :test], runtime: false}
]
end
defp aliases do
[
precommit: [
"compile --warnings-as-errors",
"deps.unlock --unused",
"format --check-formatted",
"credo --strict",
"cmd mix hex.audit",
"deps.audit",
"test"
]
]
end
end