From 5dfd11f31e1019d6d4db749aed24a134b1ca1c80 Mon Sep 17 00:00:00 2001 From: Pim Kunis Date: Tue, 11 Oct 2022 08:55:32 +0200 Subject: [PATCH] Cleanup --- README.md | 19 +++++++++++ eisrom_firmware/README.md | 32 ------------------- eisrom_firmware/mix.lock | 7 ++-- eisrom_ui/README.md | 18 ----------- eisrom_ui/lib/eisrom_ui/morse/server.ex | 6 ---- eisrom_ui/lib/eisrom_ui_web/endpoint.ex | 4 --- eisrom_ui/lib/eisrom_ui_web/router.ex | 22 ------------- .../lib/eisrom_ui_web/views/layout_view.ex | 3 -- eisrom_ui/mix.exs | 1 - eisrom_ui/mix.lock | 3 +- 10 files changed, 22 insertions(+), 93 deletions(-) create mode 100644 README.md delete mode 100644 eisrom_firmware/README.md delete mode 100644 eisrom_ui/README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..39f3f12 --- /dev/null +++ b/README.md @@ -0,0 +1,19 @@ +# Esrom geocache + +## Development +- `cd eisrom_ui` +- `mix phx.server` + +## Deployment +- `cd eisrom_ui` +- `export MIX_TARGET=host` +- `export MIX_ENV=prod` +- `mix deps.get` +- `mix assets.deploy` +- `cd ../eisrom_firmware` +- `export MIX_TARGET=rpi2` +- `export MIX_ENV=prod` +- `mix deps.get` +- `mix firmware` +- `mix firmware.burn` + diff --git a/eisrom_firmware/README.md b/eisrom_firmware/README.md deleted file mode 100644 index 4251fa2..0000000 --- a/eisrom_firmware/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# EisromFirmware - -**TODO: Add description** - -## Targets - -Nerves applications produce images for hardware targets based on the -`MIX_TARGET` environment variable. If `MIX_TARGET` is unset, `mix` builds an -image that runs on the host (e.g., your laptop). This is useful for executing -logic tests, running utilities, and debugging. Other targets are represented by -a short name like `rpi3` that maps to a Nerves system image for that platform. -All of this logic is in the generated `mix.exs` and may be customized. For more -information about targets see: - -https://hexdocs.pm/nerves/targets.html#content - -## Getting Started - -To start your Nerves app: - * `export MIX_TARGET=my_target` or prefix every command with - `MIX_TARGET=my_target`. For example, `MIX_TARGET=rpi3` - * Install dependencies with `mix deps.get` - * Create firmware with `mix firmware` - * Burn to an SD card with `mix burn` - -## Learn more - - * Official docs: https://hexdocs.pm/nerves/getting-started.html - * Official website: https://nerves-project.org/ - * Forum: https://elixirforum.com/c/nerves-forum - * Discussion Slack elixir-lang #nerves ([Invite](https://elixir-slackin.herokuapp.com/)) - * Source: https://github.com/nerves-project/nerves diff --git a/eisrom_firmware/mix.lock b/eisrom_firmware/mix.lock index b6850cc..6af90ad 100644 --- a/eisrom_firmware/mix.lock +++ b/eisrom_firmware/mix.lock @@ -8,7 +8,6 @@ "cowlib": {:hex, :cowlib, "2.11.0", "0b9ff9c346629256c42ebe1eeb769a83c6cb771a6ee5960bd110ab0b9b872063", [:make, :rebar3], [], "hexpm", "2b3e9da0b21c4565751a6d4901c20d1b4cc25cbb7fd50d91d2ab6dd287bc86a9"}, "elixir_make": {:hex, :elixir_make, "0.6.3", "bc07d53221216838d79e03a8019d0839786703129599e9619f4ab74c8c096eac", [:mix], [], "hexpm", "f5cbd651c5678bcaabdbb7857658ee106b12509cd976c2c2fca99688e1daf716"}, "esbuild": {:hex, :esbuild, "0.5.0", "d5bb08ff049d7880ee3609ed5c4b864bd2f46445ea40b16b4acead724fb4c4a3", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}], "hexpm", "f183a0b332d963c4cfaf585477695ea59eef9a6f2204fdd0efa00e099694ffe5"}, - "file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"}, "gen_state_machine": {:hex, :gen_state_machine, "3.0.0", "1e57f86a494e5c6b14137ebef26a7eb342b3b0070c7135f2d6768ed3f6b6cdff", [:mix], [], "hexpm", "0a59652574bebceb7309f6b749d2a41b45fdeda8dbb4da0791e355dd19f0ed15"}, "jason": {:hex, :jason, "1.4.0", "e855647bc964a44e2f67df589ccf49105ae039d4179db7f6271dfd3843dc27e6", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "79a3791085b2a0f743ca04cec0f7be26443738779d09302e01318f97bdb82121"}, "mdns_lite": {:hex, :mdns_lite, "0.8.6", "cafdcde5be222d151342629637ec3178619090e4668a57c8cfdc67d970d0b268", [:mix], [{:vintage_net, "~> 0.7", [hex: :vintage_net, repo: "hexpm", optional: true]}], "hexpm", "7b6fcf2d45be8823492b77380f69510327d3a98f6b17d403f355daf31e1ac961"}, @@ -39,10 +38,8 @@ "nerves_toolchain_x86_64_nerves_linux_musl": {:hex, :nerves_toolchain_x86_64_nerves_linux_musl, "1.6.0", "b4993f4dd639b70eb4b5fedf2165cfd4647053781aa45de97008a173e9f36cb3", [:mix], [{:nerves, "~> 1.0", [hex: :nerves, repo: "hexpm", optional: false]}, {:nerves_toolchain_ctng, "~> 1.9.0", [hex: :nerves_toolchain_ctng, repo: "hexpm", optional: false]}], "hexpm", "289711847c1b0ff5ab64e8be38840f60a6e527bb2c3213a5e2bb9a973a570532"}, "nerves_uevent": {:hex, :nerves_uevent, "0.1.0", "651111a46be9a238560cbf7946989fc500e5f33d7035fd9ea7194d07a281bc19", [:make, :mix], [{:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:property_table, "~> 0.2.0", [hex: :property_table, repo: "hexpm", optional: false]}], "hexpm", "cb0b1993c3ed3cefadbcdb534e910af0661f95c3445796ce8a7c8be3519a4e5f"}, "one_dhcpd": {:hex, :one_dhcpd, "2.0.1", "d2d24dcb29f84072f3666580e4fb297ce8533c61667f78c94643ad37d586f7b8", [:make, :mix], [{:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "1558faedeb560bb358827864bec3e862eadfcbaa589f9c2d457f49c833db704c"}, - "phoenix": {:hex, :phoenix, "1.6.13", "5b3152907afdb8d3a6cdafb4b149e8aa7aabbf1422fd9f7ef4c2a67ead57d24a", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 1.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:plug, "~> 1.10", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.2", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "13d8806c31176e2066da4df2d7443c144211305c506ed110ad4044335b90171d"}, + "phoenix": {:hex, :phoenix, "1.6.14", "57678366dc1d5bad49832a0fc7f12c2830c10d3eacfad681bfe9602cd4445f04", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 1.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:plug, "~> 1.10", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.2", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "d48c0da00b3d4cd1aad6055387917491af9f6e1f1e96cedf6c6b7998df9dba26"}, "phoenix_html": {:hex, :phoenix_html, "3.2.0", "1c1219d4b6cb22ac72f12f73dc5fad6c7563104d083f711c3fcd8551a1f4ae11", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "36ec97ba56d25c0136ef1992c37957e4246b649d620958a1f9fa86165f8bc54f"}, - "phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.6.5", "1495bb014be12c9a9252eca04b9af54246f6b5c1e4cd1f30210cd00ec540cf8e", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.3", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.17.7", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "ef4fa50dd78364409039c99cf6f98ab5209b4c5f8796c17f4db118324f0db852"}, - "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.3.3", "3a53772a6118d5679bf50fc1670505a290e32a1d195df9e069d8c53ab040c054", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "766796676e5f558dbae5d1bdb066849673e956005e3730dfd5affd7a6da4abac"}, "phoenix_live_view": {:hex, :phoenix_live_view, "0.17.12", "74f4c0ad02d7deac2d04f50b52827a5efdc5c6e7fac5cede145f5f0e4183aedc", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.0 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.1", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "af6dd5e0aac16ff43571f527a8e0616d62cb80b10eb87aac82170243e50d99c8"}, "phoenix_pubsub": {:hex, :phoenix_pubsub, "2.1.1", "ba04e489ef03763bf28a17eb2eaddc2c20c6d217e2150a61e3298b0f4c2012b5", [:mix], [], "hexpm", "81367c6d1eea5878ad726be80808eb5a787a23dee699f96e72b1109c57cdd8d9"}, "phoenix_view": {:hex, :phoenix_view, "1.1.2", "1b82764a065fb41051637872c7bd07ed2fdb6f5c3bd89684d4dca6e10115c95a", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "7ae90ad27b09091266f6adbb61e1d2516a7c3d7062c6789d46a7554ec40f3a56"}, @@ -51,7 +48,7 @@ "plug_crypto": {:hex, :plug_crypto, "1.2.3", "8f77d13aeb32bfd9e654cb68f0af517b371fb34c56c9f2b58fe3df1235c1251a", [:mix], [], "hexpm", "b5672099c6ad5c202c45f5a403f21a3411247f164e4a8fab056e5cd8a290f4a2"}, "property_table": {:hex, :property_table, "0.2.1", "88ab40972036d150eb8b09c4f1aea7834e5970225afbd787fa5533a80399ef8f", [:mix], [], "hexpm", "eb67da5228c649bdc19647a3bbff721d1d1df893e8d342be7255a6819813164b"}, "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, - "ring_logger": {:hex, :ring_logger, "0.8.5", "e807c5b29993cb5e64afbcff41a5a7c44c44f3293ee17dd6601439b408f48903", [:mix], [{:circular_buffer, "~> 0.4.0", [hex: :circular_buffer, repo: "hexpm", optional: false]}], "hexpm", "1a29ec270ed9961b1b999a378bce5ea47d4ea9f3a3b8c53c67c05562b897e31b"}, + "ring_logger": {:hex, :ring_logger, "0.8.6", "8159b877f184f6d3b9e72b2dbd08545b1f93b20f73e827234282273e76223e51", [:mix], [{:circular_buffer, "~> 0.4.0", [hex: :circular_buffer, repo: "hexpm", optional: false]}], "hexpm", "f19684a5413ad455422cea10ec164d71de390f42ce6f703c345d87bcb188f315"}, "shoehorn": {:hex, :shoehorn, "0.9.1", "8e12670024c2942e3c2fdd27cd5a034ee0337ee7c25c37b3ebc2ad482de67199", [:mix], [], "hexpm", "fccd040ac22de9b3cc111bbf78a363832c7210010a3fff4a550fbb2f10de0692"}, "ssh_subsystem_fwup": {:hex, :ssh_subsystem_fwup, "0.6.1", "628f8e3795de5f1d0e7b3b55de4248ab0a77ab4c47e3cd282f1dda89d6354a9f", [:mix], [], "hexpm", "babdae337f2dc011ab5478662b4ec850650d7acfb165662ae47f6f0ce8892499"}, "telemetry": {:hex, :telemetry, "1.1.0", "a589817034a27eab11144ad24d5c0f9fab1f58173274b1e9bae7074af9cbee51", [:rebar3], [], "hexpm", "b727b2a1f75614774cff2d7565b64d0dfa5bd52ba517f16543e6fc7efcc0df48"}, diff --git a/eisrom_ui/README.md b/eisrom_ui/README.md deleted file mode 100644 index 58f0e68..0000000 --- a/eisrom_ui/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# EisromUi - -To start your Phoenix server: - - * Install dependencies with `mix deps.get` - * Start Phoenix endpoint with `mix phx.server` or inside IEx with `iex -S mix phx.server` - -Now you can visit [`localhost:4000`](http://localhost:4000) from your browser. - -Ready to run in production? Please [check our deployment guides](https://hexdocs.pm/phoenix/deployment.html). - -## Learn more - - * Official website: https://www.phoenixframework.org/ - * Guides: https://hexdocs.pm/phoenix/overview.html - * Docs: https://hexdocs.pm/phoenix - * Forum: https://elixirforum.com/c/phoenix-forum - * Source: https://github.com/phoenixframework/phoenix diff --git a/eisrom_ui/lib/eisrom_ui/morse/server.ex b/eisrom_ui/lib/eisrom_ui/morse/server.ex index 1f0b620..44936d6 100644 --- a/eisrom_ui/lib/eisrom_ui/morse/server.ex +++ b/eisrom_ui/lib/eisrom_ui/morse/server.ex @@ -31,7 +31,6 @@ defmodule Eisrom.Morse.Server do if worker_alive?(pid) do EisromUi.Morse.Worker.kill(pid) Phoenix.PubSub.broadcast(EisromUi.PubSub, "morse_progress", 0) - # apply(pubsub(), :broadcast, [EisromUi.PubSub, "morse_progress", 0]) {:reply, :ok, {nil, 0}} else pid = spawn(&EisromUi.Morse.Worker.signal/0) @@ -50,14 +49,9 @@ defmodule Eisrom.Morse.Server do @impl true def handle_cast({:progress, new_progress}, {pid, _progress}) do Phoenix.PubSub.broadcast(EisromUi.PubSub, "morse_progress", new_progress) - # apply(pubsub(), :broadcast, [EisromUi.PubSub, "morse_progress", new_progress]) {:noreply, {pid, new_progress}} end - defp pubsub do - Application.fetch_env!(:eisrom_ui, :pubsub) - end - defp worker_alive?(pid) do pid != nil and Process.alive?(pid) end diff --git a/eisrom_ui/lib/eisrom_ui_web/endpoint.ex b/eisrom_ui/lib/eisrom_ui_web/endpoint.ex index 830fe6c..90baa81 100644 --- a/eisrom_ui/lib/eisrom_ui_web/endpoint.ex +++ b/eisrom_ui/lib/eisrom_ui_web/endpoint.ex @@ -30,10 +30,6 @@ defmodule EisromUiWeb.Endpoint do plug Phoenix.CodeReloader end - plug Phoenix.LiveDashboard.RequestLogger, - param_key: "request_logger", - cookie_key: "request_logger" - plug Plug.RequestId plug Plug.Telemetry, event_prefix: [:phoenix, :endpoint] diff --git a/eisrom_ui/lib/eisrom_ui_web/router.ex b/eisrom_ui/lib/eisrom_ui_web/router.ex index 7811bb0..9c037c5 100644 --- a/eisrom_ui/lib/eisrom_ui_web/router.ex +++ b/eisrom_ui/lib/eisrom_ui_web/router.ex @@ -27,26 +27,4 @@ defmodule EisromUiWeb.Router do get "/OB13", PageController, :morse get "/seinlamp", PageController, :morse end - - # Other scopes may use custom stacks. - # scope "/api", EisromUiWeb do - # pipe_through :api - # end - - # Enables LiveDashboard only for development - # - # If you want to use the LiveDashboard in production, you should put - # it behind authentication and allow only admins to access it. - # If your application does not have an admins-only section yet, - # you can use Plug.BasicAuth to set up some basic authentication - # as long as you are also using SSL (which you should anyway). - if Mix.env() in [:dev, :test] do - import Phoenix.LiveDashboard.Router - - scope "/" do - pipe_through :browser - - live_dashboard "/dashboard", metrics: EisromUiWeb.Telemetry - end - end end diff --git a/eisrom_ui/lib/eisrom_ui_web/views/layout_view.ex b/eisrom_ui/lib/eisrom_ui_web/views/layout_view.ex index 8a51929..504e16c 100644 --- a/eisrom_ui/lib/eisrom_ui_web/views/layout_view.ex +++ b/eisrom_ui/lib/eisrom_ui_web/views/layout_view.ex @@ -1,7 +1,4 @@ defmodule EisromUiWeb.LayoutView do use EisromUiWeb, :view - # Phoenix LiveDashboard is available only in development by default, - # so we instruct Elixir to not warn if the dashboard route is missing. - @compile {:no_warn_undefined, {Routes, :live_dashboard_path, 2}} end diff --git a/eisrom_ui/mix.exs b/eisrom_ui/mix.exs index dceb136..0e042f7 100644 --- a/eisrom_ui/mix.exs +++ b/eisrom_ui/mix.exs @@ -39,7 +39,6 @@ defmodule EisromUi.MixProject do {:phoenix_live_reload, "~> 1.2", only: :dev}, {:phoenix_live_view, "~> 0.17.5"}, {:floki, ">= 0.30.0", only: :test}, - {:phoenix_live_dashboard, "~> 0.6"}, {:esbuild, "~> 0.4", runtime: Mix.env() == :dev && Mix.target() == :host}, {:telemetry_metrics, "~> 0.6"}, {:telemetry_poller, "~> 1.0"}, diff --git a/eisrom_ui/mix.lock b/eisrom_ui/mix.lock index b031188..9c75287 100644 --- a/eisrom_ui/mix.lock +++ b/eisrom_ui/mix.lock @@ -11,9 +11,8 @@ "html_entities": {:hex, :html_entities, "0.5.2", "9e47e70598da7de2a9ff6af8758399251db6dbb7eebe2b013f2bbd2515895c3c", [:mix], [], "hexpm", "c53ba390403485615623b9531e97696f076ed415e8d8058b1dbaa28181f4fdcc"}, "jason": {:hex, :jason, "1.4.0", "e855647bc964a44e2f67df589ccf49105ae039d4179db7f6271dfd3843dc27e6", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "79a3791085b2a0f743ca04cec0f7be26443738779d09302e01318f97bdb82121"}, "mime": {:hex, :mime, "2.0.3", "3676436d3d1f7b81b5a2d2bd8405f412c677558c81b1c92be58c00562bb59095", [:mix], [], "hexpm", "27a30bf0db44d25eecba73755acf4068cbfe26a4372f9eb3e4ea3a45956bff6b"}, - "phoenix": {:hex, :phoenix, "1.6.13", "5b3152907afdb8d3a6cdafb4b149e8aa7aabbf1422fd9f7ef4c2a67ead57d24a", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 1.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:plug, "~> 1.10", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.2", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "13d8806c31176e2066da4df2d7443c144211305c506ed110ad4044335b90171d"}, + "phoenix": {:hex, :phoenix, "1.6.14", "57678366dc1d5bad49832a0fc7f12c2830c10d3eacfad681bfe9602cd4445f04", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 1.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:plug, "~> 1.10", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.2", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "d48c0da00b3d4cd1aad6055387917491af9f6e1f1e96cedf6c6b7998df9dba26"}, "phoenix_html": {:hex, :phoenix_html, "3.2.0", "1c1219d4b6cb22ac72f12f73dc5fad6c7563104d083f711c3fcd8551a1f4ae11", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "36ec97ba56d25c0136ef1992c37957e4246b649d620958a1f9fa86165f8bc54f"}, - "phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.6.5", "1495bb014be12c9a9252eca04b9af54246f6b5c1e4cd1f30210cd00ec540cf8e", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.3", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.17.7", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "ef4fa50dd78364409039c99cf6f98ab5209b4c5f8796c17f4db118324f0db852"}, "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.3.3", "3a53772a6118d5679bf50fc1670505a290e32a1d195df9e069d8c53ab040c054", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "766796676e5f558dbae5d1bdb066849673e956005e3730dfd5affd7a6da4abac"}, "phoenix_live_view": {:hex, :phoenix_live_view, "0.17.12", "74f4c0ad02d7deac2d04f50b52827a5efdc5c6e7fac5cede145f5f0e4183aedc", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.0 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.1", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "af6dd5e0aac16ff43571f527a8e0616d62cb80b10eb87aac82170243e50d99c8"}, "phoenix_pubsub": {:hex, :phoenix_pubsub, "2.1.1", "ba04e489ef03763bf28a17eb2eaddc2c20c6d217e2150a61e3298b0f4c2012b5", [:mix], [], "hexpm", "81367c6d1eea5878ad726be80808eb5a787a23dee699f96e72b1109c57cdd8d9"},