Package Exports
- @codewatchr/sdk
- @codewatchr/sdk/dist/index.esm.js
- @codewatchr/sdk/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@codewatchr/sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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: 'user@example.com',
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.