prepareAdditionalDevPackages.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Dependecies.
  2. const fs = require('fs-extra');
  3. const rmDir = require("../../NodeHelpers/rmDir");
  4. const colorConsole = require("../../NodeHelpers/colorConsole");
  5. var shelljs = require("shelljs");
  6. // Global Variables.
  7. const config = require("../../Config/config.js");
  8. /**
  9. * Prepare a Additional Dev folder npm linked for test purpose.
  10. */
  11. function prepareAdditionalDevPackages() {
  12. config.additionalNpmPackages.forEach(package => {
  13. colorConsole.log("Prepare " + "AdditionalDev".magenta + " Package: " + package.name.blue.bold);
  14. let packagePath = package.computed.path;
  15. let packageDevPath = package.computed.packageDevDirectory;
  16. colorConsole.log(" Cleanup " + packageDevPath.cyan);
  17. rmDir(packageDevPath);
  18. colorConsole.log(" Copy Package folder " + packagePath.cyan + " to " + packageDevPath.cyan);
  19. fs.copySync(packagePath, packageDevPath);
  20. colorConsole.log(" Execute Npm Link command");
  21. const command = `npm link`;
  22. const result = shelljs.exec(command, {
  23. async: false,
  24. cwd: packageDevPath
  25. });
  26. if (result.code != 0) {
  27. throw "Failed to link the ES6 package."
  28. }
  29. colorConsole.emptyLine();
  30. });
  31. }
  32. module.exports = prepareAdditionalDevPackages;