Socket
Socket
Sign inDemoInstall

caniuse-api

Package Overview
Dependencies
9
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Install Socket

Protect your apps from supply chain attacks

Install

caniuse-api

request the caniuse data to check browsers compatibilities

    3.0.0latest
    GitHub
    npm

Version published
Maintainers
1
Weekly downloads
9,854,922
increased by3.71%

Weekly downloads

Package description

What is caniuse-api?

The caniuse-api package is a Node.js module that provides access to the Can I Use database, which contains information about web technologies and their support across different browsers and platforms. It allows developers to programmatically check browser support for various web features.

What are caniuse-api's main functionalities?

Getting browser support data for a specific feature

This feature allows you to retrieve the browser support data for a specific CSS or HTML feature, such as 'flexbox'. The returned object contains information about the level of support across different browsers.

const caniuse = require('caniuse-api');
const support = caniuse.getSupport('flexbox');
console.log(support);

Finding features supported by a specific browser version

This feature enables you to find all the web technologies that are supported by a specific browser version, such as 'chrome 58'. It returns an array of feature names that are supported.

const caniuse = require('caniuse-api');
const features = caniuse.find('chrome 58');
console.log(features);

Checking if browsers support a feature

This feature checks if a particular feature, such as 'flexbox', is supported in a given browser version, like 'ie 11'. It returns a boolean indicating whether the feature is supported or not.

const caniuse = require('caniuse-api');
const isSupported = caniuse.isSupported('flexbox', 'ie 11');
console.log(isSupported);

Getting a list of browsers that fully support a feature

This feature retrieves a list of browsers that fully support a given feature, such as 'flexbox'. The returned object includes browser names and versions that have full support.

const caniuse = require('caniuse-api');
const browsers = caniuse.getSupport('flexbox', true);
console.log(browsers);

Other packages similar to caniuse-api

Readme

Source

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

Keywords

FAQs

Last updated on 10 Jul 2018

Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc