1 | const path = require('path');
|
2 | const glob = require('glob');
|
3 | const each = require('lodash/each');
|
4 |
|
5 | const 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 |
|
16 | const 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 |
|
25 | module.exports = iterateTemplateFilesFromDirectory;
|