diff --git a/js/.eslintrc b/js/.eslintrc
index b8c38b3428d47f2492ed5805f44ee7029f472c07..427098c13d27e9fa8809962a75404e315da932b4 100644
--- a/js/.eslintrc
+++ b/js/.eslintrc
@@ -9,6 +9,8 @@
 
         // Possible Errors
         "comma-dangle": [2, "never"],
+        "handle-callback-err": 2,
+        "no-bitwise": 0,
         "no-cond-assign": 2,
         "no-console": 2,
         "no-constant-condition": 2,
@@ -26,7 +28,7 @@
         "no-func-assign": 2,
         "no-inner-declarations": 2,
         "no-invalid-regexp": 2,
-        "no-irregular-whitespace": 0,
+        "no-irregular-whitespace": 2,
         "no-negated-in-lhs": 2,
         "no-obj-calls": 2,
         "no-regex-spaces": 2,
@@ -66,7 +68,7 @@
         "no-lone-blocks": 2,
         "no-loop-func": 2,
         "no-multi-spaces": 0,
-        "no-multi-str": 0,
+        "no-multi-str": 2,
         "no-native-reassign": 2,
         "no-new": 2,
         "no-new-func": 0,
@@ -84,6 +86,7 @@
         "no-throw-literal": 2,
         "no-unused-expressions": 2,
         "no-useless-call": 2,
+        "no-useless-concat": 2,
         "no-void": 2,
         "no-warning-comments": 0,
         "no-with": 2,
@@ -117,7 +120,7 @@
         "eol-last": 2,
         "func-names": 0,
         "func-style": 0,
-        "indent": 0,
+        "indent": [2, 2, {"SwitchCase": 1}],
         "key-spacing": 0,
         "linebreak-style": 2,
         "lines-around-comment": 0,
@@ -142,10 +145,10 @@
         "operator-assignment": 2,
         "operator-linebreak": 0,
         "padded-blocks": 0,
-        "quote-props": 0,
-        "quotes": 0,
+        "quote-props": [2, "as-needed"],
+        "quotes": [2, "single"],
         "semi": [2, "never"],
-        "semi-spacing": 0,
+        "semi-spacing": 2,
         "sort-vars": 2,
         "space-after-keywords": 2,
         "space-before-blocks": 2,
diff --git a/js/src/dropdown.js b/js/src/dropdown.js
index f947d2aa11fc75449129d6d90f54c9e389239846..286471a739faae90d49111ad8abc5fda278fd5df 100644
--- a/js/src/dropdown.js
+++ b/js/src/dropdown.js
@@ -25,11 +25,11 @@ const Dropdown = (($) => {
   const JQUERY_NO_CONFLICT  = $.fn[NAME]
 
   const Event = {
-    HIDE             : `hide${EVENT_KEY}`,
-    HIDDEN           : `hidden${EVENT_KEY}`,
-    SHOW             : `show${EVENT_KEY}`,
-    SHOWN            : `shown${EVENT_KEY}`,
-    CLICK            : `click${EVENT_KEY}`,
+    HIDE             : `hide${EVENT_KEY}`,
+    HIDDEN           : `hidden${EVENT_KEY}`,
+    SHOW             : `show${EVENT_KEY}`,
+    SHOWN            : `shown${EVENT_KEY}`,
+    CLICK            : `click${EVENT_KEY}`,
     CLICK_DATA_API   : `click${EVENT_KEY}${DATA_API_KEY}`,
     KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`
   }
diff --git a/js/src/modal.js b/js/src/modal.js
index a5f0160c9cc00eff17c3a40d2b889f60a970bee2..6fab292f74d7fbd107bb5a7bec67a900dd6e6954 100644
--- a/js/src/modal.js
+++ b/js/src/modal.js
@@ -41,10 +41,10 @@ const Modal = (($) => {
   }
 
   const Event = {
-    HIDE              : `hide${EVENT_KEY}`,
-    HIDDEN            : `hidden${EVENT_KEY}`,
-    SHOW              : `show${EVENT_KEY}`,
-    SHOWN             : `shown${EVENT_KEY}`,
+    HIDE              : `hide${EVENT_KEY}`,
+    HIDDEN            : `hidden${EVENT_KEY}`,
+    SHOW              : `show${EVENT_KEY}`,
+    SHOWN             : `shown${EVENT_KEY}`,
     FOCUSIN           : `focusin${EVENT_KEY}`,
     RESIZE            : `resize${EVENT_KEY}`,
     CLICK_DISMISS     : `click.dismiss${EVENT_KEY}`,
diff --git a/js/src/tab.js b/js/src/tab.js
index 1283881e4c795eacc4b1eb481581a6969b71bdd0..6bfe387396cfe80dab8794b2abfa5e93403420f7 100644
--- a/js/src/tab.js
+++ b/js/src/tab.js
@@ -253,9 +253,9 @@ const Tab = (($) => {
 
   $(document)
     .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
-    event.preventDefault()
-    Tab._jQueryInterface.call($(this), 'show')
-  })
+      event.preventDefault()
+      Tab._jQueryInterface.call($(this), 'show')
+    })
 
 
   /**