|
|
|
@ -1,7 +1,8 @@
|
|
|
|
|
"use strict";
|
|
|
|
|
|
|
|
|
|
const gulp = require('gulp');
|
|
|
|
|
const sass = require('gulp-sass');
|
|
|
|
|
const concat = require('gulp-concat');
|
|
|
|
|
const gutil = require('gulp-util');
|
|
|
|
|
const imagemin = require('gulp-imagemin');
|
|
|
|
|
const cache = require('gulp-cache');
|
|
|
|
|
const gulpIf = require('gulp-if');
|
|
|
|
@ -16,23 +17,7 @@ const budo = require('budo');
|
|
|
|
|
const babelify = require('babelify');
|
|
|
|
|
|
|
|
|
|
const cssFiles = 'src/scss/**/*.?(s)css';
|
|
|
|
|
|
|
|
|
|
let css = gulp.src(cssFiles)
|
|
|
|
|
.pipe(sass())
|
|
|
|
|
.pipe(concat('style.css'))
|
|
|
|
|
.pipe(gulp.dest('build'));
|
|
|
|
|
|
|
|
|
|
gulp.task('watch', function(cb) {
|
|
|
|
|
budo("src/app.js", {
|
|
|
|
|
live: true,
|
|
|
|
|
dir: "build",
|
|
|
|
|
port: 3000,
|
|
|
|
|
browserify: {
|
|
|
|
|
transform: babelify
|
|
|
|
|
}
|
|
|
|
|
}).on('exit', cb);
|
|
|
|
|
gulp.watch(cssFiles, gulp.series(["sass"]));
|
|
|
|
|
});
|
|
|
|
|
const assetsFiles = [ "src/assets/**/*" ];
|
|
|
|
|
|
|
|
|
|
gulp.task("clean", function(done) {
|
|
|
|
|
del.sync('build');
|
|
|
|
@ -47,24 +32,25 @@ gulp.task("sass", function() {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
gulp.task("assets", function() {
|
|
|
|
|
return gulp.src(["src/assets/**/*"])
|
|
|
|
|
.pipe(gulpIf('*.+(png|jpg|jpeg|gif|svg)',
|
|
|
|
|
cache(imagemin({
|
|
|
|
|
interlaced: true
|
|
|
|
|
}))
|
|
|
|
|
))
|
|
|
|
|
.pipe(gulp.dest('build'));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
gulp.task('js', function() {
|
|
|
|
|
return gulp.src(['src/app.js', "src/components/**/*"])
|
|
|
|
|
.pipe(babel({
|
|
|
|
|
presets: [
|
|
|
|
|
['@babel/env', {
|
|
|
|
|
modules: false
|
|
|
|
|
}]
|
|
|
|
|
]
|
|
|
|
|
}))
|
|
|
|
|
return gulp.src(assetsFiles)
|
|
|
|
|
/* NOTE: Currently disabled, causes an error:
|
|
|
|
|
[19:47:33] Error: Callback called multiple times
|
|
|
|
|
at DestroyableTransform.afterTransform (/home/sven/projects/iris/node_modules/gulp-cache/node_modules/readable-stream/lib/_stream_transform.js:82:31)
|
|
|
|
|
at EventEmitter.signals.on.err (/home/sven/projects/iris/node_modules/gulp-cache/lib/index.js:451:7)
|
|
|
|
|
at emitOne (events.js:116:13)
|
|
|
|
|
at EventEmitter.emit (events.js:211:7)
|
|
|
|
|
at DestroyableTransform.onError (/home/sven/projects/iris/node_modules/gulp-cache/lib/index.js:288:15)
|
|
|
|
|
at Object.onceWrapper (events.js:315:30)
|
|
|
|
|
at emitOne (events.js:116:13)
|
|
|
|
|
at DestroyableTransform.emit (events.js:211:7)
|
|
|
|
|
at /home/sven/projects/iris/node_modules/through2-concurrent/through2-concurrent.js:41:14
|
|
|
|
|
at imagemin.buffer.then.catch.error (/home/sven/projects/iris/node_modules/gulp-imagemin/index.js:98:5)
|
|
|
|
|
*/
|
|
|
|
|
// .pipe(gulpIf('*.+(png|jpg|jpeg|gif|svg)',
|
|
|
|
|
// cache(imagemin({
|
|
|
|
|
// interlaced: true
|
|
|
|
|
// }))
|
|
|
|
|
// ))
|
|
|
|
|
.pipe(gulp.dest('build'));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
@ -83,6 +69,20 @@ gulp.task('js', function() {
|
|
|
|
|
.pipe(gulp.dest('build'));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
gulp.task('watch', gulp.series(["clean", "assets", "sass", function(cb) {
|
|
|
|
|
budo("src/app.js", {
|
|
|
|
|
live: true,
|
|
|
|
|
dir: "build",
|
|
|
|
|
port: 3000,
|
|
|
|
|
browserify: {
|
|
|
|
|
transform: babelify
|
|
|
|
|
}
|
|
|
|
|
}).on('exit', cb);
|
|
|
|
|
|
|
|
|
|
gulp.watch(cssFiles, gulp.series(["sass"]));
|
|
|
|
|
gulp.watch(assetsFiles, gulp.series(["assets"]));
|
|
|
|
|
}]));
|
|
|
|
|
|
|
|
|
|
gulp.task('build', gulp.parallel(['clean', 'assets', 'js', 'sass', function(done) {
|
|
|
|
|
done();
|
|
|
|
|
}]));
|
|
|
|
|