verdaccio-badges v1.1.2
verdaccio-badges
A verdaccio plugin to provide a version badge generator endpoint
Quick start
In your verdaccio dockerfile you need to npm install this package and update the ownership permissions on the ~/.npm folder. e.g
RUN npm install verdaccio-badges@x.x.x
RUN chown -R $VERDACCIO_USER_UID:root ~/.npmIf 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:
middlewares:
badges:
enabled: trueNon-Dockerfile setup:
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 aboveNow once you restart your Verdaccio instance visit:
https://your.verdaccio.url/-/badge/<NAME>.svg
https://your.verdaccio.url/-/badge/<SCOPE>/<NAME>.svg
e.g
https://0.0.0.0:4873/-/badge/myorg/my-package.svg
https://internal.npm.com/-/badge/my-package.svgConfiguration
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'registry
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.
<VERDACCIO_PROTOCOL>://0.0.0.0:<VERDACCIO_PORT>Development
See the verdaccio contributing guide for instructions setting up your development environment. Once you have completed that, use the following npm tasks.
npm run buildBuild a distributable archive
npm run testRun unit test
npm run lintRun project linting
npm run devRun 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.orgby settingconfig.registry.
For more information about any of these commands run npm run ${task} -- --help.