mist
Version:
Mist build system
32 lines (30 loc) • 924 B
JavaScript
module.exports = function(config) {
var Mistfile, NinjaRenderer, e, fs, mist, mistdir, mistfile, path, rendered, resolver;
fs = require('fs');
path = require('path');
Mistfile = require('../lib/mistfile');
NinjaRenderer = require('../lib/renderer/ninja');
mistfile = Mistfile.find(config.cwd);
if (!mistfile) {
throw 'Mistfile not found (reached filesystem boundary)';
}
mistdir = path.dirname(mistfile);
console.log('mist: evaporating Mistfile:', mistfile);
try {
mist = Mistfile.fromFile(mistfile);
resolver = mist.resolve(mistdir);
rendered = NinjaRenderer.render(resolver);
fs.writeFileSync(config.out, rendered);
return console.log('mist: rendered to', config.out);
} catch (_error) {
e = _error;
if (e.constructor === String) {
e = {
message: e
};
}
e.filename = mistfile;
throw e;
}
};
//# sourceMappingURL=mist-render.js.map