Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# 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)