gulpTasks-symlink.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // Import Dependencies.
  2. var gulp = require("gulp");
  3. var symlinkDir = require('symlink-dir')
  4. var path = require('path')
  5. // Import Build Config
  6. var config = require("../../Config/config.js");
  7. /**
  8. * Generate our required symlinked for the shared components.
  9. */
  10. var generateSharedUiComponents = function(settings, done) {
  11. if (!settings.build.sharedUiComponents) {
  12. done();
  13. return;
  14. }
  15. var sharedUiComponents = config.computed.sharedUiComponentsSrcPath;
  16. var umdSharedUiComponents = path.resolve(settings.computed.mainDirectory, settings.build.sharedUiComponents);
  17. symlinkDir(sharedUiComponents, umdSharedUiComponents).then(() => {
  18. done();
  19. });
  20. };
  21. /**
  22. * Dynamic build SymLinks.
  23. */
  24. function buildSymLinks(settings) {
  25. // Creates the required tasks.
  26. var tasks = [];
  27. var sharedUiComponents = function(cb) { return generateSharedUiComponents(settings, cb); };
  28. tasks.push(sharedUiComponents);
  29. return gulp.series.apply(this, tasks);
  30. }
  31. /**
  32. * Dynamic symlinks creation.
  33. */
  34. config.modules.map(function(module) {
  35. const settings = config[module];
  36. gulp.task(module + "-symlinks", buildSymLinks(settings));
  37. });
  38. /**
  39. * Build all symlinks.
  40. */
  41. gulp.task("generate-symlinks", gulp.series(config.modules.map((module) => module + "-symlinks")));