This projects monitors npm packages for new versions, storing into a mysql database for consumption in grafana.
SELECT
npm_versions.package as Package,
npm_versions.version as Version,
npm_tags.tag as Tag,
npm_versions.published as Published
FROM npm_versions
LEFT JOIN npm_tags ON npm_tags.package = npm_versions.package AND npm_tags.version = npm_versions.version
WHERE (published >= $__timeFrom() AND published <= $__timeTo())
OR npm_tags.tag IN ('latest', 'nightly') -- , 'experimental')
ORDER BY npm_versions.published DESC
LIMIT 50
Ensure you have a running mysql server
Define the following environment variables, updating for your setup as appropriate:
MYSQL_URL
egmysql://USERNAME:PASSWORD@HOST/DATABASE
PACKAGES
A comma separated list of packages to monitor egatem-connection,@julusian/jpeg-turbo
It can be run in docker like:
docker run --restart=always \
-e MYSQL_URL="mysql://USERNAME:PASSWORD@HOST/DATABASE" \
-e PACKAGES=atem-connection,@julusian/jpeg-turbo \
ghcr.io/julusian/grafana-npm-versions
Or in node:
yarn install
yarn build
node dist/index.js
yarn install
yarn dev