diff --git a/lib/index.js b/lib/index.js index b56496c..5ea56f5 100644 --- a/lib/index.js +++ b/lib/index.js @@ -104,7 +104,16 @@ Pkgm.prototype.loadAll = function(folder) { Pkgm.prototype.uriInfos = function(uri) { var parts = uri.split("#"); var version = parts[1]; - uri = url.resolve('https://github.com', parts[0]); + var gitPrefix = "git@"; + var httpsPrefix = "https://"; + var httpPrefix = "http://"; + if ( utils.startsWith(parts[0], gitPrefix) || + utils.startsWith(parts[0], httpsPrefix) || + utils.startsWith(parts[0], httpPrefix) ) { + uri = parts[0]; + } else { + uri = url.resolve('https://github.com', parts[0]); + } return { uri: uri, diff --git a/lib/utils.js b/lib/utils.js index 7ad3de7..9bfac6a 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -2,6 +2,10 @@ var Q = require('q'); var _ = require('lodash'); var cp = require('child_process'); +// Is string has prefix +function startsWith(string, prefix) { + return string.slice(0, prefix.length) == prefix; +} // Generate callbacks for exec functions function _execHandler(command, deffered) { @@ -66,5 +70,6 @@ var execFile = simpleExecBuilder(cp.execFile); module.exports = { exec: exec, execFile: execFile, - deepkeys: deepkeys + deepkeys: deepkeys, + startsWith: startsWith }; diff --git a/package.json b/package.json index b832dc7..ac858c1 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "pkgm", "main": "lib/index.js", "description": "Make it easy to build a package manager for client/node large applications", - "version": "3.3.0", + "version": "3.3.1", "author": "Samy Pesse ", "repository": { "type": "git", @@ -28,4 +28,4 @@ "scripts": { "test": "export TESTING=true; mocha --reporter list" } -} \ No newline at end of file +}