Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@segment/snippet

Package Overview
Dependencies
Maintainers
300
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@segment/snippet

Templating methods for rendering the analytics.js snippet.

  • 5.2.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
300
Created
Source

@segment/snippet

Render the analytics.js snippet.

The recommended way to use analytics.js is to follow the analytics.js quickstart guide. If you absolutely need to generate a snippet dynamically, this is an alternate solution. Note that when using this in-browser, the global analytics object will not be defined until the snippet is rendered and executed.

For information on browser support, see: https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/supported-browsers/

Installation

# npm
npm install @segment/snippet

# yarn
yarn add @segment/snippet

# pnpm
pnpm add @segment/snippet

Example

const snippet = require('@segment/snippet');

const contents = snippet.max({
  host: 'cdn.segment.com',
  apiKey: '03fwkuu3',
  page: {
    category: 'Docs',
    name: 'Integrations',
    properties: {
      foo: 'bar'
    }
  }
});

API

snippet.max(options)

Returns the maxified version of the analytics.js snippet given a set of options:

  • host: the domain name where the analytics.js script is hosted.
  • useHostForBundles: If set to true, the snippet will include the _cdn property to tell analytics.js where to fetch bundles from.
  • apiKey: the apiKey to load in the snippet.
  • page: the options to pass to analytics.page. if page is false, then the page() call will be omitted.
  • load: If object, these are the settings passed as the second argument to analytics.load. This can be useful if you want to override Segment.io integration behavior, or if you want dynamically control which integraions load on the client-side for things like GDPR. If set to false the load() call will be omitted.
  • ajsPath: override the default analytics.min.js location

snippet.min(options)

Returns the minified version of the snippet.

Development

Installation + QA

nvm use
yarn install
make lint
make test

Running tests in Saucelabs

SAUCE=true make test

Releasing

  1. Publish to npm
git checkout master && git pull --ff-only
npm version <patch|minor|major>
git push --follow-tags
make build
npm publish
  1. Create a new github release.

  2. Bump package version on segmentio/app.

  3. Update all example snippets on public docs repo via search + replace

  • Get example snippet by runnings yarn fixture and observing generated tmp.fixture.*.js files.
  • Tip: double-check that the fixture's SNIPPET_VERSION refers to the new npm version.

FAQs

Package last updated on 20 Jan 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

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc