Wednesday 17 April 2013

Node Roundup: 0.10.4, Papercut, rsz, sz


You can send in your Node projects for review through our contact form.

Node 0.10.4



Node 0.10.4 was released last week. There are bug fixes for some core modules, and I also noticed this:




v8: Avoid excessive memory growth in JSON.parse (Fedor Indutny)




Another interesting patch was added to the stream module, to ensure write callbacks run before end:



stream: call write cb before finish event



The Node blog was quietly updated to change the latest 0.8 to read ?legacy? instead of ?stable?. I don?t recall previous stable releases being referred to in this way before, so I thought it was worth mentioning here.



Papercut



Papercut (GitHub: Rafe / papercut, License: MIT, npm: papercut) by Jimmy Chao is an image uploading module that supports Amazon S3 and resizing and cropping through node-imagemagick.



Uploaders can be created according to a schema, allowing them to be used to manage different aspects of your application?s image handling requirements:


AvatarUploader = papercut.Schema(function(schema){
schema.version({
name: 'avatar'
, size: '200x200'
, process: 'crop'
});

schema.version({
name: 'small'
, size: '50x50'
, process: 'crop'
});
});


Papercut also supports configuration using NODE_ENV, so it?s easy to configure to work sensibly in various deployment environments.



rsz



rsz (GitHub: rvagg / node-rsz, License: MIT, npm: rsz) by Rod Vagg is a module for resizing images based on LearnBoost?s node-canvas. The API is based around a single method which accepts various signatures. The basic usage is rsz(src, width, height, function (err, buf) { /* */ }).



sz



sz (GitHub: rvagg / node-sz, License: MIT, npm: sz), also by Rod, is another image-related module. This one can determine the size of an image. It should be noted that both of these modules work with image files and Buffer objects.


var buf = fs.readFileSync('image.gif');

sz(buf, function(err, size) {
// where `size` may look like: { height: 280, width: 400 }
});


crawled from : Dailyjs

No comments:

Post a Comment