diff --git a/.code-health-baseline.json b/.code-health-baseline.json index e9b04a56807..62d50bdffd0 100644 --- a/.code-health-baseline.json +++ b/.code-health-baseline.json @@ -4,1009 +4,53 @@ "packages/@n8n/ai-workflow-builder.ee/package.json": [ { "rule": "catalog-violations", - "line": 76, + "line": 78, "message": "langsmith@^0.4.6 should use \"catalog:\" (exists in pnpm-workspace.yaml)", "hash": "6ee5e003d795" }, - { - "rule": "catalog-violations", - "line": 63, - "message": "@mozilla/readability appears in 5 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "d2120f012c93" - }, - { - "rule": "catalog-violations", - "line": 80, - "message": "turndown appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "85c311d87491" - }, - { - "rule": "catalog-violations", - "line": 87, - "message": "@types/turndown appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "407c8d1b3428" - }, { "rule": "single-instance-libs", - "line": 60, + "line": 61, "message": "\"@langchain/core\" is a runtime dependency of \"@n8n/ai-workflow-builder\"; it must be a peerDependency.", "hash": "352bf126d45a" }, { "rule": "single-instance-libs", - "line": 86, + "line": 85, "message": "\"zod\" is a runtime dependency of \"@n8n/ai-workflow-builder\"; it must be a peerDependency.", "hash": "fd6171764eb4" } ], - "packages/@n8n/json-schema-to-zod/package.json": [ - { - "rule": "catalog-violations", - "line": 64, - "message": "zod@^3.25.76 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "0e18482e8781" - } - ], - "packages/@n8n/nodes-langchain/package.json": [ - { - "rule": "catalog-violations", - "line": 272, - "message": "@n8n/typeorm@0.3.20-16 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "a7c1bca1c439" - }, - { - "rule": "catalog-violations", - "line": 273, - "message": "mysql2@3.17.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "2d7d1b715d0c" - }, - { - "rule": "catalog-violations", - "line": 301, - "message": "openai@^6.34.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "3c1f53f0afe3" - }, - { - "rule": "catalog-violations", - "line": 265, - "message": "@mozilla/readability appears in 5 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "69d6fa7e46f9" - }, - { - "rule": "catalog-violations", - "line": 283, - "message": "cheerio appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "8cd029bb871e" - }, - { - "rule": "catalog-violations", - "line": 298, - "message": "mongodb appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "46cb48884e22" - }, - { - "rule": "single-instance-libs", - "line": 253, - "message": "\"@langchain/core\" is a runtime dependency of \"@n8n/n8n-nodes-langchain\"; it must be a peerDependency.", - "hash": "a3cb17459555" - }, - { - "rule": "single-instance-libs", - "line": 304, - "message": "\"form-data\" is a runtime dependency of \"@n8n/n8n-nodes-langchain\"; it must be a peerDependency.", - "hash": "d3d8fabe4a38" - }, - { - "rule": "single-instance-libs", - "line": 330, - "message": "\"zod\" is a runtime dependency of \"@n8n/n8n-nodes-langchain\"; it must be a peerDependency.", - "hash": "6dea0e57951a" - } - ], "packages/@n8n/tournament/package.json": [ { "rule": "catalog-violations", - "line": 47, + "line": 43, "message": "@types/node@^18.13.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", "hash": "6368b5d3b924" }, { "rule": "catalog-violations", - "line": 55, - "message": "typescript@^5.0.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "f668021a144e" - }, - { - "rule": "catalog-violations", - "line": 58, + "line": 52, "message": "ast-types appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", "hash": "27edcbb2b4f8" }, { "rule": "catalog-violations", - "line": 59, + "line": 53, "message": "esprima-next appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", "hash": "75058f9a4d30" }, { "rule": "catalog-violations", - "line": 60, + "line": 54, "message": "recast appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", "hash": "5f2b50fef19d" } ], - "packages/frontend/@n8n/chat/package.json": [ - { - "rule": "catalog-violations", - "line": 60, - "message": "unplugin-icons@^0.19.0 should use \"catalog:frontend\" (exists in pnpm-workspace.yaml [frontend])", - "hash": "a0d24d761026" - } - ], - "packages/frontend/@n8n/design-system/package.json": [ - { - "rule": "catalog-violations", - "line": 88, - "message": "@vueuse/core@* should use \"catalog:frontend\" (exists in pnpm-workspace.yaml [frontend])", - "hash": "237e9d17c4ba" - } - ], - "packages/cli/package.json": [ - { - "rule": "catalog-violations", - "line": 146, - "message": "@opentelemetry/sdk-trace-base appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "1cf7f6bcf5d1" - }, - { - "rule": "catalog-violations", - "line": 147, - "message": "@opentelemetry/sdk-trace-node appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "a3dad0b8dc21" - }, - { - "rule": "catalog-violations", - "line": 157, - "message": "change-case appears in 5 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "949e802528f7" - }, - { - "rule": "catalog-violations", - "line": 212, - "message": "prettier appears in 3 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "3cab98902302" - }, - { - "rule": "catalog-violations", - "line": 228, - "message": "undici appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "91c29775e961" - }, - { - "rule": "catalog-violations", - "line": 231, - "message": "ws appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "cd07242e8163" - }, - { - "rule": "catalog-violations", - "line": 80, - "message": "@types/psl appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "6e62e0076b0a" - } - ], - "packages/@n8n/agents/package.json": [ - { - "rule": "catalog-violations", - "line": 76, - "message": "@opentelemetry/sdk-trace-base appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "c5c495ac3508" - }, - { - "rule": "catalog-violations", - "line": 77, - "message": "@opentelemetry/sdk-trace-node appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "a77ced903cdf" - } - ], - "packages/node-dev/package.json": [ - { - "rule": "catalog-violations", - "line": 49, - "message": "change-case appears in 5 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "6988b9f58c92" - }, - { - "rule": "catalog-violations", - "line": 48, - "message": "@oclif/core appears in 4 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "da9b64834300" - } - ], - "packages/nodes-base/package.json": [ - { - "rule": "catalog-violations", - "line": 920, - "message": "change-case appears in 5 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "2d1fab7a5b05" - }, - { - "rule": "catalog-violations", - "line": 909, - "message": "@mozilla/readability appears in 5 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "ca4ac788adc6" - }, - { - "rule": "catalog-violations", - "line": 921, - "message": "cheerio appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "1a1b5bbc50c9" - }, - { - "rule": "catalog-violations", - "line": 926, - "message": "eventsource appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "9795e6c6d9e9" - }, - { - "rule": "catalog-violations", - "line": 951, - "message": "mongodb appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "f688907d087a" - }, - { - "rule": "catalog-violations", - "line": 901, - "message": "eslint-plugin-n8n-nodes-base appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "ac254baa61f9" - }, - { - "rule": "single-instance-libs", - "line": 938, - "message": "\"@langchain/core\" is a runtime dependency of \"n8n-nodes-base\"; it must be a peerDependency.", - "hash": "9501f20519c4" - }, - { - "rule": "single-instance-libs", - "line": 961, - "message": "\"form-data\" is a runtime dependency of \"n8n-nodes-base\"; it must be a peerDependency.", - "hash": "3998c8aa25cb" - }, - { - "rule": "single-instance-libs", - "line": 1020, - "message": "\"zod\" is a runtime dependency of \"n8n-nodes-base\"; it must be a peerDependency.", - "hash": "de1e5b4624e0" - } - ], - "packages/@n8n/node-cli/package.json": [ - { - "rule": "catalog-violations", - "line": 53, - "message": "change-case appears in 5 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "da74ed210d07" - }, - { - "rule": "catalog-violations", - "line": 60, - "message": "prettier appears in 3 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "188baf266f61" - }, - { - "rule": "catalog-violations", - "line": 52, - "message": "@oclif/core appears in 4 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "9711a9b00bf9" - }, - { - "rule": "catalog-violations", - "line": 56, - "message": "eslint-plugin-n8n-nodes-base appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "6a9e12780943" - } - ], - "packages/frontend/editor-ui/package.json": [ - { - "rule": "catalog-violations", - "line": 71, - "message": "change-case appears in 5 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "bd9a2eeb072b" - }, - { - "rule": "catalog-violations", - "line": 93, - "message": "prettier appears in 3 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "9e9c7ec09a0b" - }, - { - "rule": "catalog-violations", - "line": 80, - "message": "esprima-next appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "62156c2613b2" - } - ], - "packages/@n8n/ai-utilities/package.json": [ - { - "rule": "catalog-violations", - "line": 107, - "message": "undici appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "c14cd05614e8" - }, - { - "rule": "catalog-violations", - "line": 110, - "message": "n8n-workflow appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "ea4fbfff30ba" - }, - { - "rule": "single-instance-libs", - "line": 120, - "message": "\"zod\" is a runtime dependency of \"@n8n/ai-utilities\"; it must be a peerDependency.", - "hash": "2ed5d6717e54" - }, - { - "rule": "single-instance-libs", - "line": 122, - "message": "\"@langchain/core\" is a runtime dependency of \"@n8n/ai-utilities\"; it must be a peerDependency.", - "hash": "5626f18eefaf" - } - ], - "packages/@n8n/mcp-browser/package.json": [ - { - "rule": "catalog-violations", - "line": 37, - "message": "ws appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "9650c1b55f3c" - }, - { - "rule": "catalog-violations", - "line": 29, - "message": "@mozilla/readability appears in 5 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "0c97891a24f4" - }, - { - "rule": "catalog-violations", - "line": 36, - "message": "turndown appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "f23a9d3d7aa2" - }, - { - "rule": "catalog-violations", - "line": 44, - "message": "@types/turndown appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "3f9e46e56803" - }, - { - "rule": "catalog-violations", - "line": 27, - "message": "@joplin/turndown-plugin-gfm appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "743e3a7dbb32" - }, - { - "rule": "single-instance-libs", - "line": 39, - "message": "\"zod\" is a runtime dependency of \"@n8n/mcp-browser\"; it must be a peerDependency.", - "hash": "5045d34d52ae" - } - ], - "packages/@n8n/task-runner/package.json": [ - { - "rule": "catalog-violations", - "line": 51, - "message": "ws appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "51cb5069f382" - } - ], - "packages/@n8n/instance-ai/package.json": [ - { - "rule": "catalog-violations", - "line": 89, - "message": "@types/psl appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "56dabb51b433" - }, - { - "rule": "catalog-violations", - "line": 56, - "message": "@mozilla/readability appears in 5 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "8fa6b9a8fc91" - }, - { - "rule": "catalog-violations", - "line": 76, - "message": "turndown appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "9a9d97065952" - }, - { - "rule": "catalog-violations", - "line": 90, - "message": "@types/turndown appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "12e346c47b39" - }, - { - "rule": "catalog-violations", - "line": 55, - "message": "@joplin/turndown-plugin-gfm appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "a3cf1504b5c2" - }, - { - "rule": "single-instance-libs", - "line": 86, - "message": "\"zod\" is a runtime dependency of \"@n8n/instance-ai\"; it must be a peerDependency.", - "hash": "4a6882cb8d62" - } - ], - "packages/quality/efficiency/scale/benchmark/package.json": [ - { - "rule": "catalog-violations", - "line": 38, - "message": "@oclif/core appears in 4 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "e07bb1da47d7" - } - ], - "packages/@n8n/cli/package.json": [ - { - "rule": "catalog-violations", - "line": 75, - "message": "@oclif/core appears in 4 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "733c3960022e" - } - ], - "packages/@n8n/computer-use/package.json": [ - { - "rule": "catalog-violations", - "line": 48, - "message": "eventsource appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "f50c1eee2ed6" - } - ], - "packages/workflow/package.json": [ - { - "rule": "catalog-violations", - "line": 64, - "message": "ast-types appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "1c7d7cf0b0fe" - }, - { - "rule": "catalog-violations", - "line": 66, - "message": "esprima-next appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "627a716b5d23" - }, - { - "rule": "catalog-violations", - "line": 74, - "message": "recast appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "b660317b5f6f" - }, - { - "rule": "single-instance-libs", - "line": 83, - "message": "\"form-data\" is a runtime dependency of \"n8n-workflow\"; it must be a peerDependency.", - "hash": "a5f5104e7293" - } - ], - "packages/@n8n/eslint-plugin-community-nodes/package.json": [ - { - "rule": "catalog-violations", - "line": 49, - "message": "n8n-workflow appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "c5830b76ff8e" - } - ], - "packages/@n8n/stylelint-config/package.json": [ - { - "rule": "catalog-violations", - "line": 30, - "message": "stylelint appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "955f3fe044c7" - } - ], - "packages/@n8n/db/src/migrations/common/1690000000030-RemoveResetPasswordColumns.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1690000000030-RemoveResetPasswordColumns.ts (1690000000030) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "c524a9ca4292" - } - ], - "packages/@n8n/db/src/migrations/common/1690000000040-AddMfaColumns.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1690000000040-AddMfaColumns.ts (1690000000040) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "9d571251376b" - } - ], - "packages/@n8n/db/src/migrations/common/1693491613982-ExecutionSoftDelete.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1693491613982-ExecutionSoftDelete.ts (1693491613982) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "7ade19d27ea8" - } - ], - "packages/@n8n/db/src/migrations/common/1693554410387-DisallowOrphanExecutions.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1693554410387-DisallowOrphanExecutions.ts (1693554410387) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "d46b0ae69b38" - } - ], - "packages/@n8n/db/src/migrations/common/1695128658538-AddWorkflowMetadata.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1695128658538-AddWorkflowMetadata.ts (1695128658538) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "52c9ad1e00dc" - } - ], - "packages/@n8n/db/src/migrations/common/1695829275184-ModifyWorkflowHistoryNodesAndConnections.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1695829275184-ModifyWorkflowHistoryNodesAndConnections.ts (1695829275184) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "e05c9af6e2f9" - } - ], - "packages/@n8n/db/src/migrations/common/1705429061930-DropRoleMapping.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1705429061930-DropRoleMapping.ts (1705429061930) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "8d325473bce5" - } - ], - "packages/@n8n/db/src/migrations/common/1712044305787-RemoveNodesAccess.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1712044305787-RemoveNodesAccess.ts (1712044305787) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "8d2bbe7bc09d" - } - ], - "packages/@n8n/db/src/migrations/common/1714133768519-CreateProject.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1714133768519-CreateProject.ts (1714133768519) is at or below the highest existing migration timestamp (1784000000038). New migrations must be strictly ordered — pick a timestamp greater than 1784000000038.", - "hash": "8c3e8df6f6f5" - } - ], - "packages/@n8n/db/src/migrations/common/1714133768521-MakeExecutionStatusNonNullable.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1714133768521-MakeExecutionStatusNonNullable.ts (1714133768521) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "7e726215f602" - } - ], - "packages/@n8n/db/src/migrations/common/1724951148974-AddApiKeysTable.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1724951148974-AddApiKeysTable.ts (1724951148974) is at or below the highest existing migration timestamp (1784000000038). New migrations must be strictly ordered — pick a timestamp greater than 1784000000038.", - "hash": "b582d057878a" - } - ], - "packages/@n8n/db/src/migrations/sqlite/1724951148974-AddApiKeysTable.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1724951148974-AddApiKeysTable.ts (1724951148974) is at or below the highest existing migration timestamp (1784000000038). New migrations must be strictly ordered — pick a timestamp greater than 1784000000038.", - "hash": "c743ad0d5284" - } - ], - "packages/@n8n/db/src/migrations/common/1727427440136-SeparateExecutionCreationFromStart.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1727427440136-SeparateExecutionCreationFromStart.ts (1727427440136) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "702281e1c037" - } - ], - "packages/@n8n/db/src/migrations/common/1729607673464-UpdateProcessedDataValueColumnToText.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1729607673464-UpdateProcessedDataValueColumnToText.ts (1729607673464) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "cf281457e81a" - } - ], - "packages/@n8n/db/src/migrations/common/1729607673469-AddProjectIcons.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1729607673469-AddProjectIcons.ts (1729607673469) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "d3c84ea555a6" - } - ], - "packages/@n8n/db/src/migrations/common/1731404028106-AddDescriptionToTestDefinition.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1731404028106-AddDescriptionToTestDefinition.ts (1731404028106) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "c0b12dc71971" - } - ], - "packages/@n8n/db/src/migrations/common/1742918400000-AddScopesColumnToApiKeys.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1742918400000-AddScopesColumnToApiKeys.ts (1742918400000) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "1bd84c6e2704" - } - ], - "packages/@n8n/db/src/migrations/common/1750252139168-LinkRoleToUserTable.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1750252139168-LinkRoleToUserTable.ts (1750252139168) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "ae1fdf257787" - } - ], - "packages/@n8n/db/src/migrations/common/1750252139170-RemoveOldRoleColumn.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1750252139170-RemoveOldRoleColumn.ts (1750252139170) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "121d2727ab80" - } - ], - "packages/@n8n/db/src/migrations/common/1752669793000-AddInputsOutputsToTestCaseExecution.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1752669793000-AddInputsOutputsToTestCaseExecution.ts (1752669793000) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "01857ec1a3d0" - } - ], - "packages/@n8n/db/src/migrations/common/1756906557570-AddTimestampsToRoleAndRoleIndexes.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1756906557570-AddTimestampsToRoleAndRoleIndexes.ts (1756906557570) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "3170ea3366de" - } - ], - "packages/@n8n/db/src/migrations/common/1758731786132-AddAudienceColumnToApiKey.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1758731786132-AddAudienceColumnToApiKey.ts (1758731786132) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "d52a1dd1e54e" - } - ], - "packages/@n8n/db/src/migrations/common/1760020000000-CreateChatHubAgentTable.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1760020000000-CreateChatHubAgentTable.ts (1760020000000) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "f8b39208c141" - } - ], - "packages/@n8n/db/src/migrations/common/1760965142113-DropUnusedChatHubColumns.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1760965142113-DropUnusedChatHubColumns.ts (1760965142113) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "55d389c0489c" - } - ], - "packages/@n8n/db/src/migrations/common/1761773155024-AddAttachmentsToChatHubMessages.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1761773155024-AddAttachmentsToChatHubMessages.ts (1761773155024) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "5f07b3ecd092" - } - ], - "packages/@n8n/db/src/migrations/common/1761830340990-AddToolsColumnToChatHubTables.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1761830340990-AddToolsColumnToChatHubTables.ts (1761830340990) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "77e018405eed" - } - ], - "packages/@n8n/db/src/migrations/common/1762177736257-AddWorkflowDescriptionColumn.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1762177736257-AddWorkflowDescriptionColumn.ts (1762177736257) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "f660693c50e8" - } - ], - "packages/@n8n/db/src/migrations/common/1762763704614-BackfillMissingWorkflowHistoryRecords.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1762763704614-BackfillMissingWorkflowHistoryRecords.ts (1762763704614) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "9918ff139099" - } - ], - "packages/@n8n/db/src/migrations/common/1762847206508-AddWorkflowHistoryAutoSaveFields.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1762847206508-AddWorkflowHistoryAutoSaveFields.ts (1762847206508) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "806cf49b747e" - } - ], - "packages/@n8n/db/src/migrations/common/1763047800000-AddActiveVersionIdColumn.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1763047800000-AddActiveVersionIdColumn.ts (1763047800000) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "35d686155538" - } - ], - "packages/@n8n/db/src/migrations/common/1764276827837-AddCreatorIdToProjectTable.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1764276827837-AddCreatorIdToProjectTable.ts (1764276827837) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "1ed16ec75965" - } - ], - "packages/@n8n/db/src/migrations/common/1765459448000-AddResolvableFieldsToCredentials.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1765459448000-AddResolvableFieldsToCredentials.ts (1765459448000) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "94d3e53d35b4" - } - ], - "packages/@n8n/db/src/migrations/common/1765788427674-AddIconToAgentTable.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1765788427674-AddIconToAgentTable.ts (1765788427674) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "8886bd530de2" - } - ], - "packages/@n8n/db/src/migrations/common/1766068346315-AddChatMessageIndices.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1766068346315-AddChatMessageIndices.ts (1766068346315) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "dc5d53f65c2a" - } - ], - "packages/@n8n/db/src/migrations/common/1769000000000-AddPublishedVersionIdToWorkflowDependency.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1769000000000-AddPublishedVersionIdToWorkflowDependency.ts (1769000000000) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "e6f6c0d42f7f" - } - ], - "packages/@n8n/db/src/migrations/common/1770000000000-CreateChatHubToolsTable.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1770000000000-CreateChatHubToolsTable.ts (1770000000000) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "61f4de8f7db3" - } - ], - "packages/@n8n/db/src/migrations/common/1771500000002-AddFilesColumnToChatHubAgents.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1771500000002-AddFilesColumnToChatHubAgents.ts (1771500000002) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "5ee6be686a28" - } - ], - "packages/@n8n/db/src/migrations/common/1772000000000-AddSuggestedPromptsToAgentTable.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1772000000000-AddSuggestedPromptsToAgentTable.ts (1772000000000) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "48bcd6bfe745" - } - ], - "packages/@n8n/db/src/migrations/common/1772619247761-AddRoleColumnToProjectSecretsProviderAccess.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1772619247761-AddRoleColumnToProjectSecretsProviderAccess.ts (1772619247761) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "acc7cac40f87" - } - ], - "packages/@n8n/db/src/migrations/common/1772700000000-AddTypeToChatHubSessions.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1772700000000-AddTypeToChatHubSessions.ts (1772700000000) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "0279dc26f034" - } - ], - "packages/@n8n/db/src/migrations/common/1774280963551-AddRestoreFieldsToWorkflowBuilderSession.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1774280963551-AddRestoreFieldsToWorkflowBuilderSession.ts (1774280963551) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "5bb3e906cdbb" - } - ], - "packages/@n8n/db/src/migrations/common/1775740765000-ChangeWorkflowPublishHistoryVersionIdToSetNull.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1775740765000-ChangeWorkflowPublishHistoryVersionIdToSetNull.ts (1775740765000) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "c7e78794aefa" - } - ], - "packages/@n8n/db/src/migrations/common/1777045000000-AddTracingContextToExecution.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1777045000000-AddTracingContextToExecution.ts (1777045000000) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "41a43f631a32" - } - ], - "packages/@n8n/db/src/migrations/common/1777100000000-AddLangsmithIdsToInstanceAiRunSnapshots.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1777100000000-AddLangsmithIdsToInstanceAiRunSnapshots.ts (1777100000000) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "b541b874f037" - } - ], - "packages/@n8n/db/src/migrations/common/1778000000000-AddExecutionDeduplicationKey.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1778000000000-AddExecutionDeduplicationKey.ts (1778000000000) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "278684d916e8" - } - ], - "packages/@n8n/db/src/migrations/common/1778100002000-AddEvaluationConfigColumnsToTestRun.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1778100002000-AddEvaluationConfigColumnsToTestRun.ts (1778100002000) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "f61392909be0" - } - ], - "packages/@n8n/db/src/migrations/common/1778496086558-CreateEvaluationCollection.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1778496086558-CreateEvaluationCollection.ts (1778496086558) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "7a5d5dd7ac85" - } - ], - "packages/@n8n/db/src/migrations/common/1784000000002-DropAgentExecutionWorkingMemory.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1784000000002-DropAgentExecutionWorkingMemory.ts (1784000000002) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "88c53222237a" - } - ], - "packages/@n8n/db/src/migrations/common/1784000000006-AddNodeGroupsColumnToWorkflowAndHistory.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1784000000006-AddNodeGroupsColumnToWorkflowAndHistory.ts (1784000000006) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "e946194f33ec" - } - ], - "packages/@n8n/db/src/migrations/common/1784000000007-CreateInstanceAiCheckpointTable.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1784000000007-CreateInstanceAiCheckpointTable.ts (1784000000007) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "e5ea3b8289ec" - } - ], - "packages/@n8n/db/src/migrations/common/1784000000011-CreateAgentHistoryTable.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1784000000011-CreateAgentHistoryTable.ts (1784000000011) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "696e69444d0a" - } - ], - "packages/@n8n/db/src/migrations/common/1784000000014-PersistInstanceAiPendingConfirmations.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1784000000014-PersistInstanceAiPendingConfirmations.ts (1784000000014) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "bd255e8eeb5b" - } - ], - "packages/@n8n/db/src/migrations/common/1784000000015-AddSourceWorkflowIdToWorkflow.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1784000000015-AddSourceWorkflowIdToWorkflow.ts (1784000000015) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "45b35ca6fa25" - } - ], - "packages/@n8n/db/src/migrations/common/1784000000017-AddLastUsedAtToApiKey.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1784000000017-AddLastUsedAtToApiKey.ts (1784000000017) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "bc7d45e6e54e" - } - ], - "packages/@n8n/db/src/migrations/common/1784000000018-CreateAgentFilesTable.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1784000000018-CreateAgentFilesTable.ts (1784000000018) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "11a6b05559ae" - } - ], - "packages/@n8n/db/src/migrations/common/1784000000019-AddCustomTelemetryTagsToProject.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1784000000019-AddCustomTelemetryTagsToProject.ts (1784000000019) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "357263c229a1" - } - ], - "packages/@n8n/db/src/migrations/common/1784000000021-CreateAgentTaskDefinitionTable.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1784000000021-CreateAgentTaskDefinitionTable.ts (1784000000021) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "a161a7d7e616" - } - ], - "packages/@n8n/db/src/migrations/common/1784000000022-AddSubAgentLinkageToAgentExecutionThreads.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1784000000022-AddSubAgentLinkageToAgentExecutionThreads.ts (1784000000022) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "287b98643496" - } - ], - "packages/@n8n/db/src/migrations/common/1784000000024-AddResourceToOAuthAuthorizationCodes.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1784000000024-AddResourceToOAuthAuthorizationCodes.ts (1784000000024) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "f3aa84779924" - } - ], - "packages/@n8n/db/src/migrations/postgresdb/1758794506893-AddProjectIdToVariableTable.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1758794506893-AddProjectIdToVariableTable.ts (1758794506893) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "7aebfa806bd9" - } - ], - "packages/@n8n/db/src/migrations/sqlite/1764276827837-AddCreatorIdToProjectTable.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1764276827837-AddCreatorIdToProjectTable.ts (1764276827837) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "e50608c0e078" - } - ], - "packages/@n8n/db/src/migrations/sqlite/1764689448000-AddResolvableFieldsToCredentials.ts": [ - { - "rule": "migration-timestamp", - "line": 1, - "message": "1764689448000-AddResolvableFieldsToCredentials.ts (1764689448000) is at or below the highest existing migration timestamp (1784000000025). New migrations must be strictly ordered — pick a timestamp greater than 1784000000025.", - "hash": "ac2493848228" - } - ], "packages/@n8n/typeorm/package.json": [ { "rule": "catalog-violations", - "line": 118, - "message": "reflect-metadata@^0.2.2 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "558f12c2dd9c" - }, - { - "rule": "catalog-violations", - "line": 122, + "line": 119, "message": "uuid@^9.0.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", "hash": "0304587b7acc" }, @@ -1024,65 +68,265 @@ }, { "rule": "catalog-violations", - "line": 76, - "message": "eslint@^8.44.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "0036144a407d" - }, - { - "rule": "catalog-violations", - "line": 78, - "message": "pg@^8.17.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "6cac348bdcc8" - }, - { - "rule": "catalog-violations", - "line": 80, - "message": "prettier@^2.8.3 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "869ee9ce64bc" - }, - { - "rule": "catalog-violations", - "line": 81, + "line": 79, "message": "rimraf@^4.1.2 should use \"catalog:\" (exists in pnpm-workspace.yaml)", "hash": "48f117898c57" + } + ], + "packages/frontend/@n8n/chat/package.json": [ + { + "rule": "catalog-violations", + "line": 68, + "message": "unplugin-icons@^0.19.0 should use \"catalog:frontend\" (exists in pnpm-workspace.yaml [frontend])", + "hash": "a0d24d761026" + } + ], + "packages/cli/package.json": [ + { + "rule": "catalog-violations", + "line": 196, + "message": "@opentelemetry/sdk-trace-base appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "1cf7f6bcf5d1" + }, + { + "rule": "catalog-violations", + "line": 197, + "message": "@opentelemetry/sdk-trace-node appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "a3dad0b8dc21" + }, + { + "rule": "catalog-violations", + "line": 285, + "message": "ws appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "cd07242e8163" + }, + { + "rule": "catalog-violations", + "line": 94, + "message": "@types/psl appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "6e62e0076b0a" + } + ], + "packages/@n8n/agents/package.json": [ + { + "rule": "catalog-violations", + "line": 119, + "message": "@opentelemetry/sdk-trace-base appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "c5c495ac3508" + }, + { + "rule": "catalog-violations", + "line": 120, + "message": "@opentelemetry/sdk-trace-node appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "a77ced903cdf" + } + ], + "packages/@n8n/mcp-browser/package.json": [ + { + "rule": "catalog-violations", + "line": 36, + "message": "ws appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "9650c1b55f3c" + }, + { + "rule": "single-instance-libs", + "line": 38, + "message": "\"zod\" is a runtime dependency of \"@n8n/mcp-browser\"; it must be a peerDependency.", + "hash": "5045d34d52ae" + } + ], + "packages/@n8n/task-runner/package.json": [ + { + "rule": "catalog-violations", + "line": 51, + "message": "ws appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "51cb5069f382" + } + ], + "packages/@n8n/instance-ai/package.json": [ + { + "rule": "catalog-violations", + "line": 107, + "message": "@types/psl appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "56dabb51b433" + }, + { + "rule": "single-instance-libs", + "line": 97, + "message": "\"zod\" is a runtime dependency of \"@n8n/instance-ai\"; it must be a peerDependency.", + "hash": "4a6882cb8d62" + } + ], + "packages/node-dev/package.json": [ + { + "rule": "catalog-violations", + "line": 48, + "message": "@oclif/core appears in 4 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "da9b64834300" + } + ], + "packages/@n8n/cli/package.json": [ + { + "rule": "catalog-violations", + "line": 84, + "message": "@oclif/core appears in 4 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "733c3960022e" + } + ], + "packages/@n8n/node-cli/package.json": [ + { + "rule": "catalog-violations", + "line": 53, + "message": "@oclif/core appears in 4 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "9711a9b00bf9" + } + ], + "packages/quality/efficiency/scale/benchmark/package.json": [ + { + "rule": "catalog-violations", + "line": 38, + "message": "@oclif/core appears in 4 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "e07bb1da47d7" + } + ], + "packages/nodes-base/package.json": [ + { + "rule": "catalog-violations", + "line": 971, + "message": "eventsource appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "9795e6c6d9e9" + }, + { + "rule": "catalog-violations", + "line": 998, + "message": "mongodb appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "f688907d087a" + }, + { + "rule": "single-instance-libs", + "line": 953, + "message": "\"@langchain/core\" is a runtime dependency of \"n8n-nodes-base\"; it must be a peerDependency.", + "hash": "9501f20519c4" + }, + { + "rule": "single-instance-libs", + "line": 975, + "message": "\"form-data\" is a runtime dependency of \"n8n-nodes-base\"; it must be a peerDependency.", + "hash": "3998c8aa25cb" + }, + { + "rule": "single-instance-libs", + "line": 1031, + "message": "\"zod\" is a runtime dependency of \"n8n-nodes-base\"; it must be a peerDependency.", + "hash": "de1e5b4624e0" + } + ], + "packages/@n8n/computer-use/package.json": [ + { + "rule": "catalog-violations", + "line": 48, + "message": "eventsource appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "f50c1eee2ed6" + } + ], + "packages/@n8n/nodes-langchain/package.json": [ + { + "rule": "catalog-violations", + "line": 313, + "message": "mongodb appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "46cb48884e22" + }, + { + "rule": "single-instance-libs", + "line": 255, + "message": "\"@langchain/core\" is a runtime dependency of \"@n8n/n8n-nodes-langchain\"; it must be a peerDependency.", + "hash": "a3cb17459555" + }, + { + "rule": "single-instance-libs", + "line": 302, + "message": "\"form-data\" is a runtime dependency of \"@n8n/n8n-nodes-langchain\"; it must be a peerDependency.", + "hash": "d3d8fabe4a38" + }, + { + "rule": "single-instance-libs", + "line": 328, + "message": "\"zod\" is a runtime dependency of \"@n8n/n8n-nodes-langchain\"; it must be a peerDependency.", + "hash": "6dea0e57951a" + } + ], + "packages/workflow/package.json": [ + { + "rule": "catalog-violations", + "line": 82, + "message": "ast-types appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "1c7d7cf0b0fe" }, { "rule": "catalog-violations", "line": 84, - "message": "source-map-support@^0.5.21 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "c27bcf7b8b06" + "message": "esprima-next appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "627a716b5d23" }, { "rule": "catalog-violations", - "line": 87, - "message": "typescript@^5.3.3 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "050d5b2d74e1" + "line": 93, + "message": "recast appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "b660317b5f6f" + }, + { + "rule": "single-instance-libs", + "line": 85, + "message": "\"form-data\" is a runtime dependency of \"n8n-workflow\"; it must be a peerDependency.", + "hash": "a5f5104e7293" + } + ], + "packages/frontend/editor-ui/package.json": [ + { + "rule": "catalog-violations", + "line": 128, + "message": "esprima-next appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "62156c2613b2" } ], "packages/core/package.json": [ { "rule": "single-instance-libs", - "line": 61, + "line": 65, "message": "\"@langchain/core\" is a runtime dependency of \"n8n-core\"; it must be a peerDependency.", "hash": "602aad4587ee" }, { "rule": "single-instance-libs", - "line": 81, + "line": 86, "message": "\"form-data\" is a runtime dependency of \"n8n-core\"; it must be a peerDependency.", "hash": "643d5b8cd4be" } ], + "packages/@n8n/ai-utilities/package.json": [ + { + "rule": "single-instance-libs", + "line": 154, + "message": "\"zod\" is a runtime dependency of \"@n8n/ai-utilities\"; it must be a peerDependency.", + "hash": "2ed5d6717e54" + }, + { + "rule": "single-instance-libs", + "line": 156, + "message": "\"@langchain/core\" is a runtime dependency of \"@n8n/ai-utilities\"; it must be a peerDependency.", + "hash": "5626f18eefaf" + } + ], "packages/@n8n/backend-network/package.json": [ { "rule": "single-instance-libs", - "line": 68, + "line": 76, "message": "\"form-data\" is a runtime dependency of \"@n8n/backend-network\"; it must be a peerDependency.", "hash": "6b988cc15b6f" }, { "rule": "single-instance-libs", - "line": 77, + "line": 84, "message": "\"zod\" is a runtime dependency of \"@n8n/backend-network\"; it must be a peerDependency.", "hash": "3af671752aa6" } @@ -1090,7 +334,7 @@ "packages/@n8n/blob-storage/package.json": [ { "rule": "single-instance-libs", - "line": 52, + "line": 51, "message": "\"zod\" is a runtime dependency of \"@n8n/blob-storage\"; it must be a peerDependency.", "hash": "2beb68b6b1eb" } @@ -1111,22 +355,30 @@ "hash": "67751e0ed127" } ], - "packages/@n8n/extension-sdk/package.json": [ + "packages/@n8n/engine/package.json": [ { "rule": "single-instance-libs", - "line": 66, - "message": "\"zod\" is a runtime dependency of \"@n8n/extension-sdk\"; it must be a peerDependency.", - "hash": "ab05f1864411" + "line": 37, + "message": "\"zod\" is a runtime dependency of \"@n8n/engine\"; it must be a peerDependency.", + "hash": "a25ac9357fce" } ], "packages/@n8n/expression-runtime/package.json": [ { "rule": "single-instance-libs", - "line": 48, + "line": 51, "message": "\"zod\" is a runtime dependency of \"@n8n/expression-runtime\"; it must be a peerDependency.", "hash": "5669d2783982" } ], + "packages/@n8n/extension-sdk/package.json": [ + { + "rule": "single-instance-libs", + "line": 68, + "message": "\"zod\" is a runtime dependency of \"@n8n/extension-sdk\"; it must be a peerDependency.", + "hash": "ab05f1864411" + } + ], "packages/@n8n/mcp-apps/package.json": [ { "rule": "single-instance-libs", @@ -1151,359 +403,281 @@ "hash": "d1cff54dc25f" } ], - "packages/@n8n/workflow-sdk/package.json": [ - { - "rule": "single-instance-libs", - "line": 107, - "message": "\"zod\" is a runtime dependency of \"@n8n/workflow-sdk\"; it must be a peerDependency.", - "hash": "e8f5ce9766b4" - } - ], - "packages/@n8n/engine/package.json": [ - { - "rule": "single-instance-libs", - "line": 34, - "message": "\"zod\" is a runtime dependency of \"@n8n/engine\"; it must be a peerDependency.", - "hash": "a25ac9357fce" - } - ], "packages/@n8n/telemetry/package.json": [ { "rule": "single-instance-libs", - "line": 26, + "line": 28, "message": "\"zod\" is a runtime dependency of \"@n8n/telemetry\"; it must be a peerDependency.", "hash": "d61edcda4afe" } ], - "pnpm-workspace.yaml": [ + "packages/@n8n/workflow-sdk/package.json": [ { - "rule": "stale-overrides", - "line": 327, - "message": "Override \"@azure/identity\" duplicates a catalog entry for @azure/identity — set the override to \"catalog:\" or remove it", - "hash": "5183952df723" - }, - { - "rule": "stale-overrides", - "line": 328, - "message": "Override \"@lezer/common\" duplicates a catalog entry for @lezer/common — set the override to \"catalog:\" or remove it", - "hash": "6aa79f7cd1ba" - }, - { - "rule": "stale-overrides", - "line": 334, - "message": "Override \"@types/node\" duplicates a catalog entry for @types/node — set the override to \"catalog:\" or remove it", - "hash": "e25412bfd766" - }, - { - "rule": "stale-overrides", - "line": 335, - "message": "Override \"chokidar\" duplicates a catalog entry for chokidar — set the override to \"catalog:\" or remove it", - "hash": "b6002f782205" - }, - { - "rule": "stale-overrides", - "line": 350, - "message": "Override \"form-data\" duplicates a catalog entry for form-data — set the override to \"catalog:\" or remove it", - "hash": "76d57eeb42b2" - }, - { - "rule": "stale-overrides", - "line": 354, - "message": "Override \"nodemailer\" duplicates a catalog entry for nodemailer — set the override to \"catalog:\" or remove it", - "hash": "9ce0ecb14ba5" - }, - { - "rule": "stale-overrides", - "line": 356, - "message": "Override \"zod\" duplicates a catalog entry for zod — set the override to \"catalog:\" or remove it", - "hash": "6dad5def0c97" - }, - { - "rule": "stale-overrides", - "line": 366, - "message": "Override \"@rudderstack/rudder-sdk-node@<=3.0.0\" duplicates a catalog entry for @rudderstack/rudder-sdk-node — set the override to \"catalog:\" or remove it", - "hash": "413eaaefa630" - }, - { - "rule": "stale-overrides", - "line": 374, - "message": "Override \"lodash\" duplicates a catalog entry for lodash — set the override to \"catalog:\" or remove it", - "hash": "58cfd2a6213b" - }, - { - "rule": "stale-overrides", - "line": 381, - "message": "Override \"flatted\" duplicates a catalog entry for flatted — set the override to \"catalog:\" or remove it", - "hash": "bc9ce009bac8" - }, - { - "rule": "stale-overrides", - "line": 390, - "message": "Override \"yaml@<=2.8.3\" duplicates a catalog entry for yaml — set the override to \"catalog:\" or remove it", - "hash": "9434ddd428c5" - }, - { - "rule": "stale-overrides", - "line": 396, - "message": "Override \"uuid@<=13.0.1\" duplicates a catalog entry for uuid — set the override to \"catalog:\" or remove it", - "hash": "1a45449bfde3" - }, - { - "rule": "stale-overrides", - "line": 409, - "message": "Override \"langsmith\" duplicates a catalog entry for langsmith — set the override to \"catalog:\" or remove it", - "hash": "9ac3dbae3d22" + "rule": "single-instance-libs", + "line": 116, + "message": "\"zod\" is a runtime dependency of \"@n8n/workflow-sdk\"; it must be a peerDependency.", + "hash": "e8f5ce9766b4" } ], "packages/nodes-base/nodes/Microsoft/Entra/GenericFunctions.ts": [ { "rule": "encryption-boundary", - "line": 428, + "line": 429, "message": "A bare `eslint-disable` directive silences every lint rule in its range, including the encryption guardrails.", "hash": "7d9779f96d99" } ], - "packages/core/eslint.config.mjs": [ - { - "rule": "lint-config-layering", - "line": 14, - "message": "packages/core turns 'no-prototype-builtins' down to 'warn' for the whole package.", - "hash": "f6d9c62ac3fa" - }, - { - "rule": "lint-config-layering", - "line": 15, - "message": "packages/core turns 'no-ex-assign' down to 'warn' for the whole package.", - "hash": "1bb332c34de8" - }, - { - "rule": "lint-config-layering", - "line": 16, - "message": "packages/core turns 'no-useless-escape' down to 'warn' for the whole package.", - "hash": "8c7b005323e5" - }, - { - "rule": "lint-config-layering", - "line": 17, - "message": "packages/core turns '@typescript-eslint/no-require-imports' down to 'warn' for the whole package.", - "hash": "efdd5147a463" - }, - { - "rule": "lint-config-layering", - "line": 18, - "message": "packages/core turns '@typescript-eslint/no-base-to-string' down to 'warn' for the whole package.", - "hash": "5328912625c6" - }, - { - "rule": "lint-config-layering", - "line": 19, - "message": "packages/core turns '@typescript-eslint/prefer-optional-chain' down to 'warn' for the whole package.", - "hash": "eddccedaafb7" - }, - { - "rule": "lint-config-layering", - "line": 20, - "message": "packages/core turns '@typescript-eslint/no-array-delete' down to 'warn' for the whole package.", - "hash": "c05a6f2ae2f1" - } - ], "packages/cli/eslint.config.mjs": [ { "rule": "lint-config-layering", - "line": 90, + "line": 117, "message": "packages/cli turns '@typescript-eslint/ban-ts-comment' down to 'off' for the whole package.", "hash": "7e7e5e67871c" }, { "rule": "lint-config-layering", - "line": 91, + "line": 118, "message": "packages/cli turns 'import-x/no-cycle' down to 'warn' for the whole package.", "hash": "e53210bcd5e5" }, { "rule": "lint-config-layering", - "line": 92, + "line": 119, "message": "packages/cli turns 'import-x/extensions' down to 'off' for the whole package.", "hash": "e9ac61307734" }, { "rule": "lint-config-layering", - "line": 93, + "line": 120, "message": "packages/cli turns 'no-ex-assign' down to 'warn' for the whole package.", "hash": "9555ecb54f1c" }, { "rule": "lint-config-layering", - "line": 94, + "line": 121, "message": "packages/cli turns 'no-case-declarations' down to 'warn' for the whole package.", "hash": "ac66463536bc" }, { "rule": "lint-config-layering", - "line": 95, + "line": 122, "message": "packages/cli turns 'no-fallthrough' down to 'warn' for the whole package.", "hash": "d27fa33c682d" }, { "rule": "lint-config-layering", - "line": 96, + "line": 123, "message": "packages/cli turns 'no-unsafe-optional-chaining' down to 'warn' for the whole package.", "hash": "ea7a4933c714" }, { "rule": "lint-config-layering", - "line": 97, + "line": 124, "message": "packages/cli turns 'no-async-promise-executor' down to 'warn' for the whole package.", "hash": "af41798867ce" }, { "rule": "lint-config-layering", - "line": 98, + "line": 125, "message": "packages/cli turns 'complexity' down to 'off' for the whole package.", "hash": "55ccec6cbe85" }, { "rule": "lint-config-layering", - "line": 99, + "line": 126, "message": "packages/cli turns '@typescript-eslint/prefer-promise-reject-errors' down to 'warn' for the whole package.", "hash": "27aa46ca0c89" }, { "rule": "lint-config-layering", - "line": 100, + "line": 127, "message": "packages/cli turns '@typescript-eslint/no-explicit-any' down to 'warn' for the whole package.", "hash": "ec58ba458ff5" }, { "rule": "lint-config-layering", - "line": 101, + "line": 128, "message": "packages/cli turns '@typescript-eslint/no-base-to-string' down to 'warn' for the whole package.", "hash": "ada384a6c58c" }, { "rule": "lint-config-layering", - "line": 102, + "line": 129, "message": "packages/cli turns '@typescript-eslint/no-redundant-type-constituents' down to 'warn' for the whole package.", "hash": "fb40bae42683" }, { "rule": "lint-config-layering", - "line": 103, + "line": 130, "message": "packages/cli turns '@typescript-eslint/no-restricted-types' down to 'warn' for the whole package.", "hash": "ee8be51f48f3" }, { "rule": "lint-config-layering", - "line": 104, + "line": 131, "message": "packages/cli turns '@typescript-eslint/no-unsafe-enum-comparison' down to 'warn' for the whole package.", "hash": "e1d09e3cb444" }, { "rule": "lint-config-layering", - "line": 105, + "line": 132, "message": "packages/cli turns '@typescript-eslint/no-unsafe-declaration-merging' down to 'warn' for the whole package.", "hash": "abf613bdcbec" }, { "rule": "lint-config-layering", - "line": 106, + "line": 133, "message": "packages/cli turns '@typescript-eslint/only-throw-error' down to 'warn' for the whole package.", "hash": "f6b9cb56f2da" }, { "rule": "lint-config-layering", - "line": 107, + "line": 134, "message": "packages/cli turns '@typescript-eslint/no-require-imports' down to 'warn' for the whole package.", "hash": "ce5c4ddb8b21" }, { "rule": "lint-config-layering", - "line": 108, + "line": 135, "message": "packages/cli turns '@typescript-eslint/array-type' down to 'warn' for the whole package.", "hash": "06eb8c68c0e3" }, { "rule": "lint-config-layering", - "line": 109, + "line": 136, "message": "packages/cli turns 'no-useless-escape' down to 'warn' for the whole package.", "hash": "581e9d0a38b0" }, { "rule": "lint-config-layering", - "line": 110, + "line": 137, "message": "packages/cli turns '@typescript-eslint/prefer-optional-chain' down to 'warn' for the whole package.", "hash": "60a340796f69" }, { "rule": "lint-config-layering", - "line": 111, + "line": 138, "message": "packages/cli turns '@typescript-eslint/no-duplicate-type-constituents' down to 'warn' for the whole package.", "hash": "499e9bcc262e" } ], - "packages/node-dev/eslint.config.mjs": [ + "packages/cli/oxlint.config.mts": [ { "rule": "lint-config-layering", - "line": 7, - "message": "packages/node-dev turns 'unicorn/filename-case' down to 'warn' for the whole package.", - "hash": "55a9d5b897d9" + "line": 113, + "message": "packages/cli turns 'typescript/ban-ts-comment' down to 'off' for the whole package.", + "hash": "8ce649f6325e" + }, + { + "rule": "lint-config-layering", + "line": 114, + "message": "packages/cli turns 'import/no-cycle' down to 'warn' for the whole package.", + "hash": "d1a323605d82" + }, + { + "rule": "lint-config-layering", + "line": 115, + "message": "packages/cli turns 'no-ex-assign' down to 'warn' for the whole package.", + "hash": "8e06c3185fea" + }, + { + "rule": "lint-config-layering", + "line": 116, + "message": "packages/cli turns 'no-case-declarations' down to 'warn' for the whole package.", + "hash": "0113294d567c" + }, + { + "rule": "lint-config-layering", + "line": 117, + "message": "packages/cli turns 'no-fallthrough' down to 'warn' for the whole package.", + "hash": "1c2c962990dc" + }, + { + "rule": "lint-config-layering", + "line": 118, + "message": "packages/cli turns 'no-unsafe-optional-chaining' down to 'warn' for the whole package.", + "hash": "ea7abf87c8e1" + }, + { + "rule": "lint-config-layering", + "line": 119, + "message": "packages/cli turns 'no-async-promise-executor' down to 'warn' for the whole package.", + "hash": "439bd5663098" + }, + { + "rule": "lint-config-layering", + "line": 120, + "message": "packages/cli turns 'typescript/prefer-promise-reject-errors' down to 'warn' for the whole package.", + "hash": "f66fb711f73c" + }, + { + "rule": "lint-config-layering", + "line": 121, + "message": "packages/cli turns 'typescript/no-explicit-any' down to 'warn' for the whole package.", + "hash": "8d04d20abf14" + }, + { + "rule": "lint-config-layering", + "line": 122, + "message": "packages/cli turns 'typescript/no-base-to-string' down to 'warn' for the whole package.", + "hash": "150b70a83647" + }, + { + "rule": "lint-config-layering", + "line": 123, + "message": "packages/cli turns 'typescript/no-redundant-type-constituents' down to 'warn' for the whole package.", + "hash": "305977256d63" + }, + { + "rule": "lint-config-layering", + "line": 124, + "message": "packages/cli turns 'typescript/no-restricted-types' down to 'warn' for the whole package.", + "hash": "c54dd4e9a991" + }, + { + "rule": "lint-config-layering", + "line": 125, + "message": "packages/cli turns 'typescript/no-unsafe-enum-comparison' down to 'warn' for the whole package.", + "hash": "24212381cd2c" + }, + { + "rule": "lint-config-layering", + "line": 126, + "message": "packages/cli turns 'typescript/no-unsafe-declaration-merging' down to 'warn' for the whole package.", + "hash": "b356b9e9c40f" + }, + { + "rule": "lint-config-layering", + "line": 127, + "message": "packages/cli turns 'typescript/only-throw-error' down to 'warn' for the whole package.", + "hash": "1a50fa1c43a1" + }, + { + "rule": "lint-config-layering", + "line": 128, + "message": "packages/cli turns 'typescript/no-require-imports' down to 'warn' for the whole package.", + "hash": "311019e3d1e5" + }, + { + "rule": "lint-config-layering", + "line": 129, + "message": "packages/cli turns 'typescript/array-type' down to 'warn' for the whole package.", + "hash": "51a269c524d3" + }, + { + "rule": "lint-config-layering", + "line": 130, + "message": "packages/cli turns 'no-useless-escape' down to 'warn' for the whole package.", + "hash": "6a48caa02e63" + }, + { + "rule": "lint-config-layering", + "line": 131, + "message": "packages/cli turns 'typescript/no-duplicate-type-constituents' down to 'warn' for the whole package.", + "hash": "9e547bb1eaae" } ], "packages/nodes-base/eslint.config.mjs": [ - { - "rule": "lint-config-layering", - "line": 27, - "message": "packages/nodes-base turns 'no-ex-assign' down to 'warn' for the whole package.", - "hash": "405b1823ac6e" - }, - { - "rule": "lint-config-layering", - "line": 28, - "message": "packages/nodes-base turns 'no-control-regex' down to 'warn' for the whole package.", - "hash": "be29a0fb44a3" - }, - { - "rule": "lint-config-layering", - "line": 29, - "message": "packages/nodes-base turns 'no-constant-condition' down to 'warn' for the whole package.", - "hash": "f7df4e39eb2e" - }, - { - "rule": "lint-config-layering", - "line": 30, - "message": "packages/nodes-base turns 'no-dupe-else-if' down to 'warn' for the whole package.", - "hash": "f5be7d5a7f26" - }, - { - "rule": "lint-config-layering", - "line": 31, - "message": "packages/nodes-base turns 'no-fallthrough' down to 'warn' for the whole package.", - "hash": "c899a707272e" - }, - { - "rule": "lint-config-layering", - "line": 33, - "message": "packages/nodes-base turns 'import-x/export' down to 'warn' for the whole package.", - "hash": "9ed273bfcc65" - }, - { - "rule": "lint-config-layering", - "line": 34, - "message": "packages/nodes-base turns 'import-x/no-extraneous-dependencies' down to 'warn' for the whole package.", - "hash": "5eb27aed13a1" - }, - { - "rule": "lint-config-layering", - "line": 38, - "message": "packages/nodes-base turns '@typescript-eslint/ban-ts-comment' down to 'off' for the whole package.", - "hash": "496821aa3902" - }, - { - "rule": "lint-config-layering", - "line": 40, - "message": "packages/nodes-base turns '@typescript-eslint/prefer-promise-reject-errors' down to 'warn' for the whole package.", - "hash": "2d61f9d00a79" - }, { "rule": "lint-config-layering", "line": 26, @@ -1515,294 +689,312 @@ "line": 27, "message": "packages/nodes-base turns '@n8n/community-nodes/cred-class-field-icon-missing' down to 'warn' for the whole package.", "hash": "ac79bc55562e" + }, + { + "rule": "lint-config-layering", + "line": 31, + "message": "packages/nodes-base turns 'no-ex-assign' down to 'warn' for the whole package.", + "hash": "405b1823ac6e" + }, + { + "rule": "lint-config-layering", + "line": 32, + "message": "packages/nodes-base turns 'no-control-regex' down to 'warn' for the whole package.", + "hash": "be29a0fb44a3" + }, + { + "rule": "lint-config-layering", + "line": 33, + "message": "packages/nodes-base turns 'no-constant-condition' down to 'warn' for the whole package.", + "hash": "f7df4e39eb2e" + }, + { + "rule": "lint-config-layering", + "line": 34, + "message": "packages/nodes-base turns 'no-dupe-else-if' down to 'warn' for the whole package.", + "hash": "f5be7d5a7f26" + }, + { + "rule": "lint-config-layering", + "line": 35, + "message": "packages/nodes-base turns 'no-fallthrough' down to 'warn' for the whole package.", + "hash": "c899a707272e" + }, + { + "rule": "lint-config-layering", + "line": 37, + "message": "packages/nodes-base turns 'import-x/export' down to 'warn' for the whole package.", + "hash": "9ed273bfcc65" + }, + { + "rule": "lint-config-layering", + "line": 38, + "message": "packages/nodes-base turns 'import-x/no-extraneous-dependencies' down to 'warn' for the whole package.", + "hash": "5eb27aed13a1" + }, + { + "rule": "lint-config-layering", + "line": 42, + "message": "packages/nodes-base turns '@typescript-eslint/ban-ts-comment' down to 'off' for the whole package.", + "hash": "496821aa3902" + }, + { + "rule": "lint-config-layering", + "line": 44, + "message": "packages/nodes-base turns '@typescript-eslint/prefer-promise-reject-errors' down to 'warn' for the whole package.", + "hash": "2d61f9d00a79" } ], - "packages/workflow/eslint.config.mjs": [ + "packages/node-dev/eslint.config.mjs": [ + { + "rule": "lint-config-layering", + "line": 7, + "message": "packages/node-dev turns 'unicorn/filename-case' down to 'warn' for the whole package.", + "hash": "55a9d5b897d9" + } + ], + "packages/workflow/oxlint.config.mts": [ + { + "rule": "lint-config-layering", + "line": 11, + "message": "packages/workflow turns 'id-denylist' down to 'off' for the whole package.", + "hash": "69d5c4232772" + }, { "rule": "lint-config-layering", "line": 12, - "message": "packages/workflow turns 'id-denylist' down to 'warn' for the whole package.", - "hash": "03927870bdf1" + "message": "packages/workflow turns 'no-fallthrough' down to 'off' for the whole package.", + "hash": "d13b36d8103c" }, { "rule": "lint-config-layering", "line": 13, - "message": "packages/workflow turns 'no-fallthrough' down to 'warn' for the whole package.", - "hash": "cd442ee0d22b" + "message": "packages/workflow turns 'no-useless-escape' down to 'off' for the whole package.", + "hash": "12bc8e0bfd4d" }, { "rule": "lint-config-layering", "line": 14, - "message": "packages/workflow turns 'no-useless-escape' down to 'warn' for the whole package.", - "hash": "b0c2a209531b" + "message": "packages/workflow turns 'no-extra-boolean-cast' down to 'off' for the whole package.", + "hash": "652b6ca04677" }, { "rule": "lint-config-layering", "line": 15, - "message": "packages/workflow turns 'no-extra-boolean-cast' down to 'warn' for the whole package.", - "hash": "f1b59e9a9170" + "message": "packages/workflow turns 'no-case-declarations' down to 'off' for the whole package.", + "hash": "3cadf567b0b2" }, { "rule": "lint-config-layering", "line": 16, - "message": "packages/workflow turns 'no-case-declarations' down to 'warn' for the whole package.", - "hash": "e0313976c4b5" + "message": "packages/workflow turns 'no-prototype-builtins' down to 'off' for the whole package.", + "hash": "4dff43111058" }, { "rule": "lint-config-layering", "line": 17, - "message": "packages/workflow turns 'no-prototype-builtins' down to 'warn' for the whole package.", - "hash": "974eaf5efe54" + "message": "packages/workflow turns 'typescript/no-base-to-string' down to 'off' for the whole package.", + "hash": "451f0bea5e36" }, { "rule": "lint-config-layering", "line": 18, - "message": "packages/workflow turns '@typescript-eslint/no-base-to-string' down to 'warn' for the whole package.", - "hash": "d3d0cc6967be" + "message": "packages/workflow turns 'typescript/no-deprecated' down to 'off' for the whole package.", + "hash": "00e81f4e69e8" }, { "rule": "lint-config-layering", "line": 19, - "message": "packages/workflow turns '@typescript-eslint/no-redundant-type-constituents' down to 'warn' for the whole package.", - "hash": "39ee215cccec" + "message": "packages/workflow turns 'typescript/no-redundant-type-constituents' down to 'off' for the whole package.", + "hash": "6e27af1815ad" }, { "rule": "lint-config-layering", "line": 20, - "message": "packages/workflow turns '@typescript-eslint/prefer-optional-chain' down to 'warn' for the whole package.", - "hash": "155e0b154873" + "message": "packages/workflow turns 'typescript/prefer-optional-chain' down to 'off' for the whole package.", + "hash": "aa7428710a0d" }, { "rule": "lint-config-layering", "line": 22, - "message": "packages/workflow turns '@typescript-eslint/no-duplicate-type-constituents' down to 'warn' for the whole package.", - "hash": "b3f813b386ed" + "message": "packages/workflow turns 'typescript/no-duplicate-type-constituents' down to 'off' for the whole package.", + "hash": "3e5b268d6f80" } ], - "packages/@n8n/ai-node-sdk/eslint.config.mjs": [ - { - "rule": "lint-config-layering", - "line": 6, - "message": "packages/@n8n/ai-node-sdk turns '@typescript-eslint/no-explicit-any' down to 'warn' for the whole package.", - "hash": "8e1ddde4bb6d" - } - ], - "packages/@n8n/ai-utilities/eslint.config.mjs": [ + "packages/@n8n/codemirror-lang/oxlint.config.mts": [ { "rule": "lint-config-layering", "line": 9, - "message": "packages/@n8n/ai-utilities turns '@typescript-eslint/no-explicit-any' down to 'warn' for the whole package.", - "hash": "d5a8d7cd9636" + "message": "packages/@n8n/codemirror-lang turns 'no-useless-escape' down to 'off' for the whole package.", + "hash": "4bd19dd38f45" }, { "rule": "lint-config-layering", "line": 10, - "message": "packages/@n8n/ai-utilities turns 'no-case-declarations' down to 'warn' for the whole package.", - "hash": "b95bfb2a3056" + "message": "packages/@n8n/codemirror-lang turns 'typescript/no-deprecated' down to 'off' for the whole package.", + "hash": "88d4fdb29a70" }, { "rule": "lint-config-layering", - "line": 17, - "message": "packages/@n8n/ai-utilities turns 'unicorn/filename-case' down to 'off' for the whole package.", - "hash": "de46ec6eb650" + "line": 11, + "message": "packages/@n8n/codemirror-lang turns 'typescript/no-unnecessary-type-assertion' down to 'off' for the whole package.", + "hash": "9a0850d08ae2" } ], - "packages/@n8n/backend-common/eslint.config.mjs": [ + "packages/@n8n/codemirror-lang-sql/oxlint.config.mts": [ { "rule": "lint-config-layering", - "line": 8, - "message": "packages/@n8n/backend-common turns '@typescript-eslint/no-wrapper-object-types' down to 'warn' for the whole package.", - "hash": "c1e3aa8a2e1c" - } - ], - "packages/@n8n/codemirror-lang/eslint.config.mjs": [ - { - "rule": "lint-config-layering", - "line": 6, - "message": "packages/@n8n/codemirror-lang turns 'no-useless-escape' down to 'warn' for the whole package.", - "hash": "98b3e5d89db4" - } - ], - "packages/@n8n/codemirror-lang-sql/eslint.config.mjs": [ - { - "rule": "lint-config-layering", - "line": 6, - "message": "packages/@n8n/codemirror-lang-sql turns 'no-useless-escape' down to 'warn' for the whole package.", - "hash": "b03974f4c1da" + "line": 9, + "message": "packages/@n8n/codemirror-lang-sql turns 'no-useless-escape' down to 'off' for the whole package.", + "hash": "86922af68b52" }, { "rule": "lint-config-layering", - "line": 7, - "message": "packages/@n8n/codemirror-lang-sql turns '@typescript-eslint/no-unsafe-enum-comparison' down to 'off' for the whole package.", - "hash": "3ee104dc1cd2" - } - ], - "packages/@n8n/db/eslint.config.mjs": [ - { - "rule": "lint-config-layering", - "line": 25, - "message": "packages/@n8n/db turns '@typescript-eslint/no-base-to-string' down to 'warn' for the whole package.", - "hash": "21a54ac84b21" + "line": 10, + "message": "packages/@n8n/codemirror-lang-sql turns 'typescript/no-deprecated' down to 'off' for the whole package.", + "hash": "2b0304930bf0" }, { "rule": "lint-config-layering", - "line": 26, - "message": "packages/@n8n/db turns '@typescript-eslint/no-restricted-types' down to 'warn' for the whole package.", - "hash": "1b7a8eee4264" - }, - { - "rule": "lint-config-layering", - "line": 27, - "message": "packages/@n8n/db turns 'no-useless-escape' down to 'warn' for the whole package.", - "hash": "aa31a2b9878a" + "line": 11, + "message": "packages/@n8n/codemirror-lang-sql turns 'typescript/no-unsafe-enum-comparison' down to 'off' for the whole package.", + "hash": "116fe6103a29" } ], "packages/@n8n/decorators/eslint.config.mjs": [ { "rule": "lint-config-layering", "line": 8, - "message": "packages/@n8n/decorators turns '@typescript-eslint/no-base-to-string' down to 'warn' for the whole package.", - "hash": "b4aab632b998" - }, - { - "rule": "lint-config-layering", - "line": 9, "message": "packages/@n8n/decorators turns 'import-x/export' down to 'warn' for the whole package.", "hash": "efaf9102fe79" } ], - "packages/@n8n/engine/eslint.config.mjs": [ - { - "rule": "lint-config-layering", - "line": 11, - "message": "packages/@n8n/engine turns 'unicorn/filename-case' down to 'off' for the whole package.", - "hash": "2455a576216c" - } - ], "packages/@n8n/eslint-plugin-community-nodes/eslint.config.mjs": [ { "rule": "lint-config-layering", - "line": 18, + "line": 17, "message": "packages/@n8n/eslint-plugin-community-nodes turns 'eslint-plugin/require-meta-docs-url' down to 'off' for the whole package.", "hash": "160308f43107" }, { "rule": "lint-config-layering", - "line": 20, + "line": 19, "message": "packages/@n8n/eslint-plugin-community-nodes turns 'eslint-plugin/require-meta-default-options' down to 'off' for the whole package.", "hash": "fb3cdbc0b797" }, { "rule": "lint-config-layering", - "line": 22, + "line": 21, "message": "packages/@n8n/eslint-plugin-community-nodes turns '@typescript-eslint/naming-convention' down to 'off' for the whole package.", "hash": "b9b7b80295d3" }, { "rule": "lint-config-layering", - "line": 24, + "line": 23, "message": "packages/@n8n/eslint-plugin-community-nodes turns 'import-x/no-default-export' down to 'off' for the whole package.", "hash": "3f7dfc88d2cc" } ], - "packages/@n8n/extension-sdk/eslint.config.mjs": [ - { - "rule": "lint-config-layering", - "line": 7, - "message": "packages/@n8n/extension-sdk turns '@typescript-eslint/no-unnecessary-boolean-literal-compare' down to 'warn' for the whole package.", - "hash": "1358f2270558" - }, - { - "rule": "lint-config-layering", - "line": 8, - "message": "packages/@n8n/extension-sdk turns '@typescript-eslint/no-floating-promises' down to 'warn' for the whole package.", - "hash": "a01fcd4e7fd1" - } - ], - "packages/@n8n/imap/eslint.config.mjs": [ + "packages/@n8n/extension-sdk/oxlint.config.mts": [ { "rule": "lint-config-layering", "line": 9, - "message": "packages/@n8n/imap turns '@typescript-eslint/no-unnecessary-boolean-literal-compare' down to 'warn' for the whole package.", - "hash": "c01451c28a03" + "message": "packages/@n8n/extension-sdk turns 'typescript/no-deprecated' down to 'off' for the whole package.", + "hash": "224484a9b6c6" }, { "rule": "lint-config-layering", "line": 10, - "message": "packages/@n8n/imap turns '@typescript-eslint/no-floating-promises' down to 'warn' for the whole package.", - "hash": "9466b50c2cbc" - } - ], - "packages/@n8n/instance-ai/eslint.config.mjs": [ + "message": "packages/@n8n/extension-sdk turns 'typescript/no-floating-promises' down to 'off' for the whole package.", + "hash": "260674eea007" + }, { "rule": "lint-config-layering", - "line": 100, - "message": "packages/@n8n/instance-ai turns 'unicorn/filename-case' down to 'off' for the whole package.", - "hash": "b76f6179d75b" + "line": 11, + "message": "packages/@n8n/extension-sdk turns 'typescript/no-unnecessary-boolean-literal-compare' down to 'off' for the whole package.", + "hash": "3091e48cc87d" } ], - "packages/@n8n/json-schema-to-zod/eslint.config.mjs": [ + "packages/@n8n/json-schema-to-zod/oxlint.config.mts": [ { "rule": "lint-config-layering", "line": 8, - "message": "packages/@n8n/json-schema-to-zod turns 'import-x/no-cycle' down to 'off' for the whole package.", - "hash": "bd1fd9f55f2e" + "message": "packages/@n8n/json-schema-to-zod turns 'import/no-cycle' down to 'off' for the whole package.", + "hash": "1e1ea0a5625e" + }, + { + "rule": "lint-config-layering", + "line": 10, + "message": "packages/@n8n/json-schema-to-zod turns 'no-constant-condition' down to 'off' for the whole package.", + "hash": "9d1efbec6d2b" + }, + { + "rule": "lint-config-layering", + "line": 11, + "message": "packages/@n8n/json-schema-to-zod turns 'typescript/no-deprecated' down to 'off' for the whole package.", + "hash": "6ef0b2210c16" + } + ], + "packages/@n8n/mcp-browser-extension/oxlint.config.mts": [ + { + "rule": "lint-config-layering", + "line": 9, + "message": "packages/@n8n/mcp-browser-extension turns 'typescript/no-deprecated' down to 'off' for the whole package.", + "hash": "31402e8940ac" + } + ], + "packages/@n8n/tournament/oxlint.config.mts": [ + { + "rule": "lint-config-layering", + "line": 8, + "message": "packages/@n8n/tournament turns 'typescript/no-deprecated' down to 'off' for the whole package.", + "hash": "a17e227e0c5a" + }, + { + "rule": "lint-config-layering", + "line": 9, + "message": "packages/@n8n/tournament turns 'typescript/no-restricted-types' down to 'off' for the whole package.", + "hash": "9762843b5724" + }, + { + "rule": "lint-config-layering", + "line": 10, + "message": "packages/@n8n/tournament turns 'typescript/no-implied-eval' down to 'off' for the whole package.", + "hash": "5f67b376a938" + }, + { + "rule": "lint-config-layering", + "line": 11, + "message": "packages/@n8n/tournament turns 'typescript/no-explicit-any' down to 'off' for the whole package.", + "hash": "d580cf3a9b6c" }, { "rule": "lint-config-layering", "line": 12, - "message": "packages/@n8n/json-schema-to-zod turns 'no-constant-condition' down to 'warn' for the whole package.", - "hash": "e7995ba65bba" + "message": "packages/@n8n/tournament turns 'unicorn/filename-case' down to 'off' for the whole package.", + "hash": "0685d5ed5a57" } ], - "packages/@n8n/node-cli/eslint.config.mjs": [ - { - "rule": "lint-config-layering", - "line": 21, - "message": "packages/@n8n/node-cli turns 'unicorn/filename-case' down to 'off' for the whole package.", - "hash": "450dc7735f37" - } - ], - "packages/@n8n/task-runner/eslint.config.mjs": [ - { - "rule": "lint-config-layering", - "line": 10, - "message": "packages/@n8n/task-runner turns '@typescript-eslint/no-require-imports' down to 'warn' for the whole package.", - "hash": "9eab9fc92af8" - } - ], - "packages/@n8n/tournament/eslint.config.mjs": [ + "packages/@n8n/utils/oxlint.config.mts": [ { "rule": "lint-config-layering", "line": 8, - "message": "packages/@n8n/tournament turns '@typescript-eslint/no-restricted-types' down to 'off' for the whole package.", - "hash": "a7bd4d72aeaa" + "message": "packages/@n8n/utils turns 'no-prototype-builtins' down to 'off' for the whole package.", + "hash": "0877964b8dda" }, { "rule": "lint-config-layering", "line": 9, - "message": "packages/@n8n/tournament turns '@typescript-eslint/no-implied-eval' down to 'off' for the whole package.", - "hash": "38c062765f50" - }, - { - "rule": "lint-config-layering", - "line": 10, - "message": "packages/@n8n/tournament turns '@typescript-eslint/no-explicit-any' down to 'off' for the whole package.", - "hash": "228a8d26e7bf" - }, - { - "rule": "lint-config-layering", - "line": 17, - "message": "packages/@n8n/tournament turns 'unicorn/filename-case' down to 'off' for the whole package.", - "hash": "a8dd0ff69014" + "message": "packages/@n8n/utils turns 'typescript/no-deprecated' down to 'off' for the whole package.", + "hash": "26b2999a3856" } ], - "packages/@n8n/utils/eslint.config.mjs": [ + "packages/extensions/insights/oxlint.config.mts": [ { "rule": "lint-config-layering", - "line": 7, - "message": "packages/@n8n/utils turns 'no-prototype-builtins' down to 'warn' for the whole package.", - "hash": "cc7739fda55b" + "line": 9, + "message": "packages/extensions/insights turns 'typescript/no-deprecated' down to 'off' for the whole package.", + "hash": "f936bed8fa8d" } ], "packages/frontend/editor-ui/eslint.config.mjs": [ @@ -2029,100 +1221,6 @@ "hash": "affee27335fc" } ], - "packages/@n8n/workflow-sdk/eslint.config.mjs": [ - { - "rule": "lint-config-layering", - "line": 71, - "message": "packages/@n8n/workflow-sdk turns 'n8n-local-rules/no-interpolation-in-regular-string' down to 'off' for the whole package.", - "hash": "e5999d7c77a9" - }, - { - "rule": "lint-config-layering", - "line": 73, - "message": "packages/@n8n/workflow-sdk turns 'id-denylist' down to 'off' for the whole package.", - "hash": "0f94a71d5ae8" - } - ], - "packages/quality/testing/playwright/eslint.config.mjs": [ - { - "rule": "lint-config-layering", - "line": 21, - "message": "packages/quality/testing/playwright turns '@typescript-eslint/no-unused-expressions' down to 'off' for the whole package.", - "hash": "c789a142996b" - }, - { - "rule": "lint-config-layering", - "line": 22, - "message": "packages/quality/testing/playwright turns '@typescript-eslint/no-use-before-define' down to 'off' for the whole package.", - "hash": "fcc3a69d8a2e" - }, - { - "rule": "lint-config-layering", - "line": 23, - "message": "packages/quality/testing/playwright turns '@typescript-eslint/promise-function-async' down to 'off' for the whole package.", - "hash": "5ab4c080de15" - }, - { - "rule": "lint-config-layering", - "line": 24, - "message": "packages/quality/testing/playwright turns 'playwright/expect-expect' down to 'warn' for the whole package.", - "hash": "3a584940f6c7" - }, - { - "rule": "lint-config-layering", - "line": 25, - "message": "packages/quality/testing/playwright turns 'playwright/max-nested-describe' down to 'warn' for the whole package.", - "hash": "8ea7fd515ed8" - }, - { - "rule": "lint-config-layering", - "line": 27, - "message": "packages/quality/testing/playwright turns 'playwright/no-skipped-test' down to 'warn' for the whole package.", - "hash": "6ce1d38312f9" - }, - { - "rule": "lint-config-layering", - "line": 78, - "message": "packages/quality/testing/playwright turns 'unicorn/filename-case' down to 'off' for the whole package.", - "hash": "949214800425" - } - ], - "packages/frontend/@n8n/design-system/eslint.config.mjs": [ - { - "rule": "lint-config-layering", - "line": 12, - "message": "packages/frontend/@n8n/design-system turns 'no-prototype-builtins' down to 'warn' for the whole package.", - "hash": "f7e604999631" - }, - { - "rule": "lint-config-layering", - "line": 13, - "message": "packages/frontend/@n8n/design-system turns '@typescript-eslint/prefer-optional-chain' down to 'warn' for the whole package.", - "hash": "e6d8e187bb0b" - }, - { - "rule": "lint-config-layering", - "line": 14, - "message": "packages/frontend/@n8n/design-system turns '@typescript-eslint/restrict-template-expressions' down to 'warn' for the whole package.", - "hash": "86a0b84b8415" - } - ], - "packages/frontend/@n8n/i18n/eslint.config.mjs": [ - { - "rule": "lint-config-layering", - "line": 6, - "message": "packages/frontend/@n8n/i18n turns '@typescript-eslint/no-unnecessary-type-assertion' down to 'warn' for the whole package.", - "hash": "5836fd4581b2" - } - ], - "packages/frontend/@n8n/stores/eslint.config.mjs": [ - { - "rule": "lint-config-layering", - "line": 6, - "message": "packages/frontend/@n8n/stores turns '@typescript-eslint/no-unnecessary-type-assertion' down to 'warn' for the whole package.", - "hash": "63e2dd35dc47" - } - ], "packages/modules/insights/frontend/eslint.config.mjs": [ { "rule": "lint-config-layering", @@ -2173,182 +1271,146 @@ "hash": "b857963c49d1" } ], - "packages/cli/oxlint.config.mts": [ + "packages/frontend/@n8n/design-system/eslint.config.mjs": [ { "rule": "lint-config-layering", - "line": 86, - "message": "packages/cli turns 'typescript/ban-ts-comment' down to 'off' for the whole package.", - "hash": "8ce649f6325e" + "line": 12, + "message": "packages/frontend/@n8n/design-system turns 'no-prototype-builtins' down to 'warn' for the whole package.", + "hash": "f7e604999631" }, { "rule": "lint-config-layering", - "line": 87, - "message": "packages/cli turns 'import/no-cycle' down to 'warn' for the whole package.", - "hash": "d1a323605d82" + "line": 13, + "message": "packages/frontend/@n8n/design-system turns '@typescript-eslint/prefer-optional-chain' down to 'warn' for the whole package.", + "hash": "e6d8e187bb0b" }, { "rule": "lint-config-layering", - "line": 88, - "message": "packages/cli turns 'no-ex-assign' down to 'warn' for the whole package.", - "hash": "8e06c3185fea" - }, - { - "rule": "lint-config-layering", - "line": 89, - "message": "packages/cli turns 'no-case-declarations' down to 'warn' for the whole package.", - "hash": "0113294d567c" - }, - { - "rule": "lint-config-layering", - "line": 90, - "message": "packages/cli turns 'no-fallthrough' down to 'warn' for the whole package.", - "hash": "1c2c962990dc" - }, - { - "rule": "lint-config-layering", - "line": 91, - "message": "packages/cli turns 'no-unsafe-optional-chaining' down to 'warn' for the whole package.", - "hash": "ea7abf87c8e1" - }, - { - "rule": "lint-config-layering", - "line": 92, - "message": "packages/cli turns 'no-async-promise-executor' down to 'warn' for the whole package.", - "hash": "439bd5663098" - }, - { - "rule": "lint-config-layering", - "line": 93, - "message": "packages/cli turns 'typescript/prefer-promise-reject-errors' down to 'warn' for the whole package.", - "hash": "f66fb711f73c" - }, - { - "rule": "lint-config-layering", - "line": 94, - "message": "packages/cli turns 'typescript/no-explicit-any' down to 'warn' for the whole package.", - "hash": "8d04d20abf14" - }, - { - "rule": "lint-config-layering", - "line": 95, - "message": "packages/cli turns 'typescript/no-base-to-string' down to 'warn' for the whole package.", - "hash": "150b70a83647" - }, - { - "rule": "lint-config-layering", - "line": 96, - "message": "packages/cli turns 'typescript/no-redundant-type-constituents' down to 'warn' for the whole package.", - "hash": "305977256d63" - }, - { - "rule": "lint-config-layering", - "line": 97, - "message": "packages/cli turns 'typescript/no-restricted-types' down to 'warn' for the whole package.", - "hash": "c54dd4e9a991" - }, - { - "rule": "lint-config-layering", - "line": 98, - "message": "packages/cli turns 'typescript/no-unsafe-enum-comparison' down to 'warn' for the whole package.", - "hash": "24212381cd2c" - }, - { - "rule": "lint-config-layering", - "line": 99, - "message": "packages/cli turns 'typescript/no-unsafe-declaration-merging' down to 'warn' for the whole package.", - "hash": "b356b9e9c40f" - }, - { - "rule": "lint-config-layering", - "line": 100, - "message": "packages/cli turns 'typescript/only-throw-error' down to 'warn' for the whole package.", - "hash": "1a50fa1c43a1" - }, - { - "rule": "lint-config-layering", - "line": 101, - "message": "packages/cli turns 'typescript/no-require-imports' down to 'warn' for the whole package.", - "hash": "311019e3d1e5" - }, - { - "rule": "lint-config-layering", - "line": 102, - "message": "packages/cli turns 'typescript/array-type' down to 'warn' for the whole package.", - "hash": "51a269c524d3" - }, - { - "rule": "lint-config-layering", - "line": 103, - "message": "packages/cli turns 'no-useless-escape' down to 'warn' for the whole package.", - "hash": "6a48caa02e63" - }, - { - "rule": "lint-config-layering", - "line": 104, - "message": "packages/cli turns 'typescript/no-duplicate-type-constituents' down to 'warn' for the whole package.", - "hash": "9e547bb1eaae" + "line": 14, + "message": "packages/frontend/@n8n/design-system turns '@typescript-eslint/restrict-template-expressions' down to 'warn' for the whole package.", + "hash": "86a0b84b8415" } ], - "packages/@n8n/codemirror-lang/oxlint.config.mts": [ + "packages/frontend/@n8n/i18n/eslint.config.mjs": [ { "rule": "lint-config-layering", - "line": 9, - "message": "packages/@n8n/codemirror-lang turns 'no-useless-escape' down to 'off' for the whole package.", - "hash": "4bd19dd38f45" - }, - { - "rule": "lint-config-layering", - "line": 10, - "message": "packages/@n8n/codemirror-lang turns 'typescript/no-deprecated' down to 'off' for the whole package.", - "hash": "88d4fdb29a70" - }, - { - "rule": "lint-config-layering", - "line": 11, - "message": "packages/@n8n/codemirror-lang turns 'typescript/no-unnecessary-type-assertion' down to 'off' for the whole package.", - "hash": "9a0850d08ae2" + "line": 6, + "message": "packages/frontend/@n8n/i18n turns '@typescript-eslint/no-unnecessary-type-assertion' down to 'warn' for the whole package.", + "hash": "5836fd4581b2" } ], - "packages/@n8n/codemirror-lang-sql/oxlint.config.mts": [ + "packages/frontend/@n8n/stores/eslint.config.mjs": [ { "rule": "lint-config-layering", - "line": 9, - "message": "packages/@n8n/codemirror-lang-sql turns 'no-useless-escape' down to 'off' for the whole package.", - "hash": "86922af68b52" - }, - { - "rule": "lint-config-layering", - "line": 10, - "message": "packages/@n8n/codemirror-lang-sql turns 'typescript/no-deprecated' down to 'off' for the whole package.", - "hash": "2b0304930bf0" - }, - { - "rule": "lint-config-layering", - "line": 11, - "message": "packages/@n8n/codemirror-lang-sql turns 'typescript/no-unsafe-enum-comparison' down to 'off' for the whole package.", - "hash": "116fe6103a29" + "line": 6, + "message": "packages/frontend/@n8n/stores turns '@typescript-eslint/no-unnecessary-type-assertion' down to 'warn' for the whole package.", + "hash": "63e2dd35dc47" } ], - "packages/@n8n/utils/oxlint.config.mts": [ + "packages/quality/testing/playwright/eslint.config.mjs": [ { "rule": "lint-config-layering", - "line": 8, - "message": "packages/@n8n/utils turns 'no-prototype-builtins' down to 'off' for the whole package.", - "hash": "0877964b8dda" + "line": 25, + "message": "packages/quality/testing/playwright turns 'playwright/expect-expect' down to 'warn' for the whole package.", + "hash": "3a584940f6c7" }, { "rule": "lint-config-layering", - "line": 9, - "message": "packages/@n8n/utils turns 'typescript/no-deprecated' down to 'off' for the whole package.", - "hash": "26b2999a3856" - } - ], - "packages/extensions/insights/oxlint.config.mts": [ + "line": 26, + "message": "packages/quality/testing/playwright turns 'playwright/max-nested-describe' down to 'warn' for the whole package.", + "hash": "8ea7fd515ed8" + }, { "rule": "lint-config-layering", - "line": 9, - "message": "packages/extensions/insights turns 'typescript/no-deprecated' down to 'off' for the whole package.", - "hash": "f936bed8fa8d" + "line": 28, + "message": "packages/quality/testing/playwright turns 'playwright/no-skipped-test' down to 'warn' for the whole package.", + "hash": "6ce1d38312f9" + }, + { + "rule": "lint-config-layering", + "line": 40, + "message": "packages/quality/testing/playwright turns 'unicorn/filename-case' down to 'off' for the whole package.", + "hash": "949214800425" + } + ], + "pnpm-workspace.yaml": [ + { + "rule": "stale-overrides", + "line": 372, + "message": "Override \"@azure/identity\" duplicates a catalog entry for @azure/identity — set the override to \"catalog:\" or remove it", + "hash": "5183952df723" + }, + { + "rule": "stale-overrides", + "line": 373, + "message": "Override \"@lezer/common\" duplicates a catalog entry for @lezer/common — set the override to \"catalog:\" or remove it", + "hash": "6aa79f7cd1ba" + }, + { + "rule": "stale-overrides", + "line": 380, + "message": "Override \"@types/node\" duplicates a catalog entry for @types/node — set the override to \"catalog:\" or remove it", + "hash": "e25412bfd766" + }, + { + "rule": "stale-overrides", + "line": 381, + "message": "Override \"chokidar\" duplicates a catalog entry for chokidar — set the override to \"catalog:\" or remove it", + "hash": "b6002f782205" + }, + { + "rule": "stale-overrides", + "line": 395, + "message": "Override \"form-data\" duplicates a catalog entry for form-data — set the override to \"catalog:\" or remove it", + "hash": "76d57eeb42b2" + }, + { + "rule": "stale-overrides", + "line": 399, + "message": "Override \"nodemailer\" duplicates a catalog entry for nodemailer — set the override to \"catalog:\" or remove it", + "hash": "9ce0ecb14ba5" + }, + { + "rule": "stale-overrides", + "line": 401, + "message": "Override \"zod\" duplicates a catalog entry for zod — set the override to \"catalog:\" or remove it", + "hash": "6dad5def0c97" + }, + { + "rule": "stale-overrides", + "line": 413, + "message": "Override \"@rudderstack/rudder-sdk-node@<=3.0.0\" duplicates a catalog entry for @rudderstack/rudder-sdk-node — set the override to \"catalog:\" or remove it", + "hash": "413eaaefa630" + }, + { + "rule": "stale-overrides", + "line": 421, + "message": "Override \"lodash\" duplicates a catalog entry for lodash — set the override to \"catalog:\" or remove it", + "hash": "58cfd2a6213b" + }, + { + "rule": "stale-overrides", + "line": 428, + "message": "Override \"flatted\" duplicates a catalog entry for flatted — set the override to \"catalog:\" or remove it", + "hash": "bc9ce009bac8" + }, + { + "rule": "stale-overrides", + "line": 437, + "message": "Override \"yaml@<=2.8.3\" duplicates a catalog entry for yaml — set the override to \"catalog:\" or remove it", + "hash": "9434ddd428c5" + }, + { + "rule": "stale-overrides", + "line": 443, + "message": "Override \"uuid@<=13.0.1\" duplicates a catalog entry for uuid — set the override to \"catalog:\" or remove it", + "hash": "1a45449bfde3" + }, + { + "rule": "stale-overrides", + "line": 459, + "message": "Override \"langsmith\" duplicates a catalog entry for langsmith — set the override to \"catalog:\" or remove it", + "hash": "9ac3dbae3d22" } ] } diff --git a/packages/@n8n/extension-sdk/eslint.config.mjs b/packages/@n8n/extension-sdk/eslint.config.mjs deleted file mode 100644 index 5d982e3ef38..00000000000 --- a/packages/@n8n/extension-sdk/eslint.config.mjs +++ /dev/null @@ -1,10 +0,0 @@ -import { defineConfig } from 'eslint/config'; -import { baseConfig } from '@n8n/eslint-config/base'; - -export default defineConfig(baseConfig, { - rules: { - // TODO: Remove this - '@typescript-eslint/no-unnecessary-boolean-literal-compare': 'warn', - '@typescript-eslint/no-floating-promises': 'warn', - }, -}); diff --git a/packages/@n8n/extension-sdk/oxlint.config.mts b/packages/@n8n/extension-sdk/oxlint.config.mts new file mode 100644 index 00000000000..5d429ecd750 --- /dev/null +++ b/packages/@n8n/extension-sdk/oxlint.config.mts @@ -0,0 +1,13 @@ +import { baseConfig } from '@n8n/oxlint-config/base'; +import { defineConfig } from 'oxlint'; + +export default defineConfig({ + extends: [baseConfig], + options: { typeAware: true }, + ignorePatterns: ['**/*.vue'], + rules: { + 'typescript/no-deprecated': 'off', + 'typescript/no-floating-promises': 'off', + 'typescript/no-unnecessary-boolean-literal-compare': 'off', + }, +}); diff --git a/packages/@n8n/extension-sdk/package.json b/packages/@n8n/extension-sdk/package.json index 7ae9368f5e7..4d35da798d5 100644 --- a/packages/@n8n/extension-sdk/package.json +++ b/packages/@n8n/extension-sdk/package.json @@ -32,7 +32,7 @@ "scripts": { "clean": "rimraf dist", "dev": "tsdown --watch", - "lint": "eslint . --quiet", + "lint": "oxlint src scripts --quiet", "typecheck": "pnpm --sequential run \"/^typecheck:.+/\"", "typecheck:frontend": "tsc --noEmit --project tsconfig.frontend.json", "typecheck:backend": "tsc --noEmit --project tsconfig.backend.json", @@ -47,11 +47,14 @@ "vue-router": "catalog:frontend" }, "devDependencies": { + "@n8n/oxlint-config": "workspace:*", "@n8n/typescript-config": "workspace:*", "@vue/tsconfig": "catalog:frontend", "prettier": "catalog:", "tsdown": "catalog:", "@typescript/native": "catalog:typescript-tooling", + "oxlint": "catalog:", + "oxlint-tsgolint": "catalog:", "typescript": "catalog:typescript-tooling", "rimraf": "catalog:", "vite": "catalog:", diff --git a/packages/@n8n/extension-sdk/scripts/tsconfig.json b/packages/@n8n/extension-sdk/scripts/tsconfig.json new file mode 100644 index 00000000000..9b1be9e503e --- /dev/null +++ b/packages/@n8n/extension-sdk/scripts/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../tsconfig.scripts.json", + "include": ["**/*.ts"] +} diff --git a/packages/@n8n/extension-sdk/src/tsconfig.json b/packages/@n8n/extension-sdk/src/tsconfig.json new file mode 100644 index 00000000000..01eb07687ea --- /dev/null +++ b/packages/@n8n/extension-sdk/src/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../tsconfig.common.json", + "compilerOptions": { + "composite": false, + "noEmit": true + }, + "include": ["**/*.ts"] +} diff --git a/packages/workflow/eslint.config.mjs b/packages/workflow/eslint.config.mjs deleted file mode 100644 index 9aaa44302a3..00000000000 --- a/packages/workflow/eslint.config.mjs +++ /dev/null @@ -1,39 +0,0 @@ -import { defineConfig } from 'eslint/config'; -import { baseConfig } from '@n8n/eslint-config/base'; - -export default defineConfig( - baseConfig, - { - rules: { - 'import-x/no-extraneous-dependencies': 'error', - 'n8n-local-rules/no-dynamic-regexp': 'error', - complexity: ['error', 23], - - 'id-denylist': 'warn', - 'no-fallthrough': 'warn', - 'no-useless-escape': 'warn', - 'no-extra-boolean-cast': 'warn', - 'no-case-declarations': 'warn', - 'no-prototype-builtins': 'warn', - '@typescript-eslint/no-base-to-string': 'warn', - '@typescript-eslint/no-redundant-type-constituents': 'warn', - '@typescript-eslint/prefer-optional-chain': 'warn', - '@typescript-eslint/return-await': ['error', 'always'], - '@typescript-eslint/no-duplicate-type-constituents': 'warn', - }, - }, - { - files: ['**/*.test.ts'], - rules: { - // TODO: remove these - 'prefer-const': 'warn', - '@typescript-eslint/no-unused-expressions': 'warn', - '@typescript-eslint/no-explicit-any': 'warn', - '@typescript-eslint/no-unsafe-member-access': 'warn', - '@typescript-eslint/no-unsafe-assignment': 'warn', - '@typescript-eslint/no-unsafe-return': 'warn', - '@typescript-eslint/ban-ts-comment': 'off', - 'n8n-local-rules/no-dynamic-regexp': 'off', - }, - }, -); diff --git a/packages/workflow/oxlint.config.mts b/packages/workflow/oxlint.config.mts new file mode 100644 index 00000000000..493489561ad --- /dev/null +++ b/packages/workflow/oxlint.config.mts @@ -0,0 +1,45 @@ +import { baseConfig } from '@n8n/oxlint-config/base'; +import { defineConfig } from 'oxlint'; + +export default defineConfig({ + extends: [baseConfig], + options: { typeAware: true }, + rules: { + 'import-x-alias/no-extraneous-dependencies': 'error', + 'n8n-local-rules/no-dynamic-regexp': 'error', + complexity: ['error', 23], + 'id-denylist': 'off', + 'no-fallthrough': 'off', + 'no-useless-escape': 'off', + 'no-extra-boolean-cast': 'off', + 'no-case-declarations': 'off', + 'no-prototype-builtins': 'off', + 'typescript/no-base-to-string': 'off', + 'typescript/no-deprecated': 'off', + 'typescript/no-redundant-type-constituents': 'off', + 'typescript/prefer-optional-chain': 'off', + 'typescript/return-await': ['error', 'always'], + 'typescript/no-duplicate-type-constituents': 'off', + }, + overrides: [ + { + files: ['src/telemetry-helpers.ts'], + rules: { + 'no-unsafe-optional-chaining': 'off', + }, + }, + { + files: ['**/*.test.ts'], + rules: { + 'prefer-const': 'off', + 'typescript/no-unused-expressions': 'off', + 'typescript/no-explicit-any': 'off', + 'typescript/no-unsafe-member-access': 'off', + 'typescript/no-unsafe-assignment': 'off', + 'typescript/no-unsafe-return': 'off', + 'typescript/ban-ts-comment': 'off', + 'n8n-local-rules/no-dynamic-regexp': 'off', + }, + }, + ], +}); diff --git a/packages/workflow/package.json b/packages/workflow/package.json index 58f657b0f80..a4ad4fbbec7 100644 --- a/packages/workflow/package.json +++ b/packages/workflow/package.json @@ -32,8 +32,8 @@ "build:unchecked": "tsc --build tsconfig.build.esm.json tsconfig.build.cjs.json --noCheck", "format": "biome format --write .", "format:check": "biome ci .", - "lint": "eslint src --quiet", - "lint:fix": "eslint src --fix", + "lint": "oxlint src --quiet", + "lint:fix": "oxlint src --fix", "watch": "tsc --build tsconfig.build.esm.json tsconfig.build.cjs.json --watch", "test": "vitest run", "test:unit": "vitest run", @@ -47,6 +47,7 @@ "devDependencies": { "@langchain/core": "catalog:", "@n8n/config": "workspace:*", + "@n8n/oxlint-config": "workspace:*", "@n8n/playwright-janitor": "workspace:*", "@n8n/typescript-config": "workspace:*", "@n8n/vitest-config": "workspace:*", @@ -63,6 +64,8 @@ "fast-check": "catalog:", "jsdom": "catalog:", "nock": "catalog:", + "oxlint": "catalog:", + "oxlint-tsgolint": "catalog:", "typescript": "catalog:typescript", "vite": "catalog:", "vitest": "catalog:", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2a8f59aeb31..23657e22e66 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2996,6 +2996,9 @@ importers: specifier: 3.25.76 version: 3.25.76 devDependencies: + '@n8n/oxlint-config': + specifier: workspace:* + version: link:../oxlint-config '@n8n/typescript-config': specifier: workspace:* version: link:../typescript-config @@ -3005,6 +3008,12 @@ importers: '@vue/tsconfig': specifier: catalog:frontend version: 0.7.0(@typescript/typescript6@6.0.2)(vue@3.5.26(@typescript/typescript6@6.0.2)) + oxlint: + specifier: 'catalog:' + version: 1.78.0(oxlint-tsgolint@0.21.1) + oxlint-tsgolint: + specifier: 'catalog:' + version: 0.21.1 prettier: specifier: 'catalog:' version: 3.6.2 @@ -8357,6 +8366,9 @@ importers: '@n8n/config': specifier: workspace:* version: link:../@n8n/config + '@n8n/oxlint-config': + specifier: workspace:* + version: link:../@n8n/oxlint-config '@n8n/playwright-janitor': specifier: workspace:* version: link:../quality/testing/janitor @@ -8405,6 +8417,12 @@ importers: nock: specifier: 'catalog:' version: 14.0.14 + oxlint: + specifier: 'catalog:' + version: 1.78.0(oxlint-tsgolint@0.21.1) + oxlint-tsgolint: + specifier: 'catalog:' + version: 0.21.1 typescript: specifier: catalog:typescript version: 7.0.2 diff --git a/turbo.json b/turbo.json index a79433f98d9..6c020bc70ad 100644 --- a/turbo.json +++ b/turbo.json @@ -131,6 +131,9 @@ "@n8n/engine#lint": { "dependsOn": ["^build", "@n8n/oxlint-config#build"] }, + "@n8n/extension-sdk#lint": { + "dependsOn": ["^build", "@n8n/oxlint-config#build"] + }, "@n8n/errors#lint": { "dependsOn": ["^build", "@n8n/oxlint-config#build"] }, @@ -209,6 +212,9 @@ "n8n-playwright#lint": { "dependsOn": ["^build", "@n8n/oxlint-config#build"] }, + "n8n-workflow#lint": { + "dependsOn": ["^build", "@n8n/oxlint-config#build"] + }, "n8n#lint": { "dependsOn": ["^build", "@n8n/oxlint-config#build"] },