summaryrefslogtreecommitdiffhomepage
path: root/gui/tasks/scripts.js
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2021-01-19 15:30:35 +0100
committerOskar Nyberg <oskar@mullvad.net>2021-01-26 09:06:54 +0100
commite11ed3e9d6a7251941084905be5f582c2bfa9a4d (patch)
tree3c27f72af1fe26158f80bc11589d7ff5a840dc37 /gui/tasks/scripts.js
parent2dcefcc1bfefacda59f647769b0dd751977d2c62 (diff)
downloadmullvadvpn-e11ed3e9d6a7251941084905be5f582c2bfa9a4d.tar.xz
mullvadvpn-e11ed3e9d6a7251941084905be5f582c2bfa9a4d.zip
Add support for sourcemaps
Diffstat (limited to 'gui/tasks/scripts.js')
-rw-r--r--gui/tasks/scripts.js66
1 files changed, 44 insertions, 22 deletions
diff --git a/gui/tasks/scripts.js b/gui/tasks/scripts.js
index 120dd892e2..d32e704625 100644
--- a/gui/tasks/scripts.js
+++ b/gui/tasks/scripts.js
@@ -2,6 +2,7 @@ const { exec } = require('child_process');
const { dest, series, parallel } = require('gulp');
const ts = require('gulp-typescript');
const inject = require('gulp-inject-string');
+const sourcemaps = require('gulp-sourcemaps');
const TscWatchClient = require('tsc-watch/client');
const browserify = require('browserify');
const buffer = require('vinyl-buffer');
@@ -14,8 +15,8 @@ function makeWatchCompiler(onFirstSuccess) {
const watch = new TscWatchClient();
watch.on('success', () =>
parallel(
- browserifyRenderer,
- browserifyPreload,
+ makeBrowserifyRenderer(true),
+ makeBrowserifyPreload(true),
)(() => {
if (firstBuild) {
firstBuild = false;
@@ -23,7 +24,7 @@ function makeWatchCompiler(onFirstSuccess) {
}
}),
);
- watch.start('--noClear', '--inlineSourceMap', '--incremental', '--project', '.');
+ watch.start('--noClear', '--sourceMap', '--inlineSources', '--incremental', '--project', '.');
return watch.tsc;
};
compileScripts.displayName = 'compile-scripts-watch';
@@ -41,24 +42,44 @@ function compileScripts() {
.pipe(dest('build'));
}
-function browserifyRenderer() {
- return browserify({ entries: './build/src/renderer/index.js' })
- .bundle()
- .pipe(source('bundle.js'))
- .pipe(buffer())
- .pipe(dest('./build/src/renderer/'));
+function makeBrowserifyRenderer(debug) {
+ const browserifyRenderer = () => {
+ let stream = browserify({ entries: './build/src/renderer/index.js', debug })
+ .bundle()
+ .pipe(source('bundle.js'))
+ .pipe(buffer());
+
+ if (debug) {
+ stream = stream.pipe(sourcemaps.init({ loadMaps: true })).pipe(sourcemaps.write());
+ }
+
+ return stream.pipe(dest('./build/src/renderer/'));
+ };
+
+ browserifyRenderer.displayName = 'browserify-renderer';
+ return browserifyRenderer;
}
-function browserifyPreload() {
- return browserify({
- entries: './build/src/renderer/preload.js',
- })
- .exclude('fs')
- .exclude('electron')
- .bundle()
- .pipe(source('preloadBundle.js'))
- .pipe(buffer())
- .pipe(dest('./build/src/renderer/'));
+function makeBrowserifyPreload(debug) {
+ const browserifyPreload = () => {
+ let stream = browserify({
+ entries: './build/src/renderer/preload.js',
+ debug,
+ })
+ .exclude('electron')
+ .bundle()
+ .pipe(source('preloadBundle.js'))
+ .pipe(buffer());
+
+ if (debug) {
+ stream = stream.pipe(sourcemaps.init({ loadMaps: true })).pipe(sourcemaps.write());
+ }
+
+ return stream.pipe(dest('./build/src/renderer/'));
+ };
+
+ browserifyPreload.displayName = 'browserify-preload';
+ return browserifyPreload;
}
function buildProto(callback) {
@@ -66,10 +87,11 @@ function buildProto(callback) {
}
compileScripts.displayName = 'compile-scripts';
-browserifyRenderer.displayName = 'browserify-renderer';
-browserifyPreload.displayName = 'browserify-preload';
buildProto.displayName = 'build-proto';
-exports.build = series(compileScripts, parallel(browserifyPreload, browserifyRenderer));
+exports.build = series(
+ compileScripts,
+ parallel(makeBrowserifyPreload(false), makeBrowserifyRenderer(false)),
+);
exports.buildProto = buildProto;
exports.makeWatchCompiler = makeWatchCompiler;