过滤器插件
什么是过滤插件?
:::警告
过滤插件处于实验阶段,需要更多用户反馈
:::警告
何时使用过滤插件?
如果您出于不同原因需要更改元数据,这是实现方法,所有清单请求都会被拦截,但不包括压缩包、用户、配置文件或令牌请求。 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。