78 lines
1.7 KiB
JavaScript
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"]);
|