From 912f14549c7f0575001b13eba73206beb57a5205 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 6 Dec 2025 15:19:32 +0200 Subject: [PATCH] chore(eslint): integrate playwright e2e --- apps/server-e2e/eslint.config.mjs | 15 --------- eslint.config.mjs | 56 +++++++++++++++++++++---------- 2 files changed, 38 insertions(+), 33 deletions(-) delete mode 100644 apps/server-e2e/eslint.config.mjs diff --git a/apps/server-e2e/eslint.config.mjs b/apps/server-e2e/eslint.config.mjs deleted file mode 100644 index 1603594d7..000000000 --- a/apps/server-e2e/eslint.config.mjs +++ /dev/null @@ -1,15 +0,0 @@ -import playwright from "eslint-plugin-playwright"; -import baseConfig from "../../eslint.config.mjs"; - -export default [ - playwright.configs["flat/recommended"], - ...baseConfig, - { - files: [ - "**/*.ts", - "**/*.js" - ], - // Override or add rules here - rules: {} - } -]; diff --git a/eslint.config.mjs b/eslint.config.mjs index 11628d8a0..af536a18f 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -4,19 +4,10 @@ import eslint from '@eslint/js'; import { defineConfig, globalIgnores } from 'eslint/config'; import tseslint from 'typescript-eslint'; import simpleImportSort from "eslint-plugin-simple-import-sort"; +import playwright from "eslint-plugin-playwright"; +import tsParser from "@typescript-eslint/parser"; -export default defineConfig( - globalIgnores([ - ".cache", - "tmp", - "**/dist", - "**/out-tsc", - "apps/edit-docs/demo/*", - "docs/*", - "apps/web-clipper/lib/*", - // TODO: check if we want to format packages here as well - for now skipping it - "packages/*", - ]), +const mainConfig = defineConfig( eslint.configs.recommended, tseslint.configs.recommended, // consider using rules below, once we have a full TS codebase and can be more strict @@ -32,24 +23,53 @@ export default defineConfig( } }, { - plugins: { - "simple-import-sort": simpleImportSort - }, - rules: { "no-undef": "off", "no-unused-vars": "off", - "@typescript-eslint/no-unused-vars": [ "error", { argsIgnorePattern: "^_", varsIgnorePattern: "^_" } - ], + ] + } + }, + { + plugins: { + "simple-import-sort": simpleImportSort + }, + rules: { "simple-import-sort/imports": "error", "simple-import-sort/exports": "error" } } ); + +const playwrightConfig = { + files: [ + "apps/server-e2e/src/**/*.spec.ts", + "apps/desktop/e2e/**/*.spec.ts" + ], + plugins: { playwright }, + // Override or add rules here + rules: { ...playwright.configs["flat/recommended"].rules, }, + languageOptions: { parser: tsParser }, +}; + +export default defineConfig( + globalIgnores([ + ".cache", + "tmp", + "**/dist", + "**/out-tsc", + "apps/edit-docs/demo/*", + "docs/*", + "apps/web-clipper/lib/*", + // TODO: check if we want to format packages here as well - for now skipping it + "packages/*", + ]), + ...mainConfig, + playwrightConfig +);