@rudderstack/integrations-lib
Version:
A comprehensive TypeScript library providing shared utilities, SDKs, and tools for RudderStack integrations and destinations.
111 lines (82 loc) • 2.26 kB
Markdown
A comprehensive TypeScript library providing shared utilities, SDKs, and tools for RudderStack integrations and destinations.
- **SDK Integrations**: Pre-built SDKs for Google Ads, Zoho, Customer.io, Criteo, and SFMC
- **Feature Flags**: Multi-provider feature flag system with Flagsmith and Local support
- **Network Utilities**: HTTP client factory and request handling
- **Error Handling**: Comprehensive error types and handling utilities
- **Logging**: Structured logging with multiple levels and formats
- **Cluster Management**: Process clustering and management utilities
- **Utilities**: Common utilities for data manipulation, validation, and processing
```bash
npm install @rudderstack/integrations-lib
```
```typescript
import {
// Core utilities
logger,
structuredLogger,
setValue,
// SDKs
SFMC,
CustomerIOSegment,
ZOHO_SDK,
GoogleAdsSDK,
CriteoAudience,
// Feature flags
featureFlagService,
FeatureFlagService,
// Network
createHttpClient,
// Utils
deepFreeze,
batchProcess,
} from '@rudderstack/integrations-lib';
// Initialize feature flags
await featureFlagService.initialize();
// Use SDKs
const sfmc = new SFMC(config);
const googleAds = new GoogleAdsSDK.GoogleAdsRestAPI(config);
// Structured logging
structuredLogger.info('Integration started', {
destinationId: 'dest-123',
workspaceId: 'ws-456',
});
```
- **SFMC**: Salesforce Marketing Cloud integration
- **Customer.io**: Customer.io audience management
- **Zoho**: Zoho CRM and marketing tools
- **Google Ads**: Google Ads REST API client
- **Criteo**: Criteo audience management
Multi-provider feature flag system supporting:
- Flagsmith for production
- Local provider for development
- Environment-based overrides
- Type-safe flag definitions
```typescript
const user = {
workspaceId: 'ws-123',
traits: new Map([
['organization_id', 'org-456'],
['user_id', 'user-789'],
]),
};
const result = await featureFlagService.isFeatureEnabled(user, 'my-feature');
```
```bash
npm install
npm run build
npm test
npm run lint
```
MIT