refactor for flavours

This commit is contained in:
Mayel 2021-05-05 10:05:51 +02:00
parent 0936d1c564
commit 8effe99ab4
8 changed files with 53 additions and 48 deletions

5
.gitignore vendored
View file

@ -43,9 +43,13 @@ npm-debug.log
# App and user data
/data/
/db/
.secrets
config/dev
config/prod
flavours/*/config/dev/
flavours/*/config/prod/
/config
# user-local overrides for mess
deps.path
@ -55,7 +59,6 @@ deps.path*
# Dev artifacts
.elixir_ls
db/
.nix-hex/
.nix-mix/
.direnv/

View file

@ -1,9 +1,10 @@
.PHONY: setup updates db-reset build dev shell
LIBS_PATH=./forks/
ORG_NAME=bonfirenetworks
APP_FLAVOUR ?= `git name-rev --name-only HEAD`
APP_NAME=bonfire-$(APP_FLAVOUR)
FLAVOUR ?= classic
BONFIRE_FLAVOUR ?= flavours/$(FLAVOUR)
LIBS_PATH ?= ./forks/
ORG_NAME ?= bonfirenetworks
APP_NAME ?= bonfire-$(FLAVOUR)
UID := $(shell id -u)
GID := $(shell id -g)
APP_REL_CONTAINER="$(ORG_NAME)_$(APP_NAME)_release"
@ -17,7 +18,8 @@ export UID
export GID
init:
@echo "Light that fire... $(APP_NAME):$(APP_VSN)-$(APP_BUILD)"
@echo "Light that fire... $(APP_NAME) with $(FLAVOUR) flavour $(APP_VSN) - $(APP_BUILD)"
@ln -sfn $(BONFIRE_FLAVOUR)/config ./config
@mkdir -p config/prod
@mkdir -p config/dev
@cp -n config/templates/public.env config/dev/ | true
@ -25,7 +27,7 @@ init:
@cp -n config/templates/not_secret.env config/dev/secrets.env | true
@cp -n config/templates/not_secret.env config/prod/secrets.env | true
@mkdir -p forks/
@touch deps.path
@touch config/deps.path
@mkdir -p data/uploads/
@mkdir -p data/search/dev
@ -65,54 +67,46 @@ shell: init ## Open a shell, in dev mode
pull:
git pull
update: init pull bonfire-pre-updates ## Update/prepare dependencies, without Docker
mix updates
make bonfire-post-updates
update: init pull ## Update/prepare dependencies, without Docker
WITH_FORKS=0 mix updates
make deps-all-git-pull
mix ecto.migrate
d-update: init pull build bonfire-pre-updates mix-updates bonfire-post-updates deps-all-git-pull mix-ecto.migrate ## Update/prepare dependencies, using Docker
d-update: init pull build ## Update/prepare dependencies, using Docker
docker-compose run -e WITH_FORKS=0 web mix updates
make deps-all-git-pull
make mix-ecto.migrate
bonfire-pre-update:
mv deps.path deps.path.disabled 2> /dev/null || echo "continue"
bonfire-pre-updates: bonfire-pre-update
# rm -rf deps/pointers*
# rm -rf deps/bonfire*
# rm -rf deps/cpub*
# rm -rf deps/activity_pu*
bonfire-updates: init bonfire-pre-updates
docker-compose run web mix bonfire.deps
make bonfire-post-updates
bonfire-post-updates:
mv deps.path.disabled deps.path 2> /dev/null || echo "continue"
bonfire-updates: init
docker-compose run -e WITH_FORKS=0 web mix bonfire.deps
bonfire-push-all-updates: deps-all-git-commit-push bonfire-push-app-updates
bonfire-push-app-updates: bonfire-pre-updates
bonfire-push-app-updates:
git add .
git commit -a
git pull --rebase
mix updates
make bonfire-post-updates
WITH_FORKS=0 mix updates
make git-publish
bonfire-deps-updates: bonfire-pre-updates
bonfire-deps-updates:
git pull --rebase
mix updates
make bonfire-post-updates
WITH_FORKS=0 mix updates
make git-publish
d-bonfire-push-all-updates: deps-all-git-commit-push d-bonfire-push-app-updates
d-bonfire-push-app-updates: bonfire-pre-updates
d-bonfire-push-app-updates:
git add .
git commit -a
git pull --rebase
make mix-updates
make bonfire-post-updates
docker-compose run -e WITH_FORKS=0 web mix updates
make git-publish
make dev
@ -121,13 +115,13 @@ git-publish:
./git-publish.sh
dep-hex-%: init ## add/enable/disable/delete a hex dep with messctl command, eg: `make dep-hex-enable dep=pointers version="~> 0.2"
docker-compose run web messctl $* $(dep) $(version) deps.hex
docker-compose run web messctl $* $(dep) $(version) config/deps.hex
dep-git-%: init ## add/enable/disable/delete a git dep with messctl command, eg: `make dep-hex-enable dep=pointers repo=https://github.com/bonfire-networks/pointers#main
docker-compose run web messctl $* $(dep) $(repo) deps.git
docker-compose run web messctl $* $(dep) $(repo) config/deps.git
dep-local-%: init ## add/enable/disable/delete a local dep with messctl command, eg: `make dep-hex-enable dep=pointers path=./libs/pointers
docker-compose run web messctl $* $(dep) $(path) deps.path
docker-compose run web messctl $* $(dep) $(path) config/deps.path
dep-clone-local: ## Clone a git dep and use the local version, eg: make dep-clone-local dep="bonfire_me" repo=https://github.com/bonfire-networks/bonfire_me
git clone $(repo) $(LIBS_PATH)$(dep) 2> /dev/null || (cd $(LIBS_PATH)$(dep) ; git pull)
@ -176,17 +170,15 @@ dep-go-hex: ## Switch to using a library from hex.pm, eg: make dep-go-hex dep="p
make dep-git-disable dep=$(dep) repo=""
make dep-local-disable dep=$(dep) path=""
deps.get: init bonfire-pre-update
docker-compose run web mix deps.get
make bonfire-post-updates
deps.get: init
docker-compose run -e WITH_FORKS=0 web mix deps.get
make mix-"deps.get"
deps.update.all:
make deps.update-"--all"
deps.update-%: init bonfire-pre-update
docker-compose run web mix deps.update $*
make bonfire-post-updates
docker-compose run -e WITH_FORKS=0 web mix deps.update $*
dev: init docker-stop-web ## Run the app with Docker
# docker-compose --verbose run --name bonfire_web --service-ports web
@ -212,8 +204,8 @@ test: init ## Run tests
docker-compose run web mix test $(args)
licenses: init bonfire-pre-update
docker-compose run web mix licenses
make bonfire-post-updates
docker-compose run -e WITH_FORKS=0 web mix licenses
cmd-%: init ## Run a specific command in the container, eg: `make cmd-messclt` or `make cmd-"messctl help"` or `make cmd-messctl args="help"`
docker-compose run web $* $(args)

View file

@ -1,3 +1,5 @@
FLAVOUR=classic
BONFIRE_FLAVOUR=flavours/classic
# COPY this file to /config/{dev|prod}/public.env and change any values as required
# server domain name:
HOSTNAME=localhost

View file

@ -65,16 +65,16 @@ defmodule Bonfire.MixProject do
defp config_path(flavour_path \\ flavour_path(), filename),
do: Path.join([flavour_path, "config", filename])
defp mess_sources(flavour_path \\ flavour_path()) do
sources =if System.get_env("WITH_FORKS","true") !="false" do
[path: "deps.path", git: "deps.git", hex: "deps.hex"]
defp mess_sources() do
sources =if System.get_env("WITH_FORKS","1")=="0" do
[git: "deps.git", hex: "deps.hex"]
else
[path: "deps.path", git: "deps.git", hex: "deps.hex"]
end
Enum.map(
sources,
fn {k,v} -> {k, flavour_path <> "/" <> v} end
fn {k,v} -> {k, config_path(v)} end
)
end

View file

@ -1,5 +1,6 @@
%{
"absinthe": {:hex, :absinthe, "1.5.5", "22b26228f56dc6a1074c52cea9c64e869a0cb2427403bcf9056c422d36c66292", [:mix], [{:dataloader, "~> 1.0.0", [hex: :dataloader, repo: "hexpm", optional: true]}, {:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}, {:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "41e79ed4bffbab4986493ff4120c948d59871fd08ad5e31195129ce3c01aad58"},
"absinthe_client": {:git, "https://github.com/bonfire-networks/absinthe_client", "05362fe1bab3d0bdf04547db8abb5a2eaba3e65d", []},
"absinthe_error_payload": {:hex, :absinthe_error_payload, "1.1.3", "304ce86c0a2fae1cef93e3e4103087c3d4693051203dd23673c57f860ab1b492", [:make, :mix], [{:absinthe, "~> 1.3", [hex: :absinthe, repo: "hexpm", optional: false]}, {:ecto, "~> 3.1", [hex: :ecto, repo: "hexpm", optional: false]}], "hexpm", "a845b10566a5e922b6bb2100003a8c9b4634342a6b305bc77cf42701011d962d"},
"absinthe_plug": {:hex, :absinthe_plug, "1.5.8", "38d230641ba9dca8f72f1fed2dfc8abd53b3907d1996363da32434ab6ee5d6ab", [:mix], [{:absinthe, "~> 1.5", [hex: :absinthe, repo: "hexpm", optional: false]}, {:plug, "~> 1.4", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "bbb04176647b735828861e7b2705465e53e2cf54ccf5a73ddd1ebd855f996e5a"},
"activity_pub": {:git, "https://github.com/bonfire-networks/activity_pub", "d771952ea86c8871226a22d0a5779fd488419f97", [branch: "develop"]},
@ -44,6 +45,7 @@
"email_checker": {:hex, :email_checker, "0.1.4", "6c9914039277da0810107e229ffc28c09b09af7663bfa1f85268fdb4ddc8f174", [:mix], [{:socket, "~> 0.3.1", [hex: :socket, repo: "hexpm", optional: false]}], "hexpm", "5f35d5d4ee3c8a789e92c4dd7916e1c1744c4ceb9a9661ae1b17a7a71fe9e5aa"},
"eternal": {:hex, :eternal, "1.2.2", "d1641c86368de99375b98d183042dd6c2b234262b8d08dfd72b9eeaafc2a1abd", [:mix], [], "hexpm", "2c9fe32b9c3726703ba5e1d43a1d255a4f3f2d8f8f9bc19f094c7cb1a7a9e782"},
"ex_machina": {:hex, :ex_machina, "2.7.0", "b792cc3127fd0680fecdb6299235b4727a4944a09ff0fa904cc639272cd92dc7", [:mix], [{:ecto, "~> 2.2 or ~> 3.0", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_sql, "~> 3.0", [hex: :ecto_sql, repo: "hexpm", optional: true]}], "hexpm", "419aa7a39bde11894c87a615c4ecaa52d8f107bbdd81d810465186f783245bf8"},
"ex_maybe": {:hex, :ex_maybe, "1.1.1", "95c0188191b43bd278e876ae4f0a688922e3ca016a9efd97ee7a0b741a61b899", [:mix], [], "hexpm", "1af8c78c915c7f119a513b300a1702fc5cc9fed42d54fd85995265e4c4b763d2"},
"exsync": {:hex, :exsync, "0.2.4", "5cdc824553e0f4c4bf60018a9a6bbd5d3b51f93ef8401a0d8545f93127281d03", [:mix], [{:file_system, "~> 0.2", [hex: :file_system, repo: "hexpm", optional: false]}], "hexpm", "f7622d8bb98abbe473aa066ae46f91afdf7a5346b8b89728404f7189d2e80896"},
"faker": {:hex, :faker, "0.16.0", "1e2cf3e8d60d44a30741fb98118fcac18b2020379c7e00d18f1a005841b2f647", [:mix], [], "hexpm", "fbcb9bf1299dff3c9dd7e50f41802bbc472ffbb84e7656394c8aa913ec315141"},
"file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"},
@ -70,6 +72,7 @@
"makeup": {:hex, :makeup, "1.0.5", "d5a830bc42c9800ce07dd97fa94669dfb93d3bf5fcf6ea7a0c67b2e0e4a7f26c", [:mix], [{:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cfa158c02d3f5c0c665d0af11512fed3fba0144cf1aadee0f2ce17747fba2ca9"},
"makeup_elixir": {:hex, :makeup_elixir, "0.15.1", "b5888c880d17d1cc3e598f05cdb5b5a91b7b17ac4eaf5f297cb697663a1094dd", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.1", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "db68c173234b07ab2a07f645a5acdc117b9f99d69ebf521821d89690ae6c6ec8"},
"mappable": {:hex, :mappable, "0.2.4", "3038564db78bbde442100d9252aac484be746612bc74b333fbeaeffec8087efa", [:mix], [], "hexpm", "188d9291ca5eec10af61420b6738ef69244b7d7ec6dc98f7f4aa7a4e21f1a8b5"},
"matrix_reloaded": {:hex, :matrix_reloaded, "2.2.1", "9786e97c20535e902dbe586b704ede6c00a6854609715fb161645df9cd99ca55", [:mix], [{:ex_maybe, "~> 1.0", [hex: :ex_maybe, repo: "hexpm", optional: false]}, {:result, "~> 1.3.0", [hex: :result, repo: "hexpm", optional: false]}], "hexpm", "d5e3c9b6dfb6b1f5c35439674177f421a8eec9a1ac5d40f2d1115c5cbb116fc3"},
"meck": {:hex, :meck, "0.8.13", "ffedb39f99b0b99703b8601c6f17c7f76313ee12de6b646e671e3188401f7866", [:rebar3], [], "hexpm", "d34f013c156db51ad57cc556891b9720e6a1c1df5fe2e15af999c84d6cebeb1a"},
"metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"},
"mime": {:hex, :mime, "1.6.0", "dabde576a497cef4bbdd60aceee8160e02a6c89250d6c0b29e56c0dfb00db3d2", [:mix], [], "hexpm", "31a1a8613f8321143dde1dafc36006a17d28d02bdfecb9e95a880fa7aabd19a7"},
@ -83,6 +86,7 @@
"paginator": {:hex, :paginator, "1.0.4", "471e8e59e7a08541c5b7d2ea7166308c8e05ceb412fb444f3bdf320f5d793260", [:mix], [{:ecto, "~> 3.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "~> 3.0", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.13", [hex: :postgrex, repo: "hexpm", optional: true]}], "hexpm", "9d79d21c0192d8d1fc562e5c99b5ebf7e0bb443c671e256b41fd709170730b91"},
"parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"},
"pbkdf2_elixir": {:hex, :pbkdf2_elixir, "1.2.1", "9cbe354b58121075bd20eb83076900a3832324b7dd171a6895fab57b6bb2752c", [:mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}], "hexpm", "d3b40a4a4630f0b442f19eca891fcfeeee4c40871936fed2f68e1c4faa30481f"},
"phil_columns": {:hex, :phil_columns, "3.1.0", "6f517729418019d58f57b405906f9afd9d2d790922d74cb990a81eb50d986a07", [:mix], [{:ecto_sql, "~> 3.0", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:inflex, "~> 2.0", [hex: :inflex, repo: "hexpm", optional: false]}], "hexpm", "0aa35fa366c4815474f9dd5d2d8edbf71beef0d19f0392bd40184f9edf040768"},
"phoenix": {:hex, :phoenix, "1.5.8", "71cfa7a9bb9a37af4df98939790642f210e35f696b935ca6d9d9c55a884621a4", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_html, "~> 2.13", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:plug, "~> 1.10", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 1.0 or ~> 2.2", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.1.2 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "35ded0a32f4836168c7ab6c33b88822eccd201bcd9492125a9bea4c54332d955"},
"phoenix_ecto": {:hex, :phoenix_ecto, "4.2.1", "13f124cf0a3ce0f1948cf24654c7b9f2347169ff75c1123f44674afee6af3b03", [:mix], [{:ecto, "~> 3.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 2.15", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "478a1bae899cac0a6e02be1deec7e2944b7754c04e7d4107fc5a517f877743c0"},
"phoenix_html": {:hex, :phoenix_html, "2.14.3", "51f720d0d543e4e157ff06b65de38e13303d5778a7919bcc696599e5934271b8", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "efd697a7fff35a13eeeb6b43db884705cba353a1a41d127d118fda5f90c8e80f"},
@ -97,15 +101,18 @@
"pointers_ulid": {:git, "https://github.com/bonfire-networks/pointers_ulid", "5402a668e39c9103c0709b289942419cd24a7558", [branch: "main"]},
"poolboy": {:hex, :poolboy, "1.5.2", "392b007a1693a64540cead79830443abf5762f5d30cf50bc95cb2c1aaafa006b", [:rebar3], [], "hexpm", "dad79704ce5440f3d5a3681c8590b9dc25d1a561e8f5a9c995281012860901e3"},
"postgrex": {:hex, :postgrex, "0.15.9", "46f8fe6f25711aeb861c4d0ae09780facfdf3adbd2fb5594ead61504dd489bda", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "610719103e4cb2223d4ab78f9f0f3e720320eeca6011415ab4137ddef730adee"},
"qr_code": {:hex, :qr_code, "2.2.0", "8445085f57294af832456432b7366a5b6f49ad453f2fe7191a71d7190b1a26da", [:mix], [{:ex_maybe, "~> 1.1.1", [hex: :ex_maybe, repo: "hexpm", optional: false]}, {:matrix_reloaded, "~> 2.2.1", [hex: :matrix_reloaded, repo: "hexpm", optional: false]}, {:result, "~> 1.3.0", [hex: :result, repo: "hexpm", optional: false]}, {:xml_builder, "~> 2.1.1", [hex: :xml_builder, repo: "hexpm", optional: false]}], "hexpm", "e66784d13e0d5f5d978a8801b127b703ac0134af79889c7a26397d331785600b"},
"query_elf": {:git, "https://github.com/bonfire-networks/query_elf", "ad4cdf3a774dfaf1ffeffc3eccda4bc3c4fa81e3", [branch: "bonfire"]},
"ranch": {:hex, :ranch, "1.7.1", "6b1fab51b49196860b733a49c07604465a47bdb78aa10c1c16a3d199f7f8c881", [:rebar3], [], "hexpm", "451d8527787df716d99dc36162fca05934915db0b6141bbdac2ea8d3c7afc7d7"},
"recase": {:hex, :recase, "0.7.0", "3f2f719f0886c7a3b7fe469058ec539cb7bbe0023604ae3bce920e186305e5ae", [:mix], [], "hexpm", "36f5756a9f552f4a94b54a695870e32f4e72d5fad9c25e61bc4a3151c08a4e0c"},
"redirect": {:hex, :redirect, "0.3.0", "f24f2cd41ea85d68c99290ef41655dfae06905e1aa96ee9b025b6b58e82a0776", [:mix], [{:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}, {:plug, "~> 1.8.3 or ~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "3108e611ded985a88efc37c4f17e543d39606f17271c4c549c38edfde0c0d66e"},
"result": {:hex, :result, "1.3.0", "fd598eb0e084048157fffca7ef5f53803c6031c99691a78271dade7b4c479661", [:mix], [], "hexpm", "c7aca4eb90a1fc7b571d46c700f36b36e18bef28d9df3630b73f67d6bf60329c"},
"rustler": {:hex, :rustler, "0.21.0", "68cc4fc015d0b9541865ea78e78e9ef2dd91ee4be80bf543fd15791102a45aca", [:mix], [{:toml, "~> 0.5.2", [hex: :toml, repo: "hexpm", optional: false]}], "hexpm", "e5429378c397f37f1091a35593b153aee1925e197c6842d04648d802edb52f80"},
"sleeplocks": {:hex, :sleeplocks, "1.1.1", "3d462a0639a6ef36cc75d6038b7393ae537ab394641beb59830a1b8271faeed3", [:rebar3], [], "hexpm", "84ee37aeff4d0d92b290fff986d6a95ac5eedf9b383fadfd1d88e9b84a1c02e1"},
"sobelow": {:hex, :sobelow, "0.11.1", "23438964486f8112b41e743bbfd402da3e5b296fdc9eacab29914b79c48916dd", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "9897363a7eff96f4809304a90aad819e2ad5e5d24db547af502885146746a53c"},
"socket": {:hex, :socket, "0.3.13", "98a2ab20ce17f95fb512c5cadddba32b57273e0d2dba2d2e5f976c5969d0c632", [:mix], [], "hexpm", "f82ea9833ef49dde272e6568ab8aac657a636acb4cf44a7de8a935acb8957c2e"},
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"},
"stream_data": {:hex, :stream_data, "0.5.0", "b27641e58941685c75b353577dc602c9d2c12292dd84babf506c2033cd97893e", [:mix], [], "hexpm", "012bd2eec069ada4db3411f9115ccafa38540a3c78c4c0349f151fc761b9e271"},
"surface": {:hex, :surface, "0.3.2", "e80be602ab5f441bc10491e452768692c80036aeb9fc1c6b854061dd3584ea46", [:mix], [{:earmark, "~> 1.3", [hex: :earmark, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.15.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}], "hexpm", "209d7a58763300b182fa2e41b3f22b5d0e16b2ef62e3cbd5e8c34a9d3e795439"},
"telemetry": {:hex, :telemetry, "0.4.3", "a06428a514bdbc63293cd9a6263aad00ddeb66f608163bdec7c8995784080818", [:rebar3], [], "hexpm", "eb72b8365ffda5bed68a620d1da88525e326cb82a75ee61354fc24b844768041"},
"telemetry_metrics": {:hex, :telemetry_metrics, "0.6.0", "da9d49ee7e6bb1c259d36ce6539cd45ae14d81247a2b0c90edf55e2b50507f7b", [:mix], [{:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "5cfe67ad464b243835512aa44321cee91faed6ea868d7fb761d7016e02915c3d"},
@ -122,5 +129,6 @@
"verbs": {:git, "https://github.com/shannonwells/verbs_ex", "457167b0ab76baaf3fe5315b9621202d94ffd87e", []},
"voodoo": {:git, "https://github.com/bonfire-networks/voodoo", "d39e6c046ee93cf08fb9649937ee0678eaf875d3", [branch: "main"]},
"waffle": {:hex, :waffle, "1.1.4", "4cad1c2fd67b5c18a0e9fa9278b0de70cd1a143e8fbc73cddca248749cfa8b04", [:mix], [{:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:ex_aws_s3, "~> 2.1", [hex: :ex_aws_s3, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: false]}, {:sweet_xml, "~> 0.6", [hex: :sweet_xml, repo: "hexpm", optional: true]}], "hexpm", "f0ccb04e7e8d8529c3a885750e8014c69b20e9b9881cd80bb4a6f1ce1c1cc88f"},
"xml_builder": {:hex, :xml_builder, "2.1.4", "e60e21c0a39b9dd8dec1db5a2525c713f7fe4e85ed247caedf22a9bcdd2d5069", [:mix], [], "hexpm", "48188a4df8b9168ceb8318d128299bce064d272e18967349b2592347c434e677"},
"zest": {:hex, :zest, "0.1.2", "ddf3a045ee32c6452b8ac050b22da0b2eceae5aaa7d63163fb09e5fbb925fbbe", [:mix], [], "hexpm", "ebe2d6acf615de286e45846a3d6daf72d7c20f2c5eefada6d8a1729256a3974a"},
}