caniuse-api
Advanced tools
Comparing version 0.1.0 to 1.0.0
@@ -1,8 +0,12 @@ | ||
# 0.1.0 - 2014-12-15 | ||
# 1.0.0 - 2014-12-16 | ||
first stable release | ||
# 0.1.0 - 2014-12-15 | ||
first stable api release | ||
# 0.0.1 - 2014-12-09 | ||
first temporary release |
"use strict"; | ||
var startsWith = require("./utils").startsWith; | ||
var fs = require("fs"); | ||
var memoize = require("lodash.memoize"); | ||
var browserslist = require("browserslist"); | ||
var contains = require("./utils").contains; | ||
var parseCaniuseData = require("./utils").parseCaniuseData; | ||
var fs = require('fs'); | ||
var cleanBrowsersList = require("./utils").cleanBrowsersList; | ||
var memoize = require('lodash.memoize'); | ||
var uniq = require('lodash.uniq'); | ||
var browserslist = require('browserslist'); | ||
var browsers; | ||
function setBrowserScope(browserList) { | ||
browsers = uniq(browserslist(browserList).map(function (browser) { | ||
return browser.split(" ")[0]; | ||
})); | ||
browsers = cleanBrowsersList(browserList); | ||
} | ||
@@ -34,7 +32,8 @@ | ||
function getSupport(query) { | ||
var feature; | ||
try { | ||
var feature = require("caniuse-db/features-json/" + query); | ||
feature = require("caniuse-db/features-json/" + query); | ||
} catch (e) { | ||
var res = search(query); | ||
if (res.length == 1) return getSupport(res[0]); | ||
var res = find(query); | ||
if (res.length === 1) return getSupport(res[0]); | ||
throw new ReferenceError("Please provide a proper feature name"); | ||
@@ -46,3 +45,13 @@ } | ||
function isSupported(feature, browsers) { | ||
var data = require("caniuse-db/features-json/" + feature); | ||
var data; | ||
try { | ||
data = require("caniuse-db/features-json/" + feature); | ||
} catch (e) { | ||
var res = find(feature); | ||
if (res.length === 1) { | ||
data = require("caniuse-db/features-json/" + res[0]); | ||
} else { | ||
throw new ReferenceError("Please provide a proper feature name"); | ||
} | ||
} | ||
@@ -52,3 +61,3 @@ return browserslist(browsers).map(function (browser) { | ||
}).every(function (browser) { | ||
return data.stats[browser[0]][browser[1]] == "y"; | ||
return data.stats[browser[0]][browser[1]] === "y"; | ||
}); | ||
@@ -55,0 +64,0 @@ } |
"use strict"; | ||
function startsWith(str, substr) { | ||
return str.indexOf(substr) === 0; | ||
} | ||
exports.contains = contains; | ||
exports.parseCaniuseData = parseCaniuseData; | ||
exports.cleanBrowsersList = cleanBrowsersList; | ||
var uniq = require("lodash.uniq"); | ||
var browserslist = require("browserslist"); | ||
function contains(str, substr) { | ||
@@ -24,3 +27,3 @@ return !! ~str.indexOf(substr); | ||
// min support asked, need to find the min value | ||
if (typeof support[browser][letter] == "undefined") { | ||
if (typeof support[browser][letter] === "undefined") { | ||
support[browser][letter] = Number.MAX_VALUE; | ||
@@ -33,3 +36,3 @@ } | ||
// any other support, need to find the max value | ||
if (typeof support[browser][letter] == "undefined") { | ||
if (typeof support[browser][letter] === "undefined") { | ||
support[browser][letter] = Number.MIN_VALUE; | ||
@@ -48,4 +51,6 @@ } | ||
exports.startsWith = startsWith; | ||
exports.contains = contains; | ||
exports.parseCaniuseData = parseCaniuseData; | ||
function cleanBrowsersList(browserList) { | ||
return uniq(browserslist(browserList).map(function (browser) { | ||
return browser.split(" ")[0]; | ||
})); | ||
} |
{ | ||
"name": "caniuse-api", | ||
"version": "0.1.0", | ||
"version": "1.0.0", | ||
"description": "request the caniuse data to check browsers compatibilities", | ||
@@ -18,2 +18,3 @@ "main": "dist/index.js", | ||
"6to5": "^1.14.17", | ||
"jshint": "^2.5.10", | ||
"tap-spec": "^2.1.1", | ||
@@ -24,9 +25,13 @@ "tape": "^3.0.3" | ||
"build": "6to5 src --out-dir dist", | ||
"lint": "jshint src", | ||
"prepublish": "npm run build", | ||
"test": "6to5-node test/*.js | tap-spec" | ||
"test": "npm run lint && 6to5-node test/*.js | tap-spec" | ||
}, | ||
"repository": "nyalab/caniuse-api", | ||
"keywords": ["caniuse", "browserslist"], | ||
"keywords": [ | ||
"caniuse", | ||
"browserslist" | ||
], | ||
"author": "nyalab", | ||
"license": "MIT" | ||
} |
@@ -1,2 +0,2 @@ | ||
# caniuse-api | ||
# caniuse-api [![Build Status](https://travis-ci.org/Nyalab/caniuse-api.svg?branch=master)](https://travis-ci.org/Nyalab/caniuse-api) | ||
@@ -3,0 +3,0 @@ request the caniuse data to check browsers compatibilities |
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
8108
112
0
4
4