summaryrefslogtreecommitdiff
path: root/gulpfile.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2020-10-08 15:35:20 +0300
committerAndrew Dolgov <[email protected]>2020-10-08 15:35:20 +0300
commit0add899fa4e15e1f0a872f03805a63886e999ca7 (patch)
tree6b0580aa6e1a1fd196db814ba71bf369854d00cf /gulpfile.js
parent9ad30ca5b7a760f89be8cb1d3095a2e8ab8d7d3e (diff)
initial for gulp
Diffstat (limited to 'gulpfile.js')
-rw-r--r--gulpfile.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/gulpfile.js b/gulpfile.js
new file mode 100644
index 0000000..6f02804
--- /dev/null
+++ b/gulpfile.js
@@ -0,0 +1,68 @@
+// Less configuration
+const gulp = require('gulp');
+const less = require('gulp-less');
+const minifyCSS = require('gulp-minify-css');
+const concat = require('gulp-concat');
+const rename = require('gulp-rename');
+const uglify = require('gulp-uglify-es').default;
+
+function swallowError(error) {
+ console.log(error.toString())
+
+ this.emit('end')
+ }
+
+gulp.task('minifyLibsJS', function(cb) {
+ gulp
+ .src([
+ 'lib/bootstrap/v3/js/jquery.js',
+ 'lib/bootstrap/v3/js/bootstrap.min.js',
+ 'lib/epub.js',
+ 'lib/localforage.min.js',
+ 'lib/jquery.mobile-events.min.js',
+ 'lib/hyphen/*.js',
+ 'lib/promise.js',
+ 'lib/fetch.js',
+ 'lib/zip.min.js'])
+ .pipe(concat('app-libs.min.js'))
+ .pipe(uglify())
+ .on('error', swallowError)
+ .pipe(gulp.dest('dist/'));
+
+ cb();
+});
+
+
+gulp.task('minifyJS', function(cb) {
+ gulp
+ .src('js/*.js')
+ .pipe(concat('app.min.js'))
+ .pipe(uglify())
+ .on('error', swallowError)
+ .pipe(gulp.dest('dist/'));
+
+ cb();
+});
+
+gulp.task('minifyCSS', function(cb) {
+ gulp
+ .src(['css/default.less'])
+ .pipe(less())
+ .pipe(minifyCSS())
+ .pipe(rename("app.min.css"))
+ .on('error', swallowError)
+ .pipe(gulp.dest('dist/'));
+
+ cb();
+});
+
+gulp.task(
+ 'default',
+ function(cb) {
+ gulp.watch(['lib/**/*.js', 'lib/*.js'], gulp.series('minifyLibsJS'));
+ gulp.watch(['js/*.js'], gulp.series('minifyJS'));
+ gulp.watch(['css/*.less'], gulp.series('minifyCSS'));
+
+ cb();
+ }
+);