postinstall.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. "use strict";
  2. var fs = require("fs");
  3. var path = require('path');
  4. var osenv = require("osenv");
  5. var semver = require("semver")
  6. var mkdirp = require("mkdirp")
  7. var atomiceditor = require("./atomiceditor");
  8. var exists = fs.exists || path.exists;
  9. var mkdirSync = function (path) {
  10. if (exists(path))
  11. return;
  12. mkdirp.sync(path);
  13. }
  14. var updateEditor = function() {
  15. }
  16. var editorUpdateRequired = function(path) {
  17. if (!exists(path))
  18. return true;
  19. // JSON.parse(fs.readFileSync(path))
  20. // console.log ( semver.major(semver.valid("2.0.0")));
  21. }
  22. // CDN
  23. var cdnroot = JSON.parse(fs.readFileSync(__dirname + "/../data/cdn.json"))
  24. var branch;
  25. // TODO: otherwise we need to use the package data
  26. if (process.env.ATOMIC_DEV_LOCAL) {
  27. branch = "local";
  28. }
  29. var cdn = cdnroot[branch]
  30. var cdnServer = cdn["server"];
  31. var cdnEditorVersion = cdn["editor"]["version"];
  32. var cdnAtomicToolVersion = cdn["atomictool"]["version"];
  33. var home = osenv.home();
  34. var atomicRootDir = home + "/.atomicgameengine/" + branch;
  35. // CDN url for editor
  36. var cdnEditorURL;
  37. if (process.platform == "darwin") {
  38. cdnEditorURL = cdnServer + cdn["editor"] + "-" + cdnEditorVersion + ".zip";
  39. }
  40. // ensure atomic's home exists
  41. mkdirSync(atomicRootDir);
  42. var editorUpdate = false;
  43. if (editorUpdateRequired(atomicRootDir)) {
  44. editorUpdate = true;
  45. console.log("Editor Update Required");
  46. }