Update to latest rules_nodejs

Closes #413
Closes #410

PiperOrigin-RevId: 233117208
diff --git a/README.md b/README.md
index 76ca1e3..1cbe6ab 100644
--- a/README.md
+++ b/README.md
@@ -47,9 +47,11 @@
 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 
 # Fetch rules_nodejs
+# (you can check https://github.com/bazelbuild/rules_nodejs for a newer release than this)
 http_archive(
     name = "build_bazel_rules_nodejs",
-    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.2/rules_nodejs-0.18.2.tar.gz"],
+    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.4/rules_nodejs-0.18.4.tar.gz"],
+    sha256 = "23987a5cf549146742aa6a0d2536e4906906e63a608d5b9b32dd9fe5523ef51c",
 )
 
 # Setup the NodeJS toolchain
diff --git a/internal/devserver/BUILD b/internal/devserver/BUILD
index 2dfa86b..25b03e1 100644
--- a/internal/devserver/BUILD
+++ b/internal/devserver/BUILD
@@ -33,6 +33,7 @@
     name = "npm_package_assets",
     srcs = [
         "BUILD",
+        "launcher_template.sh",
         "package.json",
         "ts_devserver.bzl",
         "yarn.lock",
diff --git a/internal/e2e/npm_packages/karma/WORKSPACE b/internal/e2e/npm_packages/karma/WORKSPACE
index 56e3117..7898a78 100644
--- a/internal/e2e/npm_packages/karma/WORKSPACE
+++ b/internal/e2e/npm_packages/karma/WORKSPACE
@@ -18,7 +18,8 @@
 
 http_archive(
     name = "build_bazel_rules_nodejs",
-    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.2/rules_nodejs-0.18.2.tar.gz"],
+    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.4/rules_nodejs-0.18.4.tar.gz"],
+    sha256 = "23987a5cf549146742aa6a0d2536e4906906e63a608d5b9b32dd9fe5523ef51c",
 )
 
 load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories", "yarn_install")
diff --git a/internal/e2e/npm_packages/karma_stack_trace/WORKSPACE b/internal/e2e/npm_packages/karma_stack_trace/WORKSPACE
index 3b01b54..538809e 100644
--- a/internal/e2e/npm_packages/karma_stack_trace/WORKSPACE
+++ b/internal/e2e/npm_packages/karma_stack_trace/WORKSPACE
@@ -18,7 +18,8 @@
 
 http_archive(
     name = "build_bazel_rules_nodejs",
-    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.2/rules_nodejs-0.18.2.tar.gz"],
+    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.4/rules_nodejs-0.18.4.tar.gz"],
+    sha256 = "23987a5cf549146742aa6a0d2536e4906906e63a608d5b9b32dd9fe5523ef51c",
 )
 
 load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories", "yarn_install")
diff --git a/internal/e2e/npm_packages/karma_typescript/WORKSPACE b/internal/e2e/npm_packages/karma_typescript/WORKSPACE
index ddbf4ca..96a736c 100644
--- a/internal/e2e/npm_packages/karma_typescript/WORKSPACE
+++ b/internal/e2e/npm_packages/karma_typescript/WORKSPACE
@@ -18,7 +18,8 @@
 
 http_archive(
     name = "build_bazel_rules_nodejs",
-    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.2/rules_nodejs-0.18.2.tar.gz"],
+    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.4/rules_nodejs-0.18.4.tar.gz"],
+    sha256 = "23987a5cf549146742aa6a0d2536e4906906e63a608d5b9b32dd9fe5523ef51c",
 )
 
 load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories", "yarn_install")
diff --git a/internal/e2e/npm_packages/ts_auto_deps/WORKSPACE b/internal/e2e/npm_packages/ts_auto_deps/WORKSPACE
index 62145df..a73ab0f 100644
--- a/internal/e2e/npm_packages/ts_auto_deps/WORKSPACE
+++ b/internal/e2e/npm_packages/ts_auto_deps/WORKSPACE
@@ -18,7 +18,8 @@
 
 http_archive(
     name = "build_bazel_rules_nodejs",
-    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.2/rules_nodejs-0.18.2.tar.gz"],
+    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.4/rules_nodejs-0.18.4.tar.gz"],
+    sha256 = "23987a5cf549146742aa6a0d2536e4906906e63a608d5b9b32dd9fe5523ef51c",
 )
 
 load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories", "yarn_install")
diff --git a/internal/e2e/npm_packages/ts_devserver/WORKSPACE b/internal/e2e/npm_packages/ts_devserver/WORKSPACE
index 0935980..b552476 100644
--- a/internal/e2e/npm_packages/ts_devserver/WORKSPACE
+++ b/internal/e2e/npm_packages/ts_devserver/WORKSPACE
@@ -18,7 +18,8 @@
 
 http_archive(
     name = "build_bazel_rules_nodejs",
-    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.2/rules_nodejs-0.18.2.tar.gz"],
+    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.4/rules_nodejs-0.18.4.tar.gz"],
+    sha256 = "23987a5cf549146742aa6a0d2536e4906906e63a608d5b9b32dd9fe5523ef51c",
 )
 
 load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories", "yarn_install")
diff --git a/internal/e2e/npm_packages/typescript_2.7/WORKSPACE b/internal/e2e/npm_packages/typescript_2.7/WORKSPACE
index 34d2587..0d7b73f 100644
--- a/internal/e2e/npm_packages/typescript_2.7/WORKSPACE
+++ b/internal/e2e/npm_packages/typescript_2.7/WORKSPACE
@@ -18,7 +18,8 @@
 
 http_archive(
     name = "build_bazel_rules_nodejs",
-    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.2/rules_nodejs-0.18.2.tar.gz"],
+    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.4/rules_nodejs-0.18.4.tar.gz"],
+    sha256 = "23987a5cf549146742aa6a0d2536e4906906e63a608d5b9b32dd9fe5523ef51c",
 )
 
 load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories", "yarn_install")
diff --git a/internal/e2e/npm_packages/typescript_2.8/WORKSPACE b/internal/e2e/npm_packages/typescript_2.8/WORKSPACE
index 576c9e1..12eba13 100644
--- a/internal/e2e/npm_packages/typescript_2.8/WORKSPACE
+++ b/internal/e2e/npm_packages/typescript_2.8/WORKSPACE
@@ -18,7 +18,8 @@
 
 http_archive(
     name = "build_bazel_rules_nodejs",
-    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.2/rules_nodejs-0.18.2.tar.gz"],
+    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.4/rules_nodejs-0.18.4.tar.gz"],
+    sha256 = "23987a5cf549146742aa6a0d2536e4906906e63a608d5b9b32dd9fe5523ef51c",
 )
 
 load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories", "yarn_install")
diff --git a/internal/e2e/npm_packages/typescript_2.9/WORKSPACE b/internal/e2e/npm_packages/typescript_2.9/WORKSPACE
index 0a445c9..d0b4e90 100644
--- a/internal/e2e/npm_packages/typescript_2.9/WORKSPACE
+++ b/internal/e2e/npm_packages/typescript_2.9/WORKSPACE
@@ -18,7 +18,8 @@
 
 http_archive(
     name = "build_bazel_rules_nodejs",
-    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.2/rules_nodejs-0.18.2.tar.gz"],
+    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.4/rules_nodejs-0.18.4.tar.gz"],
+    sha256 = "23987a5cf549146742aa6a0d2536e4906906e63a608d5b9b32dd9fe5523ef51c",
 )
 
 load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories", "yarn_install")
diff --git a/internal/e2e/npm_packages/typescript_3.0/WORKSPACE b/internal/e2e/npm_packages/typescript_3.0/WORKSPACE
index 2d7f577..b27f076 100644
--- a/internal/e2e/npm_packages/typescript_3.0/WORKSPACE
+++ b/internal/e2e/npm_packages/typescript_3.0/WORKSPACE
@@ -18,7 +18,8 @@
 
 http_archive(
     name = "build_bazel_rules_nodejs",
-    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.2/rules_nodejs-0.18.2.tar.gz"],
+    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.4/rules_nodejs-0.18.4.tar.gz"],
+    sha256 = "23987a5cf549146742aa6a0d2536e4906906e63a608d5b9b32dd9fe5523ef51c",
 )
 
 load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories", "yarn_install")
diff --git a/internal/e2e/npm_packages/typescript_3.1/WORKSPACE b/internal/e2e/npm_packages/typescript_3.1/WORKSPACE
index 2d7f577..b27f076 100644
--- a/internal/e2e/npm_packages/typescript_3.1/WORKSPACE
+++ b/internal/e2e/npm_packages/typescript_3.1/WORKSPACE
@@ -18,7 +18,8 @@
 
 http_archive(
     name = "build_bazel_rules_nodejs",
-    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.2/rules_nodejs-0.18.2.tar.gz"],
+    urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.4/rules_nodejs-0.18.4.tar.gz"],
+    sha256 = "23987a5cf549146742aa6a0d2536e4906906e63a608d5b9b32dd9fe5523ef51c",
 )
 
 load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories", "yarn_install")
diff --git a/internal/karma/package.bzl b/internal/karma/package.bzl
index b99e1d1..94a216c 100644
--- a/internal/karma/package.bzl
+++ b/internal/karma/package.bzl
@@ -29,7 +29,8 @@
     _maybe(
         http_archive,
         name = "build_bazel_rules_nodejs",
-        urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.2/rules_nodejs-0.18.2.tar.gz"],
+        urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.4/rules_nodejs-0.18.4.tar.gz"],
+        sha256 = "23987a5cf549146742aa6a0d2536e4906906e63a608d5b9b32dd9fe5523ef51c",
     )
 
     # ts_web_test depends on the web testing rules to provision browsers.
diff --git a/package.bzl b/package.bzl
index dcdfde8..2a28acb 100644
--- a/package.bzl
+++ b/package.bzl
@@ -38,8 +38,8 @@
     _maybe(
         http_archive,
         name = "build_bazel_rules_nodejs",
-        strip_prefix = "rules_nodejs-0.18.2",
-        urls = ["https://github.com/bazelbuild/rules_nodejs/archive/0.18.2.zip"],
+        urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.18.4/rules_nodejs-0.18.4.tar.gz"],
+        sha256 = "23987a5cf549146742aa6a0d2536e4906906e63a608d5b9b32dd9fe5523ef51c",
     )
 
     # For running skylint