27 lines
747 B
JavaScript
27 lines
747 B
JavaScript
import gulp from 'gulp';
|
|
import tsb from 'gulp-tsb';
|
|
import filter from 'gulp-filter';
|
|
import rimraf from 'rimraf';
|
|
import { merge } from 'event-stream';
|
|
import { compilerOptions } from './tsconfig.json';
|
|
|
|
const compilation = tsb.create(compilerOptions);
|
|
|
|
const compile = () => {
|
|
const ts = filter('**/*.ts', { restore: true });
|
|
const input = merge(
|
|
gulp.src('src/**', { base: 'src' }),
|
|
gulp.src('typings/**/*.d.ts')
|
|
);
|
|
|
|
return input
|
|
.pipe(ts)
|
|
.pipe(compilation())
|
|
.pipe(ts.restore)
|
|
.pipe(gulp.dest('out'));
|
|
};
|
|
|
|
gulp.task('clean', cb => rimraf('out', cb));
|
|
gulp.task('compile', ['clean'], compile);
|
|
gulp.task('compile-only', compile);
|
|
gulp.task('watch', ['compile'], () => gulp.watch(['src/**', 'typings/**'], ['compile-only']));
|