Skip to main content

Plugins

Verdaccio é uma aplicação versátil. Pode ser estendido de várias maneiras, seja com novos métodos de autenticação, adicionando endpoints ou usando um armazenamento personalizado.

Existem 4 tipos de plugins:

Se você estiver interessado em desenvolver o seu próprio plugin, leia a seção sobre desenvolvimento.

Utilização

Instalação

$> npm install --global verdaccio-activedirectory

verdaccio as a sinopia fork it has backward compatibility with plugins that are compatible with sinopia@1.4.0. Neste caso, a instalação é a mesma.

$> npm install --global sinopia-memory

Configuration

Open the config.yaml file and update the auth section as follows:

The default configuration looks like this, due we use a build-in htpasswd plugin by default that you can disable just commenting out the following lines.

Configuração de Autenticação

  htpasswd:
file: ./htpasswd
#max_users: 1000

and replacing them with (in case you decide to use a ldap plugin.

auth:
activedirectory:
url: "ldap://10.0.100.1"
baseDN: 'dc=sample,dc=local'
domainSuffix: 'sample.local'

Plugins de Multipla Autenticação

This is tecnically possible, making the plugin order important, as the credentials will be resolved in order.

auth:
htpasswd:
file: ./htpasswd
#max_users: 1000
activedirectory:
url: "ldap://10.0.100.1"
baseDN: 'dc=sample,dc=local'
domainSuffix: 'sample.local'

Configuração de Middleware

Este é um exemplo de como configurar um plugin de middleware. Todos os plugins de middleware devem ser definidos no middlewares namespace.

middlewares:
audit:
enabled: true

Você pode seguir o audit middle plugin como exemplo básico.

Configuração de Armazenamento

Este é um exemplo de como configurar um plugin de armazenamento. Todos os plugins de armazenamento devem ser definidos no store namespace.

store:
memory:
limit: 1000

Configuração de Tema

O Verdaccio permite substituir a interface do usuário por uma personalizada, chamamos de tema (theme). Por padrão, usa-se o tema integrado @verdaccio/ui-theme, mas você pode usar algo diferente instalando seu próprio plugin.


<br />$> npm install --global verdaccio-theme-dark

O prefixo do nome do plugin deve começar com verdaccio-theme, caso contrário o plugin não carregará.

Você só pode usar um tema por vez e percorrer as opções, se for necessário.

theme:
dark:
option1: foo
option2: bar

Plugins Legados

Sinopia Plugins

Se você está contando com qualquer plugin para sinopia, lembre-se de que eles estão obsoletos e podem não funcionar no futuro.

All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as verdaccio-xx-name.