@farmart-tech/brave-firebase-adapter
v3.0.0
Published
> Firebase Firestore adapter for reading Brave Ship feature flags.
Readme
@farmart-tech/brave-firebase-adapter
Firebase Firestore adapter for reading Brave Ship feature flags.
@farmart-tech/brave-firebase-adapter provides a high-performance implementation for fetching and subscribing to feature flag data directly from Google Cloud Firestore. It handles complex workspace fallback logic and maintains an efficient internal cache.
Features
- ⚡ Real-time Subscriptions: React to feature flag changes instantly using Firestore
onSnapshot. - 📦 Smart Caching: Built-in memory cache to minimize Firestore read operations.
- 🛡️ Workspace Fallbacks: Automatically fall back to 'global' workspace data when workspace-specific flags are missing.
- 🔍 Prefetching Support: Batch-fetch flags, segments, and conditions for optimal application startup.
- 📱 Device-Level persistence: Integration with local storage for consistent experience across sessions.
Installation
npm install @farmart-tech/brave-firebase-adapter
# or
pnpm add @farmart-tech/brave-firebase-adapterPeer Dependencies
firebase^11.5.0@farmart-tech/brave-feature-core
Quick Start
Basic Feature Flag Reader
import { FeatureFlagReader } from '@farmart-tech/brave-firebase-adapter';
import { getFirestore } from 'firebase/firestore';
// 1. Initialize Firestore
const db = getFirestore(app);
// 2. Create reader
const reader = new FeatureFlagReader({
db,
workspace: 'production',
environment: 'production',
userContext: { userId: 'current-user-id' }
});
// 3. Fetch a feature
const feature = await reader.getFeatureFlag('new_hero_section');
if (feature && await feature.getIsEnabled()) {
renderNewHero();
}Real-time Subscription
const unsubscribe = reader.subscribeToFeatureFlags((features) => {
const isEnabled = features['experimental_feature']?.getIsEnabled();
updateUI(isEnabled);
});
// Later
unsubscribe();Documentation
Comprehensive API documentation is available at: https://fmt-feature-management.web.app/docs/firebase-adapter/
License
MIT © FarMart
