npm-registry という便利なパッケージがあるので、インストール。


$ npm install npm-registry

npm-registry パッケージを使うと、npm に登録されているパッケージの情報を取得することができる。

コマンドライン引数に指定されたパッケージ名の情報を出力するサンプルコードを書いてみた。


$ cat moduleinfo.js 

var Registry = require('npm-registry');
var npm = new Registry();
for(var i=2; i<process.argv.length; i++){
  var name = process.argv[i];
  npm.packages.get(name, function(err, data){
    if(err){
      console.log(err);
    }else{
      var m = data[0];
      console.log('====================');
      console.log('name: ' + m.name);
      console.log('description: ' + m.description);
      console.log('author: ' + m.author.name);
      console.log('homepage: ' + m.homepage.url);
      console.log('license: ' + m.license);
    }
  });
}

サンプルコードを実行。


$ node moduleinfo.js express npm-registry aaa
====================
name: aaa
description: aaa...
author: peter
homepage: undefined
license: BSD
====================
name: npm-registry
description: An high available npm registry client
author: Arnout Kazemier
homepage: https://github.com/3rd-Eden/npmjs
license: MIT
====================
name: express
description: Fast, unopinionated, minimalist web framework
author: TJ Holowaychuk
homepage: http://expressjs.com/
license: MIT

ライセンス情報やホームページなどの情報を取得できる。

取得できる情報をざっと出力してみると _id, _rev, name, description, dist-tags, versions, maintainers, author, time, repository, users, readme, readmeFilename, homepage, keywords, contributors, bugs, license, licenses, github, releases, latest, _npmUser, bundledDependencies, dependencies, devDependencies, engines, optionalDependencies, peerDependencies, scripts, version, modified, created, starred, unpublished など。 console.log でオブジェクトを出力してみて必要な情報をピックアップしてみるといいかも。

ref. npm-registry

tags: node.js

Posted by NI-Lab. (@nilab)