Negotiable Paleobotanist Missions

    caniuse-api
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/caniuse-api package

    3.0.0 • Public • Published

    caniuse-api Build Status Build status

    request the caniuse data to check browsers compatibilities

    Installation

    $ yarn add caniuse-api

    Usage

    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
    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

    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:

    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

    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

    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
    caniuse.setBrowserScope('> 5%, last 2 versions, Firefox ESR, Opera 12.1')

    Changelog

    License

    Install

    npm i caniuse-api

    DownloadsWeekly Downloads

    7,870,666

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    12.2 kB

    Total Files

    6

    Last publish

    Collaborators

    • nyalab