JSPM

@codewatchr/sdk

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3
  • Score
    100M100P100Q29903F
  • License MIT

CodeWatchr SDK for error monitoring and screen recording

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/sdk

Or with yarn:

yarn add @codewatchr/sdk

Quick 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.