prepareUMDDevPackages.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // Dependecies.
  2. const fs = require('fs-extra');
  3. const path = require('path');
  4. const rmDir = require("../../NodeHelpers/rmDir");
  5. const colorConsole = require("../../NodeHelpers/colorConsole");
  6. const shelljs = require("shelljs");
  7. // Global Variables.
  8. const config = require("../../Config/config.js");
  9. /**
  10. * Prepare a UMD Dev folder npm linked for test purpose.
  11. */
  12. function prepareUMDDevPackages() {
  13. config.modules.forEach(moduleName => {
  14. let module = config[moduleName];
  15. colorConsole.log("Prepare " + "UMDDev".magenta + " Package: " + moduleName.blue.bold);
  16. let packagePath = module.computed.packageUMDDirectory;
  17. let packageDevPath = module.computed.packageUMDDevDirectory;
  18. colorConsole.log(" Cleanup " + packageDevPath.cyan);
  19. rmDir(packageDevPath);
  20. colorConsole.log(" Copy Package folder " + packagePath.cyan + " to " + packageDevPath.cyan);
  21. fs.copySync(packagePath, packageDevPath);
  22. const packageUMDDevJSONPath = path.join(packageDevPath, "package.json");
  23. const packageUMDDevJSON = require(packageUMDDevJSONPath);
  24. for (let dependency in packageUMDDevJSON.dependencies) {
  25. if (dependency.indexOf("babylon") > -1) {
  26. colorConsole.log(" Execute Npm Link " + dependency.yellow);
  27. const command = `npm link ${dependency}`;
  28. const result = shelljs.exec(command, {
  29. async: false,
  30. cwd: packageDevPath
  31. });
  32. if (result.code != 0) {
  33. throw "Failed to link the ES6 package."
  34. }
  35. }
  36. }
  37. colorConsole.log(" Execute Npm Link command");
  38. const command = `npm link`;
  39. const result = shelljs.exec(command, {
  40. async: false,
  41. cwd: packageDevPath
  42. });
  43. if (result.code != 0) {
  44. throw "Failed to link the ES6 package."
  45. }
  46. colorConsole.emptyLine();
  47. });
  48. }
  49. module.exports = prepareUMDDevPackages;