@codewatchr/sdk
v1.0.1
Published
CodeWatchr SDK for error monitoring and screen recording
Maintainers
Readme
CodeWatchr SDK
The official JavaScript SDK for CodeWatchr error monitoring platform.
Installation
npm install @codewatchr/sdkOr with yarn:
yarn add @codewatchr/sdkQuick Start
import { CodeWatchr } from '@codewatchr/sdk'
// Initialize CodeWatchr
const codeWatchr = new codeWatchr({
apiKey: 'your-api-key',
projectId: 'your-project-id',
environment: 'production'
})
// The SDK will automatically capture errors
// You can also manually report errors:
codeWatchr.captureError(new Error('Something went wrong'))
// Capture custom events
codeWatchr.captureEvent('user_action', {
action: 'button_click',
component: 'header'
})Configuration
const codeWatchr = new CodeWatchr({
apiKey: 'your-api-key', // Required
projectId: 'your-project-id', // Required
environment: 'production', // Optional: 'development' | 'staging' | 'production'
baseUrl: 'https://api.codeWatchr.com', // Optional: Custom API endpoint
enableScreenRecording: true, // Optional: Enable screen recordings
maxRecordingDuration: 30000, // Optional: Max recording duration in ms
captureConsole: true, // Optional: Capture console errors
captureNetwork: false, // Optional: Capture network errors
beforeSend: (error) => { // Optional: Filter/modify errors before sending
// Return null to skip sending the error
if (error.message.includes('ignore')) {
return null
}
return error
}
})API Methods
captureError(error, metadata?)
Manually capture an error:
try {
// Some code that might throw
riskyOperation()
} catch (error) {
codeWatchr.captureError(error, {
userId: '12345',
action: 'risky_operation'
})
}captureMessage(message, severity?, metadata?)
Capture a custom message:
codeWatchr.captureMessage('User completed onboarding', 'info', {
userId: '12345',
step: 'final'
})captureEvent(eventName, data?)
Capture custom events:
codeWatchr.captureEvent('purchase_completed', {
amount: 99.99,
currency: 'USD',
userId: '12345'
})setUser(user)
Set user context for all future errors:
codeWatchr.setUser({
id: '12345',
email: '[email protected]',
name: 'John Doe'
})setContext(key, value)
Add custom context to all future errors:
codeWatchr.setContext('version', '1.2.3')
codeWatchr.setContext('feature_flags', {
newUI: true,
betaFeature: false
})destroy()
Clean up the CodeWatchr instance:
codeWatchr.destroy()Features
- Automatic Error Capture: Captures uncaught JavaScript errors and unhandled promise rejections
- Screen Recordings: Records user sessions to help debug errors (optional)
- Console Capture: Captures console.error and console.warn messages (optional)
- Custom Events: Track custom events and user actions
- User Context: Associate errors with specific users
- Environment Support: Different configurations for development, staging, and production
- Filtering: Filter out unwanted errors before sending
- TypeScript Support: Full TypeScript definitions included
Browser Support
- Chrome 60+
- Firefox 55+
- Safari 12+
- Edge 79+
License
MIT License - see LICENSE file for details.
