1 | 1 | var fs = require('fs'); |
|
2 | 1 | var path = require('path'); |
|
3 | 1 | var readdir = require('../util/readdir.js'); |
|
4 | |||
5 | /** |
||
6 | * Looks for files with the .js extension within the given directory, and attempts to add them as Handlebars helpers. |
||
7 | * @param {string} dir - Folder to check for helpers. |
||
8 | */ |
||
9 | function loadHandlebarsHelpers (dir) { |
||
10 | 81 | var helpers = readdir(dir, '**/*.js'); |
|
11 | 81 | for (var i in helpers) { |
|
12 | var helper; |
||
13 | 1 | var name = path.basename(helpers[i], '.js'); |
|
14 | |||
15 | 1 | try { |
|
16 | 2 | if (this.handlebars.helpers[name]){ |
|
17 | //delete require.cache[require.resolve(path.join(helpers[i]))]; |
||
18 | delete require.cache[path.join(process.cwd(), helpers[i])]; |
||
19 | this.handlebars.unregisterHelper(name); |
||
20 | } |
||
21 | |||
22 | 1 | helper = require(path.join(process.cwd(), helpers[i])); |
|
23 | 1 | this.handlebars.registerHelper(name, helper); |
|
24 | } |
||
25 | catch (e) { |
||
26 | console.warn('Error when loading ' + name + '.js as a Handlebars helper.', helper, e); |
||
0 ignored issues
–
show
Bug
introduced
by
Loading history...
|
|||
27 | } |
||
28 | } |
||
29 | } |
||
30 | |||
31 | module.exports = loadHandlebarsHelpers; |