Skip to main content
Glama
vitest.ci.config.ts3.54 kB
import { defineConfig } from "vitest/config"; import tsconfigPaths from "vite-tsconfig-paths"; export default defineConfig({ plugins: [tsconfigPaths()], // Manual alias resolution for compiled JS files resolve: { alias: { "@/types": new URL("./dist/types", import.meta.url).pathname, "@/client": new URL("./dist/client", import.meta.url).pathname, "@/utils": new URL("./dist/utils", import.meta.url).pathname, "@/config": new URL("./dist/config", import.meta.url).pathname, "@/tools": new URL("./dist/tools", import.meta.url).pathname, "@/cache": new URL("./dist/cache", import.meta.url).pathname, "@/security": new URL("./dist/security", import.meta.url).pathname, "@/performance": new URL("./dist/performance", import.meta.url).pathname, "@/server": new URL("./dist/server", import.meta.url).pathname, "@": new URL("./dist", import.meta.url).pathname, }, }, test: { // Environment environment: "node", // Pool options - use threads for better memory management in CI pool: "threads", // Test file patterns include: ["tests/**/*.test.js", "tests/**/*.spec.js"], // Exclude problematic tests for CI stability exclude: [ "node_modules/**", "dist/**", "coverage/**", // Memory-intensive or flaky tests "tests/security/SecurityReviewer.test.js", "tests/server/ToolRegistry.test.js", "tests/performance/regression-detection.test.js", // Skip memory-intensive integration tests in CI "tests/integration/**", ], // Global test configuration globals: true, // Shorter timeouts for CI stability testTimeout: 5000, // 5 seconds max per test hookTimeout: 2000, // 2 seconds for setup/teardown // Test behavior clearMocks: true, mockReset: true, restoreMocks: true, // Setup files setupFiles: ["./tests/vitest.setup.ts"], // Coverage configuration optimized for CI coverage: { provider: "v8", reporter: ["text-summary", "lcov", "json"], reportOnFailure: true, reportsDirectory: "coverage", // Target compiled JS files include: ["dist/**/*.js", "src/**/*.js", "src/**/*.ts"], exclude: [ "dist/**/*.d.ts", "dist/**/*.test.js", "dist/tests/**", "dist/**/index.js", "src/**/*.d.ts", "src/**/*.test.ts", "src/**/index.ts", "tests/**", "docs/**", "node_modules/**", "**/*.test.js", "**/*.spec.js", ], // Lower coverage thresholds for CI stability thresholds: { global: { branches: 40, functions: 50, lines: 55, statements: 50, }, }, }, // Performance and memory optimization for CI (Vitest v4) isolate: true, maxConcurrency: 2, // Reduce concurrent tests to save memory maxWorkers: 2, // Vitest v4: replaces poolOptions.threads.maxThreads minWorkers: 1, // Vitest v4: replaces poolOptions.threads.minThreads // Memory management forceRerunTriggers: ["**/package.json/**", "**/vitest.config.*/**", "**/vite.config.*/**"], // Simple reporter for CI (Vitest v4: 'basic' reporter removed, using 'default') reporters: ["default"], // Bail out on first failure to save CI time bail: 1, }, // TypeScript and module resolution define: { __EXECUTION_CONTEXT__: '"vitest-ci"', }, // ESBuild configuration esbuild: { target: "es2022", }, });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/docdyhr/mcp-wordpress'

If you have feedback or need assistance with the MCP directory API, please join our Discord server