Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
cosmiconfig is no longer maintained. Apart from that, we can't support ESM configuration properly because
cosmiconfig
only supports loading it asynchronously - but we need to be able to load it synchronously in babel config.I also took a look at lilconfig, but it also has the same limitation.
Node 20.19.0 onwards supports synchronous
require
of ESM, so this limitation is not a technical limitation. So I decided to implement config loading myself since we don't need any advanced features of these config loaders such as traversing up until they find the config.Test plan
Tested in a sample project with both
bob build
and in the example app with metro.