From cd0519f3607c659b195f0726cdf7602ce124343a Mon Sep 17 00:00:00 2001 From: Declan Carroll Date: Tue, 12 May 2026 11:58:00 +0100 Subject: [PATCH] chore: Skip scaffolding templates in code-health and swap to catalog refs (no-changelog) (#30297) --- .code-health-baseline.json | 460 ++++-------------- packages/@n8n/agents/package.json | 2 +- packages/@n8n/api-types/package.json | 2 +- packages/@n8n/cli/package.json | 2 +- packages/@n8n/eslint-config/package.json | 2 +- .../package.json | 2 +- packages/@n8n/node-cli/package.json | 2 +- packages/@n8n/nodes-langchain/package.json | 2 +- packages/core/package.json | 2 +- packages/frontend/@n8n/chat/package.json | 2 +- packages/frontend/@n8n/storybook/package.json | 2 +- .../src/rules/catalog-violations.rule.test.ts | 29 ++ .../src/utils/package-json-scanner.ts | 2 +- packages/testing/janitor/package.json | 2 +- packages/workflow/package.json | 2 +- pnpm-lock.yaml | 98 ++-- 16 files changed, 169 insertions(+), 444 deletions(-) diff --git a/.code-health-baseline.json b/.code-health-baseline.json index 0234790a5b6..62dabbf4cb7 100644 --- a/.code-health-baseline.json +++ b/.code-health-baseline.json @@ -1,68 +1,8 @@ { "version": 1, - "generated": "2026-05-12T08:06:05.095Z", - "totalViolations": 122, + "generated": "2026-05-12T09:37:31.489Z", + "totalViolations": 82, "violations": { - "packages/core/package.json": [ - { - "rule": "catalog-violations", - "line": 44, - "message": "zod@>=3.25.0 <4 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "7206fdd3f507" - } - ], - "packages/workflow/package.json": [ - { - "rule": "catalog-violations", - "line": 76, - "message": "zod@>=3.25.0 <4 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "db77d12f5a47" - }, - { - "rule": "catalog-violations", - "line": 58, - "message": "ast-types appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "1c7d7cf0b0fe" - }, - { - "rule": "catalog-violations", - "line": 60, - "message": "esprima-next appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "627a716b5d23" - }, - { - "rule": "catalog-violations", - "line": 68, - "message": "recast appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "b660317b5f6f" - } - ], - "packages/@n8n/agents/package.json": [ - { - "rule": "catalog-violations", - "line": 52, - "message": "langsmith@>=0.3.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "193bb785d0b4" - }, - { - "rule": "catalog-violations", - "line": 28, - "message": "@ai-sdk/anthropic appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "b58f03d0d5c1" - }, - { - "rule": "catalog-violations", - "line": 50, - "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": 51, - "message": "@opentelemetry/sdk-trace-node appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "a77ced903cdf" - } - ], "packages/@n8n/ai-workflow-builder.ee/package.json": [ { "rule": "catalog-violations", @@ -101,50 +41,6 @@ "hash": "407c8d1b3428" } ], - "packages/@n8n/api-types/package.json": [ - { - "rule": "catalog-violations", - "line": 39, - "message": "zod@>=3.25.0 <4 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "3ace050c7ffc" - } - ], - "packages/@n8n/cli/package.json": [ - { - "rule": "catalog-violations", - "line": 79, - "message": "@types/node@24.10.1 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "a5a872807ede" - }, - { - "rule": "catalog-violations", - "line": 74, - "message": "@oclif/core appears in 4 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "733c3960022e" - } - ], - "packages/@n8n/eslint-config/package.json": [ - { - "rule": "catalog-violations", - "line": 56, - "message": "eslint@>= 9 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "82841e89293f" - } - ], - "packages/@n8n/eslint-plugin-community-nodes/package.json": [ - { - "rule": "catalog-violations", - "line": 46, - "message": "eslint@>= 9 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "46d3130cf108" - }, - { - "rule": "catalog-violations", - "line": 47, - "message": "n8n-workflow appears in 9 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "589f90baeece" - } - ], "packages/@n8n/json-schema-to-zod/package.json": [ { "rule": "catalog-violations", @@ -160,12 +56,6 @@ "message": "openai@^6.34.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", "hash": "3c1f53f0afe3" }, - { - "rule": "catalog-violations", - "line": 303, - "message": "zod-to-json-schema@3.23.3 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "081b5d0b5ca5" - }, { "rule": "catalog-violations", "line": 299, @@ -203,38 +93,6 @@ "hash": "0c7d44a9c2e4" } ], - "packages/@n8n/node-cli/package.json": [ - { - "rule": "catalog-violations", - "line": 76, - "message": "eslint@>= 9 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "1b5deae544ea" - }, - { - "rule": "catalog-violations", - "line": 52, - "message": "change-case appears in 5 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "da74ed210d07" - }, - { - "rule": "catalog-violations", - "line": 59, - "message": "prettier appears in 10 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "9e47058c6edb" - }, - { - "rule": "catalog-violations", - "line": 51, - "message": "@oclif/core appears in 4 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "9711a9b00bf9" - }, - { - "rule": "catalog-violations", - "line": 55, - "message": "eslint-plugin-n8n-nodes-base appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "6a9e12780943" - } - ], "packages/@n8n/tournament/package.json": [ { "rule": "catalog-violations", @@ -267,26 +125,12 @@ "hash": "5f2b50fef19d" } ], - "packages/testing/janitor/package.json": [ - { - "rule": "catalog-violations", - "line": 36, - "message": "ts-morph@>=20.0.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "4a2907301983" - } - ], "packages/frontend/@n8n/chat/package.json": [ { "rule": "catalog-violations", "line": 56, "message": "unplugin-icons@^0.19.0 should use \"catalog:frontend\" (exists in pnpm-workspace.yaml [frontend])", "hash": "a0d24d761026" - }, - { - "rule": "catalog-violations", - "line": 59, - "message": "vite-plugin-dts@^4.5.3 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "37ac4b34bc06" } ], "packages/frontend/@n8n/design-system/package.json": [ @@ -297,196 +141,6 @@ "hash": "237e9d17c4ba" } ], - "packages/frontend/@n8n/storybook/package.json": [ - { - "rule": "catalog-violations", - "line": 32, - "message": "@types/node@^24.10.1 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "50fb70481f8f" - } - ], - "packages/@n8n/node-cli/src/template/templates/declarative/github-issues/template/package.json": [ - { - "rule": "catalog-violations", - "line": 43, - "message": "eslint@9.32.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "c3815ab2677d" - }, - { - "rule": "catalog-violations", - "line": 46, - "message": "typescript@5.9.2 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "11608ee90ba9" - }, - { - "rule": "catalog-violations", - "line": 44, - "message": "prettier appears in 10 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "70fc7a306272" - }, - { - "rule": "catalog-violations", - "line": 49, - "message": "n8n-workflow appears in 9 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "4514689aef5c" - } - ], - "packages/@n8n/node-cli/src/template/templates/declarative/custom/template/package.json": [ - { - "rule": "catalog-violations", - "line": 40, - "message": "eslint@9.32.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "c55e0c75d586" - }, - { - "rule": "catalog-violations", - "line": 43, - "message": "typescript@5.9.2 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "999c932ac3ae" - }, - { - "rule": "catalog-violations", - "line": 41, - "message": "prettier appears in 10 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "4268f09633aa" - }, - { - "rule": "catalog-violations", - "line": 46, - "message": "n8n-workflow appears in 9 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "2f772d0b5a09" - } - ], - "packages/@n8n/node-cli/src/template/templates/programmatic/example/template/package.json": [ - { - "rule": "catalog-violations", - "line": 40, - "message": "eslint@9.32.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "cd90d70b3ce4" - }, - { - "rule": "catalog-violations", - "line": 43, - "message": "typescript@5.9.2 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "d0998542352d" - }, - { - "rule": "catalog-violations", - "line": 41, - "message": "prettier appears in 10 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "0c7bd1cbf6cb" - }, - { - "rule": "catalog-violations", - "line": 46, - "message": "n8n-workflow appears in 9 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "fd2577d9c87b" - } - ], - "packages/@n8n/node-cli/src/template/templates/programmatic/ai/memory-custom/template/package.json": [ - { - "rule": "catalog-violations", - "line": 41, - "message": "eslint@9.32.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "298daa052478" - }, - { - "rule": "catalog-violations", - "line": 44, - "message": "typescript@5.9.2 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "9d70bb26b233" - }, - { - "rule": "catalog-violations", - "line": 42, - "message": "prettier appears in 10 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "b7f8b2a358d8" - }, - { - "rule": "catalog-violations", - "line": 47, - "message": "n8n-workflow appears in 9 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "42aefb6c9989" - } - ], - "packages/@n8n/node-cli/src/template/templates/programmatic/ai/model-ai-custom/template/package.json": [ - { - "rule": "catalog-violations", - "line": 43, - "message": "eslint@9.32.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "3c8b4977fd8a" - }, - { - "rule": "catalog-violations", - "line": 46, - "message": "typescript@5.9.2 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "9d31f8f7537c" - }, - { - "rule": "catalog-violations", - "line": 44, - "message": "prettier appears in 10 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "f10c6c40e67c" - }, - { - "rule": "catalog-violations", - "line": 49, - "message": "n8n-workflow appears in 9 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "e1734c74601d" - } - ], - "packages/@n8n/node-cli/src/template/templates/programmatic/ai/model-ai-custom-example/template/package.json": [ - { - "rule": "catalog-violations", - "line": 43, - "message": "eslint@9.32.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "91ea1dbe7d4e" - }, - { - "rule": "catalog-violations", - "line": 46, - "message": "typescript@5.9.2 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "72d08eab5625" - }, - { - "rule": "catalog-violations", - "line": 44, - "message": "prettier appears in 10 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "030ae6daa9ec" - }, - { - "rule": "catalog-violations", - "line": 49, - "message": "n8n-workflow appears in 9 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "91b58c718e73" - } - ], - "packages/@n8n/node-cli/src/template/templates/programmatic/ai/model-openai-compatible/template/package.json": [ - { - "rule": "catalog-violations", - "line": 43, - "message": "eslint@9.32.0 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "082bc9c01097" - }, - { - "rule": "catalog-violations", - "line": 46, - "message": "typescript@5.9.2 should use \"catalog:\" (exists in pnpm-workspace.yaml)", - "hash": "1b9d2910ce91" - }, - { - "rule": "catalog-violations", - "line": 44, - "message": "prettier appears in 10 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "cd6a1b0be867" - }, - { - "rule": "catalog-violations", - "line": 49, - "message": "n8n-workflow appears in 9 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "6b5e714159dc" - } - ], "packages/cli/package.json": [ { "rule": "catalog-violations", @@ -515,8 +169,8 @@ { "rule": "catalog-violations", "line": 202, - "message": "prettier appears in 10 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "dee51c035f89" + "message": "prettier appears in 3 packages with 3 different versions — add to pnpm-workspace.yaml catalog", + "hash": "3cab98902302" }, { "rule": "catalog-violations", @@ -543,52 +197,72 @@ "hash": "6e62e0076b0a" } ], + "packages/@n8n/agents/package.json": [ + { + "rule": "catalog-violations", + "line": 28, + "message": "@ai-sdk/anthropic appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "b58f03d0d5c1" + }, + { + "rule": "catalog-violations", + "line": 50, + "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": 51, + "message": "@opentelemetry/sdk-trace-node appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "a77ced903cdf" + } + ], "packages/@n8n/instance-ai/package.json": [ { "rule": "catalog-violations", - "line": 78, + "line": 80, "message": "@ai-sdk/anthropic appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", "hash": "5b2153508e47" }, { "rule": "catalog-violations", - "line": 84, + "line": 86, "message": "@types/psl appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", "hash": "56dabb51b433" }, { "rule": "catalog-violations", - "line": 55, + "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": 62, + "line": 64, "message": "csv-parse appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", "hash": "8f082fc2e8b6" }, { "rule": "catalog-violations", - "line": 69, + "line": 71, "message": "turndown appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", "hash": "9a9d97065952" }, { "rule": "catalog-violations", - "line": 85, + "line": 87, "message": "@types/turndown appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", "hash": "12e346c47b39" }, { "rule": "catalog-violations", - "line": 49, + "line": 50, "message": "@joplin/turndown-plugin-gfm appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", "hash": "a3cf1504b5c2" }, { "rule": "catalog-violations", - "line": 66, + "line": 68, "message": "pdf-parse appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", "hash": "283fa9114c03" } @@ -675,6 +349,32 @@ "hash": "ac254baa61f9" } ], + "packages/@n8n/node-cli/package.json": [ + { + "rule": "catalog-violations", + "line": 52, + "message": "change-case appears in 5 packages with 3 different versions — add to pnpm-workspace.yaml catalog", + "hash": "da74ed210d07" + }, + { + "rule": "catalog-violations", + "line": 59, + "message": "prettier appears in 3 packages with 3 different versions — add to pnpm-workspace.yaml catalog", + "hash": "188baf266f61" + }, + { + "rule": "catalog-violations", + "line": 51, + "message": "@oclif/core appears in 4 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "9711a9b00bf9" + }, + { + "rule": "catalog-violations", + "line": 55, + "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", @@ -685,8 +385,8 @@ { "rule": "catalog-violations", "line": 90, - "message": "prettier appears in 10 packages with 3 different versions — add to pnpm-workspace.yaml catalog", - "hash": "1d2d6bb68778" + "message": "prettier appears in 3 packages with 3 different versions — add to pnpm-workspace.yaml catalog", + "hash": "9e9c7ec09a0b" }, { "rule": "catalog-violations", @@ -725,8 +425,8 @@ { "rule": "catalog-violations", "line": 72, - "message": "n8n-workflow appears in 9 packages with 2 different versions — add to pnpm-workspace.yaml catalog", - "hash": "717de3a58c50" + "message": "n8n-workflow appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "ea4fbfff30ba" } ], "packages/@n8n/mcp-browser/package.json": [ @@ -783,6 +483,34 @@ "hash": "67f9d81d9528" } ], + "packages/@n8n/cli/package.json": [ + { + "rule": "catalog-violations", + "line": 74, + "message": "@oclif/core appears in 4 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "733c3960022e" + } + ], + "packages/workflow/package.json": [ + { + "rule": "catalog-violations", + "line": 58, + "message": "ast-types appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "1c7d7cf0b0fe" + }, + { + "rule": "catalog-violations", + "line": 60, + "message": "esprima-next appears in 3 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "627a716b5d23" + }, + { + "rule": "catalog-violations", + "line": 68, + "message": "recast appears in 2 packages with 2 different versions — add to pnpm-workspace.yaml catalog", + "hash": "b660317b5f6f" + } + ], "packages/@n8n/computer-use/package.json": [ { "rule": "catalog-violations", @@ -791,6 +519,14 @@ "hash": "f50c1eee2ed6" } ], + "packages/@n8n/eslint-plugin-community-nodes/package.json": [ + { + "rule": "catalog-violations", + "line": 47, + "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", diff --git a/packages/@n8n/agents/package.json b/packages/@n8n/agents/package.json index 6e376310511..b54498f318a 100644 --- a/packages/@n8n/agents/package.json +++ b/packages/@n8n/agents/package.json @@ -49,7 +49,7 @@ "@opentelemetry/exporter-trace-otlp-http": ">=0.50.0", "@opentelemetry/sdk-trace-base": ">=1.0.0", "@opentelemetry/sdk-trace-node": ">=1.0.0", - "langsmith": ">=0.3.0" + "langsmith": "catalog:" }, "peerDependenciesMeta": { "langsmith": { diff --git a/packages/@n8n/api-types/package.json b/packages/@n8n/api-types/package.json index de62d60456e..6e546cf720c 100644 --- a/packages/@n8n/api-types/package.json +++ b/packages/@n8n/api-types/package.json @@ -36,6 +36,6 @@ "@n8n/permissions": "workspace:*" }, "peerDependencies": { - "zod": ">=3.25.0 <4" + "zod": "catalog:" } } diff --git a/packages/@n8n/cli/package.json b/packages/@n8n/cli/package.json index 3a865538973..b46d9179f12 100644 --- a/packages/@n8n/cli/package.json +++ b/packages/@n8n/cli/package.json @@ -76,7 +76,7 @@ "devDependencies": { "@n8n/typescript-config": "workspace:*", "@n8n/vitest-config": "workspace:*", - "@types/node": "24.10.1", + "@types/node": "catalog:", "vitest": "catalog:" } } diff --git a/packages/@n8n/eslint-config/package.json b/packages/@n8n/eslint-config/package.json index ff6935443c7..ae9faaca7cb 100644 --- a/packages/@n8n/eslint-config/package.json +++ b/packages/@n8n/eslint-config/package.json @@ -53,6 +53,6 @@ "vitest": "catalog:" }, "peerDependencies": { - "eslint": ">= 9" + "eslint": "catalog:" } } diff --git a/packages/@n8n/eslint-plugin-community-nodes/package.json b/packages/@n8n/eslint-plugin-community-nodes/package.json index 0340bf4287f..1c16648b15f 100644 --- a/packages/@n8n/eslint-plugin-community-nodes/package.json +++ b/packages/@n8n/eslint-plugin-community-nodes/package.json @@ -43,7 +43,7 @@ "vitest": "catalog:" }, "peerDependencies": { - "eslint": ">= 9", + "eslint": "catalog:", "n8n-workflow": ">=2" }, "eslint-doc-generator": { diff --git a/packages/@n8n/node-cli/package.json b/packages/@n8n/node-cli/package.json index f6f16ecc73a..7f673281d3c 100644 --- a/packages/@n8n/node-cli/package.json +++ b/packages/@n8n/node-cli/package.json @@ -73,6 +73,6 @@ "vitest-mock-extended": "catalog:" }, "peerDependencies": { - "eslint": ">= 9" + "eslint": "catalog:" } } diff --git a/packages/@n8n/nodes-langchain/package.json b/packages/@n8n/nodes-langchain/package.json index 0ccf61e9e26..beda995b7e7 100644 --- a/packages/@n8n/nodes-langchain/package.json +++ b/packages/@n8n/nodes-langchain/package.json @@ -300,6 +300,6 @@ "vm2": "catalog:", "weaviate-client": "3.9.0", "zod": "catalog:", - "zod-to-json-schema": "3.23.3" + "zod-to-json-schema": "catalog:" } } diff --git a/packages/core/package.json b/packages/core/package.json index 7ea1d25620d..6c362a1f256 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -41,7 +41,7 @@ "zod": "catalog:" }, "peerDependencies": { - "zod": ">=3.25.0 <4" + "zod": "catalog:" }, "dependencies": { "@aws-sdk/client-s3": "3.808.0", diff --git a/packages/frontend/@n8n/chat/package.json b/packages/frontend/@n8n/chat/package.json index d124e0d7946..ff3552ac8ad 100644 --- a/packages/frontend/@n8n/chat/package.json +++ b/packages/frontend/@n8n/chat/package.json @@ -56,7 +56,7 @@ "unplugin-icons": "^0.19.0", "vite": "catalog:", "vitest": "catalog:", - "vite-plugin-dts": "^4.5.3", + "vite-plugin-dts": "catalog:", "vue-tsc": "catalog:frontend" }, "files": [ diff --git a/packages/frontend/@n8n/storybook/package.json b/packages/frontend/@n8n/storybook/package.json index aa30396a8f5..e68db776d89 100644 --- a/packages/frontend/@n8n/storybook/package.json +++ b/packages/frontend/@n8n/storybook/package.json @@ -29,7 +29,7 @@ "@storybook/addon-vitest": "catalog:storybook", "@storybook/vue3-vite": "catalog:storybook", "storybook-addon-vue-mdx": "3.0.0", - "@types/node": "^24.10.1", + "@types/node": "catalog:", "@vitejs/plugin-vue": "catalog:frontend", "@vitest/browser-playwright": "^4.0.16", "@vitest/coverage-v8": "catalog:", diff --git a/packages/testing/code-health/src/rules/catalog-violations.rule.test.ts b/packages/testing/code-health/src/rules/catalog-violations.rule.test.ts index ee4880cf500..f033b85d3b0 100644 --- a/packages/testing/code-health/src/rules/catalog-violations.rule.test.ts +++ b/packages/testing/code-health/src/rules/catalog-violations.rule.test.ts @@ -196,6 +196,35 @@ catalog: {} expect(violations[0].message).toContain('2 different versions'); }); + it('ignores package.json under src/template (scaffolding templates)', async () => { + writeFile( + tmpDir, + 'pnpm-workspace.yaml', + ` +packages: + - packages/* +catalog: + typescript: 5.9.2 +`, + ); + writeFile( + tmpDir, + 'packages/node-cli/src/template/templates/example/template/package.json', + JSON.stringify( + { + name: '{{nodePackageName}}', + devDependencies: { typescript: '5.9.2' }, + }, + null, + 2, + ), + ); + + const violations = await rule.analyze(context()); + + expect(violations).toHaveLength(0); + }); + it('does not flag cross-package when versions match', async () => { writeFile( tmpDir, diff --git a/packages/testing/code-health/src/utils/package-json-scanner.ts b/packages/testing/code-health/src/utils/package-json-scanner.ts index ba6ae95c0c8..def3da74f7b 100644 --- a/packages/testing/code-health/src/utils/package-json-scanner.ts +++ b/packages/testing/code-health/src/utils/package-json-scanner.ts @@ -20,7 +20,7 @@ export async function findPackageJsonFiles(rootDir: string): Promise { return await fg('packages/**/package.json', { cwd: rootDir, absolute: true, - ignore: ['**/node_modules/**', '**/dist/**'], + ignore: ['**/node_modules/**', '**/dist/**', '**/src/template/**'], }); } diff --git a/packages/testing/janitor/package.json b/packages/testing/janitor/package.json index 882aea24c0b..2a86483f894 100644 --- a/packages/testing/janitor/package.json +++ b/packages/testing/janitor/package.json @@ -33,7 +33,7 @@ "glob": "^10.0.0" }, "peerDependencies": { - "ts-morph": ">=20.0.0" + "ts-morph": "catalog:" }, "devDependencies": { "@types/node": "catalog:", diff --git a/packages/workflow/package.json b/packages/workflow/package.json index 56dfe7fdb4c..26d807d4432 100644 --- a/packages/workflow/package.json +++ b/packages/workflow/package.json @@ -73,6 +73,6 @@ "jsonrepair": "catalog:" }, "peerDependencies": { - "zod": ">=3.25.0 <4" + "zod": "catalog:" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5871f372dee..df2382b26a5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -261,6 +261,9 @@ catalogs: vite: specifier: ^8.0.2 version: 8.0.2 + vite-plugin-dts: + specifier: ^4.5.4 + version: 4.5.4 vitest: specifier: ^4.1.1 version: 4.1.1 @@ -1453,7 +1456,7 @@ importers: packages/@n8n/eslint-config: dependencies: eslint: - specifier: '>= 9' + specifier: 'catalog:' version: 9.29.0(jiti@2.6.1) devDependencies: '@eslint/js': @@ -1526,7 +1529,7 @@ importers: specifier: ^8.35.0 version: 8.35.0(eslint@9.29.0(jiti@2.6.1))(typescript@6.0.2) eslint: - specifier: '>= 9' + specifier: 'catalog:' version: 9.29.0(jiti@2.6.1) fastest-levenshtein: specifier: 'catalog:' @@ -2282,7 +2285,7 @@ importers: specifier: 3.25.67 version: 3.25.67 zod-to-json-schema: - specifier: 3.23.3 + specifier: 'catalog:' version: 3.23.3(zod@3.25.67) devDependencies: '@n8n/eslint-plugin-community-nodes': @@ -3357,8 +3360,8 @@ importers: specifier: 'catalog:' version: 8.0.2(@types/node@20.19.21)(esbuild@0.25.10)(jiti@2.6.1)(sass-embedded@1.98.0)(sass@1.98.0)(terser@5.16.1)(tsx@4.19.3)(yaml@2.8.3) vite-plugin-dts: - specifier: ^4.5.3 - version: 4.5.3(@types/node@20.19.21)(rollup@4.52.4)(typescript@6.0.2)(vite@8.0.2(@types/node@20.19.21)(esbuild@0.25.10)(jiti@2.6.1)(sass-embedded@1.98.0)(sass@1.98.0)(terser@5.16.1)(tsx@4.19.3)(yaml@2.8.3)) + specifier: 'catalog:' + version: 4.5.4(@types/node@20.19.21)(rollup@4.52.4)(typescript@6.0.2)(vite@8.0.2(@types/node@20.19.21)(esbuild@0.25.10)(jiti@2.6.1)(sass-embedded@1.98.0)(sass@1.98.0)(terser@5.16.1)(tsx@4.19.3)(yaml@2.8.3)) vitest: specifier: 'catalog:' version: 4.1.1(@opentelemetry/api@1.9.0)(@types/node@20.19.21)(@vitest/browser-playwright@4.0.16)(jsdom@23.0.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(vite@8.0.2(@types/node@20.19.21)(esbuild@0.25.10)(jiti@2.6.1)(sass-embedded@1.98.0)(sass@1.98.0)(terser@5.16.1)(tsx@4.19.3)(yaml@2.8.3)) @@ -10168,15 +10171,6 @@ packages: peerDependencies: rollup: ^1.20.0||^2.0.0 - '@rollup/pluginutils@5.1.4': - resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - '@rollup/pluginutils@5.3.0': resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} engines: {node: '>=14.0.0'} @@ -17426,10 +17420,6 @@ packages: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} - local-pkg@1.1.1: - resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} - engines: {node: '>=14'} - local-pkg@1.1.2: resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} engines: {node: '>=14'} @@ -17632,9 +17622,6 @@ packages: magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} @@ -19329,9 +19316,6 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - pkg-types@2.1.0: - resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} - pkg-types@2.3.0: resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} @@ -21990,8 +21974,8 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-plugin-dts@4.5.3: - resolution: {integrity: sha512-P64VnD00dR+e8S26ESoFELqc17+w7pKkwlBpgXteOljFyT0zDwD8hH4zXp49M/kciy//7ZbVXIwQCekBJjfWzA==} + vite-plugin-dts@4.5.4: + resolution: {integrity: sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==} peerDependencies: typescript: 6.0.2 vite: '*' @@ -24917,7 +24901,7 @@ snapshots: '@babel/helper-plugin-utils': 7.27.1 debug: 4.4.3(supports-color@8.1.1) lodash.debounce: 4.0.8 - resolve: 1.22.10 + resolve: 1.22.11 transitivePeerDependencies: - supports-color @@ -28302,7 +28286,7 @@ snapshots: '@rushstack/ts-command-line': 4.23.6(@types/node@20.19.21) lodash: 4.18.1 minimatch: 5.1.8 - resolve: 1.22.10 + resolve: 1.22.11 semver: 7.7.3 source-map: 0.6.1 typescript: 6.0.2 @@ -28314,7 +28298,7 @@ snapshots: '@microsoft/tsdoc': 0.15.1 ajv: 8.18.0 jju: 1.4.0 - resolve: 1.22.10 + resolve: 1.22.11 '@microsoft/tsdoc@0.15.1': {} @@ -30206,14 +30190,6 @@ snapshots: picomatch: 2.3.2 rollup: 2.79.2 - '@rollup/pluginutils@5.1.4(rollup@4.52.4)': - dependencies: - '@types/estree': 1.0.8 - estree-walker: 2.0.2 - picomatch: 4.0.4 - optionalDependencies: - rollup: 4.52.4 - '@rollup/pluginutils@5.3.0(rollup@4.52.4)': dependencies: '@types/estree': 1.0.8 @@ -30317,14 +30293,14 @@ snapshots: fs-extra: 11.3.0 import-lazy: 4.0.0 jju: 1.4.0 - resolve: 1.22.10 + resolve: 1.22.11 semver: 7.7.3 optionalDependencies: '@types/node': 20.19.21 '@rushstack/rig-package@0.5.3': dependencies: - resolve: 1.22.10 + resolve: 1.22.11 strip-json-comments: 3.1.1 '@rushstack/terminal@0.15.1(@types/node@20.19.21)': @@ -33999,7 +33975,7 @@ snapshots: browser-resolve@2.0.0: dependencies: - resolve: 1.22.10 + resolve: 1.22.11 browser-stdout@1.3.1: {} @@ -36292,7 +36268,7 @@ snapshots: file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - ignore: 5.2.4 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 @@ -36787,7 +36763,7 @@ snapshots: enhanced-resolve: 5.18.2 module-definition: 6.0.1 module-lookup-amd: 9.0.5 - resolve: 1.22.10 + resolve: 1.22.11 resolve-dependency-path: 4.0.1 sass-lookup: 6.1.0 stylus-lookup: 6.1.0 @@ -38619,7 +38595,7 @@ snapshots: jest-pnp-resolver: 1.2.2(jest-resolve@29.6.2) jest-util: 29.6.2 jest-validate: 29.6.2 - resolve: 1.22.10 + resolve: 1.22.11 resolve.exports: 2.0.0 slash: 3.0.0 @@ -39216,7 +39192,7 @@ snapshots: langsmith@0.5.19(@opentelemetry/api@1.9.0)(@opentelemetry/exporter-trace-otlp-proto@0.213.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.6.0(@opentelemetry/api@1.9.0))(openai@6.34.0(ws@8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.67))(ws@8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)): dependencies: p-queue: 6.6.2 - uuid: 10.0.0 + uuid: 13.0.1 optionalDependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/exporter-trace-otlp-proto': 0.213.0(@opentelemetry/api@1.9.0) @@ -39438,12 +39414,6 @@ snapshots: mlly: 1.8.0 pkg-types: 1.3.1 - local-pkg@1.1.1: - dependencies: - mlly: 1.8.0 - pkg-types: 2.1.0 - quansync: 0.2.11 - local-pkg@1.1.2: dependencies: mlly: 1.8.0 @@ -39619,10 +39589,6 @@ snapshots: dependencies: sourcemap-codec: 1.4.8 - magic-string@0.30.17: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -41057,7 +41023,7 @@ snapshots: normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.10 + resolve: 1.22.11 semver: 7.7.3 validate-npm-package-license: 3.0.4 @@ -41801,12 +41767,6 @@ snapshots: mlly: 1.8.0 pathe: 2.0.3 - pkg-types@2.1.0: - dependencies: - confbox: 0.2.2 - exsolve: 1.0.8 - pathe: 2.0.3 - pkg-types@2.3.0: dependencies: confbox: 0.2.2 @@ -41867,7 +41827,7 @@ snapshots: postcss: 8.5.6 postcss-value-parser: 4.2.0 read-cache: 1.0.0 - resolve: 1.22.10 + resolve: 1.22.11 postcss-js@4.0.1(postcss@8.5.6): dependencies: @@ -42507,7 +42467,7 @@ snapshots: rechoir@0.6.2: dependencies: - resolve: 1.22.10 + resolve: 1.22.11 redent@3.0.0: dependencies: @@ -42699,7 +42659,7 @@ snapshots: dependencies: debug: 4.4.3(supports-color@8.1.1) module-details-from-path: 1.0.4 - resolve: 1.22.10 + resolve: 1.22.11 transitivePeerDependencies: - supports-color @@ -45054,17 +45014,17 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-plugin-dts@4.5.3(@types/node@20.19.21)(rollup@4.52.4)(typescript@6.0.2)(vite@8.0.2(@types/node@20.19.21)(esbuild@0.25.10)(jiti@2.6.1)(sass-embedded@1.98.0)(sass@1.98.0)(terser@5.16.1)(tsx@4.19.3)(yaml@2.8.3)): + vite-plugin-dts@4.5.4(@types/node@20.19.21)(rollup@4.52.4)(typescript@6.0.2)(vite@8.0.2(@types/node@20.19.21)(esbuild@0.25.10)(jiti@2.6.1)(sass-embedded@1.98.0)(sass@1.98.0)(terser@5.16.1)(tsx@4.19.3)(yaml@2.8.3)): dependencies: '@microsoft/api-extractor': 7.52.1(@types/node@20.19.21) - '@rollup/pluginutils': 5.1.4(rollup@4.52.4) + '@rollup/pluginutils': 5.3.0(rollup@4.52.4) '@volar/typescript': 2.4.12 '@vue/language-core': 2.2.0(typescript@6.0.2) compare-versions: 6.1.1 - debug: 4.4.0 + debug: 4.4.3(supports-color@8.1.1) kolorist: 1.8.0 - local-pkg: 1.1.1 - magic-string: 0.30.17 + local-pkg: 1.1.2 + magic-string: 0.30.21 typescript: 6.0.2 optionalDependencies: vite: 8.0.2(@types/node@20.19.21)(esbuild@0.25.10)(jiti@2.6.1)(sass-embedded@1.98.0)(sass@1.98.0)(terser@5.16.1)(tsx@4.19.3)(yaml@2.8.3)