@rudderstack/integrations-lib
v0.2.61
Published
A comprehensive TypeScript library providing shared utilities, SDKs, and tools for RudderStack integrations and destinations.
Maintainers
Readme
RudderStack Integrations Library
A comprehensive TypeScript library providing shared utilities, SDKs, and tools for RudderStack integrations and destinations.
Features
- 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
Installation
npm install @rudderstack/integrations-libQuick Start
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',
});SDKs
- 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
Feature Flags
Multi-provider feature flag system supporting:
- Flagsmith for production
- Local provider for development
- Environment-based overrides
- Type-safe flag definitions
const user = {
workspaceId: 'ws-123',
traits: new Map([
['organization_id', 'org-456'],
['user_id', 'user-789'],
]),
};
const result = await featureFlagService.isFeatureEnabled(user, 'my-feature');Development
# Install dependencies
npm install
# Build
npm run build
# Test
npm test
# Lint
npm run lintLicense
MIT
