Files
zoff/gulpfile.js
2019-11-16 17:19:14 +01:00

176 lines
4.0 KiB
JavaScript
Executable File

var gulp = require("gulp"),
uglify = require("gulp-uglify"),
concat = require("gulp-concat"),
cleanCSS = require("gulp-clean-css");
gulp.task("css", function () {
return gulp
.src([
"server/public/assets/css/style.css",
"server/public/assets/css/globals.css",
"server/public/assets/css/animations.css",
"server/public/assets/css/mobile.css"
])
.pipe(concat("style.css"))
.pipe(cleanCSS({
compatibility: "ie8"
}))
.pipe(gulp.dest("server/public/assets/dist"));
});
gulp.task("css-embed", function () {
return gulp
.src("server/public/assets/css/embed.css")
.pipe(cleanCSS({
compatibility: "ie8"
}))
.pipe(gulp.dest("server/public/assets/dist"));
});
gulp.task("js", function () {
return (
gulp
.src([
"server/VERSION.js",
"server/config/api_key.js",
"server/public/assets/js/*.js",
"!server/public/assets/js/embed*",
"!server/public/assets/js/token*",
"!server/public/assets/js/remotecontroller.js",
"!server/public/assets/js/callback.js"
])
.pipe(concat("main.min.js"))
.pipe(
uglify({
mangle: true,
compress: true,
enclose: true
})
)
.pipe(gulp.dest("server/public/assets/dist"))
);
});
gulp.task("embed", function () {
return (
gulp
.src([
"server/VERSION.js",
"server/config/api_key.js",
"server/public/assets/js/player.js",
"server/public/assets/js/functions.js",
"server/public/assets/js/helpers.js",
"server/public/assets/js/playercontrols.js",
"server/public/assets/js/list.js",
"server/public/assets/js/embed.js",
"!server/public/assets/js/frontpage*",
"!server/public/assets/js/remotecontroller.js",
"server/public/assets/js/hostcontroller.js"
])
.pipe(concat("embed.min.js"))
.pipe(
uglify({
mangle: true,
compress: true,
enclose: true
})
)
.pipe(gulp.dest("server/public/assets/dist"))
);
});
gulp.task("token", function () {
return (
gulp
.src([
"server/public/assets/js/token*",
"server/public/assets/js/helpers.js"
])
.pipe(concat("token.min.js"))
.pipe(
uglify({
mangle: true,
compress: true,
enclose: true
})
)
.pipe(gulp.dest("server/public/assets/dist"))
);
});
gulp.task("callback", function () {
return (
gulp
.src([
"server/VERSION.js",
"server/config/api_key.js",
"server/public/assets/js/callback.js"
])
.pipe(concat("callback.min.js"))
.pipe(
uglify({
mangle: true,
compress: true,
enclose: true
})
)
.pipe(gulp.dest("server/public/assets/dist"))
);
});
gulp.task("build", done => {
gulp.series(
"css",
"css-embed",
"js",
"embed",
"remotecontroller",
"callback",
"token"
)();
done();
});
gulp.task("remotecontroller", function () {
return (
gulp
.src([
"server/VERSION.js",
"server/config/api_key.js",
"server/public/assets/js/remotecontroller.js",
"server/public/assets/js/helpers.js"
])
.pipe(concat("remote.min.js"))
.pipe(
uglify({
mangle: true,
compress: true,
enclose: true
})
)
.pipe(gulp.dest("server/public/assets/dist"))
);
});
gulp.task("default", function () {
gulp.watch(["server/VERSION.js", "server/public/assets/js/*.js"], ["js"]);
gulp.watch(["server/public/assets/css/*.css"], ["css"]);
gulp.watch(["server/public/assets/css/*.css"], ["css-embed"]);
gulp.watch(
["server/public/assets/js/token*.js", "server/public/assets/js/helpers.js"],
["token"]
);
gulp.watch(["server/VERSION.js", "server/public/assets/js/*.js"], ["embed"]);
gulp.watch(
[
"server/VERSION.js",
"server/public/assets/js/callback.js",
"server/public/assets/js/helpers.js"
],
["callback"]
);
gulp.watch(
["server/VERSION.js", "server/public/assets/js/remotecontroller.js"],
["remotecontroller"]
);
});