'use strict'; const gulp = require('gulp'); const path = require('path'); const browserify = require('browserify'); const source = require('vinyl-source-stream'); const buffer = require('vinyl-buffer'); const uglifyJs = require('gulp-uglify'); const sourcemaps = require('gulp-sourcemaps'); const concat = require('gulp-concat'); const rename = require('gulp-rename'); const merge = require('merge-stream'); module.exports = () => { const debug = browserify(path.join('src', 'js', 'main.js'), { debug: true }) .bundle() .pipe(source('main.js')) .pipe(buffer()) .pipe(sourcemaps.init({ loadMaps: true })) .pipe(sourcemaps.write()) .pipe(gulp.dest(path.join('dist', 'js'))); const production = browserify(path.join('src', 'js', 'main.js'), { debug: false }) .bundle() .pipe(source('pw-image-editor.js')) .pipe(buffer()) .pipe(gulp.dest(path.join('dist', 'js'))); const min = browserify(path.join('src', 'js', 'main.js'), { debug: false }) .bundle() .pipe(source('main.min.js')) .pipe(buffer()) .pipe(uglifyJs()) .pipe(gulp.dest(path.join('dist', 'js'))); const init = browserify(path.join('src', 'js', 'init.js'), { debug: false }) .bundle() .pipe(source('init.js')) .pipe(buffer()) .pipe(gulp.dest(path.join('dist', 'js'))); return merge(debug, production, min, init); };