UNPKG

974 BJavaScriptView Raw
1'use strict';
2
3var fs = require('fs');
4
5var utils = {
6 requireAll: requireAll,
7 removeItem: removeItem
8};
9
10module.exports = utils;
11
12/////////////////////////////
13
14function requireAll(dirname) {
15 var files;
16 var tasks = {};
17
18 if (dirname && fs.statSync(dirname).isDirectory() ) {
19
20 files = fs.readdirSync(dirname);
21
22 files.forEach(function(file){
23 if (file !== 'index.js') {
24 var filepath = dirname + '/' + file;
25
26 if (fs.statSync(filepath).isDirectory()) {
27 var recursive = _requireAll(filepath);
28 tasks = _.extend(tasks, recursive);
29 } else {
30 var task = require(filepath);
31 tasks[task.name] = task;
32 }
33 }
34 });
35 }
36
37 return tasks;
38}
39
40function removeItem(arr, item) {
41 var pos = arr.indexOf(item);
42
43 if (pos > -1) {
44 arr.splice(pos, 1);
45 }
46
47 return arr;
48}