detector-js
v1.2.2
Description
DetectorJS, zero-dependency platform/environment detector written in ES6
Please feel free to ask for modifications, fixes or do a PR to improve Detector behavior or add detection rules
Author
Black Mirror
Badges
Documentation
Check out the Latest Documentation here
Installation
This is a Node.js module available through the npm registry.
It can be installed using either npm or yarn package managers.
npm i detector-js 
yarn add detector-js 
Usage
import Detector from 'detector-js';
const detector = new Detector('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15');
console.log(detector);
// {
//   engine:{
//     name:'WebKit',
//     version:'605.1.15'
//   },
//   browser:{
//     name:'Safari',
//     version:'12.0.3'
//   },
//   os:{
//     name:'macOS',
//     version:'10.14.3',
//     versionName:'Mojave'
//   },
//   cpu:{
//     platform:'MacIntel',
//     cores:1,
//     architecture:'x64',
//     vendor:'intel'
//   },
//   gpu:{
//     webGLVendor:'WebKit',
//     webGLRenderer:'WebKit WebGL',
//     vendor:'Intel Inc.',
//     model:'Intel Iris',
//     renderer:'Intel Iris OpenGL Engine'
//   },
//   platform:'desktop',
//     feature: {
//     pointerEnabled:false,
//     pixelRatio:1,
//     pointerLock:true,
//     quirksMode:false,
//     css3D:true,
//     cssTransform:true,
//     cssTransition:true,
//     deviceMotion:false,
//     deviceOrientation:false,
//     contextMenu:false,
//     classList:false,
//     placeholder:true,
//     viewportUnit:true,
//     remUnit:true,
//     canvas:true,
//     svg:true,
//     webGL:true,
//     webVR:false,
//     touch:false,
//     forceTouch:true,
//     srcset:true,
//     sizes:true,
//     pictureElement:true,
//     dialogElement:false,
//     addEventListener:true,
//     asyncScript:true,
//     battery:false,
//     cors:true,
//     deferScript:true,
//     file:true,
//     fileSystem:false,
//     fullscreen:true,
//     fullscreenKeyboard:true,
//     geolocation:true,
//     historyAPI:true,
//     littleEndian:false,
//     localStorage:true,
//     matchMedia:true,
//     querySelector:true,
//     querySelectorAll:true,
//     serviceWorker:true,
//     typedArray:true,
//     userMedia:false,
//     vibration:false,
//     worker:true,
//     audio:{
//       supported:true,
//       context:true,
//       formats:{
//         mp3:true,
//         webm:false,
//         ogg:false,
//         opus:false,
//         wav:true,
//         m4a:true
//       }
//     },
//     video:{
//       supported:true,
//       formats:{
//         mp4:true,
//         ogv:false,
//         webm:false
//       }
//     }
//   }
// } 
Todo
- refine browsers regexes
 - refine documentation
 - implement modular custom build feature
 - decide to implement or not device infos detection
 
Dependencies
None
Dev Dependencies
- @babel/core: Babel compiler core.
 - @babel/preset-env: A Babel preset for each environment.
 - docdash: A clean, responsive documentation template theme for JSDoc 3 inspired by lodash and minami
 - eslint: An AST-based pattern checker for JavaScript.
 - eslint-config-airbnb: Airbnb's ESLint config, following our styleguide
 - eslint-plugin-import: Import with sanity.
 - eslint-plugin-jsx-a11y: Static AST checker for accessibility rules on JSX elements.
 - eslint-plugin-react: React specific linting rules for ESLint
 - ink-docstrap: DetectorJS, zero-dependency platform/environment detector written in ES6
 - install: Minimal JavaScript module loader
 - jsdoc: An API documentation generator for JavaScript.
 - jshint: Static analysis tool for JavaScript
 - rollup: Next-generation ES module bundler
 - rollup-plugin-babel: Seamless integration between Rollup and Babel.
 - rollup-plugin-eslint: Verify entry point and all imported files with ESLint
 - rollup-plugin-filesize: A rollup plugin to show filesize in the cli
 - rollup-plugin-json: DetectorJS, zero-dependency platform/environment detector written in ES6
 - rollup-plugin-replace: DetectorJS, zero-dependency platform/environment detector written in ES6
 - rollup-plugin-uglify: Rollup plugin to minify generated bundle
 
Tests
npm install
npm test 
License
MIT
Powered By
                