I'm working on a project using Typescript
currently I'm facing a problem compiling Typescript
and then concatenate the result using Gulp
.
var gulp = require('gulp');
var ts = require('gulp-typescript');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
gulp.task('default', function () {
gulp.src('vendor/**/*.js')
// I want to add ts files then combile and concat
.gulp.src('src/**/*.ts')
.pipe(sourcemaps.init())
.pipe(ts({
noImplicitAny: true,
out: 'output.js'
}))
.pipe(concat('all.js'))
.pipe(uglify());
.pipe(sourcemaps.write('/'))
.pipe(gulp.dest('./dist/'));
});
In words what I need to do is:
JavaScript
libraries.Typescripts
.Typescripts
with source map.JavaScript
.Update
Or just a way to make sure that the
TypeScript
is compiled before proceeding with concatenating the result withJavaScript
.
I'm more a coffeescript
guy, but what about splitting into two separate tasks (solution below not tested, and there is a temporary output to the ./tmp
folder):
gulp.task('ts', function () {
gulp.src('src/**/*.ts')
.pipe(ts({
noImplicitAny: true,
out: 'output.js'
}))
.pipe(gulp.dest('./tmp/ts'));
});
gulp.task('default', ['ts'], function() {
gulp.src(['vendor/**/*.js', './tmp/ts/output.js'])
.pipe(sourcemaps.init())
.pipe(uglify())
.pipe(sourcemaps.write('/'))
.pipe(gulp.dest('./dist/'));
});
Usage (in your terminal):
gulp default
Gulp will first run the ts
task, then, once completed, it will run the default
task