Packages

Lucerna SDK for Elixir — feature gates, experiments and identity.

Current section

Files

Jump to
lucerna mix.exs
Raw

mix.exs

defmodule Lucerna.MixProject do
use Mix.Project
@version "0.0.1-alpha.0"
@homepage "https://uselucerna.app"
@docs_url "https://hexdocs.pm/lucerna"
@issues_url "https://github.com/uselucerna/lucerna-issues/issues"
def project do
[
app: :lucerna,
version: @version,
elixir: "~> 1.18",
start_permanent: Mix.env() == :prod,
test_ignore_filters: [~r"test/support/"],
deps: deps(),
description: "Lucerna SDK for Elixir — feature gates, experiments and identity.",
package: package(),
docs: docs(),
name: "Lucerna",
homepage_url: @homepage
]
end
def application do
[
extra_applications: [:logger]
]
end
# The whole dependency list, by design: finch for HTTP, telemetry for
# instrumentation. JSON comes from the standard library (Elixir 1.18+).
defp deps do
[
{:finch, "~> 0.19"},
{:telemetry, "~> 1.0"},
{:ex_doc, "~> 0.34", only: :dev, runtime: false}
]
end
defp package do
[
# `lucerna` on hex.pm — the app name is the package name. The source
# monorepo is private; like the npm/Ruby siblings we link the docs
# site and the public issues repo, not source.
licenses: ["MIT"],
files: ~w(lib guides mix.exs README.md),
links: %{
"Docs" => @docs_url,
"Homepage" => @homepage,
"Issues" => @issues_url
}
]
end
defp docs do
[
main: "readme",
extras: [
"README.md",
"guides/phoenix.md"
],
groups_for_extras: [
Guides: ~r"guides/"
],
formatters: ["html"]
]
end
end