Add support for NPM Registry

This commit is contained in:
Felix Yan 2015-11-04 17:32:52 +08:00
parent 3dce06ca21
commit 49ec750772
3 changed files with 25 additions and 0 deletions

View File

@ -159,6 +159,13 @@ Check `RubyGems <https://rubygems.org/>`_ for updates.
gems gems
The name used on RubyGems, e.g. ``sass``. The name used on RubyGems, e.g. ``sass``.
Check NPM Registry
----------
Check `NPM Registry <https://registry.npmjs.org/>`_ for updates.
npm
The name used on NPM Registry, e.g. ``coffee-script``.
Check Local Pacman Database Check Local Pacman Database
--------------------------- ---------------------------
This is used when you run ``nvchecker`` on an Arch Linux system and the program always keeps up with a package in your configured repositories for `Pacman`_. This is used when you run ``nvchecker`` on an Arch Linux system and the program always keeps up with a package in your configured repositories for `Pacman`_.

View File

@ -5,6 +5,7 @@ logger = logging.getLogger(__name__)
handler_precedence = ( handler_precedence = (
'github', 'gitcafe', 'aur', 'pypi', 'archpkg', 'gems', 'pacman', 'github', 'gitcafe', 'aur', 'pypi', 'archpkg', 'gems', 'pacman',
'cmd', 'bitbucket', 'gcode_hg', 'gcode_svn', 'regex', 'manual', 'vcs', 'cmd', 'bitbucket', 'gcode_hg', 'gcode_svn', 'regex', 'manual', 'vcs',
'npm',
) )
def get_version(name, conf, callback): def get_version(name, conf, callback):

17
nvchecker/source/npm.py Normal file
View File

@ -0,0 +1,17 @@
import json
from functools import partial
from tornado.httpclient import AsyncHTTPClient
NPM_URL = 'https://registry.npmjs.org/%s'
def get_version(name, conf, callback):
repo = conf.get('npm') or name
url = NPM_URL % repo
AsyncHTTPClient().fetch(url, user_agent='lilydjwg/nvchecker',
callback=partial(_npm_done, name, callback))
def _npm_done(name, callback, res):
data = json.loads(res.body.decode('utf-8'))
version = data['dist-tags']['latest']
callback(name, version)