mirror of
https://github.com/bonfire-networks/bonfire-app.git
synced 2024-05-13 22:52:39 +00:00
165 lines
4.7 KiB
Elixir
Executable file
165 lines
4.7 KiB
Elixir
Executable file
import Config
|
|
|
|
# Important: indicate date of last release, to generate a changelog for issues closed since then
|
|
changelog_issues_closed_after = "2022-08-30"
|
|
|
|
config :bonfire,
|
|
# Note: you can run `Bonfire.Common.Config.put(:experimental_features_enabled, true)` to enable these in prod too
|
|
experimental_features_enabled: true,
|
|
# low limit so it is easier to test UX
|
|
# default_pagination_limit: 10,
|
|
ui: [
|
|
feed_object_extension_preloads_disabled: false
|
|
]
|
|
|
|
federate? = System.get_env("FEDERATE") == "yes"
|
|
|
|
config :activity_pub, :instance, federating: federate?
|
|
|
|
# only sign fetches when federating (which hopefully means we have a public domain name so signature key can be verified)
|
|
config :activity_pub, sign_object_fetches: federate?
|
|
|
|
# config :pseudo_gettext, :locale, "en-pseudo_text" # uncomment to use https://en.wikipedia.org/wiki/Pseudolocalization and check that the app is properly localisable
|
|
|
|
config :bonfire_umbrella, Bonfire.Common.Repo,
|
|
database: System.get_env("POSTGRES_DB", "bonfire_dev"),
|
|
# show_sensitive_data_on_connection_error: true,
|
|
# EctoSparkles does the logging instead
|
|
log: false,
|
|
stacktrace: true
|
|
|
|
local_deps =
|
|
Mess.read_umbrella(
|
|
config_dir: "config/",
|
|
use_local_forks?: System.get_env("WITH_FORKS", "1") == "1"
|
|
)
|
|
|
|
# if System.get_env("WITH_FORKS", "1") == "1" , do:
|
|
# Mess.deps(
|
|
# [path: Path.relative_to_cwd("config/deps.path")],
|
|
# []
|
|
# ),
|
|
# else: []
|
|
|
|
use_cowboy? = System.get_env("PLUG_SERVER") == "cowboy"
|
|
|
|
# Watch static and templates for browser reloading.
|
|
config :bonfire, Bonfire.Web.Endpoint,
|
|
server: true,
|
|
debug_errors: false,
|
|
check_origin: false,
|
|
http: if(use_cowboy?, do: [protocol_options: [idle_timeout: 120_000]], else: [])
|
|
|
|
enable_code_reloading = System.get_env("HOT_CODE_RELOAD") != "0"
|
|
|
|
if enable_code_reloading do
|
|
local_dep_names = Enum.map(local_deps, &elem(&1, 0))
|
|
|
|
dep_paths =
|
|
Enum.map(local_deps, fn dep ->
|
|
case elem(dep, 1)[:path] do
|
|
nil -> nil
|
|
path -> "#{path}/lib"
|
|
end
|
|
end)
|
|
|> Enum.reject(&is_nil/1)
|
|
|
|
watch_paths = dep_paths ++ ["lib/"] ++ ["priv/static/"]
|
|
|
|
IO.puts("Watching these deps for code reloading: #{inspect(local_dep_names)}")
|
|
|
|
config :phoenix_live_reload,
|
|
# watch the app's lib/ dir + the dep/lib/ dir of every locally-cloned dep
|
|
dirs: watch_paths
|
|
|
|
# filename patterns that should trigger hots reloads of components/CSS/etc (only within the above dirs)
|
|
hot_patterns = [
|
|
~r"(_live|_view)\.ex$",
|
|
~r{(live|views|pages|components)/.*(ex|css)$},
|
|
~r".*(heex|leex|sface|hooks.js)$",
|
|
~r"priv/catalogue/.*(ex)$"
|
|
]
|
|
|
|
# filename patterns that should trigger full page reloads (only within the above dirs)
|
|
patterns = [
|
|
~r"^priv/static/.*(js|css|png|jpeg|jpg|gif|svg|webp)$",
|
|
# ~r"^priv/gettext/.*(po)$",
|
|
~r{(web|templates)/.*(ex)$},
|
|
~r"(live_handler|live_handlers|routes)\.ex$"
|
|
]
|
|
|
|
IO.puts("Watching these filenames for live reloading in the browser: #{inspect(patterns)}")
|
|
|
|
config :bonfire, Bonfire.Web.Endpoint,
|
|
code_reloader: true,
|
|
reloadable_compilers: [:leex, :elixir, :surface],
|
|
reloadable_apps: [:bonfire] ++ local_dep_names,
|
|
live_reload: [
|
|
patterns: patterns ++ hot_patterns,
|
|
notify: [
|
|
live_view: hot_patterns
|
|
]
|
|
],
|
|
watchers: [
|
|
yarn: [
|
|
"watch.js",
|
|
cd: Path.expand("assets", File.cwd!())
|
|
],
|
|
yarn: [
|
|
"watch.css",
|
|
cd: Path.expand("assets", File.cwd!())
|
|
],
|
|
yarn: [
|
|
"watch.assets",
|
|
cd: Path.expand("assets", File.cwd!())
|
|
]
|
|
]
|
|
end
|
|
|
|
config :bonfire, Bonfire.Web.Endpoint, phoenix_profiler: [server: Bonfire.Web.Profiler]
|
|
|
|
config :surface,
|
|
log_level: :debug
|
|
|
|
config :logger,
|
|
level: :debug,
|
|
# level: :info,
|
|
# level: :warning,
|
|
truncate: :infinity
|
|
|
|
config :logger, :console,
|
|
# Do not include metadata or timestamps
|
|
format: "[$level] $message\n"
|
|
|
|
config :phoenix, :stacktrace_depth, 30
|
|
|
|
config :phoenix, :plug_init_mode, :runtime
|
|
|
|
config :exsync,
|
|
src_monitor: true,
|
|
reload_timeout: 75,
|
|
# addition_dirs: ["/forks"],
|
|
extra_extensions: [".leex", ".heex", ".js", ".css", ".sface"]
|
|
|
|
config :versioce, :changelog,
|
|
# Or your own datagrabber module
|
|
datagrabber: Versioce.Changelog.DataGrabber.Git,
|
|
# Or your own formatter module
|
|
formatter: Versioce.Changelog.Formatter.Keepachangelog
|
|
|
|
config :versioce, :changelog,
|
|
closed_after: changelog_issues_closed_after,
|
|
changelog_file: "docs/CHANGELOG-autogenerated.md",
|
|
datagrabber: Bonfire.Common.Changelog.Github.DataGrabber,
|
|
anchors: %{
|
|
added: ["Feature"],
|
|
changed: ["Improvement", "UI/UX", "Refactor"],
|
|
deprecated: ["[DEP]"],
|
|
removed: ["[REM]"],
|
|
fixed: ["Bug"],
|
|
security: ["Security", "Safety"]
|
|
}
|
|
|
|
# config :source_inspector, :enabled, true
|
|
config :phoenix_live_view, debug_heex_annotations: true
|