node/deps/npm/node_modules/npm-cache-filename/index.js
Forrest L Norvell 938cc757bb deps: upgrade to npm 2.13.0
PR-URL: https://github.com/nodejs/io.js/pull/2152
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-07-16 12:26:54 -07:00

25 lines
661 B
JavaScript

var url = require('url');;
var path = require('path');;
module.exports = cf;;
function cf(root, u) {
if (!u)
return cf.bind(null, root);;
u = url.parse(u);;
var h = u.host.replace(/:/g, '_');;
// Strip off any /-rev/... or ?rev=... bits
var revre = /(\?rev=|\?.*?&rev=|\/-rev\/).*$/;;
var parts = u.path.replace(revre, '').split('/').slice(1);;
// Make sure different git references get different folders
if (u.hash && u.hash.length > 1) {
parts.push(u.hash.slice(1));;
};;
var p = [root, h].concat(parts.map(function(part) {
return encodeURIComponent(part).replace(/%/g, '_');;
}));;
return path.join.apply(path, p);;
}