summaryrefslogtreecommitdiffhomepage
path: root/gui/tasks/scripts.js
diff options
context:
space:
mode:
Diffstat (limited to 'gui/tasks/scripts.js')
-rw-r--r--gui/tasks/scripts.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/gui/tasks/scripts.js b/gui/tasks/scripts.js
new file mode 100644
index 0000000000..8fc7155d4b
--- /dev/null
+++ b/gui/tasks/scripts.js
@@ -0,0 +1,32 @@
+const { parallel, series, src, dest } = require('gulp');
+const envify = require('gulp-envify');
+const ts = require('gulp-typescript');
+
+const TscWatchClient = require('tsc-watch/client');
+
+function makeWatchCompiler(onFirstSuccess) {
+ const compileScripts = function() {
+ const watch = new TscWatchClient();
+ watch.on('first_success', onFirstSuccess);
+ watch.start('--noClear', '--sourceMap', '--project', '.');
+ return watch.tsc;
+ };
+ compileScripts.displayName = 'compile-scripts-watch';
+
+ return compileScripts;
+}
+
+function compileScripts() {
+ const tsProject = ts.createProject('tsconfig.json');
+
+ return tsProject
+ .src()
+ .pipe(tsProject())
+ .pipe(envify({ NODE_ENV: 'production' }))
+ .pipe(dest('build'));
+}
+
+compileScripts.displayName = 'compile-scripts';
+
+exports.build = compileScripts;
+exports.makeWatchCompiler = makeWatchCompiler;