mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 10:18:54 +00:00
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.
100 lines
2.8 KiB
Elixir
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
|