Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Replika.MixProject do
use Mix.Project
@version "0.1.1"
@source_url "https://codeberg.org/em64/replika"
def project do
[
app: :replika,
version: @version,
elixir: "~> 1.18",
start_permanent: Mix.env() == :prod,
deps: deps(),
aliases: aliases(),
description: description(),
package: package(),
test_coverage: [summary: [threshold: 80]],
dialyzer: [
plt_add_apps: [:mix]
],
name: "Replika",
docs: docs(),
source_url: @source_url
]
end
defp aliases do
[
bench: ["run bench/replika_bench.exs"],
lint: ["format", "credo --strict"],
test: ["test --trace --cover"]
]
end
def application do
[
extra_applications: [:logger]
]
end
defp deps do
[
{:benchee, "~> 1.1", only: :dev},
{:credo, "~> 1.7.11", only: [:dev, :test], runtime: false},
{:dialyxir, "~> 1.4.5", only: [:dev], runtime: false},
{:ex_doc, "~> 0.37.2", only: [:dev], runtime: false},
{:gen_state_machine, "~> 3.0", only: :dev}
]
end
defp description do
"""
A pure functional finite state machine library for Elixir. Replika implements finite state machines as immutable data structures that transform during state transitions, making it well-suited for high-throughput and memory-constrained applications.
"""
end
defp package do
[
maintainers: ["em64"],
licenses: ["MPL-2.0"],
links: %{"Codeberg" => @source_url},
files: ~w(lib mix.exs README.md LICENSE)
]
end
defp docs do
[
main: "readme",
extras: ["README.md"],
source_url: @source_url
]
end
end