georgy / nexus-npm-repository-plugin Goto Github PK
View Code? Open in Web Editor NEWSonatype Nexus OSS plugin for npm (https://www.npmjs.org) repository suport
Sonatype Nexus OSS plugin for npm (https://www.npmjs.org) repository suport
(the usefulness or need for this issue should be weighed by someone more in depth with NPM)
As per registry spec, version descriptor objects are not mandatory, and a URL where to find them is allowed too (see registry root description or Package Root Object's version field).
NX should aggregate these into one document (either before storing or on serving, it depends). Currently, this feature is not used by registry.npmjs.org, but it might be used in future (or dropped, as the "spec" is much more a "draft" really).
Links:
http://wiki.commonjs.org/wiki/Packages/Registry#registry_root_url
http://wiki.commonjs.org/wiki/Packages/Registry#Package_Root_Object
Expected: After 'Expire Cache' is called on proxy repo I expect next request to hit remote resource and recreate local cache file.
Observed: After 'Expire Cache' content is served as is from local cache
Similar to other plugins (p2, osgi).
Currently the tarball location is hardwired in code, and registry.npmjs.org-like path will be probed only. This should be made smarter.
Luckily, as MetadataStore stores MD unchanged, it will contain real remote URL of the tarball.... so, basically, the path selection should be made smarter, considering the stored tarball path too...
I have nexus version 2.8.0-05, and the plugin fails to start. The only error in the logs is this:
The following plugins were processed:
... com.bolyuba.nexus.plugin:nexus-npm-repository-plugin:0.0.1 :: action=ACTIVATE result=BROKEN
Reason: Problem installing: reference:file:/opt/scm/nexus-work/sonatype-work/nexus/plugin-repository/nexus-npm-repository-plugin-0.0.1/
Not much of an error to go on. I tried it on nexus 2.7.2-03 and it worked fine. Any idea what the problem might be?
Thanks,
-Matt
Move from gson to jackson for working with json
Hi!
You plugin is just a very good idea and very useful.
But I cannot make it works.
I correctly installed the plugin and configured a new proxy repo, setted the URL in my npm configuration, but when I call "npm install" I obtain some errors.
You can find an example of error just here:
npm http 200 http://nexus/content/repositories/registry.npmjs.org/grunt-contrib-watch
npm ERR! TypeError: Cannot read property 'latest' of undefined
npm ERR! at next (/home/user/Programs/node-v0.10.26-linux-x64/lib/node_modules/npm/lib/cache.js:744:35)
npm ERR! at /home/user/Programs/node-v0.10.26-linux-x64/lib/node_modules/npm/lib/cache.js:732:5
npm ERR! at saved (/home/user/Programs/node-v0.10.26-linux-x64/lib/node_modules/npm/node_modules/npm-registry-client/lib/get.js:148:7)
npm ERR! at /home/user/Programs/node-v0.10.26-linux-x64/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:133:7
npm ERR! at Object.oncomplete (fs.js:107:15)
npm ERR! If you need help, you may report this entire log,
npm ERR! including the npm and node versions, at:
npm ERR! http://github.com/npm/npm/issues
npm ERR! System Linux 3.2.0-4-amd64
npm ERR! command "/home/user/Programs/node-v0.10.26-linux-x64/bin/node" "/home/user/Programs/node-v0.10.26-linux-x64/bin/npm" "install"
npm ERR! cwd /home/user/workspace/project
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.3
npm ERR! type non_object_property_load
Do not hesitate if I can provide more logs to help your to find the problem.
Antoine.
Both nexus and NPM are new to me, so let me know if this is the wrong place to ask. I noticed that I always received 200 responses. (see below) Is it a problem nexus or the plugin or my local configuration that causes 200 responses each time instead of 304s? When using registery.npmjs.org, 304s happen more often than not because I am downloading the same things over and over.
npm http GET http://localhost:8081/nexus/content/groups/npmgroup/core-util-is
npm http GET http://localhost:8081/nexus/content/groups/npmgroup/isarray/0.0.1
npm http GET http://localhost:8081/nexus/content/groups/npmgroup/string_decoder
npm http 200 http://localhost:8081/nexus/content/groups/npmgroup/isarray/0.0.1
npm http 200 http://localhost:8081/nexus/content/groups/npmgroup/core-util-is
npm http 200 http://localhost:8081/nexus/content/groups/npmgroup/string_decoder
I installed the latest 2.9.1-01 with this plugin and everything worked fine... After defining the hosted, proxied and groups, and I tried to publish a module and it failed with the error below... Even though it is a client issue, is the problem related to the server not returning the correct data?
My client is as follows:
$ npm --version
1.3.10
Trying to publish with the test .npmrc suggested in the plugin page.
mdesales@ubuntu ~/dev/icode/isp-monitoring (master *+) $ npm publish
npm http PUT http://localhost:8081/nexus/content/repositories/npmhosted/isp-monitoring
npm http 401 http://localhost:8081/nexus/content/repositories/npmhosted/isp-monitoring
npm ERR! TypeError: Cannot call method 'match' of undefined
npm ERR! at RegClient.<anonymous> (/usr/share/npm/node_modules/npm-registry-client/lib/request.js:119:29)
npm ERR! at cb (/usr/share/npm/node_modules/npm-registry-client/lib/request.js:158:9)
npm ERR! at RegClient.<anonymous> (/usr/share/npm/node_modules/npm-registry-client/lib/request.js:252:14)
npm ERR! at Request.self.callback (/usr/lib/nodejs/request/index.js:148:22)
npm ERR! at Request.EventEmitter.emit (events.js:98:17)
npm ERR! at Request.<anonymous> (/usr/lib/nodejs/request/index.js:896:14)
npm ERR! at Request.EventEmitter.emit (events.js:117:20)
npm ERR! at IncomingMessage.<anonymous> (/usr/lib/nodejs/request/index.js:847:12)
npm ERR! at IncomingMessage.EventEmitter.emit (events.js:117:20)
npm ERR! at _stream_readable.js:920:16
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <[email protected]>
npm ERR! System Linux 3.13.0-32-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "publish"
npm ERR! cwd /home/mdesales/dev/icode/isp-monitoring
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! type non_object_property_call
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/mdesales/dev/icode/isp-monitoring/npm-debug.log
npm ERR! not ok code 0
Any help appreciated!
thanks!
Marcello
Create KV storage DAO with simple in-memory implementation
Hello,
we want to use this plugin with Nexus 2.9.1-02 (at this moment doesn't work, probably because the Nexus base classes name changed).
Best regards,
P.
When trying to register a proxy to "https://registry.npmjs.org/", the server Auto-blocks the proxy because of a certificate issue.
jvm 1 | 2014-10-06 18:42:49,411+0000 WARN [proxy-3-thread-4] admin com.bolyuba.nexus.plugin.npm.proxy.DefaultNpmProxyRepository - Remote peer of proxy repository "npm-proxy" [id=npm-proxy] threw a org.sonatype.nexus.proxy.RemoteStorageException exception. Connection/transport problems occured while connecting to remote peer of the repository. Auto-blocking this repository to prevent further connection-leaks and known-to-fail outbound connections until administrator fixes the problems, or Nexus detects remote repository as healthy. - Cause(s): Transport error while executing GET method [repositoryId="npm-proxy", requestPath="/", remoteUrl="https://registry.npmjs.org/"] > hostname in certificate didn't match: <registry.npmjs.org> != <a.sni.fastly.net> OR <a.sni.fastly.net> OR <a.sni.global-ssl.fastly.net>
Although this might be the expected behavior for security reasons, is there a way to "whitelist" this server is trusted?
thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.