Support Windows in gulpfile.js
diff --git a/js/gulpfile.js b/js/gulpfile.js
index 7e44aa7..c522015 100644
--- a/js/gulpfile.js
+++ b/js/gulpfile.js
@@ -1,7 +1,11 @@
 var gulp = require('gulp');
-var exec = require('child_process').exec;
+var execFile = require('child_process').execFile;
 var glob = require('glob');
 
+function exec(command, cb) {
+  execFile('sh', ['-c', command], cb);
+}
+
 var protoc = process.env.PROTOC || '../src/protoc';
 
 gulp.task('genproto_closure', function (cb) {
diff --git a/js/package.json b/js/package.json
index 6418e50..c16417c 100644
--- a/js/package.json
+++ b/js/package.json
@@ -13,7 +13,7 @@
     "glob": "~6.0.4"
   },
   "scripts": {
-    "test": "./node_modules/gulp/bin/gulp.js test"
+    "test": "node ./node_modules/gulp/bin/gulp.js test"
   },
   "repository": {
     "type": "git",