예제 #1
0
 def on_complete(self):
     self.animation_loader.on_complete()
     self.interval_animation.stop()
     if os.path.isfile(self.NODE_JS_BINARY_TARFILE_FULL_PATH):
         os.remove(self.NODE_JS_BINARY_TARFILE_FULL_PATH)
     node_js = NodeJS()
     npm = NPM()
     self.animation_loader = AnimationLoader([
         "[=     ]", "[ =    ]", "[   =  ]", "[    = ]", "[     =]",
         "[    = ]", "[   =  ]", "[ =    ]"
     ], 0.067, "Installing npm dependencies ")
     self.interval_animation = RepeatedTimer(self.animation_loader.sec,
                                             self.animation_loader.animate)
     try:
         npm.getCurrentNPMVersion(True)
     except Exception as e:
         print("Error: " + traceback.format_exc())
     try:
         npm.install_all()
     except Exception as e:
         #print("Error: "+traceback.format_exc())
         pass
     self.animation_loader.on_complete()
     self.interval_animation.stop()
     if node_js.getCurrentNodeJSVersion(True) == self.NODE_JS_VERSION:
         sublime.active_window().status_message(
             "Node.js " + self.NODE_JS_VERSION +
             " installed correctly! NPM version: " +
             npm.getCurrentNPMVersion(True))
     else:
         sublime.active_window().status_message(
             "Can't install Node.js! Something went wrong during installation."
         )
예제 #2
0
def checkUpgrade():
    updateNPMDependencies()
    try:
        response = urllib.request.urlopen(
            node_variables.NODE_JS_VERSION_URL_LIST_ONLINE)
        data = json.loads(response.read().decode("utf-8"))
        nodejs_latest_version = data[0]["version"]
        node_js = NodeJS()
        if node_js.getCurrentNodeJSVersion() != nodejs_latest_version:
            sublime.active_window().status_message(
                "There is a new version ( " + nodejs_latest_version +
                " ) of Node.js available! Change your settings to download this version."
            )
        else:
            try:
                npm = NPM()
                npm_version = npm.getCurrentNPMVersion()
                sublime.active_window().status_message(
                    "No need to update Node.js. Current version: " +
                    node_js.getCurrentNodeJSVersion() + ", npm: " +
                    npm_version)
            except Exception as e:
                sublime.active_window().status_message(
                    "No need to update Node.js. Current version: " +
                    node_js.getCurrentNodeJSVersion() + ", npm not installed!")

    except Exception as err:
        traceback.print_exc()
예제 #3
0
 def on_complete(self):
     self.animation_loader.on_complete()
     self.interval_animation.stop()
     if os.path.isfile(self.NODE_JS_BINARY_TARFILE_FULL_PATH):
         os.remove(self.NODE_JS_BINARY_TARFILE_FULL_PATH)
     node_js = NodeJS()
     if node_js.getCurrentNodeJSVersion() == self.NODE_JS_VERSION:
         sublime.active_window().status_message("Node.js " +
                                                self.NODE_JS_VERSION +
                                                " installed correctly!")
     else:
         sublime.active_window().status_message(
             "Can't install Node.js! Something during installation went wrong."
         )
예제 #4
0
def install(node_version=""):
    if node_version == "":
        node_version = node_variables.NODE_JS_VERSION
    nodejs_can_start_download = can_start_download()
    nodejs_already_installed = already_installed()
    if nodejs_can_start_download and not nodejs_already_installed:
        DownloadNodeJS(node_version).start()
    elif nodejs_can_start_download and nodejs_already_installed:
        node_js = NodeJS()
        if node_version != node_js.getCurrentNodeJSVersion(True):
            DownloadNodeJS(node_version).start()

    if nodejs_already_installed:
        create_and_start_thread(updateNPMDependencies, "checkUpgradeNPM")
예제 #5
0
def install(node_version=""):
    if node_version == "":
        node_version = node_variables.NODE_JS_VERSION
    nodejs_can_start_download = can_start_download()
    nodejs_already_installed = already_installed()
    if nodejs_can_start_download and not nodejs_already_installed:
        DownloadNodeJS(node_version).start()
    elif nodejs_can_start_download and nodejs_already_installed:
        node_js = NodeJS()
        if node_version != node_js.getCurrentNodeJSVersion():
            DownloadNodeJS(node_version).start()

    if nodejs_already_installed:
        for thread in threading.enumerate():
            if thread.getName() == "checkUpgradeNodeJS" and thread.is_alive():
                return
        thread = threading.Thread(target=checkUpgrade,
                                  name="checkUpgradeNodeJS")
        thread.setDaemon(True)
        thread.start()
예제 #6
0
 def on_complete(self):
     self.animation_loader.on_complete()
     self.interval_animation.stop()
     if os.path.isfile(self.NODE_JS_BINARY_TARFILE_FULL_PATH):
         os.remove(self.NODE_JS_BINARY_TARFILE_FULL_PATH)
     node_js = NodeJS()
     npm = NPM()
     self.animation_loader = AnimationLoader([
         "[=     ]", "[ =    ]", "[   =  ]", "[    = ]", "[     =]",
         "[    = ]", "[   =  ]", "[ =    ]"
     ], 0.067, "Installing npm dependencies ")
     self.interval_animation = RepeatedTimer(self.animation_loader.sec,
                                             self.animation_loader.animate)
     try:
         npm.getCurrentNPMVersion()
     except Exception as e:
         if node_variables.NODE_JS_OS == "win":
             sublime.error_message(
                 "Can't use \"npm\"! To use features that requires \"npm\", you must install it! Download it from https://nodejs.org site"
             )
         print(e)
     try:
         npm.install_all()
     except Exception as e:
         pass
     self.animation_loader.on_complete()
     self.interval_animation.stop()
     if node_js.getCurrentNodeJSVersion() == self.NODE_JS_VERSION:
         sublime.active_window().status_message(
             "Node.js " + self.NODE_JS_VERSION +
             " installed correctly! NPM version: " +
             npm.getCurrentNPMVersion())
     else:
         sublime.active_window().status_message(
             "Can't install Node.js! Something went wrong during installation."
         )