Skip to main content

Criando Plugins

Existem muitas maneiras de estender o verdaccio, os tipos de plugins suportados são:

Recomendamos o desenvolvimento de extensões usando nossas definições de tipo de fluxo.

Plugin Middleware

Basicamente, temos que retornar um objeto com um único método chamado authenticate que receberá 3 argumentos (user, password, callback).

Exemplo de Tema

O plugin deve retornar uma função que retorna uma string. A string deve ser a localização absoluta da root da sua interface de usuário.

API

const path = require('path');

module.exports = (...arguments) => {
return path.join(__dirname, 'static');
};

É importante que o nome do plugin deve começar com o prefixo verdaccio-theme-.

Exemplo

Plugin de Autenticação

Once the authentication has been executed there is 2 options to give a response to verdaccio.

Either something bad happened or auth was unsuccessful.

The auth was successful.

callback(null, false)

API

groups is an array of strings where the user is part of.

Do not remove properties from the metadata, try to do not mutate rather return a new object.

interface IPluginStorageFilter<T> extends IPlugin<T> {
filter_metadata(packageInfo: Package): Promise<Package>;
}