diff --git a/frontend-js/src/main/js/Admin.js b/frontend-js/src/main/js/Admin.js
index 184b29648f66b1c4164f91dc1810828e2112fe13..fa0b4cf6f0c0dea337a05931a6693b1832f6ade4 100644
--- a/frontend-js/src/main/js/Admin.js
+++ b/frontend-js/src/main/js/Admin.js
@@ -145,7 +145,7 @@ Admin.prototype.init = function() {
   for (var i = 0; i < this._panels.length; i++) {
     promises.push(this._panels[i].init());
   }
-  promises.push(this.getHeader().init())
+  promises.push(this.getHeader().init());
   return Promise.all(promises);
 };
 
diff --git a/frontend-js/src/main/js/ServerConnector.js b/frontend-js/src/main/js/ServerConnector.js
index e8f9083b4d1473ec4c5ed5cb3b62e8512eae785c..e965871d684492c390ce9e817e17f47e96adcf9c 100644
--- a/frontend-js/src/main/js/ServerConnector.js
+++ b/frontend-js/src/main/js/ServerConnector.js
@@ -661,7 +661,6 @@ ServerConnector.getConfigurationParam = function (paramId) {
 ServerConnector.getModels = function (projectId) {
   var queryParams = {};
   var filterParams = {};
-  var project;
   var self = this;
   return self.getProjectId(projectId).then(function (result) {
     queryParams.projectId = result;
diff --git a/frontend-js/src/main/js/gui/admin/AbstractAdminPanel.js b/frontend-js/src/main/js/gui/admin/AbstractAdminPanel.js
index 81c2db02b632575a1917df70f64973819cf1d519..d74a6d09e38c6ae415384724e725dbf6c95b8c20 100644
--- a/frontend-js/src/main/js/gui/admin/AbstractAdminPanel.js
+++ b/frontend-js/src/main/js/gui/admin/AbstractAdminPanel.js
@@ -1,10 +1,10 @@
 "use strict";
 
 /* exported logger */
+/* exported Promise*/
 
 var Panel = require('../Panel');
 
-var GuiConnector = require('../../GuiConnector');
 var logger = require('../../logger');
 var Functions = require('../../Functions');
 var Promise = require("bluebird");
@@ -23,7 +23,7 @@ AbstractAdminPanel.prototype._createHeader = function(name) {
     type : "h1",
     content : name
   }));
-}
+};
 
 AbstractAdminPanel.prototype.init = function() {
 
diff --git a/frontend-js/src/main/js/gui/admin/CommentsAdminPanel.js b/frontend-js/src/main/js/gui/admin/CommentsAdminPanel.js
index 1ad62cac5a48f194013dfef37b66db8a366b5963..abba9a8baeacbb00cf11d6f456b97b83b7d4b757 100644
--- a/frontend-js/src/main/js/gui/admin/CommentsAdminPanel.js
+++ b/frontend-js/src/main/js/gui/admin/CommentsAdminPanel.js
@@ -1,5 +1,6 @@
 "use strict";
 
+/* exported Promise*/
 /* exported logger */
 
 var AbstractAdminPanel = require('./AbstractAdminPanel');
@@ -83,7 +84,7 @@ CommentsAdminPanel.prototype._createGui = function() {
     content : "Project",
   }));
   projectsCell.appendChild(selectProject);
-}
+};
 
 CommentsAdminPanel.prototype.init = function() {
   var self = this;
@@ -198,6 +199,6 @@ CommentsAdminPanel.prototype.commentToTableRow = function(comment) {
   remove, //
   toYesNo(comment.isPinned()) ];
   return row;
-}
+};
 
 module.exports = CommentsAdminPanel;
diff --git a/frontend-js/src/main/js/gui/admin/ConfigurationAdminPanel.js b/frontend-js/src/main/js/gui/admin/ConfigurationAdminPanel.js
index 094597a4586a1ed95debe82829f87466b866748d..1e592606f9608252e3a05a43742da9382659ffda 100644
--- a/frontend-js/src/main/js/gui/admin/ConfigurationAdminPanel.js
+++ b/frontend-js/src/main/js/gui/admin/ConfigurationAdminPanel.js
@@ -1,5 +1,6 @@
 "use strict";
 
+/* exported Promise*/
 /* exported logger */
 
 var AbstractAdminPanel = require('./AbstractAdminPanel');
diff --git a/frontend-js/src/main/js/gui/admin/EditProjectDialog.js b/frontend-js/src/main/js/gui/admin/EditProjectDialog.js
index e224bc9fc5341e75697b612b6cb248942cc5b0f3..1c70a7d3bdf5b0133d1fc094e838adcc2be7b4c1 100644
--- a/frontend-js/src/main/js/gui/admin/EditProjectDialog.js
+++ b/frontend-js/src/main/js/gui/admin/EditProjectDialog.js
@@ -24,7 +24,6 @@ EditProjectDialog.prototype.constructor = EditProjectDialog;
 EditProjectDialog.prototype.createGui = function() {
   var self = this;
   var element = self.getElement();
-  var project = self.getProject();
 
   var tabDiv = Functions.createElement({
     type : "div",
@@ -63,7 +62,6 @@ EditProjectDialog.prototype.createGeneralTab = function(tabMenuDiv, tabContentDi
 };
 
 EditProjectDialog.prototype.addTab = function(params) {
-  var self = this;
   var navLi = guiUtils.createTabMenuObject({
     id : params.id,
     name : params.name,
@@ -293,5 +291,6 @@ EditProjectDialog.prototype.open = function() {
 
 EditProjectDialog.prototype.close = function() {
   $(this.getElement()).dialog("close");
-}
+};
+
 module.exports = EditProjectDialog;
diff --git a/frontend-js/src/main/js/gui/admin/MapsAdminPanel.js b/frontend-js/src/main/js/gui/admin/MapsAdminPanel.js
index b1ac118a21279a1152613d3d459fdf83eeff5dc1..165b69e6d8f11b91b50d353f3a0cb0a5bd7a7138 100644
--- a/frontend-js/src/main/js/gui/admin/MapsAdminPanel.js
+++ b/frontend-js/src/main/js/gui/admin/MapsAdminPanel.js
@@ -103,7 +103,7 @@ MapsAdminPanel.prototype._createProjectTableRow = function() {
     }, ],
   });
   return projectsRow;
-}
+};
 
 MapsAdminPanel.prototype.init = function() {
   var self = this;
@@ -128,11 +128,11 @@ MapsAdminPanel.prototype.projectToTableRow = function(project) {
   "<button name='removeProject' data='" + project.getProjectId() + "'>REMOVE</button>", // 
   ];
   return row;
-}
+};
 
 MapsAdminPanel.prototype.getHtmlStringLink = function(annotation) {
   var self = this;
-  if (annotation != undefined && annotation != null) {
+  if (annotation !== undefined && annotation !== null) {
     var link = self.getGuiUtils().createAnnotationLink(annotation, true);
     var tmp = document.createElement("div");
     tmp.appendChild(link);
@@ -161,7 +161,7 @@ MapsAdminPanel.prototype.setProjects = function(projects) {
     var button = this;
     return self.showEditDialog($(button).attr("data")).then(null, GuiConnector.alert);
   });
-}
+};
 
 MapsAdminPanel.prototype.onAddClicked = function() {
   return Promise.reject(new Error("Not implemented"));
@@ -174,7 +174,6 @@ MapsAdminPanel.prototype.onRefreshClicked = function() {
 };
 
 MapsAdminPanel.prototype.showEditDialog = function(id) {
-  var self = this;
   GuiConnector.showProcessing();
   return ServerConnector.getProject(id).then(function(project) {
     var dialog = new EditProjectDialog({
diff --git a/frontend-js/src/main/js/gui/admin/ServicesAdminPanel.js b/frontend-js/src/main/js/gui/admin/ServicesAdminPanel.js
index 70fb723f5994b8b8f7f9c9c4d16da161116cbe7b..5b18099397ce391d6f58a117748e651dd1ae2834 100644
--- a/frontend-js/src/main/js/gui/admin/ServicesAdminPanel.js
+++ b/frontend-js/src/main/js/gui/admin/ServicesAdminPanel.js
@@ -1,6 +1,7 @@
 "use strict";
 
 /* exported logger */
+/* exported Promise*/
 
 var AbstractAdminPanel = require('./AbstractAdminPanel');
 
diff --git a/frontend-js/src/main/js/gui/admin/UsersAdminPanel.js b/frontend-js/src/main/js/gui/admin/UsersAdminPanel.js
index 6faa02555e494cfaef3da30f83d8db0ef6b1454a..d716fa2cfac45ff0b4117d92d5423afff4bb8807 100644
--- a/frontend-js/src/main/js/gui/admin/UsersAdminPanel.js
+++ b/frontend-js/src/main/js/gui/admin/UsersAdminPanel.js
@@ -1,6 +1,7 @@
 "use strict";
 
 /* exported logger */
+/* exported Promise*/
 
 var AbstractAdminPanel = require('./AbstractAdminPanel');
 
diff --git a/frontend-js/src/main/js/gui/export/GraphicsExportPanel.js b/frontend-js/src/main/js/gui/export/GraphicsExportPanel.js
index 4e2f7103a850a8a55e62ec42efbb08da47c9ba5c..545d312a1a7df570af80d56754d7350222c161b1 100644
--- a/frontend-js/src/main/js/gui/export/GraphicsExportPanel.js
+++ b/frontend-js/src/main/js/gui/export/GraphicsExportPanel.js
@@ -20,7 +20,6 @@ GraphicsExportPanel.prototype.init = function() {
   var element = self.getElement();
   var configuration;
   element.appendChild(self._createSelectProjectDiv());
-  var configuration;
   return ServerConnector.getConfiguration().then(function(result) {
     configuration = result;
     element.appendChild(self._createSelectGraphicsFormatDiv(configuration.getImageConverters()));
@@ -30,9 +29,8 @@ GraphicsExportPanel.prototype.init = function() {
   });
 };
 
-GraphicsExportPanel.prototype._createSelectProjectDiv = function(annotations) {
+GraphicsExportPanel.prototype._createSelectProjectDiv = function() {
   var self = this;
-  var project = self.getProject();
   var typeDiv = Functions.createElement({
     type : "div",
     name : "modelSelectDiv",
@@ -67,8 +65,6 @@ GraphicsExportPanel.prototype._createSelectProjectDiv = function(annotations) {
 };
 
 GraphicsExportPanel.prototype._createSelectGraphicsFormatDiv = function(formats) {
-  var self = this;
-  var project = self.getProject();
   var typeDiv = Functions.createElement({
     type : "div",
     name : "formatSelectDiv",
diff --git a/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js b/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js
index 8507144de26b29a5772c6c48cd759cd7e7e6fd60..1e27b9274787fe07e0860ee731a61b2cbe53387f 100644
--- a/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js
+++ b/frontend-js/src/main/js/gui/leftPanel/AbstractDbPanel.js
@@ -265,6 +265,7 @@ AbstractPanel.prototype.createTargetRow = function(target, icon) {
   iconColumn.style.textAlign = "center";
   result.appendChild(iconColumn);
   var submaps = [];
+  var i;
   if (target.getTargetElements().length > 0) {
     var submapAddedIds = [];
     iconColumn.appendChild(guiUtils.createIcon(icon));
@@ -278,7 +279,7 @@ AbstractPanel.prototype.createTargetRow = function(target, icon) {
 
     iconColumn.appendChild(checkbox);
     var elements = target.getTargetElements();
-    for (var i = 0; i < elements.length; i++) {
+    for (i = 0; i < elements.length; i++) {
       var elementId = elements[i].getModelId();
       if (elementId !== self.getMap().getId() && !submapAddedIds[elementId]) {
         submaps.push(elementId);
@@ -302,12 +303,12 @@ AbstractPanel.prototype.createTargetRow = function(target, icon) {
     descColumn.appendChild(guiUtils.createLabel("Available in submaps: "));
     for (i = 0; i < submaps.length; i++) {
       var model = self.getMap().getSubmapById(submaps[i]).getModel();
-      var onclick = function() {
+      var onclick = (function() {
         var id = model.getId();
         return function() {
           self.getMap().openSubmap(id);
-        }
-      }();
+        };
+      }());
       var button = Functions.createElement({
         type : "button",
         className : "minerva-open-submap-button",
diff --git a/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js b/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js
index 26be26a8e12dcf2e0ed811409b5d8e091b980a75..eb5ec1203e3a5530fead452e39fc54fbc0b0b6a7 100644
--- a/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js
+++ b/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js
@@ -114,7 +114,7 @@ PublicationListDialog.prototype._dataTableAjaxCall = function(data, callback) {
           return searchOverlay.searchByQuery(query, true, true).then(function() {
             $(self.getElement()).dialog("close");
           }).then(null, GuiConnector.alert);
-        }
+        };
         $("a[name=" + elementData.getId() + "]", $(self.getElement())).click(onclick);
       }));
     });
diff --git a/frontend-js/src/main/js/map/AbstractCustomMap.js b/frontend-js/src/main/js/map/AbstractCustomMap.js
index 6d10e69789c5f0031be91544541883e657ebb8c4..06bccc48ba2d14113796d306a09dae71c9f2038b 100644
--- a/frontend-js/src/main/js/map/AbstractCustomMap.js
+++ b/frontend-js/src/main/js/map/AbstractCustomMap.js
@@ -9,7 +9,6 @@ var AliasInfoWindow = require('./window/AliasInfoWindow');
 var AliasSurface = require('./surface/AliasSurface');
 var IdentifiedElement = require('./data/IdentifiedElement');
 var ObjectWithListeners = require('../ObjectWithListeners');
-var PointData = require('./data/PointData');
 var PointInfoWindow = require('./window/PointInfoWindow');
 var ReactionInfoWindow = require('./window/ReactionInfoWindow');
 var ReactionSurface = require('./surface/ReactionSurface');
diff --git a/frontend-js/src/main/js/map/data/MapModel.js b/frontend-js/src/main/js/map/data/MapModel.js
index 2d921edb045e3224891e0b539096dec2c8102733..1e4e53b9f6ff0d03d8c6e9288c8078043b270ec9 100644
--- a/frontend-js/src/main/js/map/data/MapModel.js
+++ b/frontend-js/src/main/js/map/data/MapModel.js
@@ -750,7 +750,6 @@ MapModel.prototype.getReactionsForElements = function(elements, complete) {
   }).then(function(reactions) {
     result = reactions;
 
-    var promises = [];
     for (var i = 0; i < reactions.length; i++) {
       var reaction = reactions[i];
       var id = reaction.getId();
@@ -767,8 +766,8 @@ MapModel.prototype.getReactionsForElements = function(elements, complete) {
     });
   }).then(function() {
     var promises = [];
-    for (var i=0;i<result.length;i++) {
-      promises.push(self.getCompleteReactionById(result[i].getId()));      
+    for (var i = 0; i < result.length; i++) {
+      promises.push(self.getCompleteReactionById(result[i].getId()));
     }
     return Promise.all(promises);
   });
diff --git a/frontend-js/src/main/js/map/data/Project.js b/frontend-js/src/main/js/map/data/Project.js
index d488f1955b8e99fff83a4ab38160262c4a282050..c540fc0dbd6d9dfd9411e2af378c936d359cfcb6 100644
--- a/frontend-js/src/main/js/map/data/Project.js
+++ b/frontend-js/src/main/js/map/data/Project.js
@@ -1,5 +1,7 @@
 "use strict";
 
+/* exported logger */
+
 var ObjectWithListeners = require('../../ObjectWithListeners');
 
 var Annotation = require("./Annotation");
diff --git a/frontend-js/src/test/js/gui/OverviewDialog-test.js b/frontend-js/src/test/js/gui/OverviewDialog-test.js
index 02fd8ab3ae0fc51989d32cce3beb388b34976e03..862bdeb351416b6171ac1ac9625ea3a81a85bc70 100644
--- a/frontend-js/src/test/js/gui/OverviewDialog-test.js
+++ b/frontend-js/src/test/js/gui/OverviewDialog-test.js
@@ -6,7 +6,6 @@ require("../mocha-config.js");
 
 var CustomMap = require('../../../main/js/map/CustomMap');
 var OverviewDialog = require('../../../main/js/gui/OverviewDialog');
-var Project = require('../../../main/js/map/data/Project');
 
 var chai = require('chai');
 var assert = chai.assert;
diff --git a/frontend-js/src/test/js/gui/admin/EditProjectDialog.js b/frontend-js/src/test/js/gui/admin/EditProjectDialog.js
index a1859b994833f4f504ba43a5f831f8b17a1953c6..b60c090763b4177374ea1616914d3f21fd1d5946 100644
--- a/frontend-js/src/test/js/gui/admin/EditProjectDialog.js
+++ b/frontend-js/src/test/js/gui/admin/EditProjectDialog.js
@@ -1,10 +1,9 @@
 "use strict";
 
+/* exported assert */
 /* exported logger */
 
 var EditProjectDialog = require('../../../../main/js/gui/admin/EditProjectDialog');
-var GuiMessageError = require('../../../../main/js/gui/GuiMessageError');
-var MiriamType = require('../../../../main/js/map/data/MiriamType');
 var logger = require('../../logger');
 
 var assert = require('assert');
@@ -16,8 +15,6 @@ describe('EditProjectDialog', function() {
     var project;
     return ServerConnector.getProject().then(function(result) {
       project = result;
-      return ServerConnector.getConfiguration();
-    }).then(function(configuration) {
       dialog = new EditProjectDialog({
         element : testDiv,
         project : project,
diff --git a/frontend-js/src/test/js/gui/admin/MapsAdminPanel-test.js b/frontend-js/src/test/js/gui/admin/MapsAdminPanel-test.js
index bfcfc48501fdbdd7ee703d7aa86c00353f878994..22da3cd520ba40299f377a70987b53fdb4ebcacb 100644
--- a/frontend-js/src/test/js/gui/admin/MapsAdminPanel-test.js
+++ b/frontend-js/src/test/js/gui/admin/MapsAdminPanel-test.js
@@ -1,10 +1,9 @@
 "use strict";
 
 /* exported logger */
+/* exported assert */
 
 var MapsAdminPanel = require('../../../../main/js/gui/admin/MapsAdminPanel');
-var GuiMessageError = require('../../../../main/js/gui/GuiMessageError');
-var MiriamType = require('../../../../main/js/map/data/MiriamType');
 var logger = require('../../logger');
 
 var assert = require('assert');
diff --git a/frontend-js/src/test/js/gui/leftPanel/AbstractPanel-test.js b/frontend-js/src/test/js/gui/leftPanel/AbstractPanel-test.js
index 75339099c76ac7063ab79982aaf18916154a4af4..b0fe51859243d5254d306da5f8c256f1cd0efe80 100644
--- a/frontend-js/src/test/js/gui/leftPanel/AbstractPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/AbstractPanel-test.js
@@ -59,7 +59,7 @@ describe('AbstractDbPanel', function() {
         });
         var htmlTag = panel.createTargetRow(target, "empty.png");
         assert.ok(htmlTag);
-        assert.equal(1, $(".minerva-open-submap-button", $(htmlTag)).length)
+        assert.equal(1, $(".minerva-open-submap-button", $(htmlTag)).length);
       });
     });
   });
diff --git a/frontend-js/src/test/js/map/AbstractCustomMap-test.js b/frontend-js/src/test/js/map/AbstractCustomMap-test.js
index 178bbea0fa09cf46f300e4e2efce9a3a2637a043..e1eac29194b9de759ccf3ea5dbd0545862b4db4d 100644
--- a/frontend-js/src/test/js/map/AbstractCustomMap-test.js
+++ b/frontend-js/src/test/js/map/AbstractCustomMap-test.js
@@ -5,9 +5,6 @@ var Promise = require("bluebird");
 var AliasMarker = require('../../../main/js/map/marker/AliasMarker');
 var AliasSurface = require('../../../main/js/map/surface/AliasSurface');
 var AbstractCustomMap = require('../../../main/js/map/AbstractCustomMap');
-var PointData = require('../../../main/js/map/data/PointData');
-var PointMarker = require('../../../main/js/map/marker/PointMarker');
-var ReactionMarker = require('../../../main/js/map/marker/ReactionMarker');
 var IdentifiedElement = require('../../../main/js/map/data/IdentifiedElement');
 
 var chai = require('chai');
@@ -335,7 +332,7 @@ describe('AbstractCustomMap', function() {
       map.fitBounds(markers);
       var center2 = map.getGoogleMap().getCenter();
       assert.ok(center.lat() !== center2.lat() || center.lng() !== center2.lng());
-    })
+    });
   });
 
 });
diff --git a/frontend-js/src/test/js/minerva-test.js b/frontend-js/src/test/js/minerva-test.js
index 8849af86e7e16e1898ce236e160aee3cf432e179..f824bd41f805572696139b23e15aaeb4b1e14dcf 100644
--- a/frontend-js/src/test/js/minerva-test.js
+++ b/frontend-js/src/test/js/minerva-test.js
@@ -4,7 +4,6 @@ require("./mocha-config.js");
 
 var Alias = require('../../main/js/map/data/Alias');
 var minerva = require('../../main/js/minerva');
-var Project = require('../../main/js/map/data/Project');
 var GuiConnectorMock = require('./GuiConnector-mock');
 var ServerConnectorMock = require('./ServerConnector-mock');
 var ServerConnectorMock = require('./ServerConnector-mock');