yjs/gulpfile.js
2015-06-15 14:53:02 +02:00

78 lines
1.7 KiB
JavaScript

/*eslint-env node */
var gulp = require("gulp");
var sourcemaps = require("gulp-sourcemaps");
var babel = require("gulp-babel");
var uglify = require("gulp-uglify");
var minimist = require("minimist");
var eslint = require("gulp-eslint");
var jasmine = require("gulp-jasmine");
var concat = require("gulp-concat");
var moduleName = "y.js";
var files = {
y: ["src/**/*.js"],
lint: ["src/**/*.js", "gulpfile.js"],
tests: ["tests/**/*.js"]
};
var options = minimist(process.argv.slice(2), {
string: "export",
default: { export: "ignore" }
});
gulp.task("test", function () {
return gulp.src(files.y.concat(files.tests))
.pipe(sourcemaps.init())
.pipe(concat(moduleName))
.pipe(babel({
loose: "all",
modules: "common"
}))
.pipe(uglify())
.pipe(gulp.dest("build"))
.pipe(jasmine({
verbose: true,
includeStuckTrace: true
}))
.pipe(sourcemaps.write("."));
});
gulp.task("build_browser", function () {
return gulp.src(files.y)
.pipe(sourcemaps.init())
.pipe(babel({
loose: "all",
modules: "ignore"
}))
.pipe(concat(moduleName))
.pipe(uglify())
.pipe(sourcemaps.write("."))
.pipe(gulp.dest("."));
});
gulp.task("build_node", function(){
gulp.src(files.y)
.pipe(sourcemaps.init())
.pipe(babel({
loose: "all",
modules: "common"
}))
.pipe(sourcemaps.write("."))
.pipe(gulp.dest("./build_node"));
});
gulp.task("lint", function(){
return gulp.y(files.lint)
.pipe(eslint())
.pipe(eslint.format())
.pipe(eslint.failOnError());
});
gulp.task("develop", function(){
return gulp.watch(files.src, ["build"]);
});
gulp.task("default", ["build"]);