DailyJS

Node Roundup: OneJS, node-pad, CouchPress, node-linq

Alex R. Young

Subscribe

@dailyjs

Facebook

Google+

games databases node modules couchdb linq

Node Roundup: OneJS, node-pad, CouchPress, node-linq

Posted by Alex R. Young on .
Featured

games databases node modules couchdb linq

Node Roundup: OneJS, node-pad, CouchPress, node-linq

Posted by Alex R. Young on .
You can send in your Node projects for review through our contact form or @dailyjs.

OneJS

OneJS (npm: one) by Azer Koculu is a command-line utility for converting CommonJS-style packages to browser-friendly JavaScript. It provides Node-compatible APIs, and the output can also be run with Node if required.

All it needs is a suitable package.json file:

$ onejs build package.json bundle.js

Some of Node's standard library is technically supported by most browsers, and OneJS supports this by providing the install command:

$ onejs install assert

This will create a module in ./node_modules/assert/ with a package.json and a OneJS version of Node's assert module.

Azer said he created this project for Multiplayer Chess, which is a web-based chess game that supports up to 25 players.

node-pad

Do you like video games, or at least the DualShock 3 controller? node-pad (npm: node-pad) by Andre Tangen is a game controller library that currently supports Sony's controller:

controller.rthumb.on('move', function(event) {  
  player.updateCameraDirection({
    x: event.x
  , y: event.y
  });
});

The author has included Jasmine tests, and the project depends on Andre's node-hid fork which is built using node-waf.

CouchPress

CouchPress (GitHub: koostudios / couchpress, License: MIT, npm: couchpress) by Alexander Yuen is a CouchDB and Express-based publishing platform. It's currently very simple, but includes a minimal administration interface, a WYSIWYG editor, and the beginnings of a theming engine.

The author is planning on adding a Markdown editor, and support for plugins. He's very open to suggestions, so if you're interested in supporting a Node-based CMS then try getting in touch with him. Contact details are available in his 0.1 announcement post: CouchPress: Announcing Version 0.1.

node-linq

node-linq (License: MIT, npm: node-linq) from Fractal is a LINQ implementation for node:

{LINQ} = require 'node-linq'
fs = require 'fs'  
{extname} = require 'path'

files = ['test.txt', 'choni.txt', 'legacy.zip', 'secrets.txt', 'etc.rar']

arr = new LINQ(files)  
.Where((file) -> extname(file) is 'txt')
.OrderBy((file) -> fs.lstatSync(file).mtime)
.ToArray()

# arr == [ 'choni.txt',  'text.txt', 'secrets.txt']

It also supports Asynchronous LINQ. The readme has examples, and there are Mocha tests.