import path from "node:path"
import { defineConfig } from "vitest/config"

export default defineConfig({
  resolve: {
    alias: {
      "@": path.resolve(__dirname, "src"),
      // 测试环境跳过 server-only 守卫（生产环境阻止客户端导入服务端模块）
      "server-only": path.resolve(__dirname, "tests/setup/empty-stub.ts"),
    },
  },
  test: {
    name: "integration",
    environment: "node",
    include: ["tests/integration/**/*.test.ts"],
    setupFiles: ["tests/setup/integration.setup.ts"],
    clearMocks: true,
    restoreMocks: true,
    mockReset: true,
    coverage: {
      provider: "v8",
      enabled: false,
      reporter: ["text", "html", "lcov"],
      reportsDirectory: "./coverage/integration",
      thresholds: {
        lines: 80,
        functions: 80,
        branches: 75,
        statements: 80,
      },
    },
  },
})
