Packages

Canvas 2D API for Elixir. Build draw operations as data, render to Phoenix LiveView, native wx windows, terminal (experimental), or your own backend.

Current section

Files

Jump to
easel mix.exs
Raw

mix.exs

defmodule Easel.MixProject do
use Mix.Project
@version "0.3.3"
@source_url "https://github.com/jasonstiebs/easel"
def project do
[
app: :easel,
version: @version,
elixir: "~> 1.18",
start_permanent: Mix.env() == :prod,
deps: deps(),
aliases: aliases(),
test_paths: ["test"],
test_pattern: "*_test.exs",
description: description(),
package: package(),
docs: docs()
]
end
def application do
[
extra_applications: [:logger] ++ optional_apps()
]
end
defp optional_apps do
if match?({:module, _}, Code.ensure_compiled(:wx)), do: [:wx], else: []
end
defp deps do
[
{:phoenix_live_view, "~> 1.0", optional: true},
{:termite, "~> 0.4.0", optional: true},
{:ex_doc, "~> 0.34", only: :dev, runtime: false}
]
end
defp aliases do
[
"easel.regen_canvas_api": [
"cmd elixir scripts/regenerate_canvas_api.exs",
"format lib/easel.ex lib/web_idl.ex.exs"
],
"easel.regen_web_idl_parser": ["easel.regen_canvas_api"]
]
end
defp description do
"""
Canvas 2D API for Elixir. Build draw operations as data, render to
Phoenix LiveView, native wx windows, terminal (experimental), or your own backend.
"""
end
defp package do
[
licenses: ["MIT"],
links: %{"GitHub" => @source_url},
files: ~w(lib priv/compat.json priv/easel.webidl priv/static mix.exs README.md LICENSE)
]
end
defp docs do
[
main: "readme",
extras: ["README.md"],
source_url: @source_url,
source_ref: "v#{@version}"
]
end
end