Files
firezone/elixir/mix.exs
Andrew Dryga f3c8c734ab feat(portal): Filtering, Fulltext Search, Pagination, Preloads (#3751)
On the domain side this PR extends `Domain.Repo` with filtering,
pagination, and ordering, along with some convention changes are
removing the code that is not needed since we have the filtering now.
This required to touch pretty much all contexts and code, but I went
through all public functions and added missing tests to make sure
nothing will be broken.

On the web side I've introduced a `<.live_table />` which is as close as
possible to being a drop-in replacement for the regular `<.table />`
(but requires to structure the LiveView module differently due to
assigns anyways). I've updated all the listing tables to use it.
2024-03-16 13:27:48 -06:00

100 lines
2.8 KiB
Elixir

defmodule Firezone.MixProject do
use Mix.Project
def project do
[
name: :firezone,
apps_path: "apps",
version: String.trim(File.read!("VERSION")),
start_permanent: Mix.env() == :prod,
test_coverage: [tool: ExCoveralls],
preferred_cli_env: [
coveralls: :test,
"coveralls.detail": :test,
"coveralls.post": :test,
"coveralls.html": :test
],
docs: [
logo: "apps/web/assets/static/images/logo.svg",
extras: ["docs/README.md", "docs/SECURITY.md", "docs/CONTRIBUTING.md"]
],
deps: deps(),
dialyzer: [
plt_file: {:no_warn, "priv/plts/dialyzer.plt"}
],
aliases: aliases(),
releases: releases()
]
end
# Dependencies listed here are available only for this
# project and cannot be accessed from applications inside
# the apps folder.
#
# Run "mix help deps" for examples and options.
defp deps do
[
# Shared deps
{:jason, "~> 1.2"},
# Shared test deps
{:credo, "~> 1.5", only: [:dev, :test], runtime: false},
{:dialyxir, "~> 1.1", only: [:dev, :test], runtime: false},
{:junit_formatter, "~> 3.3", only: [:test]},
{:mix_audit, "~> 2.1", only: [:dev, :test]},
{:sobelow, "~> 0.12", only: [:dev, :test]},
# Formatter doesn't track dependencies of children applications
{:phoenix, "~> 1.7.0"},
{:phoenix_live_view, "~> 0.20.1"},
# TODO: remove it after new version of Floki is released
{:floki,
override: true, github: "philss/floki", ref: "3d5adab58a41b020a775baca82fe15c0c364daab"}
]
end
defp aliases do
[
"ecto.seed": ["ecto.create", "ecto.migrate", "run apps/domain/priv/repo/seeds.exs"],
"ecto.setup": ["ecto.create", "ecto.migrate"],
"ecto.reset": ["ecto.drop", "ecto.setup"],
sobelow: ["cmd mix sobelow"],
test: ["ecto.create --quiet", "ecto.migrate", "test"],
start: ["compile --no-validate-compile-env", "phx.server", "run --no-halt"]
]
end
defp releases do
[
domain: [
include_executables_for: [:unix],
validate_compile_env: true,
applications: [
domain: :permanent,
opentelemetry_exporter: :permanent,
opentelemetry: :temporary
]
],
web: [
include_executables_for: [:unix],
validate_compile_env: true,
applications: [
web: :permanent,
opentelemetry_exporter: :permanent,
opentelemetry: :temporary
]
],
api: [
include_executables_for: [:unix],
validate_compile_env: true,
applications: [
api: :permanent,
opentelemetry_exporter: :permanent,
opentelemetry: :temporary
]
]
]
end
end