You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@arextest/web-record-sdk

Package Overview
Dependencies
Maintainers
0
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@arextest/web-record-sdk

This is the official SDK for the Arex Frontend Record API.

npmnpm
Version
0.0.7
Version published
Weekly downloads
0
Maintainers
0
Weekly downloads
 
Created
Source

AREX RECORD SDK

This is the official SDK for the Arex Frontend Record API.

Installation

npm install @arextest/web-record-sdk

Basic Usage

CDN
<script>
  (function (w, d, c) {
    var s = document.createElement('script');
    s.src = c;
    s.onload = function () {
      new w.AREX_WEB_RECORD_SDK({
        appId: '<appId>',
        tenantCode: '<tenantCode>',
      });
    };
    d.body.appendChild(s);
  })(window, document, 'https://unpkg.com/@arextest/web-record-sdk');
</script>
npm
import WebRecordSdk from '@arextest/web-record-sdk';

new WebRecordSdk({
    appId: '<appId>',
    tenantCode: '<tenantCode>'
});

Advanced Usage

import WebRecordSdk from '@arextest/web-record-sdk';

const skd = new WebRecordSdk({
  appId: '<appId>',
  tenantCode: '<tenantCode>',
  serverUrl: '<serverUrl>',
  timeout: 10000,
  manual: true, 
  tags: {
    userId: '<userId>',
    clientId: '<clientId>',
    mobileNo: '<mobileNo>'
  },
  maskAllInputs: true
});

// set extra tags, also can be set in skd.record method
skd.setTags({
  ext: {
      extKey: 'extValue'
  }
});

const { stop } = skd.record();

// stop record after 10s
setTimeout(() => {
  stop();
  console.log('Stop record!');
}, 20000);

Sdk Options

keydefaultdescription
tenantCoderequiredThe code of tenant
appIdrequiredA unique id used to identify the application
interval5000Interval time for sending data to server. The minimum value is 5000
manualfalseManual control record start and stop
tags{}A range of additional custom tags
serverUrlbuilt-inThe url of web record service
checkoutEveryNth-take a full snapshot after every N events refer to the checkout chapter
checkoutEveryNms-take a full snapshot after every N ms refer to the checkout chapter
blockClass'rr-block'Use a string or RegExp to configure which elements should be blocked, refer to the privacy chapter
blockSelectornullUse a string to configure which selector should be blocked, refer to the privacy chapter
ignoreClass'rr-ignore'Use a string or RegExp to configure which elements should be ignored, refer to the privacy chapter
ignoreSelectornullUse a string to configure which selector should be ignored, refer to the privacy chapter
ignoreCSSAttributesnullarray of CSS attributes that should be ignored
maskTextClass'rr-mask'Use a string or RegExp to configure which elements should be masked, refer to the privacy chapter
maskTextSelectornullUse a string to configure which selector should be masked, refer to the privacy chapter
maskAllInputsfalsemask all input content as *
maskInputOptions{ password: true }mask some kinds of input * refer to the list
maskInputFn-customize mask input content recording logic
maskTextFn-customize mask text content recording logic
slimDOMOptions{}remove unnecessary parts of the DOM refer to the list
dataURLOptions{}Canvas image format and quality ,This parameter will be passed to the OffscreenCanvas.convertToBlob(),Using this parameter effectively reduces the size of the recorded data
inlineStylesheettruewhether to inline the stylesheet in the events
hooks{}hooks for events refer to the list
packFn-refer to the storage optimization recipe
sampling-refer to the storage optimization recipe
recordCanvasfalseWhether to record the canvas element. Available options: false, true
recordCrossOriginIframesfalseWhether to record cross origin iframes. rrweb has to be injected in each child iframe for this to work. Available options: false, true
recordAfter'load'If the document is not ready, then the recorder will start recording after the specified event is fired. Available options: DOMContentLoaded, load
inlineImagesfalsewhether to record the image content
collectFontsfalsewhether to collect fonts in the website
userTriggeredOnInputfalsewhether to add userTriggered on input events that indicates if this event was triggered directly by the user or not. What is userTriggered?
plugins[]load plugins to provide extended record functions. What is plugins?
errorHandler-A callback that is called if something inside of rrweb throws an error. The callback receives the error as argument.

Development

pnpm install
pnpm run dev
pnpm run build # build sdk
pnpm run build:demo # build demo project
pnpm run build:dem-cdn # build demo project for cdn usage
pnpm run preview # preview demo project

FAQs

Package last updated on 26 Nov 2024

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