Skip to content

Latest commit

 

History

History
62 lines (36 loc) · 2.9 KB

Readme.md

File metadata and controls

62 lines (36 loc) · 2.9 KB

analytics.js-integrations Circle CI

This repository houses all of the integrations that get built into Analytics.js.

Integrating with Segment

Interested in integrating your service with us? Check out our Partners page for more details and to submit an application!

Developing

Once you've been given the green light from Segment, you can read the contribution docs to get started! If you ever need any help, feel free to email [email protected].

This repository relies on a couple dependencies that help make our lives easier while developing. They are:

To get started with development, you need to be running node 0.12. An easy way to get it is:

$ npm install -g n
$ n 0.12

Make sure you have ~/.netrc setup like:

machine api.github.com
  login <username>
  password <token>

Here's how you can create a token.

Then clone the repository and then inside of it run:

$ make

That will downloaded all of the dependencies needed, and build the test-ready files. Then, edit as you please, adding new integrations or editing the logic of an existing integration. When you are ready to test run:

$ make test

That will automatically lint all of the Javascript, and run the entire test suite for each integration. For convenience, you can also limit the tests to just the integration you're working with like so:

$ make test integration=kissmetrics

And if you'd like you debug in the browser, run:

$ make test-browser
$ make test-browser integration=customerio

Once your tests pass, you are ready to submit a pull request!

###Notes on Linting

When you're adding an integration's javascript snippet to your integration, we don't want to have to worry about the formatting that they've used. To let JSCS ignore the snippet during linting, use these comments on either side (example code courtesy of the JSCS readme).

// jscs:disable
var c = d; // all errors on this line will be ignored
// jscs:enable