We have a private npm repository based on Sinopia
What should I define in package.json
that some packages will be installed from Synopia rather then from g
The whole point of sinopia is a private registry
and a proxy
at the same time. You can use uplinks install all your packages from one registry entry point. Sinopia is able to route to any registry if the local storage is not able to resolve the dependency. By default, he points to npmjs
.
So, if you set your configuration like
# a list of other known repositories we can talk to
uplinks:
npmjs:
url: https://registry.npmjs.org/
packages:
'@*/*':
# scoped packages
access: $all
publish: $authenticated
proxy: npmjs
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
#
# you can specify usernames/groupnames (depending on your auth plugin)
# and three keywords: "$all", "$anonymous", "$authenticated"
access: $all
# allow all known users to publish packages
# (anyone can register by default, remember?)
publish: $authenticated
# if package is not available locally, proxy requests to 'npmjs' registry
proxy: npmjs
You should be able to resolve all your dependencies independently of the source of each of them
btw: sinopia
has no longer maintained.
One of the method i know that is by .npmrc You can also use .npmrc also inside the project
set configuration like this
registry = http://10.197.142.28:8081/repository/npm-internal/
init.author.name = Himanshu sharma
init.author.email = rmail@email.com
init.author.url = http://blog.example.com
# an email is required to publish npm packages
email=youremail@email.com
always-auth=true
_auth=YWRtaW46YWRtaW4xMjM=
auth can be generate by username:password echo -n 'admin:admin123' | openssl base64
output YWRtaW46YWRtaW4xMjM=