A 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
RUN npm install [email protected]
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:
middlewares:
badges:
enabled: true
Non-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 above
Now 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.svg
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.
<VERDACCIO_PROTOCOL>://0.0.0.0:<VERDACCIO_PORT>
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 settingconfig.registry
.
For more information about any of these commands run npm run ${task} -- --help
.