asset-resolver
Advanced tools
Comparing version 0.3.3 to 1.0.0
@@ -0,1 +1,8 @@ | ||
1.0.0 / 2017-12-17 | ||
================== | ||
* Drop support for node < 6 | ||
* Bump dependencies | ||
v0.3.3 / 2017-02-26 | ||
@@ -2,0 +9,0 @@ ================== |
10
cli.js
#!/usr/bin/env node | ||
'use strict'; | ||
var meow = require('meow'); | ||
var resolver = require('./'); | ||
const meow = require('meow'); | ||
const resolver = require('./'); | ||
var cli = meow({ | ||
const cli = meow({ | ||
help: [ | ||
@@ -23,6 +23,6 @@ 'Usage', | ||
resolver.getResource(cli.input[0], cli.flags).then(function (resource) { | ||
resolver.getResource(cli.input[0], cli.flags).then(resource => { | ||
console.log(resource.contents); | ||
}).catch(function (err) { | ||
}).catch(err => { | ||
console.error(err.message || err); | ||
}); |
26
index.js
@@ -1,11 +0,9 @@ | ||
/** | ||
* Created by ben on 17.09.15. | ||
*/ | ||
var os = require('os'); | ||
var toarray = require('lodash/toArray'); | ||
var defaults = require('lodash/defaults'); | ||
var map = require('lodash/map'); | ||
var debug = require('debug')('asset-resolver'); | ||
var Bluebird = require('bluebird'); | ||
var resolver = require('./lib/resolver'); | ||
'use strict'; | ||
const os = require('os'); | ||
const toarray = require('lodash/toArray'); | ||
const defaults = require('lodash/defaults'); | ||
const map = require('lodash/map'); | ||
const debug = require('debug')('asset-resolver'); | ||
const Bluebird = require('bluebird'); | ||
const resolver = require('./lib/resolver'); | ||
@@ -15,3 +13,3 @@ module.exports.getResource = function (file, opts) { | ||
base: [process.cwd()], | ||
filter: function () { | ||
filter() { | ||
return true; | ||
@@ -27,6 +25,6 @@ } | ||
return Bluebird.any(map(opts.base, function (base) { | ||
return Bluebird.any(map(opts.base, base => { | ||
return resolver.getResource(base, file, opts); | ||
})).catch(Bluebird.AggregateError, function (errs) { | ||
var msg = ['The file "' + file + '" could not be resolved because of:'].concat(map(errs, 'message')); | ||
})).catch(Bluebird.AggregateError, errs => { | ||
const msg = ['The file "' + file + '" could not be resolved because of:'].concat(map(errs, 'message')); | ||
debug(msg); | ||
@@ -33,0 +31,0 @@ return Bluebird.reject(new Error(msg.join(os.EOL))); |
@@ -1,19 +0,15 @@ | ||
/** | ||
* Created by ben on 17.09.15. | ||
*/ | ||
var fs = require('fs'); | ||
var path = require('path'); | ||
var url = require('url'); | ||
var request = require('request'); | ||
var mime = require('mime'); | ||
var Bluebird = require('bluebird'); | ||
var debug = require('debug')('asset-resolver'); | ||
var result = require('lodash/result'); | ||
var reduce = require('lodash/reduce'); | ||
var globby = require('globby'); | ||
'use strict'; | ||
const path = require('path'); | ||
const url = require('url'); | ||
const fs = require('fs-extra'); | ||
const request = require('request'); | ||
const mime = require('mime'); | ||
const Bluebird = require('bluebird'); | ||
const debug = require('debug')('asset-resolver'); | ||
const result = require('lodash/result'); | ||
const reduce = require('lodash/reduce'); | ||
const globby = require('globby'); | ||
var cache = {}; | ||
const cache = {}; | ||
Bluebird.promisifyAll(fs); | ||
function isUrl(resource) { | ||
@@ -28,3 +24,3 @@ return /(^\/\/)|(:\/\/)/.test(resource); | ||
.then(filter) | ||
.then(function (result) { | ||
.then(result => { | ||
if (!result) { | ||
@@ -46,11 +42,11 @@ debug('FAILED'); | ||
function requestAsync(resource) { | ||
var settings = { | ||
const settings = { | ||
followRedirect: true, | ||
encoding: null | ||
}; | ||
return new Bluebird(function (resolve, reject) { | ||
// handle protocol-relative urls | ||
return new Bluebird((resolve, reject) => { | ||
// Handle protocol-relative urls | ||
resource = url.resolve('http://te.st', resource); | ||
request(resource, settings, function (err, resp, body) { | ||
var msg; | ||
request(resource, settings, (err, resp, body) => { | ||
let msg; | ||
if (err) { | ||
@@ -66,3 +62,3 @@ debug('Url failed:', err.message || err); | ||
var mimeType = result(resp, 'headers.content-type') || mime.lookup(resource); | ||
const mimeType = result(resp, 'headers.content-type') || mime.getType(resource); | ||
@@ -84,4 +80,4 @@ resolve({ | ||
function readAsync(resource) { | ||
return fs.readFileAsync(resource).then(function (body) { | ||
var mimeType = mime.lookup(resource); | ||
return fs.readFile(resource).then(body => { | ||
const mimeType = mime.getType(resource); | ||
@@ -113,3 +109,3 @@ debug('Fetched:', resource); | ||
function glob(base) { | ||
return reduce(base, function (res, val) { | ||
return reduce(base, (res, val) => { | ||
if (isUrl(val)) { | ||
@@ -119,3 +115,3 @@ res.push(val); | ||
} | ||
return res.concat(globby.sync([val])); | ||
return res.concat(globby.sync([val], {nodir: false})); | ||
}, []); | ||
@@ -125,3 +121,3 @@ } | ||
function getResource(base, file, opts) { | ||
var resource = join(base, file); | ||
const resource = join(base, file); | ||
if (cache[resource]) { | ||
@@ -128,0 +124,0 @@ return cache[resource].then(handle(opts.filter)); |
{ | ||
"name": "asset-resolver", | ||
"version": "0.3.3", | ||
"version": "1.0.0", | ||
"description": "Find an asset in a set of locations", | ||
@@ -14,3 +14,3 @@ "license": "MIT", | ||
"engines": { | ||
"node": ">= 4" | ||
"node": ">= 6" | ||
}, | ||
@@ -31,22 +31,23 @@ "scripts": { | ||
"dependencies": { | ||
"bluebird": "3.4.7", | ||
"debug": "2.6.1", | ||
"filesize": "3.5.5", | ||
"globby": "6.1.0", | ||
"bluebird": "^3.5.1", | ||
"debug": "3.1.0", | ||
"filesize": "^3.5.11", | ||
"fs-extra": "^5.0.0", | ||
"globby": "^7.1.1", | ||
"hash": "0.2.0", | ||
"lodash": "4.17.4", | ||
"meow": "3.7.0", | ||
"mime": "1.3.4", | ||
"mime": "2.0.3", | ||
"object": "0.1.1", | ||
"request": "2.79.0" | ||
"request": "^2.83.0" | ||
}, | ||
"devDependencies": { | ||
"ava": "0.18.2", | ||
"coveralls": "2.11.16", | ||
"es6-promise": "4.0.5", | ||
"finalhandler": "1.0.0", | ||
"get-port": "2.1.0", | ||
"nyc": "10.1.2", | ||
"serve-static": "1.12.0", | ||
"xo": "0.17.1" | ||
"ava": "^0.24.0", | ||
"coveralls": "^3.0.0", | ||
"es6-promise": "^4.1.1", | ||
"finalhandler": "^1.1.0", | ||
"get-port": "^3.2.0", | ||
"nyc": "^11.3.0", | ||
"serve-static": "^1.13.1", | ||
"xo": "0.19.0" | ||
}, | ||
@@ -53,0 +54,0 @@ "xo": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
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
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
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
10452
1
11
166
+ Addedfs-extra@^5.0.0
+ Addedajv@6.12.6(transitive)
+ Addedaws-sign2@0.7.0(transitive)
+ Addedbluebird@3.7.2(transitive)
+ Addedcaseless@0.12.0(transitive)
+ Addeddebug@3.1.0(transitive)
+ Addeddir-glob@2.2.2(transitive)
+ Addedfast-deep-equal@3.1.3(transitive)
+ Addedfast-json-stable-stringify@2.1.0(transitive)
+ Addedfilesize@3.6.1(transitive)
+ Addedform-data@2.3.3(transitive)
+ Addedfs-extra@5.0.0(transitive)
+ Addedglobby@7.1.1(transitive)
+ Addedhar-schema@2.0.0(transitive)
+ Addedhar-validator@5.1.5(transitive)
+ Addedhttp-signature@1.2.0(transitive)
+ Addedignore@3.3.10(transitive)
+ Addedjson-schema-traverse@0.4.1(transitive)
+ Addedjsonfile@4.0.0(transitive)
+ Addedmime@2.0.3(transitive)
+ Addedms@2.0.0(transitive)
+ Addedoauth-sign@0.9.0(transitive)
+ Addedpath-type@3.0.0(transitive)
+ Addedperformance-now@2.1.0(transitive)
+ Addedpify@3.0.0(transitive)
+ Addedpsl@1.9.0(transitive)
+ Addedpunycode@2.3.1(transitive)
+ Addedqs@6.5.3(transitive)
+ Addedrequest@2.88.2(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedslash@1.0.0(transitive)
+ Addedtough-cookie@2.5.0(transitive)
+ Addedtunnel-agent@0.6.0(transitive)
+ Addeduniversalify@0.1.2(transitive)
+ Addeduri-js@4.4.1(transitive)
- Removedansi-regex@2.1.1(transitive)
- Removedansi-styles@2.2.1(transitive)
- Removedassert-plus@0.2.0(transitive)
- Removedaws-sign2@0.6.0(transitive)
- Removedbluebird@3.4.7(transitive)
- Removedboom@2.10.1(transitive)
- Removedcaseless@0.11.0(transitive)
- Removedchalk@1.1.3(transitive)
- Removedcommander@2.20.3(transitive)
- Removedcryptiles@2.0.5(transitive)
- Removeddebug@2.6.1(transitive)
- Removedescape-string-regexp@1.0.5(transitive)
- Removedfilesize@3.5.5(transitive)
- Removedform-data@2.1.4(transitive)
- Removedgenerate-function@2.3.1(transitive)
- Removedgenerate-object-property@1.2.0(transitive)
- Removedglobby@6.1.0(transitive)
- Removedhar-validator@2.0.6(transitive)
- Removedhas-ansi@2.0.0(transitive)
- Removedhawk@3.1.3(transitive)
- Removedhoek@2.16.3(transitive)
- Removedhttp-signature@1.1.1(transitive)
- Removedis-my-ip-valid@1.0.1(transitive)
- Removedis-my-json-valid@2.20.6(transitive)
- Removedis-property@1.0.2(transitive)
- Removedjsonpointer@5.0.1(transitive)
- Removedmime@1.3.4(transitive)
- Removedms@0.7.2(transitive)
- Removedoauth-sign@0.8.2(transitive)
- Removedpunycode@1.4.1(transitive)
- Removedqs@6.3.3(transitive)
- Removedrequest@2.79.0(transitive)
- Removedsntp@1.0.9(transitive)
- Removedstringstream@0.0.6(transitive)
- Removedstrip-ansi@3.0.1(transitive)
- Removedsupports-color@2.0.0(transitive)
- Removedtough-cookie@2.3.4(transitive)
- Removedtunnel-agent@0.4.3(transitive)
- Removedxtend@4.0.2(transitive)
Updatedbluebird@^3.5.1
Updateddebug@3.1.0
Updatedfilesize@^3.5.11
Updatedglobby@^7.1.1
Updatedmime@2.0.3
Updatedrequest@^2.83.0