Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for the merge of more than two environment config files #7

Open
AshleyJBartlett opened this issue Mar 21, 2022 · 3 comments
Open

Comments

@AshleyJBartlett
Copy link

@Sayan751 This is a feature request.

I wondered if it was possible to extend this loader so it somehow supports the merge of more than two environment config files using some kind of array of filenames?

I am using this loader in an Aurelia app which has many different environment configs that get used based on our build commands.

Our config directory structure looks something like this:

  • environment.json
  • environment.[brand].[variation].development.json
  • environment.[brand].[variation].staging.json
  • environment.[brand].[variation].production.json

What I would like to do is to be able to introduce configs like:

  • environment.development.json
  • environment.staging.json
  • environment.production.json
  • environment.[brand].json
  • environment.[brand].[variation].json

This would mean I could move some of the common config settings up a level (or two) which would then reduce duplication of common settings and the size of the other config files.

Overall, I believe this feature would add value to the loader and would be used by many developers.

@Sayan751
Copy link
Owner

@AshleyJBartlett can you please elaborate on the following points?

  • What is a 'brand' and 'variation'? And whether those needs to be treated as a special placeholder like the environment?
  • What is your expectation here when you apply multiple environments? Give some examples in this are focusing on how those values are expected to be merged.

@AshleyJBartlett
Copy link
Author

@Sayan751 Thank you for responding so quickly.

In answer to your questions:

  • You can ignore 'brand' and 'variation' - this was just to indicate how I am currently naming my configs
  • I would expect to have an array of config filenames which could be merged together sequentially with the values in the next config of the array taking precedence over the values set in the previous config of the array

I am going to have a go at writing my own loader and see how I get on.

@Sayan751
Copy link
Owner

I am going to have a go at writing my own loader and see how I get on.

Cool! If you feel like it, you can also create a PR with your changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants