Hi,
I'm curious what you'd think of having
a variant of Mix.Config.import_config/1 that doesn't raise an error
when the config file is missing. I'd like to be able to import optional
configs, like config/prod.secret.exs if it exists, but not error if it's
missing. Right now, I write my config/config.exs like this
# config/config.exs
use Mix.Config
config :my_app, setting: true
#Import env specific config
import_config "#{Mix.env()}.exs"
# Import secrets across all environments
try do
import_config "config.secret.exs"
rescue
Code.LoadError -> :ok
end
# Import env specific settings
try do
import_config "#{Mix.env()}.secret.exs"
rescue
Code.LoadError -> :ok
end
If
you include a wildcard in the path to import_config/1 it doesn't raise
an error if no files are found. What would you think about adding an
additional argument to import_config that allows me to flag the import
as optional? Then I could write my config like this.
# config/config.exs
use Mix.Config
config :my_app, setting: true
#Import env specific config
import_config "#{Mix.env()}.exs"
# Import secrets across all environments
import_config "config.secret.exs", optional: true
# Import env specific settings
import_config "#{Mix.env()}.secret.exs", optional: true
Any suggestions or different approaches I should try would be greatly appreciated!
Thanks,
Aaron Renner