blob: 5ee33a90713fd2aa707bf3617949851471326203 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
const { exec } = require('child_process');
const { src, dest, series } = require('gulp');
const ts = require('gulp-typescript');
const inject = require('gulp-inject-string');
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', '--incremental', '--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(inject.replace('process.env.NODE_ENV', '"production"'))
.pipe(dest('build'));
}
function buildProto(callback) {
exec('bash ./scripts/build-proto.sh', (err) => callback(err));
}
compileScripts.displayName = 'compile-scripts';
buildProto.displayName = 'build-proto';
exports.build = compileScripts;
exports.buildProto = buildProto;
exports.makeWatchCompiler = makeWatchCompiler;
|