diff --git a/packages/@n8n/chat-hub/jest.config.js b/packages/@n8n/chat-hub/jest.config.js deleted file mode 100644 index d6c48554a79..00000000000 --- a/packages/@n8n/chat-hub/jest.config.js +++ /dev/null @@ -1,2 +0,0 @@ -/** @type {import('jest').Config} */ -module.exports = require('../../../jest.config'); diff --git a/packages/@n8n/chat-hub/package.json b/packages/@n8n/chat-hub/package.json index b13f60e4ad9..3a31420cfb5 100644 --- a/packages/@n8n/chat-hub/package.json +++ b/packages/@n8n/chat-hub/package.json @@ -11,9 +11,9 @@ "lint": "eslint . --quiet", "lint:fix": "eslint . --fix", "watch": "tsc -p tsconfig.build.json --watch", - "test": "jest", - "test:unit": "jest", - "test:dev": "jest --watch" + "test": "vitest run", + "test:unit": "vitest run", + "test:dev": "vitest --silent=false" }, "main": "dist/index.js", "module": "src/index.ts", @@ -22,7 +22,10 @@ "dist/**/*" ], "devDependencies": { - "@n8n/typescript-config": "workspace:*" + "@n8n/typescript-config": "workspace:*", + "@n8n/vitest-config": "workspace:*", + "@vitest/coverage-v8": "catalog:", + "vitest": "catalog:" }, "dependencies": { "@n8n/api-types": "workspace:*" diff --git a/packages/@n8n/chat-hub/tsconfig.json b/packages/@n8n/chat-hub/tsconfig.json index 4dd833befb7..dc228c3c5d8 100644 --- a/packages/@n8n/chat-hub/tsconfig.json +++ b/packages/@n8n/chat-hub/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "@n8n/typescript-config/tsconfig.common.json", "compilerOptions": { - "types": ["node", "jest"], + "types": ["node", "vitest/globals"], "tsBuildInfoFile": "dist/typecheck.tsbuildinfo" }, "include": ["src/**/*.ts"], diff --git a/packages/@n8n/chat-hub/vite.config.ts b/packages/@n8n/chat-hub/vite.config.ts new file mode 100644 index 00000000000..a0ca0822696 --- /dev/null +++ b/packages/@n8n/chat-hub/vite.config.ts @@ -0,0 +1,7 @@ +import { createVitestConfig } from '@n8n/vitest-config/node'; + +export default createVitestConfig({ + // The n8n root jest.config sets `restoreMocks: true`, and test files silently rely on + // it — omit this and mocks bleed between tests. + restoreMocks: true, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ee2c69c37f2..668a235686d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1136,6 +1136,15 @@ importers: '@n8n/typescript-config': specifier: workspace:* version: link:../typescript-config + '@n8n/vitest-config': + specifier: workspace:* + version: link:../vitest-config + '@vitest/coverage-v8': + specifier: 'catalog:' + version: 4.1.1(vitest@4.1.1(@opentelemetry/api@1.9.0)(@types/node@20.19.41)(jsdom@23.0.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(vite@8.0.2(@types/node@20.19.41)(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.41)(jsdom@23.0.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(vite@8.0.2(@types/node@20.19.41)(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)) packages/@n8n/cli: dependencies: @@ -23559,7 +23568,7 @@ snapshots: '@babel/code-frame@7.29.0': dependencies: - '@babel/helper-validator-identifier': 7.28.5 + '@babel/helper-validator-identifier': 7.29.7 js-tokens: 4.0.0 picocolors: 1.1.1 @@ -23662,7 +23671,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-module-imports': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 + '@babel/helper-validator-identifier': 7.29.7 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -24050,7 +24059,7 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 + '@babel/helper-validator-identifier': 7.29.7 '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -24340,7 +24349,7 @@ snapshots: '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 + '@babel/helper-validator-identifier': 7.29.7 '@balena/dockerignore@1.0.2': {}