mkurz / npm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

npm

Build Status

This is a JVM wrapper around the Node Package Manager (NPM). The NPM that is run is the real NPM. The JS Engine project is used to execute NPM either using Trireme (a Node API implementation) or Node itself.

A WebJar is used to download the NPM source files.

Some sample usage from Scala:

    val engine = system.actorOf(Node.props(), "engine")
    val to = new File(new File("target"), "webjars")
    val cacheFile = new File(to, "extraction-cache")
    
    val npm = new Npm(engine, NpmLoader.load(to, cacheFile, Main.getClass.getClassLoader))
    
    for (
      result <- npm.update()  // Perform an "npm update"
      
    ) {
      println(s"status\n======\n${result.exitValue}\n")
      println(s"output\n======\n${new String(result.output.toArray, "UTF-8")}\n")
      println(s"error\n=====\n${new String(result.error.toArray, "UTF-8")}\n")

Note that this module requires JDK 7 when running Trireme given the additional file system support required. If JDK 6 is required then use Node as the engine.

About

License:Other


Languages

Language:Scala 100.0%