diff --git a/karma.conf.js b/karma.conf.js
new file mode 100644
index 0000000..0a12584
--- /dev/null
+++ b/karma.conf.js
@@ -0,0 +1,209 @@
+/* Copyright 2019 The Chromium Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style
+ * license that can be found in the LICENSE file.
+ */
+
+const path = require('path');
+
+process.env.CHROME_BIN = require('puppeteer').executablePath();
+
+module.exports = function(config) {
+  const isDebug = process.argv.some((arg) => arg === '--debug');
+  const coverage = process.argv.some((arg) => arg === '--coverage');
+  config.set({
+
+    // base path that will be used to resolve all patterns (eg. files, exclude)
+    basePath: '',
+
+
+    client: {
+      mocha: {
+        reporter: 'html',
+        ui: 'bdd',
+        checkLeaks: true,
+        globals: [
+          'CS_env',
+          // __tsMonClient probably shouldn't be allowed to
+          // leak between tests, but locating the current source of these
+          // leaks has proven quite difficult.
+          '__tsMonClient',
+          'ga',
+          'Color',
+          'Chart',
+          // TODO(ehmaldonado): Remove once the old autocomplete code is
+          // deprecated.
+          'TKR_populateAutocomplete',
+          // All of the below are necessary for loading gapi.js.
+          'gapi',
+          '__gapiLoadPromise',
+          '___jsl',
+          'osapi',
+          'gadgets',
+          'shindig',
+          'googleapis',
+          'iframer',
+          'ToolbarApi',
+          'iframes',
+          'IframeBase',
+          'Iframe',
+          'IframeProxy',
+          'IframeWindow',
+          '__gapi_jstiming__',
+        ],
+        timeout: 5000,
+      },
+    },
+
+    mochaReporter: {
+      showDiff: true,
+    },
+
+
+    // frameworks to use
+    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
+    frameworks: ['parallel', 'mocha', 'sinon'],
+
+
+    // list of files / patterns to load in the browser
+    files: [
+      'static_src/test/setup.js',
+      'static_src/test/index.js',
+    ],
+
+
+    // list of files / patterns to exclude
+    exclude: [
+    ],
+
+
+    // preprocess matching files before serving them to the browser
+    // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
+    preprocessors: {
+      'static_src/test/setup.js': ['webpack', 'sourcemap'],
+      'static_src/test/index.js': ['webpack', 'sourcemap'],
+    },
+
+    plugins: [
+      'karma-chrome-launcher',
+      'karma-coverage',
+      'karma-mocha',
+      'karma-mocha-reporter',
+      'karma-parallel',
+      'karma-sinon',
+      'karma-sourcemap-loader',
+      'karma-webpack',
+      '@chopsui/karma-reporter',
+    ],
+
+    parallelOptions: {
+      // Our builder is on a VM with 8 CPUs, so force this
+      // to run the same number of shards locally too.
+      // Vary this number to stress test order dependencies.
+      executors: isDebug ? 1 : 7, // Defaults to cpu-count - 1
+      shardStrategy: 'round-robin',
+    },
+
+    webpack: {
+      // webpack configuration
+      devtool: 'inline-source-map',
+      mode: 'development',
+      resolve: {
+        modules: ['node_modules', 'static_src'],
+      },
+      module: {
+        rules: [
+          {
+            test: /\.(ts|tsx)$/,
+            exclude: /node_modules/,
+            use: ['babel-loader'],
+          },
+          {
+            test: /\.js$/,
+            loader: 'istanbul-instrumenter-loader',
+            include: path.resolve('static_src/'),
+            exclude: [/\.test.(js|ts|tsx)$/],
+            query: {esModules: true},
+          },
+          {
+            test: /\.css$/i,
+            use: [
+              {loader: 'style-loader', options: {injectType: 'styleTag'}},
+              {
+                loader: 'css-loader',
+                options: {
+                  modules: true,
+                  importLoaders: 1,
+                },
+              },
+              'postcss-loader',
+            ],
+          },
+        ],
+      },
+    },
+
+
+    // test results reporter to use
+    // possible values: 'dots', 'progress'
+    // available reporters: https://npmjs.org/browse/keyword/karma-reporter
+    reporters: ['mocha', 'chopsui-json'].concat(
+      coverage ? ['coverage'] : []),
+
+
+    // configure coverage reporter
+    coverageReporter: {
+      dir: 'coverage',
+      reporters: [
+        {type: 'lcovonly', subdir: '.'},
+        {type: 'json', subdir: '.', file: 'coverage.json'},
+        {type: 'html'},
+        {type: 'text'},
+      ],
+    },
+
+    chopsUiReporter: {
+      stdout: false,
+      buildNumber: String(new Date().getTime()),
+      outputFile: 'full_results.json',
+    },
+
+    // web server port
+    port: 9876,
+
+
+    // enable / disable colors in the output (reporters and logs)
+    colors: true,
+
+
+    // level of logging
+    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
+    logLevel: config.LOG_INFO,
+
+
+    // enable / disable watching file and executing tests whenever any file changes
+    autoWatch: true,
+
+
+    // start these browsers
+    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
+    browsers: isDebug ? ['Chrome_latest'] : ['ChromeHeadless'],
+
+
+    customLaunchers: {
+      Chrome_latest: {
+        base: 'Chrome',
+        version: 'latest',
+      },
+    },
+
+
+    // Continuous Integration mode
+    // if true, Karma captures browsers, runs the tests and exits
+    singleRun: isDebug ? false : true,
+
+    // Concurrency level
+    // how many browser should be started simultaneous
+    concurrency: Infinity,
+  });
+};
