Ender Roundup: Ender, Qwery, Sel, Reqwest, Ender Twitter Bootstrap, CalEnder
Welcome to the first Ender roundup! With more developers releasing Ender-compatible projects I thought it would be good to keep everyone updated with what’s available for your Ender builds. You can send your Ender-related projects and articles in for review through our contact form or @dailyjs.
Ender
The core Ender build tool has been updated to version 0.8 for the release of Node 0.6. A minor change was required to properly support the new version of Node; anyone using Node 0.6 should upgrade Ender with npm update ender -g.
Qwery
Qwery (NPM / Ender: qwery), by Dustin Diaz, is Ender’s default selector engine, it’s small and very fast and you get it if you build with The Jeesh, Ender’s official starter-pack.
Qwery has seen a flurry of activity recently, culminating in a bump to version 3.1. Qwery now has much improved support for older browsers and is better able to handle queries on detached fragments, queries across frames and other quirky features normally found in the likes of Sizzle while remaining super quick and small.
Qwery has no external dependencies and can be used as a stand-alone tool as well as Ender’s selector engine.
Sel
Sel (NPM / Ender: sel), by Andrew McCollum, is an alternative selector engine for Qwery. Beautifully written in CoffeeScript, Sel aims to be fast, small and clean. Some fixes for IE8 bring Sel up to version 0.5.4.
Sel has a single dependency, Andrew’s ES5-Basic (NPM / Ender: es5-basic), a shim to make older browsers more ECMAScript 5 compatible. It can be used as a stand-alone tool as well as Ender’s selector engine.
Reqwest
Reqwest (NPM / Ender: reqwest), by Dustin Diaz, is the module most Ender users include for AJAX functionality.
The recent release of version 0.3.3 brings improved JSONP support and largely rewritten serialization functionality, including a new .toQueryString() method.
Forms, groups or individual elements can be serialized in a few different ways:
$(form).serialize()
// returns query string -> x=y&...
$(form).serialize({type:'map'})
// returns an object representation -> { x: y, ... }
$(form).serialize({type:'array'})
// returns array name/value pairs -> [ { name: x, value: y}, ... ]
$(form).serializeArray()
// for backward compatibility
$.toQueryString({
foo: 'bar'
, baz: 'thunk'
})
// returns query string -> foo=bar&baz=thunk
Leading to more interesting uses:
$('#myform input[name=myradios]').serialize({type:'map'})['myradios']
// get the selected value
$('input[type=text],#specialthing').serialize()
// turn any arbitrary set of form elements into a query string
Reqwest has no external dependencies and can be used as a stand-alone tool as well as within an Ender build (giving you $.ajax() and the serialization methods).
Ender Twitter Bootstrap
Ender Twitter Bootstrap (NPM / Ender: ender-twitter-bootstrap) is a newly released, unofficial port of the JavaScript components from Twitter’s wildly popular Bootstrap (currently the third most watched project on GitHub).
The Ender port aims to provide support for Bootstrap without the need to compile jQuery in your Ender build. A jQuery-free live copy of the Bootstrap JavaScript page (original, jQuery version here) demonstrates Modals, Dropdown, ScrollSpy, Buttons, Tabs, Twipsy, Popover and Alerts.
Ender Twitter Bootstrap depends on The Jeesh (Qwery, Bonzo, Bean, domReady) plus Bowser.
CalEnder

CalEnder (NPM / Ender: calender) is a basic, themeable calendar datepicker for Ender. After surveying the vast JavaScript datepicker landscape, Dustin Diaz decided that yet another one was required, but this time, just for Ender.
CalEnder depends on The Jeesh (Qwery, Bonzo, Bean, domReady).