Socket
Socket
Sign inDemoInstall

@cspanring/ember-cli-trackjs

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cspanring/ember-cli-trackjs

Use TrackJS with your fancy Ember CLI powered application


Version published
Weekly downloads
1
decreased by-75%
Maintainers
1
Weekly downloads
 
Created
Source

ember-cli-trackjs npm version Build Status Dependency Status Ember Observer Score

Handles all of the boilerplate shit you need to use TrackJS in your fancy Ember application.

Settings

Configure TrackJS in your application's config/environment.js file. Please see the TrackJS documentation for specific configuration options.

Example

var ENV = {
  trackJs: {
    config: {
      token: "1234567890"
    }
  }
};

if (environment === 'test') {
  ENV.trackJs.config.enabled = false;
}

See? Pretty much like you'd expect.

One Caveat

TrackJS supports two configuration options that are functions, onError and serialize. These have been a bit problematic (#3, #4) as Ember CLI's config/environment.js does not allow you to include function options.

Despite TrackJS' documentation stating that these options cannot be change after loading, you can, though it's not encouraged. To work around this problem we can use the configure() function in an initializer:

// app/instance-initializers/configure-trackjs.js

export function initialize(application) {
  const trackJs = application.container.lookup('service:trackjs');

  trackJs.configure({
    onError(payload, err) {
      // exclude errors from log in page
      if (payload.url && payload.url.indexOf('login') > 0) {
        return false;
      }

      return true;
    }
  });
}

export default {
  name: 'trackjs-error-and-serializer-configuration',
  initialize: initialize
}

Yeah, it's not ideal. I'm open to pull requests to make this sexier :)

Usage

A service is exposed on your routes and controllers that you can use to report errors instead of having to use the global window.trackJs object, and you don't want to load TrackJS in all of your environments.

Example in a Route

export default {
  beforeModel() {
    this.get('trackjs').track('oh, snap. something bad happened');
  }
};

Example in a Controller

export default Ember.Controller.extend({
  reportSomethingForSomeReason() {
    this.get('trackjs').track('oh, snap. something bad happened');
  }
});

Example in a Component

export default Ember.Component.extend({
  trackjs: Ember.inject.service('trackjs'),

  actions: {
    doSomething() {
      // Let's use some other part of the TrackJS API
      this.get('trackjs').attempt(function(a, b) {
        return 5 + 4;
      }, this, 5, 4);
    }
  }
});

Installation

ember install ember-cli-trackjs

Running Tests

  • npm test -- the entire test suite
  • ember test --server -- you're developing a new feature <3

Building

  • ember build

Keywords

FAQs

Package last updated on 15 Dec 2017

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