Skip to content
This repository has been archived by the owner before Nov 9, 2022. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Build Status

An expressjs plugin for handling DustJS view rendering. dustjs-helpers are included by default in this module.

var express = require('express');

var app = express();

var adaro = require('adaro');

var options = {
  helpers: [
    //NOTE: function has to take dust as an argument.
    //The following function defines @myHelper helper
    function (dust) { dust.helpers.myHelper = function (a, b, c, d) {} },
    '../my-custom-helpers',   //Relative path to your custom helpers works
    'dustjs-helpers',   //So do installed modules
      name: '../my-custom-helpers/helper-to-render-data-with-args',
      // or use this signature if you need to pass in additional args
      arguments: { "debug": true }

app.engine('dust', adaro.dust(options));
app.set('view engine', 'dust');

// For rendering precompiled templates:
// app.engine('js', adaro.js({ ... ));
// app.set('view engine', 'js');

Make sure that if you've app.set('views', somepath) that the path separators are correct for your operating system.


Config options can be used to specify dust helpers, enabled/disable caching, and custom file loading handlers.

helpers (optional) String Array, helper module names

A helper module must either:

  • Conform to the API established by [dustjs-helpers] ( provided by LinkedIn or
  • Export a function which accepts a single argument (being dust itself). Such files should generally be designed for use on both client and server.

Client and Server Compatible

function setupHelpers(dust) {

   // Add helpers


if (typeof exports !== 'undefined') {
    module.exports = setupHelpers;
} else {

Alternate API

module.exports = function (dust) {
    // Add helpers

cache (optional, defaults to true) Boolean

Set to true to enable dust template caching, or false to disable.

app.engine('dust', dustjs.dust({ cache: false }));
app.set('view engine', 'dust');

helpers (optional) An array of helper modules to require and use.

Expects helpers to be in the form of:

module.exports = function (dust, [options]) {
    dust.helpers.something = function (chunk, context, bodies, params) {

Breaking changes


  • Removed the layout: option to render and in configuration
  • Dust is our own private instance, not global. If you load helpers, you must do it in the configuration of adaro.
  • We outright require dust. We will not use your application's installed version.
  • Dust ~2.7.1 is required. Dust minors are breaking changes, so those affect users of this module too.
  • Paths passed to the engine that are filesystem absolute paths will be used as is, and not resolved against the view root.
  • dustjs-helpers is not loaded for you automatically. Add it to your helpers configuration if you want it. Make sure you use a version compatible with the dustjs-linkedin that adaro uses.


A Dust.js view renderer for express



Security policy





No packages published