New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@softnoesis/shakebug-js

Package Overview
Dependencies
Maintainers
2
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@softnoesis/shakebug-js

Shakebug JS - bug reporting and screenshot capture library

latest
npmnpm
Version
1.0.15
Version published
Maintainers
2
Created
Source

@softnoesis/shakebug-js

Shakebug JS is a powerful bug reporting and feedback collection library for React and Next.js applications. It allows users to capture screenshots, record screens, and submit detailed bug reports with ease.

Features

  • 📸 Screenshot Capture: Automatically capture the current screen state.
  • 🎥 Screen Recording: Record user interactions to demonstrate bugs.
  • ✍️ Annotation Tools: Draw, highlight, and add text to screenshots.
  • 📱 Shake to Report: Detect device shaking to trigger the bug reporting flow.
  • ⌨️ Keyboard Shortcuts: Global shortcuts (Cmd+Alt+K or Ctrl+Alt+K) for power users.
  • 🎨 Customizable Theme: Match the SDK's look and feel to your application.
  • 🛠️ Event Tracking: Log custom events and metadata for better debugging.

Installation

npm install @softnoesis/shakebug-js
# or
yarn add @softnoesis/shakebug-js

Peer Dependencies

Ensure you have the following peer dependencies installed in your project:

npm install react react-dom

Usage

1. Import CSS

Import the global styles in your main entry file (e.g., App.tsx or main.tsx):

import '@softnoesis/shakebug-js/dist/index.css';

2. Add the Shakebug Component

Place the Shakebug component at the root of your application:

import { Shakebug } from '@softnoesis/shakebug-js';

function App() {
  return (
    <div>
      <Shakebug 
        appKey="YOUR_APP_KEY" 
        bundleId="YOUR_BUNDLE_ID" 
        showFloatingButton={true}
      />
      {/* Your app content */}
    </div>
  );
}

Component Properties (ShakebugProps)

The <Shakebug /> component accepts the following props:

PropTypeDefaultDescription
appKeystring-Required. Your Shakebug application key.
bundleIdstring-Required. Your application bundle ID/Package name.
showFloatingButtonbooleantrueWhether to show the floating trigger button.
ShakebugThemeColorstring-Primary color for the SDK (e.g., #ff0000).
screenTitlestring'Shakebug'Title displayed in the feedback modal.
changeSDKScreenTitlestring[]-Custom titles for different steps in the modal.
allowToReportBugByShakingMobilebooleantrueEnable/Disable shake detection on mobile.
allowToReportBugByScreenCapturebooleanfalseEnable/Disable report trigger by native screenshot.
allowCrashReportbooleantrueAutomatically report unhandled errors and crashes.
appVersionstring'1.0.0'Your application version.
ShakebugLanguagestring-Force a specific language (e.g., 'en', 'es').
onSendfunction-Callback triggered after a report is successfully sent.

Example with full Props

<Shakebug 
  appKey="your-key"
  bundleId="your.bundle.id"
  ShakebugThemeColor="#4f46e5"
  screenTitle="Report an Issue"
  allowCrashReport={true}
  onSend={(data) => console.log('Report sent:', data)}
/>

Public Methods

You can import and use these methods anywhere in your application after the <Shakebug /> component is mounted.

setcustomUser(userData)

Identifies the user for all subsequent reports in the session.

import { setcustomUser } from '@softnoesis/shakebug-js';

setcustomUser({
  id: "user_123",
  name: "John Doe",
  email: "john@example.com",
  country: "USA"
});

addEventKey(name, value)

Logs a custom event that will be attached to the next bug report.

import { addEventKey } from '@softnoesis/shakebug-js';

addEventKey("User Action", "Click Checkout");

Support

For any issues or feature requests, visit shakebug.com or reach out to support.

License

ISC © Softnoesis

Keywords

bug-report

FAQs

Package last updated on 01 Apr 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts