A collection of SDKs for Supaship that provides feature flag management for various platforms and frameworks. This monorepo is designed to house multiple SDKs, with more packages planned for the future.
This monorepo contains the following packages:
- @supashiphq/javascript-sdk - Core JavaScript SDK for feature flag management
- @supashiphq/react-sdk - React SDK (hooks and components)
More packages will be added in the future to support additional platforms and frameworks.
import { SupaClient } from '@supashiphq/javascript-sdk'
const client = new SupaClient({
sdkKey: 'sdk-key',
environment: 'production',
context: {
userId: '123',
version: '1.0.1',
},
})
// Get a boolean feature flag
const isEnabled = await client.getFeature('my-feature', { fallback: false })
// Get multiple boolean feature flags
const features = await client.getFeatures({
features: {
feature1: false,
feature2: true,
},
context: {
userId: '123',
},
})For framework-specific examples and detailed documentation, see:
For development setup, workflow, and contribution guidelines, please refer to our Contributing Guide.
This project uses Conventional Commits with automatic validation:
# Examples of valid commit messages
feat: add new feature
fix(api): resolve authentication issue
docs: update installation guide
test: add unit tests for client
# Test your commit message
echo "feat: your message" | npx commitlintSee .github/COMMIT_CONVENTION.md for detailed commit message guidelines.
This repository uses GitHub Actions for automated testing, building, and publishing:
- CI Pipeline: Automatically tests and builds packages on pull requests
- Release Pipeline: Publishes packages to npm when releases are created
- Multiple Node.js versions: Tests against Node.js 18 and 20
See .github/workflows/README.md for detailed workflow documentation.
This project is licensed under the MIT License - see the LICENSE file for details.
If you discover a security vulnerability, please email feedback@supaship.com. We take security seriously and will respond promptly.