i want include typescript in main gulp tool chain, can convert .js files .ts files as-needed , time permits. it's fine if typescript step performs no action on .js files.
does make sense? if so, how can accomplish this? tried following:
function compilescript(inputfiles, outputname, outputpath) { return r.gulp.src(inputfiles) .pipe(r.sourcemaps.init()) .pipe(r.ngannotate()) // i'd this, processing fails if not files *.ts // .pipe(r.typescript({ target: 'es5' })) .pipe(r.uglify()) .pipe(r.concat(outputname)) .pipe(r.sourcemaps.write('.')) .pipe(r.gulp.dest(outputpath)); }
but produces no output, citing:
error 6054: file 'script.js' must have extension '.ts' or '.d.ts'.
perhaps there typescript option i've overlooked, or gulp conditional pipe tool won't break sourcemaps? if run 2 separate steps of .ts , .js files, end concatenated out-of-order.
i'd avoid big-bang approach.
p.s. i'm building asp.net project in visual studio.
it seems you're providing full list of files gulp-typescript
, filter out *.ts
ones using gulp-filter
:
function compilescript(inputfiles, outputname, outputpath) { var filter = require('gulp-filter')('**/*.ts'); // setup filter return r.gulp.src(inputfiles) .pipe(r.sourcemaps.init()) .pipe(filter) // filter out *.ts files .pipe(r.typescript({ target: 'es5' })) // compile them .pipe(filter.restore()) // restore other files proceed .pipe(r.ngannotate()) .pipe(r.uglify()) .pipe(r.concat(outputname)) .pipe(r.sourcemaps.write('.')) .pipe(r.gulp.dest(outputpath)); }
as side note, think should first compile *.ts
files , after ng-annotate
them.
Comments
Post a Comment