1 | var del = require('del');
|
2 | var gulp = require('gulp');
|
3 | var ts = require('gulp-typescript');
|
4 | var tsProject = ts.createProject('tsconfig.json');
|
5 | var tsConfig = require('./tsconfig.json');
|
6 | var hawtioBackend = null;
|
7 |
|
8 | gulp.task('clean', function() {
|
9 | return del('index.js');
|
10 | });
|
11 |
|
12 | gulp.task('tsc', ['clean'], function() {
|
13 | return tsProject.src()
|
14 | .pipe(tsProject())
|
15 | .pipe(gulp.dest('.'));
|
16 | });
|
17 |
|
18 | gulp.task('watch', function() {
|
19 | return gulp.watch([tsConfig.include, 'assets/*'], ['reload']);
|
20 | });
|
21 |
|
22 | gulp.task('reload', function() {
|
23 | return gulp.src('.')
|
24 | .pipe(hawtioBackend.reload());
|
25 | });
|
26 |
|
27 |
|
28 | gulp.task('server', ['tsc'], function() {
|
29 | hawtioBackend = require('./index.js');
|
30 | hawtioBackend.setConfig({
|
31 | logLevel: require('js-logger').DEBUG,
|
32 | port: 8080,
|
33 | staticProxies: [{
|
34 | port: 8282,
|
35 | path: '/hawtio/jolokia',
|
36 | targetPath: '/hawtio/jolokia'
|
37 | }],
|
38 | liveReload: {
|
39 | enabled: true
|
40 | }
|
41 | });
|
42 | hawtioBackend.listen(function(server) {
|
43 | var host = server.address().address;
|
44 | var port = server.address().port;
|
45 | console.log("started from gulp file at ", host, ":", port);
|
46 | });
|
47 | });
|
48 |
|
49 | gulp.task('build', ['tsc']);
|
50 |
|
51 | gulp.task('default', ['build', 'server', 'watch']);
|