diff --git a/Taskfile.yml b/Taskfile.yml
index 3d101c5..8117f3a 100644
--- a/Taskfile.yml
+++ b/Taskfile.yml
@@ -27,7 +27,7 @@ tasks:
sh: grep '^version' Cargo.toml|grep -Eo '[0-9]+\.[0-9]+\.[0-9]+')
lint:
- deps: [lint:frontend, lint:backend]
+ deps: [lint:frontend, lint:backend, lint:webext]
lint:frontend:
dir: webui
@@ -43,6 +43,15 @@ tasks:
cmds:
- cargo clippy --workspace
+ lint:webext:
+ dir: webext
+ deps: [setup:webext]
+ sources:
+ - ./**/*.ts
+ - ./**/*.svelte
+ cmds:
+ - yarn lint
+
test:
deps: [test:backend]
diff --git a/webext/.eslintrc.cjs b/webext/.eslintrc.cjs
new file mode 100644
index 0000000..946c389
--- /dev/null
+++ b/webext/.eslintrc.cjs
@@ -0,0 +1,34 @@
+module.exports = {
+ env: {
+ browser: true,
+ es2021: true
+ },
+ extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:storybook/recommended"],
+ parser: "@typescript-eslint/parser",
+ parserOptions: {
+ ecmaVersion: "latest",
+ sourceType: "module"
+ },
+ plugins: ["svelte3", "@typescript-eslint"],
+ overrides: [{
+ files: ["*.svelte"],
+ processor: "svelte3/svelte3"
+ }],
+ rules: {
+ "@typescript-eslint/no-unused-vars": ["warn", {
+ argsIgnorePattern: "^_",
+ varsIgnorePattern: "^_"
+ }],
+ "no-console": ["error", {
+ allow: ["debug", "warn", "error"]
+ }]
+ },
+ settings: {
+ "svelte3/typescript": true,
+ // load TypeScript as peer dependency
+ "svelte3/ignore-warnings": w => w.code == "unused-export-let"
+ },
+ globals: {
+ NodeJS: true
+ }
+};
\ No newline at end of file
diff --git a/webext/package.json b/webext/package.json
index ea24f95..1c55f17 100644
--- a/webext/package.json
+++ b/webext/package.json
@@ -9,7 +9,10 @@
"build:web-ext": "web-ext build --overwrite-dest",
"dev": "npm-run-all -p dev:vite dev:web-ext",
"dev:vite": "vite build --watch",
- "dev:web-ext": "web-ext run --devtools"
+ "dev:web-ext": "web-ext run --devtools",
+ "lint": "npm-run-all lint:eslint lint:web-ext",
+ "lint:eslint": "eslint src",
+ "lint:web-ext": "web-ext lint"
},
"dependencies": {
"@ibm/plex": "^6.3.0",
@@ -26,6 +29,11 @@
},
"devDependencies": {
"@types/webextension-polyfill": "^0.10.0",
+ "@typescript-eslint/eslint-plugin": "^5.32.0",
+ "@typescript-eslint/parser": "^5.32.0",
+ "eslint": "^8.30.0",
+ "eslint-plugin-storybook": "^0.6.10",
+ "eslint-plugin-svelte3": "^4.0.0",
"npm-run-all": "^4.1.5",
"webextension-polyfill": "^0.10.0"
}
diff --git a/webext/src/App.svelte b/webext/src/App.svelte
index 85cae14..196da7f 100644
--- a/webext/src/App.svelte
+++ b/webext/src/App.svelte
@@ -105,7 +105,7 @@