Socket
Socket
Sign inDemoInstall

@segment/analytics.js-core

Package Overview
Dependencies
47
Maintainers
135
Versions
69
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @segment/analytics.js-core

The hassle-free way to integrate analytics into any web application.


Version published
Maintainers
135
Install size
3.23 MB
Created

Readme

Source

analytics.js-core

CircleCI Codecov

This is the core of Analytics.js, the open-source library that powers data collection at Segment.

To build this into a full, usable library, see the Analytics.js repository.

Using Types (v.4.0.0-beta.0 and later)

We recently introduced Typescript support and types to Analytics.js Core. While the exposed types still need some work (pull requests are welcome!), they're ready to be used.

Importing as an npm module

If you use analytics.js-core as an npm module, you can use its types out of the box: Example of Types usage in Analytics JS

Using types with the AJS Snippet

If you create a source at https://app.segment.com, Segement automatically generates a JS snippet that you can add to your website. (for more information visit our documentation).

To use types with the snippet, add analytics as part of the global module. Something like this:

import { SegmentAnalytics } from '@segment/analytics.js-core';

declare global {
  interface Window {
    analytics: SegmentAnalytics.AnalyticsJS;
  }
}

Using as a standalone npm package

We recommend using the CDN version of analytics.js as it offers all the project and workspace specific settings, enabled integrations, and middleware. But if you prefer to use analytics.js-core as a standalone npm package using your own tooling & workflow, you can do the following:

1- Install the dependencies

yarn add @segment/analytics.js-core
yarn add @segment/analytics.js-integration-segmentio
// you may need this depending on the bundler
yarn add uuid@^3.4 

2- Import the dependencies

import Analytics from "@segment/analytics.js-core/build/analytics";
import SegmentIntegration from "@segment/analytics.js-integration-segmentio";

3- Initialize Segment and add Segment's own integration

// instantiate the library
const analytics = new Analytics();

// add Segment's own integration ( or any other device mode integration ) 
analytics.use(SegmentIntegration);

// define the integration settings object. 
// Since we are using only Segment integration in this example, we only have 
// "Segment.io" in the integrationSettings object
const integrationSettings = {
  "Segment.io": {
    apiKey: "<YOUR SEGMENT WRITE KEY>",
    retryQueue: true,
    addBundledMetadata: true
  }
};


// Initialize the library
analytics.initialize(integrationSettings);

// Happy tracking! 
analytics.track('🚀');

License

Released under the MIT license.

Keywords

FAQs

Last updated on 26 Apr 2021

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc