@farmart-tech/brave-client-sdk
v2.0.4
Published
Client SDK for Farmart Brave Ship feature flag system.
Downloads
181
Readme
@farmart-tech/brave-client-sdk
Client SDK for Farmart Brave Ship feature flag system.
Overview
@farmart-tech/brave-client-sdk is a read-only SDK designed for client applications that need to consume feature flags. It provides a lightweight, efficient way to integrate feature flags into any JavaScript/TypeScript application.
Features
- Read-only feature flag access
- Real-time feature updates
- Lightweight and efficient
- TypeScript support with full type definitions
- Feature flag evaluation with user context
- Workspace isolation
- Automatic caching and optimization
Installation
npm install @farmart-tech/brave-client-sdk @farmart-tech/brave-firebase-adapter firebasePeer Dependencies
firebase^11.5.0
Quick Start
import { createClient } from '@farmart-tech/brave-client-sdk';
import { FirebaseAdapter } from '@farmart-tech/brave-firebase-adapter';
import { initializeApp } from 'firebase/app';
// Initialize Firebase
const firebaseApp = initializeApp({
projectId: 'your-project-id',
apiKey: 'your-api-key',
// ... other config
});
// Create adapter
const adapter = new FirebaseAdapter({ app: firebaseApp });
// Create client
const client = createClient(adapter, {
workspaceId: 'your-workspace-id',
});
// Subscribe to features
client.subscribeToFeatures((features) => {
console.log('Features updated:', features);
});
// Check if feature is enabled
const isEnabled = await client.isFeatureEnabled('feature-dark-mode');
// Get feature with configuration
const feature = await client.getFeature('feature-dark-mode');
if (feature?.enabled) {
console.log('Feature config:', feature.config);
}Documentation
For complete API documentation and usage examples, visit:
https://fmt-feature-management.web.app/docs/client-sdk/index.html
API Methods
isFeatureEnabled(featureId)- Check if a feature is enabledgetFeature(featureId)- Get feature details and configurationgetFeatures()- Get all features for workspacesubscribeToFeatures(callback)- Subscribe to real-time updatesunsubscribe()- Cleanup subscriptions
Use Cases
- Web applications needing feature flags
- Mobile apps (React Native, Ionic, etc.)
- Progressive feature rollouts
- A/B testing
- Kill switches for problematic features
License
MIT
Related Packages
- @farmart-tech/brave-admin-sdk - Admin SDK with write access
- @farmart-tech/brave-firebase-adapter - Firebase integration
- @farmart-tech/brave-react-adapter - React hooks
