gulp/modules.js   A
last analyzed

Complexity

Total Complexity 5
Complexity/F 1.25

Size

Lines of Code 52
Function Count 4

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 5
eloc 37
mnd 1
bc 1
fnc 4
dl 0
loc 52
rs 10
bpm 0.25
cpm 1.25
noi 0
c 0
b 0
f 0
1
const gulpUtils = require("./gulp-utils");
2
const utils = require("./utils");
3
const fs = require("fs");
4
const mainDir = "./extensions/modules";
5
const prefix = "mod_";
6
const mainBaseTask = "modules";
7
const mainModuleDirs = ["site", "admin"];
8
const mainTasks = [];
9
10
mainModuleDirs.forEach((mmDir) => {
11
    const fullDir = mainDir + "/" + mmDir;
12
13
    if (!fs.existsSync(fullDir)) {
14
        return;
15
    }
16
17
    const moduleDirs = utils.getFilesByType(fullDir, "directory");
18
    const moduleTasks = gulpUtils.generateDirTasks(
19
        fullDir,
20
        mainBaseTask + ":" + mmDir
21
    );
22
23
    moduleDirs.forEach(function (dir) {
24
        const moduleDir = fullDir + "/" + dir;
25
        const moduleBaseTask = mainBaseTask + ":" + mmDir + ":" + dir;
26
        gulpUtils.generateContentTasks(
27
            moduleDir,
28
            [],
29
            dir,
30
            moduleBaseTask,
31
            "modules/" + mmDir + "/" + dir,
32
            mainBaseTask + "/" + mmDir,
33
            prefix + dir
34
        );
35
    });
36
    gulpUtils.createGulpTasks(
37
        mainBaseTask + ":" + mmDir,
38
        moduleTasks.tasks,
39
        false
40
    );
41
    mainTasks.push(mainBaseTask + ":" + mmDir);
42
});
43
44
const tasks = gulpUtils.getBaseTasks();
45
46
mainTasks.forEach((mainTask) => {
47
    Object.keys(tasks).forEach((task) => {
48
        tasks[task].push(task + ":" + mainTask);
49
    });
50
});
51
52
gulpUtils.createGulpTasks(mainBaseTask, tasks, false);
53