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.
This proposal exist to start the discussion on this topic. It is not a finished implementation.
I created a basic monorepo setup with 2 packages:
cosmiconfig
and@cosmiconfig/core
.Quotes from Issue #333
@cosmiconfig/core
only depends onenv-paths
. It offers the samecosmiconfig(...)
andcosmiconfigSync(...)
PublicExplorer methods.It also exports 2 new internal methods
createPublicExplorer()
andcreatePublicExplorerSync()
for the creation of these methods.I refactored the
loadJSON
loader of the core package to useJSON.parse(...)
and removed theparse-json
dependency. The cosmiconfig package contains theloadJSON
loader with better errors fromparse-json
.I refactored the
loadJsSync
loader of the core package to userequire()
and removed theimport-fresh
dependency. The cosmiconfig package contains theloadJsSync
loader with theimport-fresh
package.Done. The core package has no loader for
.yml
and.yaml
. The cosmiconfig package contains the yaml loader.path-type
was already removed so that leaves us withenv-paths
.The
cosmiconfig
package depends on@cosmiconfig/core
and adds back the "full" cosmiconfig loaders, searchPlaces, globalSearchPlaces, etc.