var gulp = require('gulp')
, uglify = require('gulp-uglify')
, concat = require('gulp-concat')
, sass = require('gulp-sass')
, sourcemaps = require('gulp-sourcemaps')
, source = require('vinyl-source-stream')
, buffer = require('vinyl-buffer')
,browserify = require("browserify")
var scripts = {
process: [
, './js/src/*.js'
]
};
gulp.task('js', function() {
return gulp.src(scripts.process)
.pipe(concat('main.js'))
.pipe(uglify())
.pipe(gulp.dest('./js/'));
});
gulp.task('reactjs', function() {
return browserify('./js/react/main.js')
.transform("babelify", {presets: ["es2015", "react"]})
.bundle()
.pipe(source('main-react.js'))
.pipe(buffer())
.pipe(uglify())
.pipe(gulp.dest("./js/"));
});
gulp.task('sass', function () {
return gulp.src('./sass/style.scss')
.pipe(sourcemaps.init())
.pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('./'));
});
gulp.task('watch', function() {
gulp.watch('./sass/**/*.scss', ['sass']);
gulp.watch('./sass/*.scss', ['sass']);
gulp.watch('./js/src/*.js', ['js']);
gulp.watch('./js/react/**/*.js', ['reactjs']);
gulp.watch('./js/react/*.js', ['reactjs']);
});
function nocrash(error) {
console.log(error.toString());
this.emit('end');
}
// default task
gulp.task('default', ['js', 'sass', 'reactjs', 'watch']);