mirror of
https://github.com/plausible/analytics.git
synced 2024-11-27 09:16:25 +03:00
2b8e3ea62a
* Introduce Finch for Sentry integration * Make sure the DummyAgent can be started * No need to sanitize the dsn, finch takes care of that * Simplify the dummy child spec * Annotate redirects clause * Make use of new `get_int_from_path_or_env` * Actually use finch in Sentry config * Configure `excluded_domains` correctly for Sentry The way sentry is configured currently, when we get an HTTP error it will be logged twice - once from Sentry.PlugCapture and once from Sentry.LoggerBackend. The logger backend module does the right thing by default but for some reason we've been overriding the config parameter that by default stops double-counting errors. This commit returns to the default configuration which is better. * Default to 15s timeout * Attempt to send twice at most * Warn in sentry client * Use warn level in sentry client Co-authored-by: Adam Rutkowski <hq@mtod.org>
124 lines
3.8 KiB
Elixir
124 lines
3.8 KiB
Elixir
defmodule Plausible.MixProject do
|
|
use Mix.Project
|
|
|
|
def project do
|
|
[
|
|
app: :plausible,
|
|
version: System.get_env("APP_VERSION", "0.0.1"),
|
|
elixir: "~> 1.11",
|
|
elixirc_paths: elixirc_paths(Mix.env()),
|
|
compilers: [:phoenix] ++ Mix.compilers(),
|
|
start_permanent: Mix.env() == :prod,
|
|
aliases: aliases(),
|
|
deps: deps(),
|
|
test_coverage: [
|
|
tool: ExCoveralls
|
|
],
|
|
releases: [
|
|
plausible: [
|
|
include_executables_for: [:unix],
|
|
applications: [plausible: :permanent],
|
|
steps: [:assemble, :tar]
|
|
]
|
|
],
|
|
dialyzer: [
|
|
plt_file: {:no_warn, "priv/plts/dialyzer.plt"},
|
|
plt_add_apps: [:mix, :ex_unit]
|
|
]
|
|
]
|
|
end
|
|
|
|
# Configuration for the OTP application.
|
|
#
|
|
# Type `mix help compile.app` for more information.
|
|
def application do
|
|
[
|
|
mod: {Plausible.Application, []},
|
|
extra_applications: [
|
|
:logger,
|
|
:runtime_tools,
|
|
:tls_certificate_check
|
|
]
|
|
]
|
|
end
|
|
|
|
# Specifies which paths to compile per environment.
|
|
defp elixirc_paths(:test), do: ["lib", "test/support"]
|
|
defp elixirc_paths(_), do: ["lib"]
|
|
|
|
# Specifies your project dependencies.
|
|
#
|
|
# Type `mix help deps` for examples and options.
|
|
defp deps do
|
|
[
|
|
{:finch, "~> 0.12.0"},
|
|
{:bcrypt_elixir, "~> 2.0"},
|
|
{:combination, "~> 0.0.3"},
|
|
{:cors_plug, "~> 3.0"},
|
|
{:plug, "~> 1.13", override: true},
|
|
{:connection, "~> 1.1", override: true},
|
|
{:ecto_sql, "~> 3.0"},
|
|
{:elixir_uuid, "~> 1.2", only: :test},
|
|
{:jason, "~> 1.3"},
|
|
{:phoenix, "~> 1.6.0"},
|
|
{:phoenix_ecto, "~> 4.0"},
|
|
{:phoenix_html, "~> 2.12"},
|
|
{:phoenix_live_reload, "~> 1.2", only: :dev},
|
|
{:phoenix_pubsub, "~> 2.0"},
|
|
{:plug_cowboy, "~> 2.3"},
|
|
{:ref_inspector, "~> 1.3"},
|
|
{:timex, "~> 3.6"},
|
|
{:ua_inspector, "~> 3.0"},
|
|
{:bamboo, "~> 2.2"},
|
|
{:hackney, "~> 1.8"},
|
|
{:bamboo_phoenix, "~> 1.0.0"},
|
|
{:bamboo_postmark, git: "https://github.com/pablo-co/bamboo_postmark.git", tag: "master"},
|
|
{:bamboo_smtp, "~> 4.1"},
|
|
{:sentry, "~> 8.0"},
|
|
{:httpoison, "~> 1.4"},
|
|
{:ex_machina, "~> 2.3", only: :test},
|
|
{:excoveralls, "~> 0.10", only: :test},
|
|
{:double, "~> 0.8.0", only: :test},
|
|
{:php_serializer, "~> 2.0"},
|
|
{:csv, "~> 2.3"},
|
|
{:oauther, "~> 1.3"},
|
|
{:nanoid, "~> 2.0.2"},
|
|
{:siphash, "~> 3.2"},
|
|
{:oban, "~> 2.11"},
|
|
{:geolix, "~> 1.0"},
|
|
{:clickhouse_ecto, git: "https://github.com/plausible/clickhouse_ecto.git"},
|
|
{:location, git: "https://github.com/plausible/location.git"},
|
|
{:geolix_adapter_mmdb2, "~> 0.5.0"},
|
|
{:cachex, "~> 3.4"},
|
|
{:dialyxir, "~> 1.0", only: [:dev, :test], runtime: false},
|
|
{:credo, "~> 1.5", only: [:dev, :test], runtime: false},
|
|
{:kaffy, "~> 0.9.0"},
|
|
{:envy, "~> 1.1.1"},
|
|
{:phoenix_pagination, "~> 0.7.0"},
|
|
{:hammer, "~> 6.0"},
|
|
{:public_suffix, git: "https://github.com/axelson/publicsuffix-elixir"},
|
|
{:floki, "~> 0.32.0", only: :test},
|
|
{:referrer_blocklist, git: "https://github.com/plausible/referrer-blocklist.git"},
|
|
{:fun_with_flags, "~> 1.8.1"},
|
|
{:fun_with_flags_ui, "~> 0.8"},
|
|
{:opentelemetry_api, "~> 1.0"},
|
|
{:opentelemetry, "~> 1.0"},
|
|
{:opentelemetry_exporter, "~> 1.0"},
|
|
{:opentelemetry_phoenix, "~> 1.0"},
|
|
{:telemetry, "~> 1.0", override: true},
|
|
{:opentelemetry_ecto, "~> 1.0.0"},
|
|
{:observer_cli, "~> 1.7"},
|
|
{:mimic, "~> 1.7", only: :test}
|
|
]
|
|
end
|
|
|
|
defp aliases do
|
|
[
|
|
"ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"],
|
|
"ecto.reset": ["ecto.drop", "ecto.setup"],
|
|
test: ["ecto.create --quiet", "ecto.migrate", "test", "clean_clickhouse"],
|
|
sentry_recompile: ["compile", "deps.compile sentry --force"]
|
|
]
|
|
end
|
|
end
|