32 lines
981 B
JavaScript
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;
|