uplinks: npmjs: url: https://registry.npmjs.org/
// .npmrc registry=https://registry.npmjs.org @mycompany:registry=http://localhost:4873
This approach is valid, but comes with several disadvantages:
- It only works with scopes
- Scope must match, no Regular Expressions are allowed
- One scope cannot fetch from multiple registries
- Tokens/passwords must be defined within
.npmrcand checked in into the repo.
See a full example here.
Linking a Registry
Linking a registry is fairly simple. First, define a new section in the
uplinks section. Note, the order here is irrelevant.
uplinks: private: url: https://private.registry.net/npm ... [truncated] ... 'webpack': access: $all publish: $authenticated proxy: private
proxy section to define the selected registry you want to proxy.
Linking Multiple Registries
uplinks: server1: url: https://server1.registry.net/npm server2: url: https://server2.registry.net/npm ... [truncated] ... 'webpack': access: $all publish: $authenticated proxy: server1 server2
Verdaccio supports multiple registries on the
proxy field. The request will be resolved with the first in the list; if that fails, it will try with the next in the list and so on.
Having a full Offline Registry is completely possible. If you don't want any connectivity with external remotes you can do the following.
<br />auth: htpasswd: file: ./htpasswd uplinks: packages: '@my-company/*': access: $all publish: none '@*/*': access: $all publish: $authenticated '**': access: $all publish: $authenticated
proxy fields within each section of
packages. The registry will become full offline.