Node Roundup: 0.6.20, New npm Site, Raspberry/ARM, Engines Removal, nodist

2012-07-11 00:00:00 +0100 by Alex R. Young
You can send in your Node projects for review through our contact form or @dailyjs.

Node 0.6.20

Node 0.6.20 has been released. The 0.6 series is now in "maintenance mode", so this release tidies a few things and updates npm, there isn't anything application-breaking as far as I can tell.

Node 0.8.2 was also released. There are bug fixes and incremental improvements, I've updated to it for all my development work and it seems fine so far.

New npm Site


The new npm site is available at new.npmjs.org. The new design is based on nodejs.org -- the navigation, icons, and typography have been reused, which makes a welcome change from the old hacker-friendly monospaced font design.

Signing in to the new site allows account credentials to be edited, including social network handles. Avatars are supported through Gravatar. And... packages have their own pages, no more hash URLs! Take a look at the Express npm page to see what I mean. It even displays documentation.

The source for the new site is open source and can be downloaded at GitHub: isaacs / npm-www. This is actually quite enlightening, because Isaac has written a readme with an extremely detailed design philosophy.

Ridiculous speed: This site should be surprisingly fast. Towards that end, things are cached and served from memory whenever possible, and ETagged for browser-cacheablility.

No lib folder: If you would put it in lib/, then it belongs in a separate module.

Considering who this comes from this could form the start of a guide to idiomatic Node web applications, which is something I feel is sorely lacking in the community.

There aren't currently any tests, outside of the project's dependencies. However, even if you're a die-hard TDD advocate I still think there's a lot to be learned from taking a deeper look at this project.

From the Groups: Raspberry Pi, Engines

Trying to build Node for a Raspberry Pi? There's a discussion about ARM support on nodejs-dev:

Every time there's a new version of node I have to go in and modify config files specifically for ARM and it seems that nodejs just doesn't run very well on it.

Apparently building for ARM requires V8 to be compiled as a shared library:

The current problem is with V8 + gyp. If you compile v8 from svn as a shared library, node should then compile alright.

-- AJ ONeal

I also noticed an interesting discussion about removing "engines" from package.json:

Engines is advisory. It prints a warning. Set engineStrict in your package.json, or --engine-strict config, to make it strict. (If the package.json field is abused, it will be removed eventually. I don't suspect this is going to be an issue.)

There's a commit related to this here: Make 'engines' field advisory.


nodist (License: MIT, npm: nodist) by Marcel Klehr is a Node version manager for Windows. Once Node has been installed with the standard Windows installer, other versions can be installed using nodist's command-line interface:

nodist + v0.8.1

Typing nodist --help will display documentation for each command and examples.