Skip to content
Snippets Groups Projects
mix.exs 3.38 KiB
Newer Older
  • Learn to ignore specific revisions
  • Uku Taht's avatar
    Uku Taht committed
    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()),
    
    Uku Taht's avatar
    Uku Taht committed
          compilers: [:phoenix] ++ Mix.compilers(),
    
    Uku Taht's avatar
    Uku Taht committed
          start_permanent: Mix.env() == :prod,
          aliases: aliases(),
    
    Uku Taht's avatar
    Uku Taht committed
          deps: deps(),
    
          test_coverage: [
            tool: ExCoveralls
          ],
          releases: [
            plausible: [
              include_executables_for: [:unix],
    
    Uku Taht's avatar
    Uku Taht committed
              applications: [plausible: :permanent],
    
              steps: [:assemble, :tar]
            ]
    
          ],
          dialyzer: [
            plt_file: {:no_warn, "priv/plts/dialyzer.plt"},
            plt_add_apps: [:mix, :ex_unit]
    
    Uku Taht's avatar
    Uku Taht committed
        ]
      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
    
    Uku Taht's avatar
    Uku Taht committed
        ]
      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
        [
          {:bcrypt_elixir, "~> 2.0"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:cors_plug, "~> 2.0"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:ecto_sql, "~> 3.0"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:elixir_uuid, "~> 1.2", only: :test},
    
    Uku Taht's avatar
    Uku Taht committed
          {:jason, "~> 1.2"},
    
          {:phoenix, "~> 1.5.0"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:phoenix_ecto, "~> 4.0"},
    
          {:phoenix_html, "~> 2.12"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:phoenix_live_reload, "~> 1.2", only: :dev},
    
          {:phoenix_pubsub, "~> 2.0"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:plug_cowboy, "~> 2.3"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:postgrex, ">= 0.0.0"},
    
          {:ref_inspector, "~> 1.3"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:timex, "~> 3.6"},
    
          {:ua_inspector, "~> 3.0"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:bamboo, "~> 2.2"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:hackney, "~> 1.8"},
    
          {:bamboo_phoenix, "~> 1.0.0"},
    
          {:bamboo_postmark, git: "https://github.com/pablo-co/bamboo_postmark.git", tag: "master"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:bamboo_smtp, "~> 4.1"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:sentry, "~> 8.0"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:httpoison, "~> 1.4"},
    
          {:httpoison_retry, "~> 1.0.0"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:ex_machina, "~> 2.3", only: :test},
    
    Uku Taht's avatar
    Uku Taht committed
          {:excoveralls, "~> 0.10", only: :test},
    
    Uku Taht's avatar
    Uku Taht committed
          {:double, "~> 0.8.0", only: :test},
          {:php_serializer, "~> 2.0"},
    
          {:csv, "~> 2.3"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:oauther, "~> 1.3"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:nanoid, "~> 2.0.2"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:siphash, "~> 3.2"},
    
          {:oban, "~> 2.0"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:geolix, "~> 1.0"},
    
          {:clickhouse_ecto, git: "https://github.com/plausible/clickhouse_ecto.git"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:location, git: "https://github.com/plausible/location.git"},
    
    Uku Taht's avatar
    Uku Taht committed
          {: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},
    
    Uku Taht's avatar
    Uku Taht committed
          {:kaffy, "~> 0.9.0"},
    
    Uku Taht's avatar
    Uku Taht committed
          {:envy, "~> 1.1.1"},
    
          {:phoenix_pagination, "~> 0.7.0"},
    
          {:hammer, "~> 6.0"},
    
    Uku Taht's avatar
    Uku Taht committed
          {: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"}
    
    Uku Taht's avatar
    Uku Taht committed
        ]
      end
    
      defp aliases do
        [
          "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"],
          "ecto.reset": ["ecto.drop", "ecto.setup"],
    
    Uku Taht's avatar
    Uku Taht committed
          test: ["ecto.create --quiet", "ecto.migrate", "test", "clean_clickhouse"],
          sentry_recompile: ["compile", "deps.compile sentry --force"]
    
    Uku Taht's avatar
    Uku Taht committed
        ]
      end
    end