Current section
Files
Jump to
Current section
Files
surface_catalogue
mix.exs
mix.exs
defmodule Surface.Catalogue.MixProject do
use Mix.Project
@version "0.6.2"
def project do
[
app: :surface_catalogue,
version: @version,
elixir: "~> 1.13",
description: "An initial prototype of the Surface Catalogue",
elixirc_paths: elixirc_paths(Mix.env()),
compilers: Mix.compilers() ++ [:surface],
start_permanent: Mix.env() == :prod,
deps: deps(),
docs: docs(),
aliases: aliases(),
xref: [exclude: Surface.Catalogue.Playground],
package: package()
]
end
def application do
[
mod: {Surface.Catalogue.Application, []},
extra_applications: [:logger]
]
end
def catalogues do
["priv/catalogue"] ++ surface_catalogue_path()
end
defp surface_catalogue_path() do
Enum.find(deps(), &(elem(&1, 0) == :surface))
|> surface_dep_opts()
|> surface_catalogue_path()
end
defp surface_catalogue_path(nil), do: []
defp surface_catalogue_path(opts) do
path =
case opts[:path] do
nil -> "deps/surface"
surface_dep_path -> Path.expand(surface_dep_path)
end
["#{path}/priv/catalogue"]
end
defp surface_dep_opts({:surface, opts}) when is_list(opts), do: opts
defp surface_dep_opts({:surface, _req, opts}) when is_list(opts), do: opts
defp surface_dep_opts({:surface, _req}), do: []
defp surface_dep_opts(_), do: nil
defp elixirc_paths(:dev), do: ["lib"] ++ catalogues()
defp elixirc_paths(:test), do: ["lib", "test/support"] ++ catalogues()
defp elixirc_paths(_), do: ["lib"]
defp aliases do
[
dev: "run --no-halt dev.exs"
]
end
defp deps do
[
{:jason, "~> 1.0"},
{:html_entities, "~> 0.4"},
{:plug_cowboy, "~> 2.0", optional: Mix.env() != :dev},
{:esbuild, "~> 0.2", runtime: Mix.env() == :dev},
{:floki, ">= 0.35.3", only: :test},
{:phoenix_live_reload, "~> 1.2", only: :dev},
{:surface, "~> 0.10"},
{:earmark, "~> 1.4.21"},
{:ex_doc, ">= 0.31.1", only: :docs},
{:makeup_elixir, "~> 0.16.0"}
]
end
defp docs do
[
source_ref: "v#{@version}",
source_url: "https://github.com/surface-ui/surface_catalogue",
nest_modules_by_prefix: [Surface.Catalogue]
]
end
defp package do
%{
licenses: ["MIT"],
links: %{"GitHub" => "https://github.com/surface-ui/surface_catalogue"},
files:
~w(assets lib priv) ++
~w(CHANGELOG.md LICENSE.md mix.exs README.md)
}
end
end