This repository has been archived by the owner on Sep 18, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
81 lines (72 loc) · 1.99 KB
/
gulpfile.js
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
var gulp = require('gulp');
var clean = require('gulp-clean');
var ts = require('gulp-typescript');
var server = require('gulp-develop-server');
var less = require('gulp-less');
var path = require('path');
var tsConfServer = {
target: 'es6',
module: 'commonjs',
moduleResolution: 'node',
noImplicitAny: false
};
var tsConfClient = {
target: 'es6',
moduleResolution: "node",
noImplicitAny: false,
out: 'test.js'
};
var tsProjectServer = ts.createProject('tsconfig.json', tsConfServer);
// var tsProjectClient = ts.createProject('tsconfig.json', tsConfClient);
var globalTypes = [
'typings/**/*.d.ts',
'node_modules/@types/**/*.d.ts',
]
gulp.task('default', ['public'], function () {
return;
});
gulp.task('compile:server', ['clean'], function () {
return gulp.src(globalTypes.concat([
'src/server/**/*.ts',
]))
.pipe(ts(tsConfServer))
.js.pipe(gulp.dest('built/server/'));
});
gulp.task('compile:client', ['compile:server'], function () {
return gulp.src(globalTypes.concat([
'src/client/**/*.ts',
]))
.pipe(ts(tsConfClient))
.js.pipe(gulp.dest('built/client/'));
});
gulp.task('watch', ['default'], function () {
server.listen({path: './built/server/app.js'});
gulp.watch(['./app.js'], server.restart);
var watcher = gulp.watch(
['src/**/*', 'public/**/*'],
{debounceDelay: 1500},
['server:restart'],
server.restart
);
watcher.on('change', function (event) {
console.log(`detected change in ${event.path}`);
});
});
gulp.task('server:restart', ['default'], function () {
server.restart(function () {});
});
gulp.task('clean', function () {
return gulp.src('built', {read: false})
.pipe(clean({force: true}));
});
gulp.task('public', ['less'], function () {
return gulp.src('./public/**/*')
.pipe(gulp.dest('./built'));
});
gulp.task('less', [ 'compile:client'], function () {
return gulp.src('./src/*.less')
.pipe(less({
paths: [ path.join(__dirname, 'less', 'includes') ]
}))
.pipe(gulp.dest('./built/client'));
});