{"id":15664474,"url":"https://github.com/jherdman/ember-cli-trackjs","last_synced_at":"2025-05-05T22:53:10.139Z","repository":{"id":27657099,"uuid":"31142643","full_name":"jherdman/ember-cli-trackjs","owner":"jherdman","description":"Use TrackJS with Your Fancy Ember CLI App","archived":false,"fork":false,"pushed_at":"2022-05-02T11:27:00.000Z","size":951,"stargazers_count":17,"open_issues_count":1,"forks_count":18,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-05T22:53:02.004Z","etag":null,"topics":["ember","ember-addon","error-handling"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jherdman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-21T21:58:18.000Z","updated_at":"2024-05-30T03:00:27.000Z","dependencies_parsed_at":"2022-08-30T02:10:15.223Z","dependency_job_id":null,"html_url":"https://github.com/jherdman/ember-cli-trackjs","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jherdman%2Fember-cli-trackjs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jherdman%2Fember-cli-trackjs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jherdman%2Fember-cli-trackjs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jherdman%2Fember-cli-trackjs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jherdman","download_url":"https://codeload.github.com/jherdman/ember-cli-trackjs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252590532,"owners_count":21772935,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ember","ember-addon","error-handling"],"created_at":"2024-10-03T13:42:46.381Z","updated_at":"2025-05-05T22:53:10.111Z","avatar_url":"https://github.com/jherdman.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ember-cli-trackjs [![npm version][npm-badge]][npm-badge-url] [![Build Status][ci-badge]][ci-badge-url] [![Dependency Status][david-badge]][david-badge-url] [![Ember Observer Score][ember-observer]][ember-observer-url]\n\nHandles all of the boilerplate shit you need to use TrackJS in your fancy Ember\napplication.\n\n## Compatibility\n\n- Ember.js v3.24 or above\n- Ember CLI v3.24 or above\n- Node.js v14 or above\n\n## Installation\n\n```\nember install ember-cli-trackjs\n```\n\n## Settings\n\nConfigure TrackJS in your application's `config/environment.js` file. Please\nsee the [TrackJS documentation](https://docs.trackjs.com/browser-agent/sdk-reference/agent-config/)\nfor specific configuration options.\n\n```javascript\n// config/environment.js\nmodule.exports = function () {\n  let ENV = {\n    trackjs: {\n      application: 'my-app', // defaults to `ENV.APP.name`\n      version: '1.2.3', // defaults to `ENV.APP.version`\n      token: '1234567890',\n    },\n  };\n\n  if (environment === 'test') {\n    ENV.trackjs.token = null;\n  }\n\n  return ENV;\n};\n```\n\nSee? Pretty much like you'd expect. The `ENV.APP.name` and `ENV.APP.version` are provided by [ember-cli-app-version](https://github.com/ember-cli/ember-cli-app-version#ember-cli-app-version--).\n\n### One Caveat\n\nTrackJS supports `onError` configuration option that is a function.\nThis has been a bit problematic ([#4](https://github.com/jherdman/ember-cli-trackjs/issues/4)) as Ember CLI's\n`config/environment.js` does not allow you to include function options.\n\nTo work around this problem we can use the `configure()` function in an initializer:\n\n```javascript\n// app/instance-initializers/trackjs.js\nexport { initialize as parent } from 'ember-cli-trackjs/instance-initializers/trackjs';\n\nexport function initialize(appInstance) {\n  parent(...arguments);\n\n  const trackjs = appInstance.lookup('service:trackjs');\n\n  trackjs.configure({\n    onError(payload, err) {\n      // exclude errors from log in page\n      if (payload.url \u0026\u0026 payload.url.indexOf('login') \u003e 0) {\n        return false;\n      }\n\n      return true;\n    },\n  });\n}\n\nexport default {\n  initialize,\n};\n```\n\nYeah, it's not ideal. I'm open to pull requests to make this sexier :)\n\n## Usage\n\nThe `trackjs` service can be injected into any framework object that you can use to report\nerrors. This service provides same API as the TrackJS agent itself, see [TrackJS's documentation](https://docs.trackjs.com/browser-agent/sdk-reference/agent-methods/) for a complete list of available methods.\n\n```javascript\n// app/routes/index.js\nimport Route from '@ember/routing/route';\nimport { inject as service } from '@ember/service';\n\nexport default class IndexRoute extends Route {\n  @service trackjs;\n\n  beforeModel() {\n    this.trackjs.track('oh, snap. something bad happened');\n  }\n}\n```\n\n## Contributing\n\nSee the [Contributing](CONTRIBUTING.md) guide for details.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE.md).\n\n[npm-badge]: https://badge.fury.io/js/ember-cli-trackjs.svg\n[npm-badge-url]: https://badge.fury.io/js/ember-cli-trackjs\n[ci-badge]: https://github.com/jherdman/ember-cli-trackjs/actions/workflows/ci.yml/badge.svg\n[ci-badge-url]: https://github.com/jherdman/ember-cli-trackjs/actions/workflows/ci.yml\n[david-badge]: https://david-dm.org/jherdman/ember-cli-trackjs.svg\n[david-badge-url]: https://david-dm.org/jherdman/ember-cli-trackjs\n[ember-observer]: http://emberobserver.com/badges/ember-cli-trackjs.svg\n[ember-observer-url]: http://emberobserver.com/addons/ember-cli-trackjs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjherdman%2Fember-cli-trackjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjherdman%2Fember-cli-trackjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjherdman%2Fember-cli-trackjs/lists"}