Skip to content

Compatibility matrix

Definitive contract for package layers, peer dependencies, providers, and platforms. Source of truth for capabilities: PexelsMediaClient.capabilities and PixabayMediaClient.capabilities in @media-sdk/core (also asserted by pnpm verify:compatibility-matrix).

Package layers

LayerPackageCompatibility
Core@media-sdk/coreNode, browser, React Native (no RN dependency in package)
React hooks@media-sdk/reactreact ^18.0.0 || ^19.0.0
React UI@media-sdk/ui-reactReact + browser DOM
Native hooks@media-sdk/nativereact ^18.0.0 || ^19.0.0 (no react-native peer)
Native UI@media-sdk/ui-nativeReact + react-native >= 0.71.0
ProvidersPexels, PixabayBoth implement MediaClient
Clean-room installStarterspnpm verify:starter, pnpm verify:starter-native

Current published versions: core 0.3.1, react/ui-react 0.3.0, native/ui-native 0.1.0.

Peer dependencies

PackagePeer dependencies
@media-sdk/coreNone
@media-sdk/reactreact ^18.0.0 || ^19.0.0
@media-sdk/ui-reactreact ^18.0.0 || ^19.0.0
@media-sdk/nativereact ^18.0.0 || ^19.0.0
@media-sdk/ui-nativereact ^18.0.0 || ^19.0.0, react-native >= 0.71.0

Operations × provider

OperationPexelsPixabay
searchPhotos
searchVideos
getPhoto
getVideo
curatedPhotos
trackView
trackDownload

Photo filters × provider

FilterPexelsPixabay
orientation
size
color
category
minWidth
minHeight
editorsChoice
locale

Video filters × provider

FilterPexelsPixabay
orientation
size
color
category
minWidth
minHeight
editorsChoice
locale

Feature × platform

Feature@media-sdk/react@media-sdk/native@media-sdk/ui-react@media-sdk/ui-native
MediaProvider
useMediaClient
useMediaSearch + photoFilters
useMediaVideos + videoFilters
useMediaCapabilities
useCuratedPhotos❌ app recipe❌ app recipe
SearchBar / grids / previews
usePreviewDialog✅ DOM❌ N/A
VideoPreview.renderVideoN/A✅ optional
Abort on search
Pagination component
Provider swap at runtime

Native provider notes: Pexels + Pixabay on React Native.

CI enforcement

CheckCommand
Full Gate Cpnpm verify:gate-c
Capabilities + peer static auditpnpm verify:compatibility-matrix
Web starter clean-roompnpm verify:starter
Native starter clean-roompnpm verify:starter-native
Tarball consumerpnpm verify:npm-consumer

verify:compatibility-matrix asserts:

  • All five @media-sdk/* package names exist with versions
  • Documented peer dependency ranges match package.json
  • @media-sdk/core has no react-native dependency
  • getCapabilities(pexels) / getCapabilities(pixabay) match tables above