Explanation

How to copy all NPM packages from Sinopia registry to a local NPM repository in Artifactory?

AuthorFullName__c
Kfir Avraham
articleNumber
000004434
ft:sourceType
Salesforce
FirstPublishedDate
2019-03-10T15:31:02Z
lastModifiedDate
2024-03-10T07:45:52Z
VersionNumber
5
Due to the following behavior, it is not possible to resolve scoped packages from a remote repository in Artifactory which points to a Sinopia registry.
The reason for this behavior is that Sinopia expecting to get the request with encoded ‘/’ (slash) character, which is different than the way npmjs (the public NPM registry) works.
For example, while Sinopia registry expect to get a request as follows:
@username%2fnpmscpoe/-/npmscpoe-1.0.0.tgz
Artifactory sends the request as below (as expected by npmjs):
@username/npmscpoe/-/npmscpoe-1.0.0.tgz

Therefore, a “404” response is returned for the requested scoped packages from Sinopia via Artifactory.