Packages
backpex
0.19.7
0.20.0
0.19.7
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.3
0.18.2
0.18.1
0.18.0
0.17.4
0.17.3
0.17.2
0.17.1
0.17.0
0.16.3
0.16.2
0.16.1
0.16.0
0.15.3
0.15.2
0.15.1
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.0
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.1
0.7.0
0.6.0
0.5.1
0.5.0
0.4.0
0.3.2
0.3.1
0.3.0
0.2.0
0.1.1
Highly customizable administration panel for Phoenix LiveView applications.
Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Backpex.MixProject do
use Mix.Project
@version "0.19.7"
@source_url "https://github.com/naymspace/backpex"
@changelog_url "https://github.com/naymspace/backpex/releases"
@website_url "https://backpex.live"
def project do
[
app: :backpex,
version: @version,
elixir: "~> 1.16",
elixirc_paths: elixirc_paths(Mix.env()),
compilers: [:phoenix_live_view] ++ Mix.compilers(),
start_permanent: Mix.env() == :prod,
deps: deps(),
aliases: aliases(),
gettext: gettext(),
# Hex.pm
hex: [cooldown: "3d"],
package: package(),
description: "Highly customizable administration panel for Phoenix LiveView applications.",
# Docs
name: "Backpex",
source_url: @source_url,
homepage_url: @website_url,
docs: docs()
]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp deps do
[
# development
{:ex_doc, "~> 0.40", only: [:dev, :test], runtime: false},
{:makeup_eex, "~> 2.0", only: [:dev, :test], runtime: false},
{:makeup_syntect, "~> 0.1.3", only: [:dev, :test], runtime: false},
{:credo, ">= 0.0.0", only: [:dev, :test], runtime: false},
{:mix_audit, "~> 2.0", only: [:dev, :test], runtime: false},
{:sobelow, ">= 0.0.0", only: [:dev, :test]},
{:lazy_html, ">= 0.0.0", only: :test},
{:esbuild, "~> 0.2", only: :dev},
{:quokka, "~> 2.9", only: [:dev, :test], runtime: false},
{:usage_rules, "~> 0.1", only: [:dev]},
# core
{:nimble_options, "~> 1.1"},
{:gettext, ">= 0.26.0"},
# phoenix
{:phoenix, ">= 1.7.6 and < 1.9.0"},
{:phoenix_html, "~> 4.1"},
{:phoenix_html_helpers, "~> 1.0"},
{:phoenix_live_view, "~> 1.0"},
# adapters
{:ecto, "~> 3.6"},
{:postgrex, ">= 0.0.0"},
{:phoenix_ecto, "~> 4.4"},
# generators
{:igniter, "~> 0.8", optional: true},
{:igniter_js, "~> 0.4", optional: true}
]
end
defp package do
[
files: ~w(assets/js package.json lib priv .formatter.exs mix.exs README.md LICENSE.md),
maintainers: ["Florian Arens", "Phil-Bastian Berndt", "Simon Hansen"],
licenses: ["MIT"],
links: %{
Changelog: @changelog_url,
GitHub: @source_url,
Website: @website_url
}
]
end
defp aliases do
[
lint: ["compile --warning-as-errors", "deps.unlock --unused", "format", "credo", "test"],
"assets.build": [
"esbuild module",
"esbuild main"
],
"assets.watch": "esbuild module --watch",
"assets.check": ["assets.build", "cmd ./scripts/check_assets.sh"]
]
end
defp docs do
[
main: "readme",
logo: "priv/static/images/logo.svg",
extras: extras(),
extra_section: "GUIDES",
groups_for_extras: groups_for_extras(),
groups_for_modules: groups_for_modules(),
groups_for_docs: [
Components: &(&1[:type] == :component)
],
source_ref: @version,
source_url: @source_url,
before_closing_head_tag: fn type ->
if type == :html do
"""
<script>
if (location.hostname === "hexdocs.pm") {
const script = document.createElement("script");
script.src = "https://plausible.io/js/script.js";
script.defer = true;
script.setAttribute("data-domain", "hexdocs.pm/backpex");
document.head.appendChild(script);
}
</script>
"""
end
end,
skip_code_autolink_to: [
"Ecto.Query.DynamicExpr"
]
]
end
defp extras do
[
{"README.md", title: "Introduction"},
# About
"guides/about/what-is-backpex.md",
"guides/about/why-we-built-backpex.md",
"guides/about/contribute-to-backpex.md",
# Get Started
"guides/get_started/installation.md",
# AI Assisted Development
"guides/ai_development/ai-development.md",
# Live Resource
"guides/live_resource/what-is-a-live-resource.md",
"guides/live_resource/templates.md",
"guides/live_resource/item-query.md",
"guides/live_resource/ordering.md",
"guides/live_resource/pagination.md",
"guides/live_resource/on_mount-hook.md",
"guides/live_resource/hooks.md",
"guides/live_resource/navigation.md",
"guides/live_resource/panels.md",
"guides/live_resource/fluid-layout.md",
"guides/live_resource/listen-to-pubsub-events.md",
"guides/live_resource/additional-classes-for-index-table-rows.md",
# Fields
"guides/fields/what-is-a-field.md",
"guides/fields/custom-fields.md",
"guides/fields/alignment.md",
"guides/fields/visibility.md",
"guides/fields/defaults.md",
"guides/fields/readonly.md",
"guides/fields/custom-alias.md",
"guides/fields/placeholder.md",
"guides/fields/debounce-and-throttle.md",
"guides/fields/index-edit.md",
"guides/fields/error-customization.md",
"guides/fields/computed-fields.md",
# Filter
"guides/filter/what-is-a-filter.md",
"guides/filter/how-to-add-a-filter.md",
"guides/filter/filter-presets.md",
"guides/filter/filter-validation.md",
"guides/filter/custom-filter.md",
"guides/filter/visibility-and-authorization.md",
# Actions
"guides/actions/item-actions.md",
"guides/actions/resource-actions.md",
# Authorization
"guides/authorization/live-resource-authorization.md",
"guides/authorization/field-authorization.md",
# Searching
"guides/searching/basic-search.md",
"guides/searching/full-text-search.md",
# Translations
"guides/translations/translations.md",
# Upgrade Guides
"guides/upgrading/v0.19.md",
"guides/upgrading/v0.18.md",
"guides/upgrading/v0.17.md",
"guides/upgrading/v0.16.md",
"guides/upgrading/v0.15.md",
"guides/upgrading/v0.14.md",
"guides/upgrading/v0.13.md",
"guides/upgrading/v0.12.md",
"guides/upgrading/v0.11.md",
"guides/upgrading/v0.10.md",
"guides/upgrading/v0.9.md",
"guides/upgrading/v0.8.md",
"guides/upgrading/v0.7.md",
"guides/upgrading/v0.6.md",
"guides/upgrading/v0.5.md",
"guides/upgrading/v0.3.md",
"guides/upgrading/v0.2.md"
]
end
defp groups_for_extras do
[
Introduction: ~r/README/,
About: ~r/guides\/about\/.?/,
"Get Started": ~r/guides\/get_started\/.?/,
"AI Assisted Development": ~r/guides\/ai_development\/.?/,
"Live Resource": ~r/guides\/live_resource\/.?/,
Fields: ~r/guides\/fields\/.?/,
Filter: ~r/guides\/filter\/.?/,
Actions: ~r/guides\/actions\/.?/,
Authorization: ~r/guides\/authorization\/.?/,
Searching: ~r/guides\/searching\/.?/,
"Custom Labels and Translations": ~r/guides\/custom_labels_and_translations\/.?/,
"Upgrade Guides": ~r{guides/upgrading/.*}
]
end
defp groups_for_modules do
[
Adapters: ~r/Backpex\.Adapter.?/,
Components: ~r/Backpex\.HTML.?/,
Fields: ~r/Backpex\.Field.?/,
Actions: ~r/Backpex\.(ItemAction|ResourceAction).?/,
Filters: ~r/Backpex\.Filter.?/,
Metrics: ~r/Backpex\.Metric.?/
]
end
defp gettext do
[
write_reference_comments: false,
sort_by_msgid: :case_insensitive
]
end
end