Inspired by faisalman/ua-parser-js.
In fact, most code is copy and ๐. We've added TypeScript types and adopted modern syntax.
We decided to publish our own version because the package was recently highjacked.
Why choose this package over faisalman/ua-parser-js?
- Modern syntax
- TypeScript types
- Written in TypeScript
- Not much of a target because less popular
- Drop-in replacement
Is this package maintained?
Yes and no, we won't add new devices or browsers but will fix any bugs. We should adopt client hints and use this library as a fallback.
You can use your package manager (npm or yarn) to install:
npm install --save @journyio/user-agent-parseror
yarn add @journyio/user-agent-parserimport { parse } from "@journyio/user-agent-parser";
const result = parse("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome Safari/537.36");
/*
{
browser: { name: 'Chrome Headless', version: undefined, major: undefined },
engine: { name: 'WebKit', version: '537.36' },
os: { name: 'Linux', version: 'x86_64' },
device: { vendor: undefined, model: undefined, type: undefined },
cpu: { architecture: 'amd64' }
}*/To run the tests:
npm run testIf you discover any security related issues, please email security at journy io instead of using the issue tracker.
