Design: A global static class that loads a type script file that loads a json file that are all compile time constants. Another global static class that loads environment variables set in a yaml file that are also compile time constants.
If only we could double the number of layers of indirection to our compile time constant we'd have flexibility. And double the number of ways to wrap compile time constants. Maybe a template that compiles to yaml and we could store constants in the template.