analytics.js-core
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:
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
const analytics = new Analytics();
analytics.use(SegmentIntegration);
const integrationSettings = {
"Segment.io": {
apiKey: "<YOUR SEGMENT WRITE KEY>",
retryQueue: true,
addBundledMetadata: true
}
};
analytics.initialize(integrationSettings);
analytics.track('🚀');
License
Released under the MIT license.