
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
ember-useragent
Advanced tools
An Ember addon for Fastboot-enabled userAgent parsing via UAParser.js.
Ember UserAgent is an Ember Addon for UserAgent parsing via UAParser.js.
The userAgent service works in both browser & Fastboot environments and makes it easy to detect:
ember install ember-useragent
Ember UserAgent exposes a service and a template helper.
import { inject as service } from '@ember/service';
export default class FooComponent extends Component {
@service userAgent;
}
const userAgent = this.get('userAgent');
userAgent.get('browser.isChrome'); // Boolean
userAgent.get('engine.isWebKit'); // Boolean
userAgent.get('os.info'); // => { name: 'Ubuntu', version: '11.10' }
userAgent.get('device.info'); // => { model: 'iPhone 7', type: 'mobile', vendor: 'Apple'}
{{#if (user-agent "browser.isChrome")}}
Chrome, here...
{{/if}}
The service exposes all of UAParser's functions, but also adds some properties for quick access.
| browser | device | engine | os | cpu |
|---|---|---|---|---|
| info | info | info | info | architecture |
| isChrome | isConsole | isWebKit | isAndroid | |
| isChromeHeadless | isDesktop | isIOS | ||
| isEdge | isMobile | isLinux | ||
| isFirefox | isTablet | isMacOS | ||
| isIE | isWindows | |||
| isSafari |
The service also exposes the userAgent property, which contains the user agent string.
You can overwrite this property, if you want to force a certain user agent string.
All of the properties described above will update in accordance.
Ember UserAgent auto imports ua-parser-js into your application using ember-auto-import:
import UAParser from 'ua-parser-js';
Prior to 0.11.0, this addon generated an initializer in app/initializers/user-agent.js that injected the userAgent service across all controllers, components and routes. This does not happen in >=0.11.0.
You can restore this behavior by manually performing these implicit injections (see #42), however this is highly discouraged, as this feature is deprecated by the upcoming Ember v4.0. If you were relying on these implicit injections, you should instead refactor your code to explicitly inject the userAgent service.
For more information on how to use UAParser.js, please refer to the documentation.
FAQs
An Ember addon for Fastboot-enabled userAgent parsing via UAParser.js.
We found that ember-useragent demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.