From 1cd5808846184af47c221c8b98ee131aac053e7e Mon Sep 17 00:00:00 2001 From: shortstacked Date: Mon, 21 Jul 2025 12:48:28 +0100 Subject: [PATCH] ci: Add testing lint fix (#17197) --- .github/workflows/linting-reusable.yml | 3 + package.json | 1 + .../n8n-test-container-dependencies.ts | 2 +- .../testing/playwright/config/intercepts.ts | 1 - packages/testing/playwright/eslint.config.mjs | 58 ++++++++++--------- turbo.json | 8 +++ 6 files changed, 45 insertions(+), 28 deletions(-) diff --git a/.github/workflows/linting-reusable.yml b/.github/workflows/linting-reusable.yml index d56b95468b..90773bd4a9 100644 --- a/.github/workflows/linting-reusable.yml +++ b/.github/workflows/linting-reusable.yml @@ -43,3 +43,6 @@ jobs: - name: Lint Frontend run: pnpm lint:frontend + + - name: Lint Testing + run: pnpm lint:testing diff --git a/package.json b/package.json index c713278cd3..87ce37a949 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "lint:backend": "turbo run lint:backend", "lint:nodes": "turbo run lint:nodes", "lint:frontend": "turbo run lint:frontend", + "lint:testing": "turbo run lint:testing", "optimize-svg": "find ./packages -name '*.svg' ! -name 'pipedrive.svg' -print0 | xargs -0 -P16 -L20 npx svgo", "setup-backend-module": "node scripts/ensure-zx.mjs && zx scripts/backend-module/setup.mjs", "start": "run-script-os", diff --git a/packages/testing/containers/n8n-test-container-dependencies.ts b/packages/testing/containers/n8n-test-container-dependencies.ts index 15c91d3142..51445abc08 100644 --- a/packages/testing/containers/n8n-test-container-dependencies.ts +++ b/packages/testing/containers/n8n-test-container-dependencies.ts @@ -1,10 +1,10 @@ import { PostgreSqlContainer } from '@testcontainers/postgresql'; import { RedisContainer } from '@testcontainers/redis'; +import { setTimeout as wait } from 'node:timers/promises'; import type { StartedNetwork, StartedTestContainer } from 'testcontainers'; import { GenericContainer, Wait } from 'testcontainers'; import { createSilentLogConsumer } from './n8n-test-container-utils'; -import { setTimeout as wait } from 'node:timers/promises'; export async function setupRedis({ redisImage, diff --git a/packages/testing/playwright/config/intercepts.ts b/packages/testing/playwright/config/intercepts.ts index 71c759560e..418ddf1b7f 100644 --- a/packages/testing/playwright/config/intercepts.ts +++ b/packages/testing/playwright/config/intercepts.ts @@ -1,4 +1,3 @@ -/* eslint-disable import-x/no-extraneous-dependencies */ import type { FrontendSettings } from '@n8n/api-types'; import type { BrowserContext, Route } from '@playwright/test'; import cloneDeep from 'lodash/cloneDeep'; diff --git a/packages/testing/playwright/eslint.config.mjs b/packages/testing/playwright/eslint.config.mjs index 8d1ad0a6a5..bdc7ac92f9 100644 --- a/packages/testing/playwright/eslint.config.mjs +++ b/packages/testing/playwright/eslint.config.mjs @@ -1,30 +1,36 @@ -import { defineConfig, globalIgnores } from 'eslint/config'; +import { defineConfig } from 'eslint/config'; import { baseConfig } from '@n8n/eslint-config/base'; import playwrightPlugin from 'eslint-plugin-playwright'; -export default defineConfig(baseConfig, playwrightPlugin.configs['flat/recommended'], { - ignores: ['playwright-report/**'], - rules: { - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/no-unsafe-argument': 'off', - '@typescript-eslint/no-unsafe-assignment': 'off', - '@typescript-eslint/no-unsafe-call': 'off', - '@typescript-eslint/no-unsafe-member-access': 'off', - '@typescript-eslint/no-unsafe-return': 'off', - '@typescript-eslint/no-unused-expressions': 'off', - '@typescript-eslint/no-use-before-define': 'off', - '@typescript-eslint/promise-function-async': 'off', - 'n8n-local-rules/no-uncaught-json-parse': 'off', - 'playwright/expect-expect': 'warn', - 'playwright/max-nested-describe': 'warn', - 'playwright/no-conditional-in-test': 'error', - 'playwright/no-skipped-test': 'warn', - 'import-x/no-extraneous-dependencies': [ - 'error', - { - devDependencies: ['**/tests/**', '**/e2e/**', '**/playwright/**'], - optionalDependencies: false, - }, - ], +export default defineConfig( + { + ignores: ['**/playwright-report/**'], }, -}); + baseConfig, + playwrightPlugin.configs['flat/recommended'], + { + rules: { + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-unsafe-argument': 'off', + '@typescript-eslint/no-unsafe-assignment': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unsafe-return': 'off', + '@typescript-eslint/no-unused-expressions': 'off', + '@typescript-eslint/no-use-before-define': 'off', + '@typescript-eslint/promise-function-async': 'off', + 'n8n-local-rules/no-uncaught-json-parse': 'off', + 'playwright/expect-expect': 'warn', + 'playwright/max-nested-describe': 'warn', + 'playwright/no-conditional-in-test': 'error', + 'playwright/no-skipped-test': 'warn', + 'import-x/no-extraneous-dependencies': [ + 'error', + { + devDependencies: ['**/tests/**', '**/e2e/**', '**/playwright/**'], + optionalDependencies: false, + }, + ], + }, + }, +); diff --git a/turbo.json b/turbo.json index ae2ed4316b..951664a47e 100644 --- a/turbo.json +++ b/turbo.json @@ -83,6 +83,14 @@ "@n8n/json-schema-to-zod#lint" ] }, + "lint:testing": { + "dependsOn": [ + "@n8n/eslint-config#build", + "^build", + "n8n-playwright#lint", + "n8n-containers#lint" + ] + }, "lint": { "dependsOn": ["^build", "@n8n/eslint-config#build"] },