index.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. let prompt = require('prompt');
  2. let shelljs = require('shelljs');
  3. let fs = require('fs');
  4. let basePath = '../../dist/preview release';
  5. // This can be changed when we have a new major release.
  6. let minimumDependency = '>=3.1.0-alpha';
  7. let packages = [
  8. {
  9. name: 'core',
  10. path: '../../'
  11. },
  12. {
  13. name: 'gui',
  14. path: basePath + '/gui/'
  15. },
  16. {
  17. name: 'materials',
  18. path: basePath + '/materialsLibrary/'
  19. },
  20. {
  21. name: 'postProcess',
  22. path: basePath + '/postProcessesLibrary/'
  23. },
  24. {
  25. name: 'loaders',
  26. path: basePath + '/loaders/'
  27. },
  28. {
  29. name: 'serializers',
  30. path: basePath + '/serializers/'
  31. },
  32. {
  33. name: 'proceduralTextures',
  34. path: basePath + '/proceduralTexturesLibrary/'
  35. },
  36. {
  37. name: 'inspector',
  38. path: basePath + '/inspector/'
  39. },
  40. {
  41. name: 'viewer',
  42. path: basePath + '/viewer/'
  43. }
  44. ];
  45. //check if logged in
  46. let loginCheck = shelljs.exec('npm whoami');
  47. if (loginCheck.code === 0) {
  48. prompt.start();
  49. prompt.get(['version'], function (err, result) {
  50. let version = result.version;
  51. packages.forEach((package) => {
  52. let packageJson = require(package.path + 'package.json');
  53. packageJson.version = version;
  54. if (packageJson.peerDependencies) packageJson.peerDependencies.babylonjs = minimumDependency;
  55. fs.writeFileSync(package.path + 'package.json', JSON.stringify(packageJson, null, 4));
  56. console.log('Publishing ' + package.name + " from " + package.path);
  57. //publish the respected package
  58. shelljs.exec('npm publish \"' + package.path + "\"");
  59. });
  60. });
  61. } else {
  62. console.log('not logged in.');
  63. }