3.0.0-beta.9 • Published 8 months ago

@rudderstack/analytics-js-plugins v3.0.0-beta.9

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

Release TypeScript npm bundle size (scoped) npm


@rudderstack/analytics-js-plugins

RudderStack Javascript SDK plugins code that is used within the related analytics package, bundles for the legacy packaging or as separate bundle chunks for dynamic imports.

For detailed documentation on the RudderStack JavaScript SDK, click here.

Table of Contents

Installing the package

To install the package via npm, run the following command:

npm install @rudderstack/analytics-js-plugins --save

Note that this NPM module is only meant to be used for a browser installation. If you want to integrate RudderStack with your Node.js application, refer to the RudderStack Node.js repository.

List of plugins

  1. BeaconQueue: This plugin uses browser’s Beacon utility to send a batch of events to the data plane instead of a single event per request. More info: here
  2. ConsentManager: This plugin acts as the manager of different consent providers such as OneTrust, Ketch, etc.
  3. DeviceModeDestinations: A plugin to load configured device mode destinations.
  4. DeviceModeTransformation: A plugin to transform events before sending them to device mode destinations. Only available for enterprise customers.
  5. ErrorReporting: This plugin report errors (and metrics in the future) to Rudderstack (only enabled for the free tier at the moment). Currently, it utilizes Bugsnag Native SDK to capture errors.
  6. ExternalAnonymousId: This plugin helps customers migrate their anonymous user Ids to Rudderstack’s anonymous Id. More info: here
  7. GoogleLinker: This plugin loads user session data and anonymousId with Google linker for AMP URL query params.
  8. NativeDestinationQueue: This plugin stores incoming events in a queue and sends them to the device mode destination.
  9. StorageEncryption: This plugin is a lightweight alternative to encrypt/decrypt data before storing it in cookies/local storage.
  10. StorageEncryptionLegacy: This plugin is the existing way to encrypt/decrypt data before storing it in cookies/local storage.
  11. StorageMigrator: This plugin helps stored data to migrate from one encryption type to another(StorageEncryption/StorageEncryptionLegacy).
  12. XhrQueue: This plugin stores incoming events in a queue and sends requests to the data plane as XMLHttpRequest with a localstorage retry mechanism.
  13. OneTrust: A plugin to integrate the OneTrust consent manager. More info: here
  14. Bugsnag: A plugin to integrate Bugsnag as an error reporting provider (only enabled for free tier at the moment).
  15. Ketch: A plugin to integrate the Ketch consent manager.

How to build the plugins

  • Look for run scripts in the package.json file for getting the browser minified and non-minified builds. The builds are updated in the dist folder of the directory. Among the others, some of the important ones are:

    • npm run build:browser:modern: This outputs dist/cdn folder that contains the cdn package contents.
    • npm run build:npm: This outputs dist/npm folder that contains the npm package contents.