THRIFT-4509:
* switch from grunt-external-daemon and grunt-shell to grunt-shell-spawn
* update grunt to 1.0.2
* always use local copy of jquery and qunit
* commit the package-lock files for npm keep versions stable
Client: js

This closes #1506
diff --git a/lib/js/test/build.xml b/lib/js/test/build.xml
index 109c62f..17537f6 100755
--- a/lib/js/test/build.xml
+++ b/lib/js/test/build.xml
@@ -98,13 +98,16 @@
     <mkdir dir="${build}/test/log"/>
   </target>
 
-  <target name="jslibs" depends="init, proxy">
+  <target name="download_jslibs">
     <get src="http://code.jquery.com/jquery-1.11.3.min.js" dest="${build}/js/lib/jquery.js" usetimestamp="true"/>
     <get src="http://code.jquery.com/qunit/qunit-1.18.0.js" dest="${build}/js/lib/qunit.js" usetimestamp="true"/>
     <get src="http://code.jquery.com/qunit/qunit-1.18.0.css" dest="${build}/js/lib/qunit.css" usetimestamp="true"/>
     <get src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.js" dest="${build}/js/lib/es6-promise.js" usetimestamp="true"/>
   </target>
 
+  <target name="jslibs" depends="init, proxy, download_jslibs">
+  </target>
+
   <target name="compile" description="compile the test suite" depends="init, generate, resolve">
     <!-- //TODO enable <compilerarg value="-Xlint"/>-->
     <javac compiler="modern" includeantruntime="false" srcdir="${genjava}" destdir="${build}/test" classpathref="libs.classpath"/>