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 @@