diff --git a/devserver/concatjs/BUILD.bazel b/devserver/concatjs/BUILD.bazel
new file mode 100644
index 0000000..4606773
--- /dev/null
+++ b/devserver/concatjs/BUILD.bazel
@@ -0,0 +1,14 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
+
+go_library(
+    name = "go_default_library",
+    srcs = ["concatjs.go"],
+    importpath = "github.com/bazelbuild/rules_typescript/devserver/concatjs",
+    visibility = ["//visibility:public"],
+)
+
+go_test(
+    name = "go_default_test",
+    srcs = ["concatjs_test.go"],
+    embed = [":go_default_library"],
+)
\ No newline at end of file
diff --git a/devserver/runfiles/BUILD.bazel b/devserver/runfiles/BUILD.bazel
new file mode 100644
index 0000000..2e0b9b7
--- /dev/null
+++ b/devserver/runfiles/BUILD.bazel
@@ -0,0 +1,17 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+# Gazelle by default tries to map the import for the Bazel runfile go library to a repository with
+# an auto-generated name. This does not work for us because the rules_go repository name is different.
+# This gazelle directive ensures that Gazelle resolves the import to the proper Bazel label.
+# Read more here: https://github.com/bazelbuild/bazel-gazelle#directives
+# gazelle:resolve go github.com/bazelbuild/rules_go/go/tools/bazel @io_bazel_rules_go//go/tools/bazel:go_default_library
+
+go_library(
+    name = "go_default_library",
+    srcs = ["runfiles.go"],
+    deps = [
+        "@io_bazel_rules_go//go/tools/bazel:go_default_library",
+    ],
+    importpath = "github.com/bazelbuild/rules_typescript/devserver/runfiles",
+    visibility = ["//visibility:public"],
+)
diff --git a/internal/e2e/package_karma/README.md b/internal/e2e/package_karma/README.md
index 2dfa4e2..a9c0254 100644
--- a/internal/e2e/package_karma/README.md
+++ b/internal/e2e/package_karma/README.md
@@ -1,5 +1,5 @@
 # Testing karma dependency
 
 A karma 3.0.0 dependency is here to verify that a user's karma dependency doesn't interfere with
-the ts_web_test_suite rule which depends on a transitive dependency in @bazel/karma on a fork
-of karma.
+the ts_web_test_suite rule which depends on a transitive dependency in @bazel/karma on a different
+version of karma.
diff --git a/internal/karma/BUILD.bazel b/internal/karma/BUILD.bazel
index 7852325..b2a22bc 100644
--- a/internal/karma/BUILD.bazel
+++ b/internal/karma/BUILD.bazel
@@ -13,7 +13,7 @@
 ])
 
 ts_library(
-    name = "karma_concat_js",
+    name = "bazel_karma",
     srcs = glob(["*.ts"]),
     module_name = "@bazel/karma",
     tsconfig = "//internal/karma:tsconfig.json",
@@ -26,7 +26,7 @@
 nodejs_binary(
     name = "karma_bin",
     data = [
-        ":karma_concat_js",
+        ":bazel_karma",
         "@npm//jasmine-core",
         "@npm//karma",
         "@npm//karma-chrome-launcher",
@@ -65,7 +65,7 @@
     ],
     deps = [
         ":check_version_copy",
-        ":karma_concat_js",
+        ":bazel_karma",
         ":license_copy",
     ],
 )
diff --git a/internal/karma/index.ts b/internal/karma/index.ts
index 74c4750..ad02ec9 100644
--- a/internal/karma/index.ts
+++ b/internal/karma/index.ts
@@ -6,6 +6,7 @@
 import * as path from 'path';
 import * as process from 'process';
 import * as tmp from 'tmp';
+import {createInterface} from 'readline';
 ///<reference types="lib.dom"/>
 
 /**
@@ -32,7 +33,8 @@
       path: '/concatjs_bundle.js',
       contentPath: tmpFile.name,
       isUrl: false,
-      content: ''
+      content: '',
+      encodings: {},
     } as any;
     const included = [];
 
@@ -70,6 +72,30 @@
 
 (initConcatJs as any).$inject = ['logger', 'emitter', 'config.basePath'];
 
+function watcher(fileList: {refresh: () => void}) {
+  // ibazel will write this string after a successful build
+  // We don't want to re-trigger tests if the compilation fails, so
+  // we should only listen for this event.
+  const IBAZEL_NOTIFY_BUILD_SUCCESS = 'IBAZEL_BUILD_COMPLETED SUCCESS';
+  // ibazel communicates with us via stdin
+  const rl = createInterface({input: process.stdin, terminal: false});
+  rl.on('line', (chunk: string) => {
+    if (chunk === IBAZEL_NOTIFY_BUILD_SUCCESS) {
+      fileList.refresh();
+    }
+  });
+  rl.on('close', () => {
+    // Give ibazel 5s to kill our process, otherwise do it ourselves
+    setTimeout(() => {
+      console.error('ibazel failed to stop karma after 5s; probably a bug');
+      process.exit(1);
+    }, 5000);
+  });
+}
+
+(watcher as any).$inject = ['fileList'];
+
 module.exports = {
-  'framework:concat_js': ['factory', initConcatJs]
+  'framework:concat_js': ['factory', initConcatJs],
+  'watcher': ['value', watcher],
 };
diff --git a/internal/karma/karma.conf.js b/internal/karma/karma.conf.js
index 1ef2a49..ff066d9 100644
--- a/internal/karma/karma.conf.js
+++ b/internal/karma/karma.conf.js
@@ -151,7 +151,7 @@
 
     // enable / disable watching file and executing tests whenever
     // any file changes
-    overrideConfigValue(conf, 'autoWatch', true);
+    overrideConfigValue(conf, 'autoWatch', process.env['IBAZEL_NOTIFY_CHANGES'] === 'y');
 
     // Continuous Integration mode
     // if true, Karma captures browsers, runs the tests and exits
@@ -165,14 +165,6 @@
     // base path that will be used to resolve all patterns
     // (eg. files, exclude)
     overrideConfigValue(conf, 'basePath', 'TMPL_runfiles_path');
-
-    if (process.env['IBAZEL_NOTIFY_CHANGES'] === 'y') {
-      // Tell karma to only listen for ibazel messages on stdin rather than
-      // watch all the input files This is from fork alexeagle/karma in the
-      // ibazel branch:
-      // https://github.com/alexeagle/karma/blob/576d262af50b10e63485b86aee99c5358958c4dd/lib/server.js#L172
-      overrideConfigValue(conf, 'watchMode', 'ibazel');
-    }
   }
 
   /**
diff --git a/internal/karma/package.json b/internal/karma/package.json
index 9ffa9c0..be1c6eb 100644
--- a/internal/karma/package.json
+++ b/internal/karma/package.json
@@ -5,8 +5,8 @@
   "license": "Apache-2.0",
   "version": "0.0.0-PLACEHOLDER",
   "keywords": [
-      "karma",
-      "bazel"
+    "karma",
+    "bazel"
   ],
   "main": "./index.js",
   "typings": "./index.d.ts",
@@ -15,13 +15,13 @@
   },
   "dependencies": {
     "jasmine-core": "2.8.0",
-    "karma": "alexeagle/karma#fa1a84ac881485b5657cb669e9b4e5da77b79f0a",
+    "karma": "^4.0.0",
     "karma-chrome-launcher": "2.2.0",
     "karma-firefox-launcher": "1.1.0",
     "karma-jasmine": "1.1.1",
+    "karma-requirejs": "1.1.0",
     "karma-sauce-launcher": "2.0.2",
     "karma-sourcemap-loader": "0.3.7",
-    "karma-requirejs": "1.1.0",
     "requirejs": "2.3.5",
     "semver": "5.6.0",
     "tmp": "0.0.33"
