/** * Seed for paths. * @author Taka Okunishi */ "use strict"; var u = require('../../util'), ext = require('../ext'), core = u.core, string = u.string, reducing = u.reducing, path = core.path, glob = ext.glob; var basedir = path.resolve(__dirname, '../../'); module.exports = { mode: '644', force: true, data: { doc: { file: 'apeman file paths.', module: 'apeman-front/lib/paths' }, relativePathToBaseDir: path.relative(__dirname, basedir), get paths() { return require('./.names') .map(function (data) { return glob.sync(data.src) .map(function (filename) { var extname = path.extname(filename); var basename = path.basename(filename, extname), exportsName = string.camelString([basename, extname].join('_')); return { exportsName: exportsName, pathName: path.relative(basedir, filename), pathBaseName: path.basename(filename), namespace: data.namespace }; }) }) .reduce(reducing.concatReduce(), []) .reduce(function (result, b) { for (var i = 0; i < result.length; i++) { var hit = result[i].namespace == b.namespace; if (hit) { result[i].paths.push(b); return result; } } return result.concat({ namespace: b.namespace, paths: [b] }); }, []); } } };