diff --git a/packages/@n8n/permissions/jest.config.js b/packages/@n8n/permissions/jest.config.js deleted file mode 100644 index d6c48554a79..00000000000 --- a/packages/@n8n/permissions/jest.config.js +++ /dev/null @@ -1,2 +0,0 @@ -/** @type {import('jest').Config} */ -module.exports = require('../../../jest.config'); diff --git a/packages/@n8n/permissions/package.json b/packages/@n8n/permissions/package.json index 50cf93d869b..9dd512ffe53 100644 --- a/packages/@n8n/permissions/package.json +++ b/packages/@n8n/permissions/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", @@ -25,6 +25,10 @@ "zod": "catalog:" }, "devDependencies": { - "@n8n/typescript-config": "workspace:*" + "@n8n/typescript-config": "workspace:*", + "@n8n/vitest-config": "workspace:*", + "@vitest/coverage-v8": "catalog:", + "vitest": "catalog:", + "vitest-mock-extended": "catalog:" } } diff --git a/packages/@n8n/permissions/src/__tests__/__snapshots__/scope-information.test.ts.snap b/packages/@n8n/permissions/src/__tests__/__snapshots__/scope-information.test.ts.snap index f7c246f17d1..50198bbdc4b 100644 --- a/packages/@n8n/permissions/src/__tests__/__snapshots__/scope-information.test.ts.snap +++ b/packages/@n8n/permissions/src/__tests__/__snapshots__/scope-information.test.ts.snap @@ -1,6 +1,6 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`Scope Information ensure scopes are defined correctly 1`] = ` +exports[`Scope Information > ensure scopes are defined correctly 1`] = ` [ "aiAssistant:manage", "aiAssistant:*", diff --git a/packages/@n8n/permissions/tsconfig.json b/packages/@n8n/permissions/tsconfig.json index 7dc230c6fb8..13c0eac5df2 100644 --- a/packages/@n8n/permissions/tsconfig.json +++ b/packages/@n8n/permissions/tsconfig.json @@ -2,7 +2,7 @@ "extends": "@n8n/typescript-config/tsconfig.common.json", "compilerOptions": { "rootDir": ".", - "types": ["node", "jest"], + "types": ["node", "vitest/globals"], "baseUrl": "src", "paths": { "@/*": ["./*"] diff --git a/packages/@n8n/permissions/vite.config.ts b/packages/@n8n/permissions/vite.config.ts new file mode 100644 index 00000000000..bcfcc92b9f6 --- /dev/null +++ b/packages/@n8n/permissions/vite.config.ts @@ -0,0 +1,14 @@ +import { defineConfig, mergeConfig } from 'vite'; +import { vitestConfig } from '@n8n/vitest-config/node'; +import path from 'node:path'; + +export default mergeConfig( + defineConfig({ + resolve: { + alias: { + '@': path.resolve(__dirname, './src'), + }, + }, + }), + vitestConfig, +); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fd41c8116e4..7e46a37dcaf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2170,6 +2170,18 @@ 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.21)(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))) + 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)) + vitest-mock-extended: + specifier: 'catalog:' + version: 3.1.0(typescript@6.0.2)(vitest@4.1.1(@opentelemetry/api@1.9.0)(@types/node@20.19.21)(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))) packages/@n8n/scan-community-package: dependencies: