Official React SDK for Westyx Nexus - the centralised secrets, feature flags, and config service.
What’s new in v0.10.0
- Version alignment across the Westyx Nexus SDK suite.
What’s new in v0.8.0
@westyx-nexus/openfeature-provider-react - OpenFeature bridge provider wrapping an existing NexusClient. Emits ConfigurationChanged on every cache update; exposes flags as boolean evaluations and configs as string/number/object evaluations.
What’s new in v0.4.1
- Security improvements - exception messages contain only HTTP status codes; response bodies are never exposed in errors.
- Fetch-based SSE - the live-update stream now uses
fetch streaming. The API key travels as a header, not a URL query parameter.
- CI improvements - tests run on every MR and
main push; publish restricted to main-branch tags.
What’s new in v0.4.0
NexusQuarantinedError - new typed error on 429 with quarantine body; sync and stream both pause until expiresAt.
onQuarantined(reason, expiresAt) observer callback - fires from both sync and stream paths.
- Path prefix change - all API paths now use
/v1/. Update baseUrl to <slug>.westyx.dev.
What’s new in v0.3.1
- 5xx sync hardening -
/sync 5xx responses now retry with exponential backoff (1 s to 30 s capped) instead of failing silently until the next TTL tick. During the wait the SDK emits FALLBACK_REASON_TRANSPORT on the stream observer.
- 429 SSE pre-flight probe -
connectStream() now runs a fetch pre-flight against the stream URL before opening EventSource. On HTTP 429 the SDK parses Retry-After (clamped to [5 s, 300 s], default 5 s on miss), emits FALLBACK_REASON_RATE_LIMITED, and re-attempts the connect after the indicated delay.
- New constant -
FALLBACK_REASON_TRANSPORT ('transport') is now exported alongside FALLBACK_REASON_MAX_ERRORS and FALLBACK_REASON_RATE_LIMITED.
Highlights
- React 18+ - single package, zero external runtime dependencies (uses platform
fetch)
NexusProvider blocking initial sync - children never render against an empty cache
- Hooks API backed by
useSyncExternalStore - components re-render automatically on every cache change
- Thread-safe TTL cache with atomic snapshot replacement and ETag/304 support
- SSE live updates - propagates remote changes within milliseconds; falls back to TTL polling after 3 transport errors
- public-key enforcement - browser SDKs must use a public key; secret keys are rejected at runtime
- Stream observer hooks (v0.2.0) - structured callbacks for SSE lifecycle events
- Service-kind-aware secret access (v0.2.0) -
useSecret() returns undefined on frontend services automatically
Browser SDKs must use a wxp_... (public) key. Never embed secret keys (wxs_...) in browser code.
Package
Hosted on the GitLab npm Package Registry. Install:
Latest release: v0.10.0 (2026-07-05 - version alignment across the Westyx Nexus SDK suite).
Pages