forked from electrode-io/electrode-archetype-njs-module-dev
-
Notifications
You must be signed in to change notification settings - Fork 0
/
arch-gulpfile.js
37 lines (31 loc) · 1.16 KB
/
arch-gulpfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
"use strict";
const Path = require("path");
const gulpHelper = require("electrode-gulp-helper");
const fs = require("fs");
function setupPath() {
gulpHelper.envPath.addToFront(Path.resolve("node_modules/.bin"));
gulpHelper.envPath.addToFront(Path.join(__dirname, "node_modules/.bin"));
}
let eslintDir = `${__dirname}/config/eslint`;
function checkCustomEslint() {
const customDir = Path.resolve("eslint");
if (fs.existsSync(customDir)) {
eslintDir = customDir;
}
}
checkCustomEslint();
const tasks = {
"lint-lib": `eslint -c ${eslintDir}/.eslintrc-node lib --color`,
"lint-test": `eslint -c ${eslintDir}/.eslintrc-test test --color`,
"lint": [["lint-lib", "lint-test"]],
"test": [["lint-lib", "lint-test", "test-only"]],
"test-only": `mocha -c --opts ${__dirname}/config/test/mocha.opts test/spec`,
"test-cov": `istanbul cover -x gulpfile.js -x "dist/**" --include-all-sources _mocha -- -c --opts ${__dirname}/config/test/mocha.opts test/spec`,
"test-ci": ["test-cov"],
"check": ["lint", "test-cov"],
"check-ci": ["lint", "test-ci"]
};
module.exports = function (gulp) {
setupPath();
gulpHelper.loadTasks(tasks, gulp || require("gulp"));
};