Add a plugin that can filter all package metadata before being returned.
This enables blocking of packages from verdaccio.
IPluginStorageFilter are loaded like other plugins from the config.
Verdaccio will look for plugins in config.filters and pass this to
storage.init. This is the same design as other plugins and will be
dynamically found with the same rules. These plugins must impliment
a filter_metadata method, which is called serially (in the order
loaded from the config) for every metadata request. It gets a current
copy of a package metadata and may choose to modify it as required.
For example, this may be used to block a bad version of a package or
add a time delay from when new packages can be used from your
registry. Errors in a filter will cause a 404, similar to upLinkErrors
as it is not safe to recover gracefully from them. Note: When version
is removed, be careful about updating tags.
Fixes: #818
* feat: add support for profile cli command #392
- it allows to update password npm profile set password
- display current profile npm profile get
https://docs.npmjs.com/cli/profile
* chore: update @verdaccio/types@4.0.0
* feat: add min password length
on npm by defaul is min 7 characters, this might be configurable in the future.
* chore: update verdaccio-htpasswd@1.0.1
* refactor: update unit test
* refactor: provide friendly error for tfa request
* test: api profile unit test
* chore: fix eslint comment
* test: update profile test
* chore: set mim as 3 characters