Included browserify

Signed-off-by: Jim Martens <github@2martens.de>
This commit is contained in:
2019-02-27 12:27:23 +01:00
parent 6ab84d6122
commit bfc68491fc

View File

@ -4,10 +4,14 @@
const autoprefixer = require("autoprefixer"); const autoprefixer = require("autoprefixer");
const babel = require("gulp-babel"); const babel = require("gulp-babel");
const browserSync = require("browser-sync").create(); const browserSync = require("browser-sync").create();
const babelify = require("babelify");
const browserify = require("browserify");
const buffer = require("vinyl-buffer");
const cleancss = require("gulp-clean-css"); const cleancss = require("gulp-clean-css");
const concat = require("gulp-concat"); const concat = require("gulp-concat");
const del = require("del"); const del = require("del");
const exec = require("child_process").exec; const exec = require("child_process").exec;
const globby = require("globby");
const gulp = require("gulp"); const gulp = require("gulp");
const gutil = require("gulp-util"); const gutil = require("gulp-util");
const imagemin = require("gulp-imagemin"); const imagemin = require("gulp-imagemin");
@ -17,7 +21,9 @@ const rename = require("gulp-rename");
const run = require("gulp-run"); const run = require("gulp-run");
const sass = require("gulp-ruby-sass"); const sass = require("gulp-ruby-sass");
const sourcemaps = require("gulp-sourcemaps"); const sourcemaps = require("gulp-sourcemaps");
const source = require("vinyl-source-stream");
const terser = require("gulp-terser"); const terser = require("gulp-terser");
const through = require("through2");
// Include paths file. // Include paths file.
const paths = require("./_assets/gulp_config/paths"); const paths = require("./_assets/gulp_config/paths");
@ -67,23 +73,39 @@ gulp.task("clean:styles", function () {
// Concatenates and uglifies global JS files and outputs result to the // Concatenates and uglifies global JS files and outputs result to the
// appropriate location. // appropriate location.
gulp.task("build:scripts:global", function () { gulp.task("build:scripts:global", function () {
return gulp.src(depfiles.concat([ let bundledStream = through();
const files = depfiles.concat([
//paths.jsFiles + "/global/lib" + paths.jsPattern, //paths.jsFiles + "/global/lib" + paths.jsPattern,
paths.jsFiles + "/global/*.js", paths.jsFiles + "/global/*.js",
paths.jsFiles + "/main.js" paths.jsFiles + "/main.js"
])).pipe(sourcemaps.init({largeFile: true})) ]);
.pipe(babel({ bundledStream
presets: ["@babel/env"] .pipe(source("main.js"))
})) .pipe(buffer())
.pipe(concat("main.js")) .pipe(sourcemaps.init({largeFile: true, loadMaps: true}))
.pipe(terser({ //.pipe(concat("main.js"))
keep_fnames: true, //.pipe(terser())
mangle: false .pipe(sourcemaps.write("."))
}))
.pipe(sourcemaps.write())
.pipe(gulp.dest(paths.jekyllJsFiles)) .pipe(gulp.dest(paths.jekyllJsFiles))
.pipe(gulp.dest(paths.siteJsFiles)) .pipe(gulp.dest(paths.siteJsFiles))
.on("error", gutil.log); .on("error", gutil.log);
globby(files).then(function(entries) {
// create the Browserify instance.
let b = browserify({
entries: entries,
debug: true,
}).transform(babelify, {presets: ["@babel/preset-env"]});
// pipe the Browserify stream into the stream we created earlier
// this starts our gulp pipeline.
b.bundle().pipe(bundledStream);
}).catch(function(err) {
// ensure any errors from globby are handled
bundledStream.emit("error", err);
});
return bundledStream;
}); });
gulp.task("clean:scripts", function () { gulp.task("clean:scripts", function () {