nxrm-bower-resolver
v1.0.2
Published
Custom Bower resolver for Sonatype Nexus Repository Manager
Maintainers
Readme
nxrm-bower-resolver
Custom Bower resolver for Sonatype Nexus Repository Manager.
This resolver enables full caching of Bower packages through Nexus, similar to how bower-art-resolver works with JFrog Artifactory.
Installation
npm install -g nxrm-bower-resolverConfiguration
Create or update your .bowerrc file:
{
"registry": {
"search": ["http://nexus:8081/repository/bower-proxy/api/bower"]
},
"resolvers": ["nxrm-bower-resolver"]
}Replace nexus:8081 with your Nexus server address and bower-proxy with your Bower repository name.
Authentication
Option 1: Environment Variables
export BOWER_NEXUS_USERNAME=myuser
export BOWER_NEXUS_PASSWORD=mypassword
bower install jqueryOption 2: .bowerrc Configuration
{
"registry": {
"search": ["http://nexus:8081/repository/bower-proxy/api/bower"]
},
"resolvers": ["nxrm-bower-resolver"],
"nexusUsername": "myuser",
"nexusPassword": "mypassword"
}Option 3: URL Authentication
{
"registry": {
"search": ["http://myuser:mypassword@nexus:8081/repository/bower-proxy/api/bower"]
},
"resolvers": ["nxrm-bower-resolver"]
}Usage
Once configured, use Bower normally:
# Install a package
bower install jquery
# Install a specific version
bower install jquery#3.6.4
# Install from bower.json
bower installThe resolver will:
- Query Nexus for available versions
- Download tarballs from Nexus (caching them for future use)
- Extract and install the package
How It Works
match(source): Determines if this resolver should handle the package (plain package names, not Git URLs)
releases(source): Queries Nexus API at
/api/bower/packages/{name}to get available versionsfetch(endpoint): Downloads tarball from
/api/bower/tarballs/{name}/{version}.tar.gz
Nexus Repository Requirements
Your Nexus Repository must have Bower support enabled with the resolver API endpoints:
GET /api/bower/packages/{name}- List versionsGET /api/bower/packages/{name}/versions/{version}- Version metadataGET /api/bower/tarballs/{name}/{version}.tar.gz- Download tarball
Troubleshooting
Package not found
Ensure the package exists in your Nexus Bower repository. For proxy repositories, the package must first be cached by requesting it through the standard Bower registry endpoint.
Authentication errors
Check that your credentials are correct and have read access to the Bower repository.
Debug logging
Enable Bower debug logging:
bower install jquery --verboseLicense
Eclipse Public License 1.0
Copyright
Copyright (c) 2008-present Sonatype, Inc.
