From 5c61519af09ca320ba2b188438ad6fc024a7f2be Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Mon, 21 Dec 2020 15:22:01 +0100
Subject: [PATCH] provider: add eslint support

---
 packages/provider/.eslintignore   |  3 +++
 packages/provider/.eslintrc.json  | 25 +++++++++++++++++++++++++
 packages/provider/package.json    |  7 +++++--
 packages/provider/src/provider.js |  2 +-
 4 files changed, 34 insertions(+), 3 deletions(-)
 create mode 100644 packages/provider/.eslintignore
 create mode 100644 packages/provider/.eslintrc.json

diff --git a/packages/provider/.eslintignore b/packages/provider/.eslintignore
new file mode 100644
index 00000000..7b596da7
--- /dev/null
+++ b/packages/provider/.eslintignore
@@ -0,0 +1,3 @@
+/vendor/**
+/dist/**
+/*.js
\ No newline at end of file
diff --git a/packages/provider/.eslintrc.json b/packages/provider/.eslintrc.json
new file mode 100644
index 00000000..1ccd30a3
--- /dev/null
+++ b/packages/provider/.eslintrc.json
@@ -0,0 +1,25 @@
+{
+    "env": {
+        "browser": true,
+        "es6": true,
+        "mocha": true
+    },
+    "extends": ["eslint:recommended", "plugin:jsdoc/recommended"],
+    "globals": {
+        "Atomics": "readonly",
+        "SharedArrayBuffer": "readonly"
+    },
+    "parser": "babel-eslint",
+    "parserOptions": {
+        "ecmaVersion": 2018,
+        "sourceType": "module"
+    },
+    "rules": {
+        "no-unused-vars": ["error", { "args": "none" }],
+        "semi": [2, "always"],
+        "jsdoc/require-jsdoc": 0,
+        "jsdoc/require-param-description": 0,
+        "jsdoc/require-returns": 0,
+        "jsdoc/require-param-type": 0
+    }
+}
\ No newline at end of file
diff --git a/packages/provider/package.json b/packages/provider/package.json
index b784509e..ed9f5b6b 100644
--- a/packages/provider/package.json
+++ b/packages/provider/package.json
@@ -28,7 +28,9 @@
     "rollup-plugin-copy": "^3.1.0",
     "rollup-plugin-delete": "^2.0.0",
     "rollup-plugin-serve": "^1.0.1",
-    "rollup-plugin-terser": "^7.0.2"
+    "rollup-plugin-terser": "^7.0.2",
+    "eslint": "^7.3.1",
+    "eslint-plugin-jsdoc": "^30.6.4"
   },
   "dependencies": {
     "@dbp-toolkit/auth": "^0.1.0",
@@ -47,6 +49,7 @@
     "watch": "rollup -c --watch",
     "watch-local": "yarn run watch",
     "watch-dev": "rollup -c --watch --environment BUILD:development",
-    "test": "rollup -c --environment BUILD:test && karma start --singleRun"
+    "test": "rollup -c --environment BUILD:test && karma start --singleRun",
+    "lint": "eslint ."
   }
 }
diff --git a/packages/provider/src/provider.js b/packages/provider/src/provider.js
index 99066cf2..49249d39 100644
--- a/packages/provider/src/provider.js
+++ b/packages/provider/src/provider.js
@@ -72,7 +72,7 @@ export class Provider extends HTMLElement {
                     if (item.sender === sender && item.name === name) {
                         const index = that.callbackStore.indexOf(item);
                         that.callbackStore.splice(index, 1);
-                        console.log('Provider(' + that.id() + ') eventListener for name "' + name + '" removed.')
+                        console.log('Provider(' + that.id() + ') eventListener for name "' + name + '" removed.');
                     }
                 });
 
-- 
GitLab