Skip to main content

Разработка плагинов

Есть много способов расширить verdaccio, поддерживаются следующие типы плагинов:

Мы рекомендуем разрабатывать плагины с использованием flow type definitions.

Middleware плагин

В целом, мы должны возвращать объект с помощью одного метода, называемого authenticate, который должен принимать три аругмента (user, password, callback).

Плагин UI темы

Этот плагин должен возвращать функцию, которая возвращает строку. Эта строка - абсолютный путь к корню пользовательского интерфеса.

API

const path = require('path');

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

Важно, что имя плагина должно с префикса verdaccio-theme- начинаться.

Пример

  • @verdaccio/ui-theme: Тема по умолчанию для Verdaccio, написана на React.js.

Filter Plugin

После того как аутентификация была выполнена, verdaccio может быть возвращено только два ответа.

Либо что-то пошло не так, либо аутентификация была не удачной.

Аутентификация прошла успешно.

callback(null, false)

API

groups это массив строк с именами групп, в которых пользователь состоит.

Только adduser, allow_access, apiJWTmiddleware and allow_publish не обязательны, verdaccio предлагает поведение по умолчанию в этом случае.

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