diff --git a/.eslintrc.js b/.eslintrc.js
index 6e5f1c917964447b5f9a71de933c087ac5be0466..679cc7de97e12be33892ba31f9d467713611e95e 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -8,6 +8,13 @@ eslint.parserOptions = {
   },
 };
 
+eslint.rules['no-unused-vars'] = ['error', { varsIgnorePattern: 'inject' }];
+
+eslint.rules['no-underscore-dangle'] = [
+  'error',
+  { allow: ['_tools', '_config'] },
+];
+
 eslint.rules['class-methods-use-this'] = [
   1,
   { exceptMethods: ['run', 'enable', 'active', 'select'] },
diff --git a/wax-prosemirror-core/src/config/Config.js b/wax-prosemirror-core/src/config/Config.js
index 9ecd54446d6f2abbd13ebe16967cb3a2d1a7b902..b69d732a1d25069034158dcbd14887b9001ee496 100644
--- a/wax-prosemirror-core/src/config/Config.js
+++ b/wax-prosemirror-core/src/config/Config.js
@@ -1,5 +1,3 @@
-/* eslint-disable no-unused-vars */
-/* eslint-disable no-underscore-dangle */
 import { set, get, isArrayLikeObject } from 'lodash';
 import { injectable, inject } from 'inversify';
 
diff --git a/wax-prosemirror-core/src/config/defaultServices/LayoutService/components/componentPlugin.js b/wax-prosemirror-core/src/config/defaultServices/LayoutService/components/componentPlugin.js
index 1fe7a1431d81cf228876a3faa3374a058dd3de3f..b4fe7310356f11ce62f6cb849fc8875e49d00458 100644
--- a/wax-prosemirror-core/src/config/defaultServices/LayoutService/components/componentPlugin.js
+++ b/wax-prosemirror-core/src/config/defaultServices/LayoutService/components/componentPlugin.js
@@ -1,30 +1,8 @@
-/* eslint-disable react/prop-types */
 /* eslint-disable react/jsx-props-no-spreading */
-/* eslint-disable no-shadow */
 /* eslint-disable react/no-array-index-key */
-/* eslint-disable react/destructuring-assignment */
-import React, { Component } from 'react';
+import React from 'react';
 import { useInjection } from '../../../../WaxContext';
 
-// eslint-disable-next-line no-unused-vars
-class UpdateView extends Component {
-  constructor(props) {
-    super(props);
-
-    this.state = {
-      view: this.props.view,
-    };
-  }
-
-  updateView(view) {
-    this.setState(view);
-  }
-
-  render() {
-    return this.props.children({ view: this.state.view });
-  }
-}
-
 const ComponentPlugin = renderArea => layoutProps => {
   const { instance } = useInjection('Layout');
 
diff --git a/wax-prosemirror-core/src/config/defaultServices/MenuService/MenuCollection.js b/wax-prosemirror-core/src/config/defaultServices/MenuService/MenuCollection.js
index 8cd01f3773ed5fb557a90a5d850247c666f4a5f9..d8109a6cce7b3d864cae9e8474ad903821dfeb01 100644
--- a/wax-prosemirror-core/src/config/defaultServices/MenuService/MenuCollection.js
+++ b/wax-prosemirror-core/src/config/defaultServices/MenuService/MenuCollection.js
@@ -1,4 +1,4 @@
-// eslint-disable-next-line no-unused-vars
+/* eslint-disable no-unused-vars */
 import { injectable, multiInject } from 'inversify';
 
 @injectable()
diff --git a/wax-prosemirror-services/src/WaxToolGroups/MultipleChoiceDropDownToolGroupService/MultipleChoiceDropDown.js b/wax-prosemirror-services/src/WaxToolGroups/MultipleChoiceDropDownToolGroupService/MultipleChoiceDropDown.js
index 01347bfd5a8103d9d34c85f330caafd622e48f7e..d63ae4b7ec412cf44587cb7b4d0a3920b7c83956 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/MultipleChoiceDropDownToolGroupService/MultipleChoiceDropDown.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/MultipleChoiceDropDownToolGroupService/MultipleChoiceDropDown.js
@@ -1,4 +1,3 @@
-/* eslint-disable no-underscore-dangle */
 import React, { useMemo } from 'react';
 import { injectable, inject } from 'inversify';
 import { isEmpty } from 'lodash';