Socket
Socket
Sign inDemoInstall

caniuse-api

Package Overview
Dependencies
40
Maintainers
2
Versions
18
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.2.2 to 1.3.0

11

CHANGELOG.md

@@ -1,3 +0,12 @@

# 1.2.1
# 1.3.0 - 2015-03-30
- Added: better exception messages
- Added: full browserify compatibility (by avoiding dynamic require)
# 1.2.2 - 2015-02-06
- Fixed: postinstall hook for Windows
# 1.2.1 - 2015-02-04
- Changed: Allow in browser usage by avoiding `require.resolve` and using a generated json instead or reading a directory ([#20](https://github.com/Nyalab/caniuse-api/pull/20)]

@@ -4,0 +13,0 @@

14

dist/generate-features.js
"use strict";
var fs = require("fs");
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var path = require("path");
var fs = _interopRequire(require("fs"));
var caniusePath = path.dirname(require.resolve("caniuse-db/package.json"));
var featuresPath = path.join(caniusePath, "features-json");
var features = fs.readdirSync(featuresPath).map(function (file) {
var path = _interopRequire(require("path"));
var features = fs.readdirSync(path.join(path.dirname(require.resolve("caniuse-db/package.json")), "features-json")).map(function (file) {
return file.replace(".json", "");
}).map(function (feature) {
return "\"" + feature + "\": function() { return require(\"" + path.join("caniuse-db", "features-json", feature) + "\")}";
});
fs.writeFileSync(path.join(__dirname, "..", "features.json"), JSON.stringify(features, null, 2));
fs.writeFileSync(path.join(__dirname, "..", "features.js"), "module.exports = {" + features.join(",\n") + "}");
"use strict";
var memoize = require("lodash.memoize");
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
var browserslist = require("browserslist");
Object.defineProperty(exports, "__esModule", {
value: true
});
var contains = require("./utils").contains;
var parseCaniuseData = require("./utils").parseCaniuseData;
var cleanBrowsersList = require("./utils").cleanBrowsersList;
var features = require("../features.json");
var memoize = _interopRequire(require("lodash.memoize"));
var browserslist = _interopRequire(require("browserslist"));
var _utils = require("./utils");
var contains = _utils.contains;
var parseCaniuseData = _utils.parseCaniuseData;
var cleanBrowsersList = _utils.cleanBrowsersList;
var features = _interopRequire(require("../features"));
var featuresList = Object.keys(features);
var browsers;

@@ -25,24 +36,36 @@ function setBrowserScope(browserList) {

function getSupport(query) {
var feature;
try {
feature = require("caniuse-db/features-json/" + query);
} catch (e) {
var res = find(query);
if (res.length === 1) return getSupport(res[0]);
throw new ReferenceError("Please provide a proper feature name");
function getSupport(_x) {
var _again = true;
_function: while (_again) {
_again = false;
var query = _x;
feature = res = undefined;
var feature = undefined;
try {
feature = features[query]();
} catch (e) {
var res = find(query);
if (res.length === 1) {
_x = res[0];
_again = true;
continue _function;
}
throw new ReferenceError("Please provide a proper feature name. Cannot find " + query);
}
return parse(feature, browsers);
}
return parse(feature, browsers);
}
function isSupported(feature, browsers) {
var data;
var data = undefined;
try {
data = require("caniuse-db/features-json/" + feature);
data = features[feature]();
} catch (e) {
var res = find(feature);
if (res.length === 1) {
data = require("caniuse-db/features-json/" + res[0]);
data = features[res[0]]();
} else {
throw new ReferenceError("Please provide a proper feature name");
throw new ReferenceError("Please provide a proper feature name. Cannot find " + feature);
}

@@ -59,3 +82,3 @@ }

function find(query) {
if (~features.indexOf(query)) {
if (~featuresList.indexOf(query)) {
// exact match

@@ -65,3 +88,3 @@ return query;

return features.filter(function (file) {
return featuresList.filter(function (file) {
return contains(file, query);

@@ -68,0 +91,0 @@ });

"use strict";
var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["default"] : obj; };
exports.contains = contains;
exports.parseCaniuseData = parseCaniuseData;
exports.cleanBrowsersList = cleanBrowsersList;
var uniq = require("lodash.uniq");
Object.defineProperty(exports, "__esModule", {
value: true
});
var browserslist = require("browserslist");
var uniq = _interopRequire(require("lodash.uniq"));
var browserslist = _interopRequire(require("browserslist"));
function contains(str, substr) {

@@ -11,0 +17,0 @@ return !! ~str.indexOf(substr);

{
"name": "caniuse-api",
"version": "1.2.2",
"version": "1.3.0",
"description": "request the caniuse data to check browsers compatibilities",

@@ -18,3 +18,4 @@ "main": "dist/index.js",

"devDependencies": {
"6to5": "^1.14.17",
"babel": "^4.7.16",
"babel-tape-runner": "^1.0.0",
"jshint": "^2.5.10",

@@ -25,7 +26,7 @@ "tap-spec": "^2.1.1",

"scripts": {
"build": "6to5 src --out-dir dist",
"build": "babel src --out-dir dist",
"lint": "jshint src",
"prepublish": "npm run build",
"pretest": "6to5-node src/generate-features.js",
"test": "npm run lint && 6to5-node test/*.js | tap-spec",
"pretest": "babel-node src/generate-features.js",
"test": "npm run lint && babel-tape-runner test/*.js | tap-spec",
"postinstall": "node -e \"require('shelljs/global');if(test('-d', 'dist'))exec('node dist/generate-features.js')\""

@@ -32,0 +33,0 @@ },

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