Zur deutschen Version dieses Artikels.
VersionEye is a search engine and notification System for open-source software libraries. These libraries change constantly, new updates are released regularly. VersionEye monitors software projects and notifies software developers about outdated dependencies. To accomplish this goal VersionEyes uses dependency files or package manager files (i.e. package.json, bower.json, etc.)
VersionEye monitors public BitBucket or GitHub repositories right out of the box. But of course VersionEye cannot monitor internally hosted because there is no direct access. For us and for our customers privacy and protection of intellectual property is a top priority. The software and sources developed by us for our customers are all stored in internally hosted repositories. This also means that VersionEye has no direct access to the dependency files. But still we would like to use VersionEye and benefit from automatic notifications about outdated dependencies.
To use VersionEye with internally hosted projects we developed the node module „versioneye-update“. This module updates a VersionEye-Project by sending the dependency package manager file to the VersionEye server. It can be used as a custom build step in continuous integration systems, like Jenkins.
The npm module is open source and can be used freely. The source is available in the public GitHub account of Onwerk.
Installation
$ npm install versioneye-update -g
Usage
Updating a VersionEye project with the package.json file in the current directory:
$ versioneye-update --apikey <API_KEY> --projectid <PROJECT_ID>
Updating a VersionEye project with a specific dependency manager file:
$ versioneye-update --apikey <API_KEY> --projectid <PROJECT_ID> --file <PROJECT_FILE>
versioneye-update supports all file types currently supported by VersionEye. Have a look on their website.
We are using this module to stay up to date with the dependencies of our internally hosted Node.JS projects. Therefore we integrated a call to the module as post build step in our Jenkins build jobs:
See also the VersionEye blog article about versioneye-update of the VersionEye-Team about „versioneye-update“.