46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
// Tasks to compress
|
|
|
|
import gulp from "gulp";
|
|
import zopfli from "gulp-zopfli-green";
|
|
import merge from "merge-stream";
|
|
import path from "path";
|
|
import paths from "../paths.cjs";
|
|
|
|
const zopfliOptions = { threshold: 150 };
|
|
|
|
gulp.task("compress-app", function compressApp() {
|
|
const jsLatest = gulp
|
|
.src(path.resolve(paths.app_output_latest, "**/*.js"))
|
|
.pipe(zopfli(zopfliOptions))
|
|
.pipe(gulp.dest(paths.app_output_latest));
|
|
|
|
const jsEs5 = gulp
|
|
.src(path.resolve(paths.app_output_es5, "**/*.js"))
|
|
.pipe(zopfli(zopfliOptions))
|
|
.pipe(gulp.dest(paths.app_output_es5));
|
|
|
|
const polyfills = gulp
|
|
.src(path.resolve(paths.app_output_static, "polyfills/*.js"))
|
|
.pipe(zopfli(zopfliOptions))
|
|
.pipe(gulp.dest(path.resolve(paths.app_output_static, "polyfills")));
|
|
|
|
const translations = gulp
|
|
.src(path.resolve(paths.app_output_static, "translations/**/*.json"))
|
|
.pipe(zopfli(zopfliOptions))
|
|
.pipe(gulp.dest(path.resolve(paths.app_output_static, "translations")));
|
|
|
|
const icons = gulp
|
|
.src(path.resolve(paths.app_output_static, "mdi/*.json"))
|
|
.pipe(zopfli(zopfliOptions))
|
|
.pipe(gulp.dest(path.resolve(paths.app_output_static, "mdi")));
|
|
|
|
return merge(jsLatest, jsEs5, polyfills, translations, icons);
|
|
});
|
|
|
|
gulp.task("compress-hassio", function compressApp() {
|
|
return gulp
|
|
.src(path.resolve(paths.hassio_output_root, "**/*.js"))
|
|
.pipe(zopfli(zopfliOptions))
|
|
.pipe(gulp.dest(paths.hassio_output_root));
|
|
});
|