Files
old-spike/server/lib/tasks/component_map_writer.js
2016-03-01 13:16:31 -06:00

32 lines
981 B
JavaScript

import FsHelper from './../fs_helper';
import fs from 'fs';
class ComponentMapWriter {
static write(path){
return new Promise((fnResolve, fnReject)=>{
var TEMPLATE_ROUTES = {};
FsHelper.walk(__dirname + '/../../../client/dashboard', (err, files)=>{
files.forEach((file)=>{
if (!/\.component\.js$/.test(file)) return true;
var rel_path = file.match(/dashboard\/.+/)[0].replace('.component.js', ''),
parts = file.match(/dashboard\/([^\/]+).*\/([^\/]+)\.component\.js$/),
template_name;
if (parts[1] === parts[2]) template_name = parts[1];
else template_name = parts[1] + '_' + parts[2];
TEMPLATE_ROUTES[template_name] = rel_path;
});
var content = 'export const COMPONENT_MAP = ' + JSON.stringify(TEMPLATE_ROUTES);
fs.writeFile(path, content, function(err) {
fnResolve();
});
});
});
}
}
export default ComponentMapWriter;