Added a bit more to README.md, and allowed custom PROTOC var in tests.
diff --git a/js/README.md b/js/README.md
index 2c33fb7..15d48c8 100644
--- a/js/README.md
+++ b/js/README.md
@@ -43,6 +43,10 @@
     $ npm install
     $ npm test
 
+    # If your protoc is somewhere else than ../src/protoc, instead do this.
+    # But make sure your protoc is the same version as this (or compatible)!
+    $ PROTOC=/usr/local/bin/protoc npm test
+
 This will run two separate copies of the tests: one that uses
 Closure Compiler style imports and one that uses CommonJS imports.
 You can see all the CommonJS files in `commonjs_out/`.
@@ -113,6 +117,26 @@
 
     var message = new messages.MyMessage();
 
+The `--js_out` flag
+-------------------
+
+The syntax of the `--js_out` flag is:
+
+    --js_out=[OPTIONS:]output_dir
+
+Where `OPTIONS` are separated by commas.  Options are either `opt=val` or
+just `opt` (for options that don't take a value).  The available options
+are specified and documented in the `GeneratorOptions` struct in
+[src/google/protobuf/compiler/js/js_generator.h](https://github.com/google/protobuf/blob/master/src/google/protobuf/compiler/js/js_generator.h#L53).
+
+Some examples:
+
+- `--js_out=library=myprotos_lib.js,binary:.`: this contains the options
+  `library=myprotos.lib.js` and `binary` and outputs to the current directory.
+  The `import_style` option is left to the default, which is `closure`.
+- `--js_out=import_style=commonjs,binary:protos`: this contains the options
+  `import_style=commonjs` and `binary` and outputs to the directory `protos`.
+
 API
 ===
 
diff --git a/js/gulpfile.js b/js/gulpfile.js
index 88bb002..b0faed0 100644
--- a/js/gulpfile.js
+++ b/js/gulpfile.js
@@ -2,8 +2,10 @@
 var exec = require('child_process').exec;
 var glob = require('glob');
 
+var protoc = process.env.PROTOC || '../src/protoc';
+
 gulp.task('genproto_closure', function (cb) {
-  exec('../src/protoc --js_out=library=testproto_libs,binary:. -I ../src -I . *.proto ../src/google/protobuf/descriptor.proto',
+  exec(protoc + ' --js_out=library=testproto_libs,binary:. -I ../src -I . *.proto ../src/google/protobuf/descriptor.proto',
        function (err, stdout, stderr) {
     console.log(stdout);
     console.log(stderr);
@@ -12,7 +14,7 @@
 });
 
 gulp.task('genproto_commonjs', function (cb) {
-  exec('mkdir -p commonjs_out && ../src/protoc --js_out=import_style=commonjs,binary:commonjs_out -I ../src -I . *.proto ../src/google/protobuf/descriptor.proto',
+  exec('mkdir -p commonjs_out && ' + protoc + ' --js_out=import_style=commonjs,binary:commonjs_out -I ../src -I . *.proto ../src/google/protobuf/descriptor.proto',
        function (err, stdout, stderr) {
     console.log(stdout);
     console.log(stderr);