summaryrefslogtreecommitdiff
path: root/mix.exs
diff options
context:
space:
mode:
Diffstat (limited to 'mix.exs')
-rw-r--r--mix.exs113
1 files changed, 62 insertions, 51 deletions
diff --git a/mix.exs b/mix.exs
index d0ee061c8..69e52e526 100644
--- a/mix.exs
+++ b/mix.exs
@@ -4,12 +4,13 @@ defmodule Pleroma.Mixfile do
def project do
[
app: :pleroma,
- version: version("2.6.3"),
- elixir: "~> 1.11",
+ version: version("2.7.0"),
+ elixir: "~> 1.13",
elixirc_paths: elixirc_paths(Mix.env()),
- compilers: [:phoenix] ++ Mix.compilers(),
- elixirc_options: [warnings_as_errors: warnings_as_errors()],
+ compilers: Mix.compilers(),
+ elixirc_options: [warnings_as_errors: warnings_as_errors(), prune_code_paths: false],
xref: [exclude: [:eldap]],
+ dialyzer: [plt_add_apps: [:mix, :eldap]],
start_permanent: Mix.env() == :prod,
aliases: aliases(),
deps: deps(),
@@ -72,14 +73,16 @@ defmodule Pleroma.Mixfile do
def application do
[
mod: {Pleroma.Application, []},
- extra_applications: [
- :logger,
- :runtime_tools,
- :comeonin,
- :fast_sanitize,
- :os_mon,
- :ssl
- ],
+ extra_applications:
+ [
+ :logger,
+ :runtime_tools,
+ :comeonin,
+ :fast_sanitize,
+ :os_mon,
+ :ssl,
+ :eldap
+ ] ++ logger_application(),
included_applications: [:ex_syslogger]
]
end
@@ -108,25 +111,40 @@ defmodule Pleroma.Mixfile do
for s <- oauth_strategy_packages, do: {String.to_atom(s), ">= 0.0.0"}
end
+ defp logger_application do
+ if Version.match?(System.version(), "<1.15.0-rc.0") do
+ []
+ else
+ [:logger_backends]
+ end
+ end
+
+ defp logger_deps do
+ if Version.match?(System.version(), "<1.15.0-rc.0") do
+ []
+ else
+ [{:logger_backends, "~> 1.0"}]
+ end
+ end
+
# Specifies your project dependencies.
#
# Type `mix help deps` for examples and options.
defp deps do
[
- {:phoenix, "~> 1.6.0"},
- {:phoenix_ecto, "~> 4.4.0"},
+ {:phoenix, "~> 1.7.3"},
+ {:phoenix_ecto, "~> 4.4"},
+ {:ecto_sql, "~> 3.10"},
{:ecto_enum, "~> 1.4"},
{:postgrex, ">= 0.0.0"},
- {:phoenix_html, "~> 3.1"},
- {:phoenix_live_reload, "~> 1.3.3", only: :dev},
- {:phoenix_live_view, "~> 0.17.1"},
- {:phoenix_live_dashboard, "~> 0.6.2"},
- {:telemetry_metrics, "~> 0.6.1"},
+ {:phoenix_html, "~> 3.3"},
+ {:phoenix_live_view, "~> 0.19.0"},
+ {:phoenix_live_dashboard, "~> 0.8.0"},
+ {:telemetry_metrics, "~> 0.6"},
{:telemetry_poller, "~> 1.0"},
{:tzdata, "~> 1.0.3"},
- {:plug_cowboy, "~> 2.3"},
- # oban 2.14 requires Elixir 1.12+
- {:oban, "~> 2.13.4"},
+ {:plug_cowboy, "~> 2.5"},
+ {:oban, "~> 2.17.9"},
{:gettext, "~> 0.20"},
{:bcrypt_elixir, "~> 2.2"},
{:trailing_format_plug, "~> 0.0.7"},
@@ -134,49 +152,34 @@ defmodule Pleroma.Mixfile do
{:html_entities, "~> 0.5", override: true},
{:calendar, "~> 1.0"},
{:cachex, "~> 3.2"},
- {:poison, "~> 3.0", override: true},
- {:tesla, "~> 1.4.0", override: true},
+ {:tesla, "~> 1.11"},
{:castore, "~> 0.1"},
{:cowlib, "~> 2.9", override: true},
{:gun, "~> 2.0.0-rc.1", override: true},
- {:finch, "~> 0.10.0"},
+ {:finch, "~> 0.15"},
{:jason, "~> 1.2"},
- {:mogrify, "~> 0.9.1"},
+ {:mogrify, "~> 0.8.0"},
{:ex_aws, "~> 2.1.6"},
{:ex_aws_s3, "~> 2.0"},
{:sweet_xml, "~> 0.7.2"},
- # earmark 1.4.23 requires Elixir 1.12+
- {:earmark, "1.4.22"},
+ {:earmark, "1.4.46"},
{:bbcode_pleroma, "~> 0.2.0"},
{:cors_plug, "~> 2.0"},
{:web_push_encryption, "~> 0.3.1"},
- # swoosh 1.11.2+ requires Elixir 1.12+
- {:swoosh, "~> 1.10.0"},
+ {:swoosh, "~> 1.16.9"},
{:phoenix_swoosh, "~> 1.1"},
{:gen_smtp, "~> 0.13"},
{:ex_syslogger, "~> 1.4"},
- {:floki, "~> 0.27"},
+ {:floki, "~> 0.35"},
{:timex, "~> 3.6"},
{:ueberauth, "~> 0.4"},
{:linkify, "~> 0.5.3"},
- {:http_signatures, "~> 0.1.1"},
+ {:http_signatures, "~> 0.1.2"},
{:telemetry, "~> 1.0.0", override: true},
{:poolboy, "~> 1.5"},
- {:prometheus, "~> 4.6"},
- {:prometheus_ex,
- git: "https://github.com/lanodan/prometheus.ex.git",
- branch: "fix/elixir-1.14",
- override: true},
- {:prometheus_plugs, "~> 1.1"},
- {:prometheus_phoenix, "~> 1.3"},
- # Note: once `prometheus_phx` is integrated into `prometheus_phoenix`, remove the former:
- {:prometheus_phx,
- git: "https://git.pleroma.social/pleroma/elixir-libraries/prometheus-phx.git",
- branch: "no-logging"},
- {:prometheus_ecto, "~> 1.4"},
+ {:prom_ex, "~> 1.9"},
{:recon, "~> 2.5"},
{:joken, "~> 2.0"},
- {:benchee, "~> 1.0"},
{:pot, "~> 1.0"},
{:ex_const, "~> 0.2"},
{:plug_static_index_html, "~> 1.0.0"},
@@ -187,16 +190,22 @@ defmodule Pleroma.Mixfile do
ref: "b647d0deecaa3acb140854fe4bda5b7e1dc6d1c8"},
{:captcha,
git: "https://git.pleroma.social/pleroma/elixir-libraries/elixir-captcha.git",
- ref: "90f6ce7672f70f56708792a98d98bd05176c9176"},
+ ref: "6630c42aaaab124e697b4e513190c89d8b64e410"},
{:restarter, path: "./restarter"},
{:majic, "~> 1.0"},
- {:eblurhash,
- git: "https://github.com/zotonic/eblurhash.git",
- ref: "bc37ceb426ef021ee9927fb249bb93f7059194ab"},
{:open_api_spex, "~> 3.16"},
{:ecto_psql_extras, "~> 0.6"},
+ {:vix, "~> 0.26.0"},
+ {:elixir_make, "~> 0.7.7", override: true},
+ {:blurhash, "~> 0.1.0", hex: :rinpatch_blurhash},
+ {:exile, "~> 0.10.0"},
+ {:bandit, "~> 1.5.2"},
+ {:websock_adapter, "~> 0.5.6"},
+ {:oban_live_dashboard, "~> 0.1.1"},
## dev & test
+ {:phoenix_live_reload, "~> 1.3.3", only: :dev},
+ {:poison, "~> 3.0", only: :test},
{:ex_doc, "~> 0.22", only: :dev, runtime: false},
{:ex_machina, "~> 2.4", only: :test},
{:credo, "~> 1.6", only: [:dev, :test], runtime: false},
@@ -204,8 +213,10 @@ defmodule Pleroma.Mixfile do
{:covertool, "~> 2.0", only: :test},
{:hackney, "~> 1.18.0", override: true},
{:mox, "~> 1.0", only: :test},
- {:websockex, "~> 0.4.3", only: :test}
- ] ++ oauth_deps()
+ {:websockex, "~> 0.4.3", only: :test},
+ {:benchee, "~> 1.0", only: :benchmark},
+ {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}
+ ] ++ oauth_deps() ++ logger_deps()
end
# Aliases are shortcuts or tasks specific to the current project.