|
@@ -3,8 +3,10 @@ var gulp = require('gulp'),
|
|
rename = require('gulp-rename'),
|
|
rename = require('gulp-rename'),
|
|
concat = require('gulp-concat'),
|
|
concat = require('gulp-concat'),
|
|
clean = require('gulp-clean'),
|
|
clean = require('gulp-clean'),
|
|
- typescript = require('gulp-tsc'),
|
|
|
|
- shaders = require('./gulp-shaders')
|
|
|
|
|
|
+ typescript = require('gulp-typescript'),
|
|
|
|
+ sourcemaps = require('gulp-sourcemaps'),
|
|
|
|
+ merge = require('merge2'),
|
|
|
|
+ shaders = require('./gulp-shaders'),
|
|
gulpFilter = require('gulp-filter');
|
|
gulpFilter = require('gulp-filter');
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -22,22 +24,30 @@ gulp.task('shaders', function() {
|
|
*/
|
|
*/
|
|
gulp.task('typescript-to-js', function() {
|
|
gulp.task('typescript-to-js', function() {
|
|
//Compile all ts file into their respective js file.
|
|
//Compile all ts file into their respective js file.
|
|
- return gulp.src(['../../Babylon/**/*.ts','../../References/**/*.d.ts'])
|
|
|
|
- .pipe(typescript({ target: 'ES5', sourcemap: true }))
|
|
|
|
- .pipe(gulp.dest('../../Babylon/'));
|
|
|
|
|
|
+
|
|
|
|
+ var tsResult = gulp.src(['../../Babylon/**/*.ts','../../References/**/*.d.ts'])
|
|
|
|
+ .pipe(sourcemaps.init()) // This means sourcemaps will be generated
|
|
|
|
+ .pipe(typescript({ noExternalResolve: true, target: 'ES5'}));
|
|
|
|
+
|
|
|
|
+ return tsResult.js
|
|
|
|
+ .pipe(sourcemaps.write('.')) // Now the sourcemaps are added to the .js file
|
|
|
|
+ .pipe(gulp.dest('../../Babylon/'));
|
|
});
|
|
});
|
|
|
|
|
|
/**
|
|
/**
|
|
* Compile the declaration file babylon.d.ts
|
|
* Compile the declaration file babylon.d.ts
|
|
*/
|
|
*/
|
|
-gulp.task('typescript-declaration', function() {
|
|
|
|
- var declarationFilter = gulpFilter('**/*.d.ts');
|
|
|
|
|
|
+gulp.task('typescript-declaration', ['typescript-to-js'], function() {
|
|
|
|
+
|
|
|
|
+ var tsResult = gulp.src(['../../Babylon/**/*.ts','../../References/**/*.d.ts'])
|
|
|
|
+ .pipe(typescript({
|
|
|
|
+ declarationFiles: true,
|
|
|
|
+ noExternalResolve: true,
|
|
|
|
+ target: 'ES5'
|
|
|
|
+ }));
|
|
|
|
|
|
- return gulp.src(['../../Babylon/**/*.ts','../../References/**/*.d.ts'])
|
|
|
|
- .pipe(typescript({ target: 'ES5', declaration: true, out: 'tmp.js' }))
|
|
|
|
- .pipe(declarationFilter)
|
|
|
|
- .pipe(rename('babylon.d.ts'))
|
|
|
|
- .pipe(gulp.dest('build/'));
|
|
|
|
|
|
+ return tsResult.dts.pipe(concat('babylon.d.ts'))
|
|
|
|
+ .pipe(gulp.dest('build/'));
|
|
});
|
|
});
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -203,7 +213,7 @@ gulp.task('default', function() {
|
|
/**
|
|
/**
|
|
* The defaut typescript task, call the tasks: shaders, scripts, clean AFTER the task typescript-to-js
|
|
* The defaut typescript task, call the tasks: shaders, scripts, clean AFTER the task typescript-to-js
|
|
*/
|
|
*/
|
|
-gulp.task('typescript', ['typescript-to-js', 'typescript-declaration'], function() {
|
|
|
|
|
|
+gulp.task('typescript', ['typescript-declaration'], function() {
|
|
gulp.start('shaders','scripts', 'clean');
|
|
gulp.start('shaders','scripts', 'clean');
|
|
});
|
|
});
|
|
|
|
|