mew-template
Version:
Precompile template to cmd module
45 lines (36 loc) • 1.33 kB
JavaScript
var fs = require('fs');
var path = require('path');
var tmpl = require('../');
var should = require('should');
var tpl = process.cwd() + '/test/tpl/';
describe('test/index.js', function() {
it('precompile all template', function() {
var files = fs.readdirSync(tpl);
files = files.filter(function (filename) {
if (path.extname(filename) !== '.tpl') {
fs.unlinkSync(tpl + filename);
return false;
} else {
return true;
}
});
files.forEach(function(filename) {
var engine = filename.slice(0, -4);
var isBrace = /old|brace/.test(engine);
var content = fs.readFileSync(tpl + filename, 'utf8');
if (/dot|jst/.test(engine)) {
engine = engine.match(/dot|jst/)[0]
}
var template = tmpl(content, {
engine: engine,
wrap: Math.random() > 0.5 ? 'define' : 'modulex',
syntax: isBrace ? '<%%>' : '{{}}'
});
if (template.e) {
console.error(template.e.stack);
template = 'console.log(' + template.e.stack + ';';
}
fs.writeFileSync(tpl + filename.slice(0, -4) + '.js', template);
});
});
});