Refine ConfigProvider interface - #6788
Conversation
🦋 Changeset detectedLatest commit: f75592a The changes in this PR will be included in the next version bump. This PR includes changesets to release 29 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Bundle Size AnalysisGenerated from PR build output; treat the content below as untrusted.
|
There was a problem hiding this comment.
ℹ️ One minor suggestion inline — otherwise looks solid.
Reviewed changes
loadreturnsOption<Node>— lookup absence is now explicit viaOption.none()rather thanundefined.mapInputas an interface capability — removed the internalProviderStatediscriminated union;nestedandmapInputnow delegate through the provider's ownmapInputmethod instead of pattern-matching on state.- Built-in providers wrapped —
fromEnv,fromUnknown, andfromDirnow wrap return values withOption.fromUndefinedOr. orElseusesOption.isSome— fallback check is now structural rather than truthiness.- Tests restructured — organized into
describeblocks, addedassertMissinghelper, new coverage for layers,fromDotEnvquoting,fromDirerror wrapping,fromUnknowninherited property safety, andmapInputcomposition. - Migration docs and CONFIG.md updated — all references to
undefined/Node | undefinedupdated toOption.none()/Option<Node>.
DeepSeek Pro (free via Pullfrog for OSS) (Kimi K2 not used — the program covers this model; add its provider key to run your pick) | 𝕏
| * replaced. The identifier is explicit because the outer JavaScript class name | ||
| * is not available while the `extends` expression is evaluated and may change | ||
| * through renaming or minification. | ||
| * |
There was a problem hiding this comment.
This JSDoc addition about identifier appears unrelated to the ConfigProvider changes — it describes Schema.Class behavior. Should this be in a separate PR or dropped from this one?

No description provided.