GUI2 add a karma.conf.js for unit tests

Change-Id: I2db9e9fcbaa6b6cf0dcdae38bff8628c0e706cf4
diff --git a/web/gui2/package.json b/web/gui2/package.json
index c995fc2..23ad0a0 100644
--- a/web/gui2/package.json
+++ b/web/gui2/package.json
@@ -19,7 +19,7 @@
     "@angular/platform-browser-dynamic": "9.1.0",
     "@angular/router": "9.1.0",
     "d3": "^5.15.0",
-    "rxjs": "^6.5.4",
+    "rxjs": "~6.5.4",
     "topojson-client": "^3.1.0",
     "tslib": "1.10.0",
     "zone.js": "0.10.2"
@@ -29,6 +29,7 @@
     "@angular/cli": "9.1.0",
     "@angular/compiler": "9.1.0",
     "@angular/compiler-cli": "9.1.0",
+    "@angular-devkit/build-angular": "~0.901.1",
     "@bazel/hide-bazel-files": "1.1.0",
     "@bazel/karma": "1.6.0",
     "@bazel/protractor": "1.6.0",
@@ -38,7 +39,7 @@
     "@types/jasmine": "3.4.0",
     "@types/node": "10.14.22",
     "core-js": "2.6.9",
-    "history-server": "^1.3.1",
+    "history-server": "~1.3.1",
     "html-insert-assets": "0.6.0",
     "karma": "~4.1.0",
     "karma-chrome-launcher": "2.2.0",
@@ -46,11 +47,13 @@
     "karma-jasmine": "2.0.1",
     "karma-requirejs": "1.1.0",
     "karma-sourcemap-loader": "0.3.7",
+    "karma-jasmine-html-reporter": "~1.5.3",
+    "karma-coverage-istanbul-reporter": "~2.1.1",
     "protractor": "~5.4.2",
     "requirejs": "2.3.6",
-    "rollup": "^1.21.4",
-    "rollup-plugin-commonjs": "^10.1.0",
-    "rollup-plugin-node-resolve": "^5.2.0",
+    "rollup": "~1.21.4",
+    "rollup-plugin-commonjs": "~10.1.0",
+    "rollup-plugin-node-resolve": "~5.2.0",
     "terser": "4.3.1",
     "typescript": "3.8.3"
   }