gulpTasks-watchCore.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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 isCore = config[module].isCore;
  24. var library = config[module].libraries[0];
  25. // Clean shaders
  26. await cleanShaders(settings);
  27. // Generate shaders.
  28. gulp.src(settings.srcDirectory + "**/*.fx")
  29. .pipe(uncommentShaders())
  30. .pipe(processShaders(isCore))
  31. // Clean Folder.
  32. rmDir('../../.temp/es6LocalDev/core');
  33. // Launch TSC.
  34. const options = {
  35. cwd: "../../src/",
  36. async: true,
  37. verbose: true
  38. };
  39. shelljs.exec("tsc --declaration false --target es5 --module es2015 --outDir ../.temp/es6LocalDev/core -w", options, function(code, stdout, stderr) {
  40. if (stderr) {
  41. console.log(stderr);
  42. }
  43. if (stdout) {
  44. console.log(stdout);
  45. }
  46. });
  47. // Launch shader watch
  48. gulp.watch(settings.srcDirectory + "**/*.fx", { interval: 1000 }, function() {
  49. console.log(library.output + ": Shaders.");
  50. return gulp.src(settings.srcDirectory + "**/*.fx")
  51. .pipe(uncommentShaders())
  52. .pipe(processShaders(isCore));
  53. });
  54. });