summaryrefslogtreecommitdiff
path: root/src/flagd-ui/mix.exs
diff options
context:
space:
mode:
Diffstat (limited to 'src/flagd-ui/mix.exs')
-rw-r--r--src/flagd-ui/mix.exs96
1 files changed, 96 insertions, 0 deletions
diff --git a/src/flagd-ui/mix.exs b/src/flagd-ui/mix.exs
new file mode 100644
index 0000000..d89a87b
--- /dev/null
+++ b/src/flagd-ui/mix.exs
@@ -0,0 +1,96 @@
+# Copyright The OpenTelemetry Authors
+# SPDX-License-Identifier: Apache-2.0
+
+defmodule FlagdUi.MixProject do
+ use Mix.Project
+
+ def project do
+ [
+ app: :flagd_ui,
+ version: "0.1.0",
+ elixir: "~> 1.15",
+ elixirc_paths: elixirc_paths(Mix.env()),
+ start_permanent: Mix.env() == :prod,
+ aliases: aliases(),
+ deps: deps(),
+ releases: [
+ flagd_ui: [
+ applications: [
+ opentelemetry_exporter: :permanent,
+ opentelemetry: :temporary
+ ]
+ ]
+ ]
+ ]
+ end
+
+ # Configuration for the OTP application.
+ #
+ # Type `mix help compile.app` for more information.
+ def application do
+ [
+ mod: {FlagdUi.Application, []},
+ extra_applications: [:logger, :runtime_tools]
+ ]
+ 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
+ [
+ {:phoenix, "~> 1.8.0", override: true},
+ {:phoenix_html, "~> 4.1"},
+ {:phoenix_live_reload, "~> 1.2", only: :dev},
+ {:phoenix_live_view, "~> 1.1"},
+ {:floki, ">= 0.30.0", only: :test},
+ {:phoenix_live_dashboard, "~> 0.8.3"},
+ {:esbuild, "~> 0.9", runtime: Mix.env() == :dev},
+ {:tailwind, "~> 0.3", runtime: Mix.env() == :dev},
+ {:heroicons,
+ github: "tailwindlabs/heroicons",
+ tag: "v2.1.1",
+ sparse: "optimized",
+ app: false,
+ compile: false,
+ depth: 1},
+ {:swoosh, "~> 1.16"},
+ {:req, "~> 0.5"},
+ {:telemetry_metrics, "~> 1.0"},
+ {:telemetry_poller, "~> 1.0"},
+ {:gettext, "~> 0.26"},
+ {:jason, "~> 1.2"},
+ {:dns_cluster, "~> 0.1.1"},
+ {:bandit, "~> 1.5"},
+ {:credo, "~> 1.7", only: [:dev, :test], runtime: false},
+ {:opentelemetry, "~> 1.5"},
+ {:opentelemetry_api, "~> 1.4"},
+ {:opentelemetry_exporter, "~> 1.8"},
+ {:opentelemetry_phoenix, "~> 2.0.1"},
+ {:opentelemetry_bandit, "~> 0.3.0"}
+ ]
+ end
+
+ # Aliases are shortcuts or tasks specific to the current project.
+ # For example, to install project dependencies and perform other setup tasks, run:
+ #
+ # $ mix setup
+ #
+ # See the documentation for `Mix` for more info on aliases.
+ defp aliases do
+ [
+ setup: ["deps.get", "assets.setup", "assets.build"],
+ "assets.setup": ["tailwind.install --if-missing", "esbuild.install --if-missing"],
+ "assets.build": ["tailwind flagd_ui", "esbuild flagd_ui"],
+ "assets.deploy": [
+ "tailwind flagd_ui --minify",
+ "esbuild flagd_ui --minify",
+ "phx.digest"
+ ]
+ ]
+ end
+end