Commit Graph

349 Commits

Author SHA1 Message Date
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