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

Add support for multiple config file formats #28

Closed

Conversation

Reokodoku
Copy link
Contributor

This commit adds support for multiple configuration file formats in anticipation of the implementation of a .zon config file.

With this system we can support .json config files when we replace them with zon ones (for backward compatibility).

This commit adds support for multiple configuration file formats in
anticipation of the implementation of a .zon config file.

With this system we can support .json config files when we
replace them with zon ones (for backward compatibility).
@Arnau478
Copy link
Owner

Apart from back-compatibility, are there any other advantages? I feel like this adds an unnecessary layer of abstraction and modularity that will just make the codebase worse. Will there ever be two valid config file formats?

@Reokodoku
Copy link
Contributor Author

The advantage is that (in theory) it will be easier to support zon files, because perhaps the configuration parser will become more complex and therefore making more abstractions will make our future work easier.

Will there ever be two valid config file formats?

Yes if we do backward compatibility, because we will have to support zon and json config files.

@Arnau478
Copy link
Owner

I'm sorry, but I don't believe in eternal back-compatibility. We would end up having a modular design but it would only be beneficial to the codebase during a transition period. Also, hevi is not 1.0 yet for a reason: breaking changes can happen and users should be prepared.

@Arnau478 Arnau478 closed this May 15, 2024
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

Successfully merging this pull request may close these issues.

2 participants