# segmentio-snippet

> Templating methods for rendering the analytics.js snippet.

Latest version **3.1.0** (published 2015-09-04) · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install segmentio-snippet
pnpm add segmentio-snippet
yarn add segmentio-snippet
bun add segmentio-snippet
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 3.1.0 |
| Published | 2015-09-04 |
| First published | 2013-11-07 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Known vulnerabilities | 0 (+10 in 2 direct dependencies) |
| Install scripts | no |
| GitHub stars | 52 |
| Maintainers | segmentio |

## Links

- npm: https://www.npmjs.com/package/segmentio-snippet
- Repository: https://github.com/segmentio/snippet
- Homepage: https://github.com/segmentio/snippet#readme
- Issues: https://github.com/segmentio/snippet/issues
- npm.io page: https://npm.io/package/segmentio-snippet

## Dependencies (3)

- [hbs](https://npm.io/package/hbs.md) ~2.4.0
- [minify](https://npm.io/package/minify.md) git://github.com/segmentio/minify.git
- [handlebars](https://npm.io/package/handlebars.md) ~1.1.2

## Recent versions

- 3.1.0 (latest) — 2015-09-04
- 3.0.1 — 2015-01-05
- 3.0.0 — 2014-11-26
- 2.1.1 — 2014-11-12
- 2.1.0 — 2014-10-15
- 2.0.9 — 2014-03-29
- 2.0.8 — 2013-12-05
- 2.0.7 — 2013-12-05
- 2.0.6 — 2013-11-11
- 2.0.5 — 2013-11-11
- 2.0.4 — 2013-11-07

## README

# @segment/snippet

Render the analytics.js snippet.

The recommended way to use analytics.js is to follow the [analytics.js quickstart guide](https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/quickstart/). 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
```sh
# npm
npm install @segment/snippet

# yarn
yarn add @segment/snippet

# pnpm
pnpm add @segment/snippet
```
## Example

```js
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`
```sh
git checkout master && git pull --ff-only
npm version <patch|minor|major>
git push --follow-tags
make build
npm publish
```
2. Create a [new github release](https://github.com/segmentio/snippet/releases).

3. Bump package version on [segmentio/app](https://github.com/segmentio/app/blob/main/packages/app/package.json).

4. Update _all_ example snippets on [public docs repo](https://github.com/segmentio/segment-docs) 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.

---
_Source: https://npm.io/package/segmentio-snippet · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
