Skip to content

Github URLs fail to resolve in package.json dependencies list #122

Closed
nikcorg opened this Issue Jan 3, 2013 · 4 comments

3 participants

@nikcorg
nikcorg commented Jan 3, 2013

While every package doesn't register itself as Jam.js package, I appreciate the ability to install directly from GitHub. However, a gh:<user>/<repo>[/<branch>] url in the dependencies list in the package.json file fails.

This inconsistency is very annoying and makes distributing code without including external depencies impossible. (Which is a feature that dependency managers should provide [and why I love them!]) It makes me question the whole idea of including Jam.js in the project at all, as all it really provides in this case is a partially pre-configured require.js installation. (Mind you, I am a fan of jam.js. Most of the time, it just works.)

Example:

Contents of package.json:

{
    "jam": {
        "dependencies": {
            "gh:kriskowal/q": null
        }
    }
}

Output of jam install

$ jam install
Building version tree...
repositories checking "gh:kriskowal/q"
Error: No package for 'gh:kriskowal/q'
    at Object.exports.dependencyError (/usr/local/lib/node_modules/jamjs/lib/tree.js:227:16)
    at Object.exports.updateDep (/usr/local/lib/node_modules/jamjs/lib/tree.js:192:33)
    at Object.exports.addDependency (/usr/local/lib/node_modules/jamjs/lib/tree.js:139:28)
    at /usr/local/lib/node_modules/jamjs/lib/tree.js:145:32
    at /usr/local/lib/node_modules/jamjs/lib/tree.js:188:20
    at /usr/local/lib/node_modules/jamjs/lib/repository.js:460:9
    at /usr/local/lib/node_modules/jamjs/node_modules/async/lib/async.js:94:25
    at /usr/local/lib/node_modules/jamjs/lib/repository.js:456:13
    at /usr/local/lib/node_modules/jamjs/lib/repository.js:210:9
    at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/jamjs/lib/couchdb.js:248:25)
Failed

A command line install of the same repo ($ jam install gh:kriskowal/q) works as expected, so I will not include its' output.

@zaro
zaro commented Feb 21, 2013

It will be great to have that!

@ghost
ghost commented Jun 13, 2013

Support of git repositories is a great idea, but it would be really nice to support more sources than just the registry or github.

Sources:

  • registry
  • tarball urls (http/https) / paths (local)
  • git repositories (not github only)
{
    "jam": {
        "dependencies": {
            "dep-a": "~0.1.2",
            "dep-b": "http://example.com/dep-b/0.1.2.tar.gz",
            "dep-c": "/Users/Example/Documents/dev/dep-c/0.1.2.tar.gz",
            "dep-d": "git://github.com/example/dep-d.git#0.1.2"
        }
    }
}
@dinnova
dinnova commented Jan 21, 2014

Woa, dang it. Is there a specfic reason why github is the only supported service? And will this change? We use only bitbucket and a self hosted git service. This is quite a drawback indeed.

@nikcorg
nikcorg commented Nov 19, 2014

Closing, as it seems this project has died.

@nikcorg nikcorg closed this Nov 19, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.