gulpTasks-importLint.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // Import Dependencies.
  2. var gulp = require("gulp");
  3. var filter = require('gulp-filter');
  4. // Helpers
  5. var validateImports = require("../helpers/gulp-validateImports");
  6. // Read the full config.
  7. var config = require("../../Config/config.js");
  8. /*
  9. * ImportLint all typescript files from the src directory.
  10. */
  11. var importLintLibrary = function(settings) {
  12. const fxFilter = filter(['**', '!**/*.fragment.ts', '!**/*.vertex.ts', '!**/ShadersInclude/**'], { restore: false });
  13. return gulp.src(settings.computed.tsGlob)
  14. .pipe(fxFilter)
  15. .pipe(validateImports({
  16. externals: settings.build.umd.processDeclaration.classMap
  17. }));
  18. }
  19. const lintModules = config.modules.filter((module) => module != "inspector");
  20. /**
  21. * Dynamic module linting for library (mat, post processes, ...).
  22. */
  23. lintModules.map(function(module) {
  24. // Task will be like moduleName-importLint
  25. gulp.task(module + "-importLint", function() {
  26. var settings = config[module];
  27. return importLintLibrary(settings, false);
  28. });
  29. });
  30. /**
  31. * Full Librairies importLint.
  32. */
  33. gulp.task("typescript-libraries-importLint",
  34. gulp.series(lintModules.map((module) => {
  35. return module + "-importLint";
  36. })
  37. ));