summaryrefslogtreecommitdiffstats
path: root/node_modules/sift/gulpfile.js
diff options
context:
space:
mode:
authorGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
committerGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
commite06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch)
tree55713f725f77b44ebfec86e4eec3ce33e71458ca /node_modules/sift/gulpfile.js
downloadwebsite_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip
api, login, auth
Diffstat (limited to 'node_modules/sift/gulpfile.js')
-rw-r--r--node_modules/sift/gulpfile.js154
1 files changed, 154 insertions, 0 deletions
diff --git a/node_modules/sift/gulpfile.js b/node_modules/sift/gulpfile.js
new file mode 100644
index 0000000..19cd650
--- /dev/null
+++ b/node_modules/sift/gulpfile.js
@@ -0,0 +1,154 @@
+var gulp = require("gulp");
+var istanbul = require("gulp-istanbul");
+var mocha = require("gulp-mocha");
+var plumber = require("gulp-plumber");
+var jshint = require("gulp-jshint");
+var uglify = require("gulp-uglify");
+var jscs = require("gulp-jscs");
+var coveralls = require("gulp-coveralls");
+var rename = require("gulp-rename");
+var options = require("yargs").argv;
+
+var pkg = require("./package");
+
+/**
+ */
+
+var paths = {
+ testFiles : ["test/**/*-test.js"],
+ appFiles : ["sift.js"],
+ allFiles : ["test/**/*-test.js", "sift.js"]
+};
+
+/**
+ */
+
+var mochaOptions = {
+ bail : options.bail !== 'false',
+ reporter : options.reporter || 'dot',
+ grep : options.grep || options.only,
+ timeout : 500
+}
+
+/**
+ */
+
+gulp.task("test-coverage", function (complete) {
+ gulp.
+ src(paths.appFiles).
+ pipe(istanbul()).
+ pipe(istanbul.hookRequire()).
+ on("finish", function () {
+ gulp.
+ src(paths.testFiles).
+ pipe(plumber()).
+ pipe(mocha(mochaOptions)).
+ pipe(istanbul.writeReports({
+ reporters: ["text","text-summary", "lcov"]
+ })).
+ on("end", complete);
+ });
+});
+
+/**
+ */
+
+gulp.task("test-coveralls", ["test-coverage"], function () {
+ return gulp.
+ src("coverage/**/lcov.info").
+ pipe(coveralls());
+});
+/**
+ */
+
+gulp.task("minify", function() {
+ return gulp.
+ src("./" + pkg.name + ".js").
+ pipe(uglify()).
+ pipe(rename(function(path) {
+ path.basename += ".min";
+ })).
+ pipe(gulp.dest("./"));
+});
+
+/**
+ */
+
+gulp.task("lint", function() {
+ return gulp.run(["jshint", "jscs"]);
+});
+
+/**
+ */
+
+gulp.task("jscs", function() {
+ return gulp.
+ src(paths.allFiles).
+ pipe(jscs({
+ "preset": "google",
+ "requireParenthesesAroundIIFE": true,
+ "maximumLineLength": 200,
+ "validateLineBreaks": "LF",
+ "validateIndentation": 2,
+ "validateQuoteMarks": "\"",
+
+ "disallowKeywords": ["with"],
+ "disallowSpacesInsideObjectBrackets": null,
+ "disallowImplicitTypeConversion": ["string"],
+ "requireCurlyBraces": [],
+
+ "safeContextKeyword": "self"
+ }));
+});
+
+/**
+ */
+
+gulp.task("jshint", function() {
+ return gulp.
+ src(paths.allFiles).
+ pipe(jshint({
+ es3: true,
+ evil: true
+ })).
+ pipe(jshint.reporter('default'));
+});
+
+/**
+ */
+
+gulp.task("test", function (complete) {
+ gulp.
+ src(paths.testFiles, { read: false }).
+ pipe(plumber()).
+ pipe(mocha(mochaOptions)).
+ on("error", complete).
+ on("end", complete);
+});
+
+var iofwatch = process.argv.indexOf("watch");
+
+/**
+ * runs previous tasks (1 or more)
+ */
+
+gulp.task("watch", function () {
+ gulp.watch(paths.allFiles, process.argv.slice(2, iofwatch));
+});
+
+/**
+ */
+
+gulp.task("default", function () {
+ return gulp.run("test-coverage");
+});
+
+/**
+ */
+
+gulp.doneCallback = function (err) {
+
+ // a bit hacky, but fixes issue with testing where process
+ // doesn't exist process. Also fixes case where timeout / interval are set (CC)
+ if (!~iofwatch) process.exit(err ? 1 : 0);
+};