Skip to content

RightCapitalHQ/verdaccio-package-diff

Repository files navigation

Verdaccio Package Diff Plugin

made by RightCapital GitHub Workflow Status (with event) Conventional Commits RightCapital frontend style guide

Introduce

If you want to know what has changed between the two versions in the package, this plugin can tell you.

How to use

To view the diffs between two versions of a package, go to:

{YOUR_VERDACCIO_SITE}/-/npm/package-diff/viewer?name={PACKAGE_NAME}&from={PACKAGE_VERSION_A}&to={PACKAGE_VERSION_B}

This will display the file differences between the two versions.

How to install

Build your own docker image

To install this plugin in your own Verdaccio docker image:

Refer to the Verdaccio documentation on creating custom Dockerfile

Create a Dockerfile:

FROM node:lts-alpine as builder

RUN mkdir -p /verdaccio/plugins \
  && cd /verdaccio/plugins \
  && npm install --global-style --no-bin-links --omit=optional @rightcapital/verdaccio-package-diff

FROM verdaccio/verdaccio:5

COPY --from=builder --chown=$VERDACCIO_USER_UID:root \
  /verdaccio/plugins/node_modules/@rightcapital/verdaccio-package-diff \
  /verdaccio/plugins/@rightcapital/verdaccio-package-diff

USER root

RUN mkdir -p /opt/verdaccio/.npm
RUN chown -R  $VERDACCIO_USER_UID:root /opt/verdaccio/.npm

USER $VERDACCIO_USER_UID

Config plugin

Enable the plugin in your config.yaml:

middlewares:
  '@rightcapital/verdaccio-package-diff':
    enabled: true

Set plugin permissions

Create a .npmrc file for your container, this will allow the plugin to access private packages.

volumes:
  - './.npmrc:/opt/verdaccio/.npmrc'

About permissions

You can use Verdaccio packages configuration to control which packages can be access by package diff plugin.