|
1 |
| -var gulp = require("gulp"); |
| 1 | +var gulp = require("gulp"), connect = require('gulp-connect'); |
2 | 2 | var browserify = require("browserify");
|
3 |
| -var source = require("vinyl-source-stream"); |
| 3 | +var source = require("vinyl-source-stream"), buffer = require('vinyl-buffer'); |
4 | 4 | var watchify = require("watchify");
|
5 | 5 | var tsify = require("tsify");
|
6 | 6 | var fancy_log = require("fancy-log");
|
7 |
| -var paths = { |
8 |
| - pages: ["src/*.html"], |
9 |
| -}; |
10 |
| -var watchedBrowserify = watchify( |
11 |
| - browserify({ |
12 |
| - basedir: ".", |
13 |
| - debug: true, |
14 |
| - entries: ["src/main.ts", "src/simulcast.ts"], |
15 |
| - cache: {}, |
16 |
| - packageCache: {}, |
17 |
| - }).plugin(tsify) |
18 |
| -); |
19 |
| -gulp.task("copy-html", function () { |
20 |
| - return gulp.src(paths.pages).pipe(gulp.dest("dist")); |
21 |
| -}); |
22 |
| -function bundle() { |
23 |
| - return watchedBrowserify |
24 |
| - .bundle() |
25 |
| - .on("error", fancy_log) |
26 |
| - .pipe(source("bundle.js")) |
27 |
| - .pipe(gulp.dest("dist")); |
| 7 | +var sourcemaps = require('gulp-sourcemaps'); |
| 8 | + |
| 9 | +var customOpts = {entries : [ "src/*.html", "src/*.ts" ], debug : true}; |
| 10 | + |
| 11 | +var b = watchify(browserify({ |
| 12 | + basedir : ".", |
| 13 | + debug : true, |
| 14 | + entries : [ "src/main.ts", "src/simulcast.ts" ], |
| 15 | + cache : {}, |
| 16 | + packageCache : {}, |
| 17 | +}).plugin(tsify)); |
| 18 | + |
| 19 | +gulp.task('js', bundle); // so you can run `gulp js` to build the file |
| 20 | +b.on('update', bundle); // on any dep update, runs the bundler |
| 21 | +b.on('log', fancy_log.info); // output build logs to terminal |
| 22 | + |
| 23 | +gulp.task("copy-html", function() { return gulp.src(customOpts.entries).pipe(gulp.dest("dist")); }); |
| 24 | +gulp.task('connect', function() { connect.server({root : 'dist', livereload : true, port : 3000}); }); |
| 25 | + |
| 26 | +gulp.task('default', gulp.series('js', 'copy-html', 'connect')); |
| 27 | + |
| 28 | +function bundle() |
| 29 | +{ |
| 30 | + return b |
| 31 | + .bundle() |
| 32 | + // log errors if they happen |
| 33 | + .on('error', fancy_log.error.bind(fancy_log, 'Browserify Error')) |
| 34 | + .pipe(source('bundle.js')) |
| 35 | + // optional, remove if you don't need to buffer file contents |
| 36 | + .pipe(buffer()) |
| 37 | + // optional, remove if you dont want sourcemaps |
| 38 | + .pipe(sourcemaps.init({loadMaps : true})) // loads map from browserify file |
| 39 | + // Add transformation tasks to the pipeline here. |
| 40 | + .pipe(sourcemaps.write('./')) // writes .map file |
| 41 | + .pipe(gulp.dest('./dist')); |
28 | 42 | }
|
29 |
| -gulp.task("default", gulp.series(gulp.parallel("copy-html"), bundle)); |
30 |
| -watchedBrowserify.on("update", bundle); |
31 |
| -watchedBrowserify.on("log", fancy_log); |
|
0 commit comments