deploy.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. const copydir = require('copy-dir');
  2. const file = require('./src/file');
  3. const deploy = require('./deploy.json');
  4. // Constante
  5. const OUT = './dist/';
  6. // Creation dossier destination
  7. file.makedir(OUT);
  8. // Séparation de chaque programme
  9. deploy.programs.forEach(program => {
  10. // Création du dossier
  11. const distPath = OUT + program.name;
  12. file.makedir(distPath);
  13. // Copie des fichiers commun
  14. file.makedir(distPath + '/src');
  15. file.fs.readdirSync('./src').forEach(f => {
  16. if (!file.isDir('./src/' + f)) {
  17. file.fs.copyFile('./src/' + f, distPath + '/src/' + f, (err) => {
  18. if (err) throw err;
  19. });
  20. }
  21. });
  22. // Copie dossier propre à chaque programme
  23. copydir('./src/' + program.name, distPath + '/src/' + program.name, {
  24. utimes: true,
  25. mode: true,
  26. cover: true
  27. }, (err) => {
  28. if (err) throw err;
  29. });
  30. // Copie fichier main
  31. file.fs.copyFile(program.main, distPath + '/main.js', (err) => {
  32. if (err) throw err;
  33. });
  34. // Copie package.json
  35. const pckg = require('./package.json');
  36. pckg.scripts = program.scripts;
  37. pckg.version = program.version;
  38. program.rm_dependencies.forEach(elt => {
  39. delete pckg.dependencies[elt];
  40. });
  41. let json = JSON.stringify(pckg, null, 4);
  42. json = json.replace(new RegExp(program.main, 'g'), 'main.js');
  43. file.put(distPath + '/package.json', json);
  44. });