update design bundle for router
This commit is contained in:
33
server/lib/fs_helper.js
Normal file
33
server/lib/fs_helper.js
Normal file
@@ -0,0 +1,33 @@
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
|
||||
class FsHelper {
|
||||
|
||||
// http://stackoverflow.com/questions/5827612/node-js-fs-readdir-recursive-directory-search
|
||||
static walk(dir, done) {
|
||||
var results = [];
|
||||
fs.readdir(dir, function(err, list) {
|
||||
if (err) return done(err);
|
||||
var i = 0;
|
||||
(function next() {
|
||||
var file = list[i++];
|
||||
if (!file) return done(null, results);
|
||||
file = path.resolve(dir, file);
|
||||
fs.stat(file, function(err, stat) {
|
||||
if (stat && stat.isDirectory()) {
|
||||
FsHelper.walk(file, function(err, res) {
|
||||
results = results.concat(res);
|
||||
next();
|
||||
});
|
||||
} else {
|
||||
results.push(file);
|
||||
next();
|
||||
}
|
||||
});
|
||||
})();
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default FsHelper;
|
||||
31
server/lib/tasks/component_map_writer.js
Normal file
31
server/lib/tasks/component_map_writer.js
Normal file
@@ -0,0 +1,31 @@
|
||||
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;
|
||||
Reference in New Issue
Block a user