UNPKG

714 BJavaScriptView Raw
1const path = require('path');
2const glob = require('glob');
3const each = require('lodash/each');
4
5const deunderbar = (filename) => {
6 if (path.basename(filename) === filename) {
7 return filename.replace(/^_/, '');
8 } else {
9 return path.join(
10 path.dirname(filename),
11 path.basename(filename).replace(/^_/, '')
12 );
13 }
14};
15
16const iterateTemplateFilesFromDirectory = (dir, callback) => {
17 const files = glob.sync(path.join(dir, '**/*'), { dot: true, nodir: true });
18 each(files, (file) => {
19 const templateName = path.relative(dir, file);
20 const filename = deunderbar(templateName);
21 callback({ templateName, filename });
22 });
23};
24
25module.exports = iterateTemplateFilesFromDirectory;