UNPKG

benbria-build

Version:

This is a tool for building projects using [Ninja](http://martine.github.io/ninja/). It assumes your project follows a certain layout.

46 lines (40 loc) 1.62 kB
// Generated by CoffeeScript 1.6.3 (function() { var findScript, ninjaFactories; ninjaFactories = require('./ninjaFactories'); findScript = require('./ninjaCommands').findScript; exports.defineFactory = ninjaFactories.defineFactory; exports.defineBrowserifyFactory = function(name, sourceFile, targetFile, options) { return exports.defineFactory("browserify-" + name, { makeRules: function(ninja, config) { return ['debug', 'release'].forEach(function(releaseType) { var cli, rule; cli = "$buildCoffee " + (findScript('browserify-bundle.coffee')); if (options.extensions) { cli += " --extensions '" + (options.extensions.join(",")) + "'"; } if (options.transforms) { cli += " --transforms '" + (options.transforms.join(",")) + "'"; } cli += " --out $out --i18n $out.i18n"; if (releaseType === 'debug') { cli += " --deps $out.d --debug"; } cli += " ./$in"; rule = ninja.rule("browserify-" + name + "-" + releaseType); rule.run(cli); if (releaseType === 'debug') { rule.depfile('$out.d'); } return rule.description("(" + releaseType + ") BROWSERIFY $in"); }); }, assetFiles: sourceFile, makeAssetEdge: function(ninja, source, target, releaseType) { target = "build/assets/" + releaseType + "/js/" + targetFile; ninja.edge(target).from(source).using("browserify-" + name + "-" + releaseType); return [target]; } }); }; }).call(this);