{"id":25219,"library":"ember-cli-sentry","title":"ember-cli-sentry","description":"An ember-cli addon that integrates Sentry (Raven.js) error tracking into Ember.js applications. The current stable version is 4.1.0, released in 2019, with maintenance releases since then. It supports Node 6+ and Ember CLI 2.13+. Key differentiators: provides an Ember service for reporting errors, automatic global error catching for Ember.onerror and RSVP, and configuration via environment variables. Compared to manual Raven.js integration, it offers idiomatic Ember conventions and easier setup.","status":"maintenance","version":"4.1.0","language":"javascript","source_language":"en","source_url":"https://github.com/ember-cli-sentry/ember-cli-sentry","tags":["javascript","ember-addon","getsentry","sentry","ravenjs","raven"],"install":[{"cmd":"npm install ember-cli-sentry","lang":"bash","label":"npm"},{"cmd":"yarn add ember-cli-sentry","lang":"bash","label":"yarn"},{"cmd":"pnpm add ember-cli-sentry","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Transpiles ES2015+ code to support older browsers and Node versions","package":"ember-cli-babel","optional":false},{"reason":"Compiles Handlebars templates used in the addon","package":"ember-cli-htmlbars","optional":true}],"imports":[{"note":"The addon is consumed via the Ember service 'raven', not via import. The import path above is for internal usage only.","wrong":"const sentry = require('ember-cli-sentry');","symbol":"default","correct":"import sentry from 'ember-cli-sentry';"},{"note":"Inject the 'raven' service to use logging/captureError. Do not import directly from the addon.","wrong":"import sentry from 'ember-cli-sentry/services/raven';","symbol":"service","correct":"import { inject as service } from '@ember/service';\nconst sentry = service('raven');"},{"note":"Configuration is done via environment.js, not by importing Raven. The addon initializes Raven based on this config.","wrong":"// Attempting to import Raven from node_modules","symbol":"config","correct":"// config/environment.js\nmodule.exports = function(environment) {\n  return {\n    sentry: { dsn: '...' }\n  };\n};"}],"quickstart":{"code":"ember install ember-cli-sentry\n\n// config/environment.js\nmodule.exports = function(environment) {\n  var ENV = {\n    sentry: {\n      dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0',\n      development: (environment === 'development'),\n      debug: true,\n      globalErrorCatching: true\n    }\n  };\n\n  return ENV;\n};\n\n// In any component or route\nimport { inject as service } from '@ember/service';\n\nexport default class MyComponent extends Component {\n  @service raven;\n\n  handleError() {\n    this.raven.captureException(new Error('Something went wrong'));\n  }\n}","lang":"javascript","description":"Shows installation, configuration with DSN and options, and usage of the raven service to capture exceptions."},"warnings":[{"fix":"Upgrade Node and Ember CLI to supported versions; ensure project uses ember-cli-babel v7 compatible config.","message":"v4.0.0 requires Node >=6 and Ember CLI >=2.13; ember-cli-babel updated to v7, which may break apps using older babel configs.","severity":"breaking","affected_versions":"<4.0.0"},{"fix":"Add @service raven in your Ember classes where you need Sentry logging.","message":"v3.0.0 removed implicit 'raven' service injection; you must manually inject the service in components/routes.","severity":"breaking","affected_versions":"<3.0.0"},{"fix":"Move ignoreErrors to ravenOptions in sentry config.","message":"v3.0.0 removed config property 'ignoreErrors'; use Raven option 'ignoreErrors' via 'ravenOptions.ignoreErrors' instead.","severity":"breaking","affected_versions":"<3.0.0"},{"fix":"Replace any custom serviceName references with 'raven' when injecting.","message":"v3.0.0 removed 'serviceName' property; service is fixedly named 'raven'.","severity":"breaking","affected_versions":"<3.0.0"},{"fix":"Replace ember-cli-sentry with @sentry/ember: ember install @sentry/ember; adjust config.","message":"The addon is no longer actively maintained; consider migrating to '@sentry/ember' for official Sentry support.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Add 'connect-src app.getsentry.com' to CSP rules.","message":"Content Security Policy (CSP) must allow connections to app.getsentry.com; otherwise raven requests will be blocked.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Ensure sentry config property 'development' is correctly set per environment.","message":"Setting `development: true` disables sending to Sentry but still logs to console; this may cause confusion in development mode.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Reinstall the addon: `rm -rf node_modules && npm install` or upgrade ember-cli.","cause":"The addon's service file is missing or not properly linked; often due to incomplete install or version mismatch.","error":"ENOENT: no such file or directory, open 'node_modules/ember-cli-sentry/addon/services/raven.js'"},{"fix":"Ensure `@service raven` is present in the class.","cause":"The raven service was not injected in the component/route.","error":"Uncaught TypeError: Cannot read property 'captureException' of undefined"},{"fix":"Set a valid sentry DSN in config/environment.js: `sentry: { dsn: 'https://key@o0.ingest.sentry.io/0' }`.","cause":"The 'dsn' property in config is missing or not a valid string.","error":"sentry.dsn is not a string"},{"fix":"Use the raven service instead of Raven global.","cause":"Trying to access Raven global before initialization; or addon not properly loaded.","error":"Raven is not defined"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}