Socket
Socket
Sign inDemoInstall

caniuse-lite

Package Overview
Dependencies
0
Maintainers
3
Versions
786
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

caniuse-lite

A smaller version of caniuse-db, with only the essentials!


Version published
Maintainers
3
Weekly downloads
44,210,652
decreased by-6.41%

Weekly downloads

Package description

What is caniuse-lite?

The caniuse-lite npm package is a lighter version of the full caniuse database, which provides up-to-date browser support tables for front-end web technologies. It is used for checking the compatibility of web features in different browsers and browser versions.

What are caniuse-lite's main functionalities?

Browser support data retrieval

Retrieve browser support data for a specific feature, such as CSS flexbox.

const caniuse = require('caniuse-lite');
const featureData = caniuse.feature(caniuse.features.flexbox);
console.log(featureData);

Browser usage statistics

Get usage statistics for different versions of a specific browser, like Chrome.

const caniuse = require('caniuse-lite');
const browserStats = caniuse.getBrowserUsageByVersion('chrome');
console.log(browserStats);

Data for browser versions

Retrieve a list of versions for a given browser, such as Firefox.

const caniuse = require('caniuse-lite');
const versions = caniuse.getVersions('firefox');
console.log(versions);

Region-based browser usage statistics

Get browser usage statistics for a specific region, like the United States.

const caniuse = require('caniuse-lite');
const regionUsage = caniuse.getRegion('US');
console.log(regionUsage);

Other packages similar to caniuse-lite

Readme

Source

caniuse-lite

A smaller version of caniuse-db, with only the essentials!

Why?

The full data behind Can I use is incredibly useful for any front end developer, and on the website all of the details from the database are displayed to the user. However in automated tools, many of these fields go unused; it's not a problem for server side consumption but client side, the less JavaScript that we send to the end user the better.

caniuse-lite then, is a smaller dataset that keeps essential parts of the data in a compact format. It does this in multiple ways, such as converting null array entries into empty strings, representing support data as an integer rather than a string, and using base62 references instead of longer human-readable keys.

This packed data is then reassembled (via functions exposed by this module) into a larger format which is mostly compatible with caniuse-db, and so it can be used as an almost drop-in replacement for caniuse-db for contexts where size on disk is important; for example, usage in web browsers. The API differences are very small and are detailed in the section below.

API

import * as lite from 'caniuse-lite';

lite.agents

caniuse-db provides a full data.json file which contains all of the features data. Instead of this large file, caniuse-lite provides this data subset instead, which has the browser, prefix, prefix_exceptions, usage_global and versions keys from the original.

In addition, the subset contains the release_date key with release dates (as timestamps) for each version:

{
  "release_date": {
    "6": 998870400,
    "7": 1161129600,
    "8": 1237420800,
    "9": 1300060800,
    "10": 1346716800,
    "11": 1381968000,
    "5.5": 962323200
  }
}

lite.feature(js)

The feature method takes a file from data/features and converts it into something that more closely represents the caniuse-db format. Note that only the title, stats and status keys are kept from the original data.

lite.features

The features index is provided as a way to query all of the features that are listed in the caniuse-db dataset. Note that you will need to use the feature method on values from this index to get a human-readable format.

lite.region(js)

The region method takes a file from data/regions and converts it into something that more closely represents the caniuse-db format. Note that only the usage data is exposed here (the data key in the original files).

License

The data in this repo is available for use under a CC BY 4.0 license (http://creativecommons.org/licenses/by/4.0/). For attribution just mention somewhere that the source is caniuse.com. If you have any questions about using the data for your project please contact me here: http://a.deveria.com/contact

Security contact information

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

Keywords

FAQs

Last updated on 28 Sep 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your 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