Skip to content

Commit 93b14e0

Browse files
committed
Merge pull request #2 from hemanth/master
Using npm module instead.
2 parents 0223ba8 + d64b11c commit 93b14e0

File tree

2 files changed

+41
-45
lines changed

2 files changed

+41
-45
lines changed

bin/npm-repo

+23-27
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,30 @@
11
#!/usr/bin/env node
22

33
var program = require('commander')
4-
.usage('[package name]')
5-
.parse(process.argv)
4+
.usage('[package name]')
5+
.parse(process.argv);
66

7-
var name = program.args[0]
7+
var name = program.args[0];
88
if (!name) {
9-
console.error('a package name was not defined!')
10-
process.exit(1)
9+
console.error('a package name was not defined!');
10+
process.exit(1);
1111
}
1212

13-
require('request')('https://registry.npmjs.org/' + name, function (err, res, body) {
14-
if (err) {
15-
console.error(err.stack)
16-
process.exit(1)
17-
}
18-
if (res.statusCode !== 200) {
19-
console.error('a package by the name of "%s" was not found', name)
20-
process.exit(1)
21-
}
22-
body = JSON.parse(body) // you're useless, request!
23-
24-
var repo = body.repository
25-
if (!repo) {
26-
console.error('package "%s" did not define a repository', name)
27-
process.exit(1)
28-
}
29-
30-
var url = require('url')
31-
var obj = url.parse(repo.url)
32-
if (obj.protocol !== 'https:') obj.protocol = 'https:'
33-
require('open')(url.format(obj))
34-
})
13+
var npm = require('npm'),
14+
open = require('open');
15+
npm.load({}, function(er) {
16+
if (er) {
17+
console.error(err);
18+
process.exit(1);
19+
}
20+
npm.commands.view([name, "repository.url"], function(err, rurl) {
21+
if (err) {
22+
console.error(err);
23+
process.exit(1);
24+
}
25+
var url = require('url')
26+
var obj = url.parse(rurl[Object.keys(rurl)[0]]['repository.url']);
27+
if (obj.protocol !== 'https:') obj.protocol = 'https:'
28+
require('open')(url.format(obj))
29+
});
30+
});

package.json

+18-18
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
{
2-
"name": "npm-repo",
3-
"description": "open the repository page for an npm package",
4-
"version": "1.0.0",
5-
"author": {
6-
"name": "Jonathan Ong",
7-
"email": "[email protected]",
8-
"url": "http://jongleberry.com",
9-
"twitter": "https://twitter.com/jongleberry"
10-
},
11-
"license": "MIT",
12-
"repository": "repo-utils/npm-repo",
13-
"dependencies": {
14-
"open": "0",
15-
"request": "2",
16-
"commander": "2"
17-
},
18-
"bin": "bin/npm-repo"
19-
}
2+
"name": "npm-repo",
3+
"description": "open the repository page for an npm package",
4+
"version": "1.0.0",
5+
"author": {
6+
"name": "Jonathan Ong",
7+
"email": "[email protected]",
8+
"url": "http://jongleberry.com",
9+
"twitter": "https://twitter.com/jongleberry"
10+
},
11+
"license": "MIT",
12+
"repository": "repo-utils/npm-repo",
13+
"dependencies": {
14+
"commander": "2",
15+
"npm": "1.4.21",
16+
"open": "0"
17+
},
18+
"bin": "bin/npm-repo"
19+
}

0 commit comments

Comments
 (0)