/* * RequireJS plugin to load and optimize dust templates * * (c) Webs, 2011, written by Adam Solove. * * Requirements: * - Your require config should define paths for dust-core and dust-full */ var templates = []; define({ load: function (name, req, load, config){ if(config.isBuild){ var path = req.toUrl(name), fs = require.nodeRequire("fs"), dust = require.nodeRequire("dustjs-linkedin"), template = fs.readFileSync(path); templates[name] = dust.compile(template.toString(), name); load(template); } else { req([name, 'dust-core', 'dust-helpers']); } }, write: function(pluginName, moduleName, write){ write("define('" + pluginName + "!" + moduleName + "', ['dust-helpers', 'dust-core'], function(helpers){" + templates[moduleName] + "return function(data, callback){ dust.render('" + moduleName + "', helpers.push(data), callback); }" + "});"); } });