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-parser
or
yarn add @journyio/user-agent-parser
import { 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 test
If you discover any security related issues, please email security at journy io instead of using the issue tracker.