1
0
mirror of https://github.com/verdaccio/verdaccio.git synced 2024-11-13 03:35:52 +01:00
Commit Graph

379 Commits

Author SHA1 Message Date
Brian Peacock
37afd429ec Added basic GUI 2014-05-06 16:34:48 -05:00
Brian Peacock
cb6e2cd7f6 More specific express version to try to get old node working. 2014-05-06 11:34:09 -05:00
Alex Kocharin
a79fa68deb lint 2014-04-14 00:44:17 +00:00
Alex Kocharin
6eada0f22e preserve tags when publishing something (ref #63) 2014-04-13 02:04:48 +00:00
Yannick Croissant
5241ddfe84 Add search functionality 2014-04-12 19:20:26 +02:00
Alex Kocharin
b4c0b89365 set ignore_latest_tag to false by default 2014-04-01 00:13:59 +00:00
Alex Kocharin
752d0f62f0 make fs-ext optional 2014-03-31 04:32:11 +00:00
Alex Kocharin
9404e811a5 accept gzip from uplinks, fix #54 2014-03-30 21:05:42 +00:00
Alex Kocharin
2102e71c10 removing outdated todo 2014-03-30 19:43:03 +00:00
Alex Kocharin
7f56593ee3 document new config option 2014-03-29 06:15:43 +00:00
Alex Kocharin
a8cdfcd7cd add err.status instead of checking for exact error message
it's done for consistency reasons
2014-03-29 04:32:05 +00:00
Alex Kocharin
4470cb7d55 making latest tag behaviour configurable 2014-03-29 02:31:34 +00:00
Alex Kocharin
4b06026d2e Revert "Make 404 responses compatible with CouchDB API"
This reverts commit dabf5e1c9a7e53f435b89d9e0fbf8e091e7e40e8.

See discussion in #57
2014-03-29 01:08:28 +00:00
Alex Kocharin
7967d5857d Revert "fix logs and tests for #56"
This reverts commit df49fb84c1670fa629f69340d32a0dbafb8ee421.
2014-03-29 01:08:00 +00:00
Alex Kocharin
8af77df0e0 fix zero timeouts in config 2014-03-13 19:45:47 +00:00
Alex Kocharin
df49fb84c1 fix logs and tests for #56 2014-03-13 19:23:21 +00:00
Alex Kocharin
0afd9d1bb3 Merge pull request #56 from strongloop/fix-unknown-package-name-response
Make 404 responses compatible with CouchDB API
2014-03-13 19:15:04 +00:00
Alex Kocharin
f839837f34 document new config options 2014-03-13 18:56:31 +00:00
Miroslav Bajtoš
dabf5e1c9a Make 404 responses compatible with CouchDB API
The CouchDB REST API returns always `"error": "not_found"` in the body
of a 404 response:
  http://couchdb-13.readthedocs.org/en/latest/api-basics/#http-status-codes

The npm client depends on the magic string 'not_found' as can be seen
in requestDone() in npm-registry-client/lib/request.js.

Before this change, npm install of an unknown package was reporting
the Sinopia error string and a stack trace of npm.

After this change, npm install of an unknown package returns a nice
error saying "the package is not in the npm registry, bug the author"
2014-03-13 19:47:44 +01:00
Alex Kocharin
bb9612441c trim intervals 2014-03-08 04:38:37 +00:00
Alex Kocharin
48825a2e46 change intervals formatting to match nginx
see http://wiki.nginx.org/ConfigNotation
2014-03-08 04:37:16 +00:00
Alex Kocharin
6a2a463b76 count each failed request only once 2014-03-08 04:00:07 +00:00
Alex Kocharin
f1ec18dc4b implement nginx-like logic to avoid hitting upstream when it's down 2014-03-08 03:54:28 +00:00
Alex Kocharin
6b9001ef6c change interval formatting in config
All intervals are now in milliseconds. But you can add
multiples ("ms", "s", "m", "h", "d", "M", "y") to set
value using different units.

For example, value "1.5h" would mean 1.5 hours.
2014-03-08 03:49:59 +00:00
Alex Kocharin
9ff1203688 throw away incomplete downloads 2014-03-07 19:48:24 +00:00
Alex Kocharin
a891354a32 always return content-length for tarballs 2014-03-07 19:39:20 +00:00
Alex Kocharin
9c4c93695b fix crash in #52 2014-03-07 18:20:41 +00:00
Sam Day
58e98c7263 Support maxage for uplinks 2014-03-02 20:47:09 +11:00
Alex Kocharin
691d62f403 eslint update + style fixes 2014-02-23 21:20:50 +04:00
Alex Kocharin
a5d0094669 remove npmsslkeys
See commit in npmconf:
e0b4a4e5cc
2014-02-23 20:55:41 +04:00
Alex Kocharin
b65cf7afe3 move eslint config to yaml 2014-02-07 00:56:46 +04:00
Alex Kocharin
8840ac4c1f removing bad statement 2014-02-03 00:50:38 +04:00
Alex Kocharin
9f662a69e1 validate all url parameters better 2014-02-01 12:08:48 +04:00
Alex Kocharin
616ec7626a process.getuid doesn't always exist (fixes #41) 2014-01-24 06:36:03 +03:00
Alex Kocharin
2add883370 adding config param to specify upload limits, fixes #39 2014-01-18 23:04:12 +04:00
Alex Kocharin
e522347667 making loose semver versions work, ref #38 2014-01-18 22:57:44 +04:00
Alex Kocharin
6c258758c8 support setting different storage paths for different packages
fixes #35
2014-01-13 22:56:36 +04:00
Alex Kocharin
68d3cc7295 fs interface refactoring 2014-01-13 20:48:51 +04:00
Alex Kocharin
5422de642e tag support, closes #8 2013-12-29 10:41:31 +04:00
Alex Kocharin
3c7ae2f37d a few bugfixes 2013-12-29 04:58:48 +04:00
Alex Kocharin
6075034521 proxy_access -> proxy (since we're removing proxy_publish) 2013-12-29 04:54:46 +04:00
Alex Kocharin
d1a1a8f4cd bugfix 2013-12-29 04:54:39 +04:00
Alex Kocharin
54535893ab adding support for new npm behaviour, closes #31 2013-12-29 04:53:31 +04:00
Alex Kocharin
8c05cfe6a2 require heapdump if present on the system 2013-12-29 04:52:23 +04:00
Alex Kocharin
6c838c7947 remove all replication-like functionality
apparently it was a bad idea, it's simpler to just run a single
sinopia instance as a master

TODO: write some help in readme about it
2013-12-27 17:23:14 +04:00
Alex Kocharin
985d705ad2 working on tags / incomplete 2013-12-27 17:06:30 +04:00
Alex Kocharin
6234f8cba9 Merge branch 'master' of github.com:rlidwka/sinopia 2013-12-27 17:05:05 +04:00
Alex Kocharin
c0e34890e4 req.user -> req.remoteUser 2013-12-27 15:29:23 +04:00
Alex Kocharin
b42687d230 Merge tag 'v0.5.9' of github.com:rlidwka/sinopia
0.5.9
2013-12-26 23:46:08 +04:00
Alex Kocharin
b44255de3c set right Accept header for tarballs, closes #32 2013-12-26 23:25:19 +04:00
Alex Kocharin
b0fa7ee2d1 using eslint to check the code 2013-12-23 04:14:57 +04:00
Alex Kocharin
3b2bd161b7 logging bad versions 2013-12-21 16:09:29 +04:00
Alex Kocharin
3a31064ded deal with js-yaml warning 2013-12-19 18:50:31 +04:00
Alex Kocharin
151136381e style fix 2013-12-19 07:18:45 +04:00
Alex Kocharin
503b60a45b catch bind errors 2013-12-19 07:17:52 +04:00
Alex Kocharin
225c2bb65f added a warning to not run it under root 2013-12-17 20:25:17 +04:00
Alex Kocharin
8ea985ff6b don't color multiline strings in logs output
stack traces should be easily recognizable
2013-12-16 03:07:19 +04:00
Alex Kocharin
0cec69ee1d Merge branch 'master' of github.com:rlidwka/sinopia 2013-12-16 00:58:09 +04:00
Alex Kocharin
693aa576b4 safeguard against bad tarball names 2013-12-16 00:54:29 +04:00
Alex Kocharin
3abce5e2b6 better error message when publishing with bad auth header 2013-12-16 00:38:16 +04:00
Alex Kocharin
f43ec71ccb 0.5.7 2013-12-15 04:05:58 +04:00
Alex Kocharin
ef61515f28 try to fetch package from uplinks if user requested a tarball we don't know about
closes #29 + tests fix
2013-12-15 03:15:58 +04:00
Alex Kocharin
9094d0742f better error message for incorrect package names 2013-12-15 03:09:55 +04:00
Alex Kocharin
ede09b5c77 refactoring: move uplink.get_package() calls to it's own function 2013-12-13 20:50:41 +04:00
Alex Kocharin
380ec1e917 always end response with a newline 2013-12-13 19:12:24 +04:00
Alex Kocharin
8149f883b0 default express.js to production mode, not development 2013-12-12 03:19:40 +04:00
Alex Kocharin
96b336acc3 if uplink doesn't answer, stop sending requests to it for a while (2 min default) 2013-12-12 02:00:26 +04:00
Alex Kocharin
520a3b0220 cleanup 2013-12-12 01:55:40 +04:00
Alex Kocharin
230750ff88 adding sinopia version to logs 2013-12-12 01:55:17 +04:00
Alex Kocharin
203f0300e3 Merge branch '0.5.x' of github.com:rlidwka/sinopia
Conflicts:
	lib/storage.js
	test/start.sh
2013-12-12 01:44:29 +04:00
Alex Kocharin
7ee2361700 better tests for various tags (including bad ones), ref #21 2013-12-12 01:22:35 +04:00
Alex Kocharin
47a92ff273 fail-safe semver parsing + tests, ref #25 2013-12-12 00:51:48 +04:00
Brett Trotter
fc99692219 Update semver.compare to semver.compareLoose to tolerate grunt and other packages 2013-12-12 00:35:07 +04:00
Alex Kocharin
bd7dde229a Merge branch 'master' of github.com:rlidwka/sinopia 2013-12-11 21:40:41 +04:00
Alex Kocharin
d149252a3b fixing crash on bad tags 2013-12-11 17:04:08 +04:00
Brett Trotter
ed3386f044 Update semver.compare to semver.compareLoose to tolerate grunt and other packages 2013-12-10 13:04:47 -06:00
Alex Kocharin
36fa1ba655 log fatal errors 2013-12-10 14:29:46 +04:00
Alex Kocharin
77182a755d expose sinopia's version in Server header for debugging purposes 2013-12-10 14:12:34 +04:00
Alex Kocharin
f05a4784fd fixing crash on bad tags 2013-12-10 13:55:35 +04:00
Alex Kocharin
7f7c056ecd various bugfixes, camelcase for http headers 2013-12-09 08:00:16 +04:00
Alex Kocharin
bbb402f762 detecting http loops 2013-12-09 07:59:31 +04:00
Alex Kocharin
4d70d8065e add via tag to prevent loops 2013-12-09 07:58:25 +04:00
Alex Kocharin
2f45649a2c improving tags support, ref #8 2013-12-08 02:55:50 +04:00
Alex Kocharin
08d1011433 use standard \033 escape sequence for vt esc codes 2013-12-08 02:54:26 +04:00
Alex Kocharin
6e71913c46 setting default timeout to 30 seconds, #18 2013-12-08 02:37:27 +04:00
Alex Kocharin
cc7165dd3c Merge branch 'master' of github.com:rlidwka/sinopia 2013-12-06 21:49:31 +04:00
Alex Kocharin
a257fc3962 swallow bad auth errors, fixes #17 2013-12-06 21:46:51 +04:00
Alex Kocharin
6a295ac196 don't send etags with errors 2013-12-06 21:46:11 +04:00
Alex Kocharin
9ee8d484db dealing with internal errors in express.js 2013-12-05 16:31:21 +04:00
Alex Kocharin
7b0ab14d4c dealing with express.js errors 2013-12-05 16:27:23 +04:00
Brandon Nicholls
1d109f8071 Adding a configurable timeout for each uplink 2013-12-04 12:39:29 -07:00
Alex Kocharin
8f05e141c3 retrieving proxy values from environment if present 2013-11-24 21:08:20 +04:00
Alex Kocharin
1df6d53612 config examples for proxy 2013-11-24 21:07:54 +04:00
Alex Kocharin
13242c8237 add proxy support, fix #13 2013-11-24 21:07:18 +04:00
Alex Kocharin
fecffa2a39 return an appropriate X-Status-Cat header 2013-11-24 21:06:01 +04:00
Alex Kocharin
15d46e3280 log 'new packages directory' message at a warn level 2013-10-26 16:20:42 +04:00
Alex Kocharin
b2f6128e9c style fix 2013-10-26 16:18:36 +04:00
Alex Kocharin
5da3c8ba58 transaction stub 2013-10-26 15:43:42 +04:00
Alex Kocharin
dafcf8647c basic support for unpublishing individual versions (local only) 2013-10-23 10:15:17 +04:00
Alex Kocharin
6ae26226eb removing all tarballs on unpublish --force 2013-10-22 17:33:39 +04:00
Alex Kocharin
3a407396b8 better error logging 2013-10-22 13:37:28 +04:00
Alex Kocharin
782abbb86d honor etags when making requests 2013-10-22 13:31:48 +04:00
Alex Kocharin
ec26083e81 added a maxage option for uplinks 2013-10-22 12:34:07 +04:00
Alex Kocharin
fea98dfa59 unlink directory when package is unpublished 2013-10-22 11:53:59 +04:00
Alex Kocharin
78f856cf81 shasum check for uploaded tarballs 2013-10-22 11:45:19 +04:00
Alex Kocharin
61658cfbdc added utils.is_object function for convenience 2013-10-22 11:29:57 +04:00
Alex Kocharin
4c2c4b87c2 calculating sha1sum of uploaded tarballs 2013-10-22 11:12:06 +04:00
Alex Kocharin
5622b2283d added couchdb-like revisions 2013-10-22 11:00:04 +04:00
Alex Kocharin
8b314040d9 fixing race conditions when updating package data 2013-10-22 09:10:25 +04:00
Alex Kocharin
acc2e571ff logging didn't work on chunked output 2013-10-19 01:53:27 +04:00
Alex Kocharin
fa51797602 return 500 instead of 404 if local storage is corrupted 2013-10-19 01:35:41 +04:00
Alex Kocharin
3ca3ac2dae logging fs errors 2013-10-19 01:17:53 +04:00
Alex Kocharin
012892600b handing JSON.parse errors 2013-10-19 00:46:13 +04:00
Alex Kocharin
674f944942 tweaking fs logger color 2013-10-19 00:45:36 +04:00
Alex Kocharin
1a58a0f8d8 hide authorization header in logs 2013-10-12 18:37:47 +04:00
Alex Kocharin
fcebeea3ee don't print colors if output stream is not tty 2013-10-12 11:57:59 +04:00
Alex Kocharin
015623f9ae making various test cases work 2013-10-11 13:50:41 +04:00
Alex Kocharin
957f915d42 fixing a next(err) function called twice 2013-10-11 13:49:00 +04:00
Alex Kocharin
70f717a295 using undefined instead of anonymous for non-logged in users 2013-10-11 09:53:54 +04:00
Alex Kocharin
3596a12eb7 logging caused failure in case of errors 2013-10-11 09:46:37 +04:00
Alex Kocharin
9ee525b317 logging engine added, much better logs now 2013-10-11 09:32:59 +04:00
Alex Kocharin
b6082f1216 some work towards unpublishing packages 2013-10-11 09:32:12 +04:00
Alex Kocharin
0aa687624d only create config if we're asked to (+ nice help) 2013-10-09 20:22:29 +04:00
Alex Kocharin
a76a443994 moved bin/sinopia to lib/cli.js 2013-10-09 19:47:55 +04:00
Alex Kocharin
94d37441ae error not raised when updating versions - fix #10 2013-10-08 22:55:32 +04:00
Alex Kocharin
7a3255d1ab very basic support for unpublishing a package 2013-10-06 12:27:50 +04:00
Alex Kocharin
b9cb60da64 replacing connect.bodyParser with connect.json 2013-10-06 11:26:05 +04:00
Alex Kocharin
bffc6db38f better error message, ref #9 2013-10-05 18:49:08 +04:00
Alex Kocharin
8dcb735626 rename tarball from uplink when download is finished
closes #11
2013-10-05 18:26:51 +04:00
Alex Kocharin
2f15d1c0fa fd leak 2013-10-02 22:54:46 +04:00
Alex Kocharin
16730bb7b4 fix fetching tarballs from npmjs registry 2013-10-02 22:48:32 +04:00
Alex Kocharin
f38a897fa2 improving tags support (read-only for now) 2013-10-02 22:26:20 +04:00
Alex Kocharin
1556ce195a npm star/unstar calls now return proper error 2013-10-02 22:01:18 +04:00
Alex Kocharin
2675196672 jshinting 2013-10-01 22:02:23 +04:00
Alex Kocharin
f5b542724b update uplink code 2013-09-28 21:31:58 +04:00
Alex Kocharin
21ad8945d9 update 2013-09-28 20:46:55 +04:00
Alex Kocharin
c3de74ebfd error handling when uploading tarballs 2013-09-28 16:37:24 +04:00
Alex Kocharin
8c5628bfae uploading tarballs bugfixes 2013-09-28 16:19:40 +04:00
Alex Kocharin
c8bb68a4aa adding package version to remote repository 2013-09-28 15:08:38 +04:00
Alex Kocharin
0173c55ead publishing package to all relevant uplinks 2013-09-28 14:59:05 +04:00
Alex Kocharin
5dbc825892 through -> streams2 migrate - final 2013-09-27 15:31:28 +04:00
Alex Kocharin
1570cc348c through -> streams2 transition for local-fs 2013-09-27 13:54:43 +04:00
Alex Kocharin
ac2ea00b2b adding __proto__ to package name blacklist 2013-09-27 13:20:38 +04:00
Alex Kocharin
8fe23d3393 moving readable stream interfaces from through to streams2 2013-09-27 12:56:13 +04:00
Alex Kocharin
9f80a0046e showing expected content type in errors 2013-09-27 12:55:42 +04:00
Alex Kocharin
b7e4bfdd14 migrating from through to streams2 2013-09-27 12:54:16 +04:00
Alex Kocharin
89f232b5ec fixing bugs preventing access to upstream 2013-09-27 11:48:01 +04:00
Alex Kocharin
ff4778e3c6 adding comments 2013-09-27 04:26:15 +04:00
Alex Kocharin
11bf03f130 config file error handling 2013-09-25 13:29:39 +04:00
Alex Kocharin
e01d30adb9 unimplemented functions now throw 2013-09-25 13:18:38 +04:00
Alex Kocharin
4791d0e707 inline documentation 2013-09-25 13:12:33 +04:00
Alex Kocharin
34a52f09a2 renaming storage libraries 2013-09-25 12:54:57 +04:00
Alex Kocharin
fa1c4f30ee fixing bug with error handling 2013-09-25 12:10:59 +04:00
Alex Kocharin
bdd748c6e2 cleanup incomplete upload requests 2013-09-24 10:28:26 +04:00
Alex Kocharin
2ee792633c fixing config file handling 2013-09-24 10:27:27 +04:00
Alex Kocharin
e351559dd2 adding listen address to config 2013-09-24 08:40:46 +04:00
Alex Kocharin
764dde38f1 more comments in config file 2013-09-24 08:36:43 +04:00
Alex Kocharin
d91bef5ca0 change config file format + comments 2013-09-24 08:27:47 +04:00
Alex Kocharin
c84413517f making storage path relative to config path 2013-09-24 08:15:13 +04:00
Alex Kocharin
f19f523e1a fixing bugs with streams 2013-07-12 23:51:04 +04:00
Alex Kocharin
86f02bda7d add md5 etags for json 2013-07-03 05:49:24 +04:00
Alex Kocharin
27844cd358 fixing some race conditions 2013-06-22 04:19:46 +04:00
Alex Kocharin
1eda590bfc use compression if somebody asked for it 2013-06-20 21:10:33 +04:00
Alex Kocharin
b4688d140f caching tarballs 2013-06-20 20:54:50 +04:00
Alex Kocharin
dfd0459c03 turning uplink requests into streams 2013-06-20 17:41:07 +04:00
Alex Kocharin
d7eb7c9ef8 working on streams 2013-06-20 17:07:34 +04:00
Alex Kocharin
c425cdab27 working on proxying tarball requests 2013-06-19 20:58:16 +04:00
Alex Kocharin
5aa335cd91 a lot of work done... 2013-06-18 22:14:55 +04:00
Alex Kocharin
26e3e21121 using minimatch instead of regexps 2013-06-14 13:27:08 +04:00
Alex Kocharin
1c827ebbd0 working on storage... 2013-06-14 12:34:29 +04:00
Alex Kocharin
f0f1f76286 upstream error handling 2013-06-14 11:56:02 +04:00
Alex Kocharin
e92e582b88 bugfix 2013-06-14 11:17:20 +04:00
Alex Kocharin
8afafa9a17 allow anonymous users (users without auth header) 2013-06-14 11:10:50 +04:00
Alex Kocharin
a8fa475dc1 config file changes 2013-06-13 18:21:14 +04:00
Alex Kocharin
c705152966 name change + a lot of work... 2013-06-08 05:16:28 +04:00
Alex Kocharin
10777d6ded proxying with https 2013-06-01 05:06:36 +04:00
Alex Kocharin
d89494b533 working on drivers... 2013-06-01 02:57:28 +04:00
Alex Kocharin
af452c93d3 initial development 2013-05-31 10:26:11 +04:00
Alex Kocharin
b7bd0c2302 initial commit 2013-05-22 10:48:04 +04:00