electron-helper.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /**
  2. * We need to build electron in windows , linux and macos.
  3. * So copy folder we need to depend on node.
  4. */
  5. var fs = require('fs');
  6. var path = require('path');
  7. function copyFileSync(source, target) {
  8. var targetFile = target;
  9. // If target is a directory, a new file with the same name will be created
  10. if (fs.existsSync(target)) {
  11. if (fs.lstatSync(target).isDirectory()) {
  12. targetFile = path.join(target, path.basename(source));
  13. }
  14. }
  15. fs.writeFileSync(targetFile, fs.readFileSync(source));
  16. }
  17. function copyFolderRecursiveSync(source, target) {
  18. var files = [];
  19. // Check if folder needs to be created or integrated
  20. var targetFolder = path.join(target, path.basename(source));
  21. if (!fs.existsSync(targetFolder)) {
  22. fs.mkdirSync(targetFolder);
  23. }
  24. // Copy
  25. if (fs.lstatSync(source).isDirectory()) {
  26. files = fs.readdirSync(source);
  27. files.forEach(function (file) {
  28. var curSource = path.join(source, file);
  29. if (fs.lstatSync(curSource).isDirectory()) {
  30. copyFolderRecursiveSync(curSource, targetFolder);
  31. } else {
  32. copyFileSync(curSource, targetFolder);
  33. }
  34. });
  35. }
  36. }
  37. copyFolderRecursiveSync('./build', '../express');