Node 0.10.15 was released last week, which quickly followed 0.10.14. The newer release adds a fix for
process.getuid, to address an issue on Mac OS X:
This commit should unbreak npm on OS X - it's hitting the new 'uid must be an unsigned int' check when installing as e.g. user 'nobody' (which has an UID of -2 in /etc/passwd or 4294967294 when cast to an uid_t.)
Version 0.10.14 fixed bugs in
url, and upgraded npm and uv.
node-interval-stream (GitHub: czzarr / node-interval-stream, License: MIT, npm: interval-stream) by Stanislas Marion is a simple module that provides a
Transform stream that triggers events based on an interval. The author's example combines
request to display the results of a large download every 2 seconds:
var request = require('request'); var IntervalStream = require('interval-stream'); var is = new IntervalStream(2000); // emit every 2 seconds request('http://example.com/large_data_set.json') .pipe(is) .pipe(process.stdout);
StreamToMongo (GitHub: czzarr / node-stream-to-mongo, License: MIT, npm: stream-to-mongo), also by Stanislas Marion, allows data to be streamed to MongoDB. This could be used to stream JSON data directly into a database. The example in the readme uses the npm registry, effectively allowing you to create a structured local cache in Mongo of all the module metadata on npm.
Finally, fileswap-stream (GitHub: bpostlethwaite / fileswap-stream, License: MIT, npm: fileswap-stream) by Ben Postlethwaite allows underlying file resources to be swapped. This might be useful if you're streaming data to log files, and want to split the files:
Write to a writable file-stream that swaps out its underlying file resources according to swapper and naming functions. This can be used for a persistent log or data stream - just stream to it 24/7 and let it swap out to new files whenever you trigger it to.