跳到主要内容
版本号:Next

过滤器插件

什么是过滤插件?

:::警告

过滤插件处于实验阶段,需要更多用户反馈

:::警告

何时使用过滤插件?

如果您出于不同原因需要更改元数据,这是实现方法,所有清单请求都会被拦截,但不包括压缩包、用户、配置文件或令牌请求。 verdaccio-plugin-secfilter 是一个很好的例子。

插件结构

该插件只有一个名为 filter_metadata 的异步方法,该方法引用清单,并且必须返回元数据的副本(或修改后的对象,但不推荐)。

export default class VerdaccioMiddlewarePlugin implements IPluginStorageFilter<CustomConfig> {
async filter_metadata(metadata: Readonly<Manifest>): Promise<Package> {
// modify the metadata
const newMetadata = { ...metadata, ...{ name: 'fooName' } };
return newMetadata;
}
}

配置

只需将 filters 添加到 config.yaml 文件和您自己的插件选项中即可。

filters:
storage-filter-blackwhitelist:
filter_file: /path/to/file

更多信息请参阅 PR