Packages
surface
0.12.2
0.12.3
0.12.2
0.12.1
0.12.0
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.1
0.2.0
0.1.1
0.1.0
0.1.0-alpha.2
0.1.0-alpha.1
0.1.0-alpha.0
A component based library for Phoenix LiveView
Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Surface.MixProject do
use Mix.Project
@version "0.12.2"
@source_url "https://github.com/surface-ui/surface"
@homepage_url "https://surface-ui.org"
def project do
[
app: :surface,
version: @version,
elixir: "~> 1.14",
description: "A component based library for Phoenix LiveView",
start_permanent: Mix.env() == :prod,
elixirc_paths: elixirc_paths(Mix.env()),
deps: deps(),
# Docs
name: "Surface",
source_url: @source_url,
homepage_url: @homepage_url,
docs: docs(),
package: package()
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
extra_applications: [:logger],
env: [csrf_token_reader: {Plug.CSRFProtection, :get_csrf_token_for, []}]
]
end
def cli do
[preferred_envs: [docs: :docs]]
end
defp elixirc_paths(:dev), do: ["lib"] ++ catalogues()
defp elixirc_paths(:test), do: ["lib", "test/support"] ++ catalogues()
defp elixirc_paths(_), do: ["lib"]
defp catalogues do
["priv/catalogue"]
end
# Run "mix help deps" to learn about dependencies.
defp deps do
[
{:phoenix_live_view, "~> 0.19.0 or ~> 0.20.10 or ~> 1.0"},
{:sourceror, "~> 1.0"},
{:blend, "~> 0.3.0", only: :dev},
{:jason, "~> 1.0", only: :test},
{:floki, "~> 0.35", only: :test},
{:lazy_html, ">= 0.1.0", only: :test},
{:ex_doc, ">= 0.31.0", only: :docs}
]
end
defp docs do
[
main: "Surface",
logo: "assets/surface-logo.png",
source_ref: "v#{@version}",
groups_for_modules: [
Components: ~r/Surface.Components/,
Catalogue: ~r/Catalogue/,
Compiler: ~r/Compiler/,
Directives: ~r/Surface.Directive/,
AST: ~r/AST/,
Formatter: [~r/Formatter$/, ~r/Formatter.Phase/]
],
nest_modules_by_prefix: [
Surface.AST,
Surface.Catalogue,
Surface.Compiler,
Surface.Components,
Surface.Directive,
Surface.Formatter.Phases
],
extras: [
"CHANGELOG.md",
"MIGRATING.md",
"LICENSE.md"
]
]
end
defp package do
%{
licenses: ["MIT"],
links: %{
Website: @homepage_url,
Changelog: "https://hexdocs.pm/surface/changelog.html",
GitHub: @source_url
},
files: ~w(
README.md
CHANGELOG.md
LICENSE.md
mix.exs
.formatter.exs
lib
priv/templates/surface.init
)
}
end
end