A verdaccio plugin to provide a version badge generator endpoint
npm install verdaccio-badgesA verdaccio plugin to provide a version badge generator endpoint
---
In your verdaccio dockerfile you need to npm install this package and update the ownership permissions on the ~/.npm folder. e.g
``Dockerfile`
RUN npm install verdaccio-badges@x.x.x
RUN chown -R $VERDACCIO_USER_UID:root ~/.npm
If this is the first/only plugin you are loading check the example Dockerfile to see how to install the dependencies requireds to npm install.
In your config.yaml file add the following configuration to middlewares
If using Verdaccio Dockerfile:
`yaml`
middlewares:
badges:
enabled: true
Non-Dockerfile setup:
`yaml`
middlewares:
badges:
enabled: true
registry: 'http://localhost:4873' # optional - see below
# by default the registry url will be generated from environment varialbes present in the verdaccio Dockerfile
# if the variables are not present it will fallback to registry.npmjs.org and so will fail to generate badges for your private packages
# to fix this you could set it manually to app localhost as demonstrated above
Now once you restart your Verdaccio instance visit:
`text
https://your.verdaccio.url/-/badge/
https://your.verdaccio.url/-/badge/
e.g
https://0.0.0.0:4873/-/badge/myorg/my-package.svg
https://internal.npm.com/-/badge/my-package.svg
`
`yaml`
middlewares:
badges:
enabled: true
debug: true # optional - default false
registry: 'https://npm.example.com' # optional - default https://0.0.0.0:4873
endpoint: '/foo/' # optional - default '/-/badge/'
format: # optional - gh-badges formatting option
label: 'foo' # optional - default 'npm'
color: 'red' # optional - default 'blue'
colorLabel: 'black' # optional - default null
template: 'social' # optional - default 'flat'
By default the lookup is done against the running verdaccio instance (i.e itself). This url is generated from available environment variables as per the Verdaccio startup cmd.
``
See the verdaccio contributing guide for instructions setting up your development environment.
Once you have completed that, use the following npm tasks.
- npm run build
Build a distributable archive
- npm run test
Run unit test
- npm run lint
Run project linting
- npm run dev
Run a simple express server that loads the middleware for local development (http://localhost:300/-/badge/)
In this mode it points directly to https://registry.npmjs.org by setting config.registry.
For more information about any of these commands run npm run ${task} -- --help`.