123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- # caniuse-api [](https://travis-ci.org/Nyalab/caniuse-api) [](https://ci.appveyor.com/project/MoOx/caniuse-api/branch/master)
- request the caniuse data to check browsers compatibilities
- ## Installation
- ```console
- $ yarn add caniuse-api
- ```
- ## Usage
- ```js
- const caniuse = require('caniuse-api')
- caniuse.getSupport('border-radius')
- caniuse.isSupported('border-radius', 'ie 8, ie 9')
- caniuse.setBrowserScope('> 5%, last 1 version')
- caniuse.getSupport('border-radius')
- // ...
- ```
- ## API
- #### `caniuse.getSupport(feature)`
- _ask since which browsers versions a feature is available_
- * `y`: Since which browser version the feature is available
- * `n`: Up to which browser version the feature is unavailable
- * `a`: Up to which browser version the feature is partially supported
- * `x`: Up to which browser version the feature is prefixed
- ```js
- caniuse.getSupport('border-radius', true)
- /*
- { and_chr: { y: 67 },
- and_ff: { y: 60 },
- and_qq: { y: 1.2 },
- and_uc: { y: 11.8 },
- android: { y: 2.1, x: 2.1 },
- baidu: { y: 7.12 },
- chrome: { y: 4, x: 4 },
- edge: { y: 12 },
- firefox: { a: 2, x: 3.6, y: 3 },
- ie: { n: 8, y: 9 },
- ie_mob: { y: 10 },
- ios_saf: { y: 3.2, x: 3.2 },
- op_mini: {},
- op_mob: { n: 10, y: 11 },
- opera: { n: 10, y: 10.5 },
- safari: { y: 3.1, x: 4 },
- samsung: { y: 4 } }
- */
- ```
- #### `caniuse.isSupported(feature, browsers)`
- _ask if a feature is supported by some browsers_
- ```js
- caniuse.isSupported('border-radius', 'ie 8, ie 9') // false
- caniuse.isSupported('border-radius', 'ie 9') // true
- ```
- #### `caniuse.find(query)`
- _search for a caniuse feature name_
- Ex:
- ```js
- caniuse.find('radius') // ['border-radius']
- caniuse.find('nothingness') // []
- caniuse.find('css3')
- /*
- [ 'css3-attr',
- 'css3-boxsizing',
- 'css3-colors',
- 'css3-cursors-grab',
- 'css3-cursors-newer',
- 'css3-cursors',
- 'css3-tabsize' ]
- */
- ```
- #### `caniuse.getLatestStableBrowsers()`
- _get the current version for each browser_
- ```js
- caniuse.getLatestStableBrowsers()
- /*
- [ 'and_chr 67',
- 'and_ff 60',
- 'and_qq 1.2',
- 'and_uc 11.8',
- 'android 67',
- 'baidu 7.12',
- 'bb 10',
- 'chrome 67',
- 'edge 17',
- 'firefox 61',
- 'ie 11',
- 'ie_mob 11',
- 'ios_saf 11.3-11.4',
- 'op_mini all',
- 'op_mob 46',
- 'opera 53',
- 'safari 11.1',
- 'samsung 7.2' ]
- */
- ```
- #### `caniuse.getBrowserScope()`
- _returns a list of browsers currently used for the scope of operations_
- ```js
- caniuse.getBrowserScope()
- /*
- [ 'and_chr',
- 'and_ff',
- 'and_qq',
- 'and_uc',
- 'android',
- 'baidu',
- 'chrome',
- 'edge',
- 'firefox',
- 'ie',
- 'ie_mob',
- 'ios_saf',
- 'op_mini',
- 'op_mob',
- 'opera',
- 'safari',
- 'samsung' ]
- */
- ```
- #### `caniuse.setBrowserScope(browserscope)`
- _if you do not like the default browser scope, you can set it globally by using this method_
- * browserscope should be a 'autoprefixer' formatted string
- ```js
- caniuse.setBrowserScope('> 5%, last 2 versions, Firefox ESR, Opera 12.1')
- ```
- ---
- ## [Changelog](CHANGELOG.md)
- ## [License](LICENSE)
|