Pass .js files through gulp-typescript without ERROR TS6054 -


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