gulpTasks-watchCore.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. // Import Dependencies.
  2. var gulp = require("gulp");
  3. let shelljs = require('shelljs');
  4. var del = require("del");
  5. // Import Helpers.
  6. var processShaders = require("../helpers/gulp-processShaders");
  7. var uncommentShaders = require('../helpers/gulp-removeShaderComments');
  8. var rmDir = require('../helpers/gulp-rmDir');
  9. // Read the full config.
  10. var config = require("../config.json");
  11. /**
  12. * Clean shader ts files.
  13. */
  14. var cleanShaders = function(settings) {
  15. return del([settings.srcDirectory + "**/*.fx.ts"]);
  16. }
  17. /**
  18. * Watch ts files and fire repective tasks.
  19. */
  20. gulp.task("watchCore", async function startWatch() {
  21. var module = "core";
  22. var settings = config[module].build;
  23. var library = config[module].libraries[0];
  24. // Clean shaders.
  25. await cleanShaders(settings);
  26. // Generate shaders.
  27. gulp.src(settings.srcDirectory + "**/*.fx")
  28. .pipe(uncommentShaders())
  29. .pipe(processShaders(true))
  30. // Clean Folder.
  31. rmDir('../../.temp/es6LocalDev/core');
  32. // Launch TSC.
  33. const options = {
  34. cwd: "../../src/",
  35. async: true,
  36. verbose: true
  37. };
  38. shelljs.exec("tsc --declaration false --target es5 --module es2015 --outDir ../.temp/es6LocalDev/core -w", options, function(code, stdout, stderr) {
  39. if (stderr) {
  40. console.log(stderr);
  41. }
  42. if (stdout) {
  43. console.log(stdout);
  44. }
  45. });
  46. // Launch shader watch
  47. gulp.watch(settings.srcDirectory + "**/*.fx", { interval: 1000 }, function() {
  48. console.log(library.output + ": Shaders.");
  49. return gulp.src(settings.srcDirectory + "**/*.fx")
  50. .pipe(uncommentShaders())
  51. .pipe(processShaders(true));
  52. });
  53. });