4chan-x/tools/chain.js

26 lines
803 B
JavaScript

var fs = require('fs');
var template = require('./template');
var coffee = require('coffee-script');
var globalize = require('./globalize');
for (var name of process.argv.slice(2)) {
try {
var parts = name.split('_');
var basename = parts[0]; // e.g. template_crx -> template
var script = fs.readFileSync(`tmp/${basename}.jst`, 'utf8');
script = script.replace(/\r\n/g, '\n');
script = template(script, {type: parts[1]});
if (fs.readdirSync(`src/${basename}`).some(f => /\.coffee$/.test(f))) {
script = coffee.compile(script);
var varNames = globalize.getNames(name);
script = globalize.globalize(script, varNames);
}
fs.writeFileSync(`tmp/${name}.js`, script);
} catch (err) {
console.error(`Error processing ${name}`);
throw err;
}
}