We're publishing scoped js packages to a private registry (managed by us using Verdaccio).
It means that in our production environment, we need to authenticate to our private registry to use yarn install
. What's the easiest way to do it ?
We're publishing scoped js packages to a private registry (managed by us using Verdaccio).
It means that in our production environment, we need to authenticate to our private registry to use yarn install
. What's the easiest way to do it ?
If you can't or don't want to use .env
file, but you already have .yarnrc.yml
file with your registry url like that:
npmScopes:
yourScopeName:
npmRegistryServer: 'https://...'
then you can use yarn config set
command to add npmAuthToken
key with your token value, for example:
// $REGISTRY_TOKEN is an ARG variable you pass to Docker
ARG REGISTRY_TOKEN
RUN yarn config set 'npmScopes.yourScopeName.npmAuthToken' "$REGISTRY_TOKEN"
The prettier solution (IMO)
Switch to yarn berry (yarn v2)
Migration guide
Use environment variables in .yarnrc.yml :
Set environment variable values
You can also put env vars in a
.env
file and add it to.gitignore
Tests
Add a scoped package
docker-compose run --rm server yarn add @customScope/test-package
Install
docker-compose run --rm server yarn install