0d3cb498a3
Deploy local.promptfoo.app / Deploy to Cloudflare Pages (push) Waiting to run
Test and Publish Multi-arch Docker Image / test (push) Waiting to run
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-amd64 platform:linux/amd64 runner:ubuntu-latest]) (push) Blocked by required conditions
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-arm64 platform:linux/arm64 runner:ubuntu-24.04-arm]) (push) Blocked by required conditions
Test and Publish Multi-arch Docker Image / merge-docker-digests (push) Blocked by required conditions
Test and Publish Multi-arch Docker Image / Attest Multi-arch Image (push) Blocked by required conditions
Validate Renovate Config / Validate Renovate Configuration (push) Waiting to run
CI / Shell Format Check (push) Has been cancelled
CI / Check Ruby (3.4) (push) Has been cancelled
CI / CI Config (push) Has been cancelled
CI / Test on Node ${{ matrix.node }} and ${{ matrix.os }}${{ matrix.shard && format(' (shard {0}/3)', matrix.shard) || '' }} (push) Has been cancelled
CI / Build on Node ${{ matrix.node }} (push) Has been cancelled
CI / Style Check (push) Has been cancelled
CI / Generate Assets (push) Has been cancelled
CI / Check Python (3.14) (push) Has been cancelled
CI / Check Python (3.9) (push) Has been cancelled
CI / Build Docs (push) Has been cancelled
CI / Code Scan Action (push) Has been cancelled
CI / Site tests (push) Has been cancelled
CI / webui tests (push) Has been cancelled
CI / Run Integration Tests (push) Has been cancelled
CI / Run Smoke Tests (push) Has been cancelled
CI / Go Tests (push) Has been cancelled
CI / Share Test (push) Has been cancelled
CI / Redteam (Production API) (push) Has been cancelled
CI / Redteam (Staging API) (push) Has been cancelled
CI / GitHub Actions Lint (push) Has been cancelled
CI / Check Ruby (3.0) (push) Has been cancelled
release-please / release-please (push) Has been cancelled
release-please / build (push) Has been cancelled
release-please / publish-npm (push) Has been cancelled
release-please / publish-npm-backfill (push) Has been cancelled
release-please / docker (push) Has been cancelled
release-please / publish-code-scan-action (push) Has been cancelled
release-please / attest-code-scan-action (push) Has been cancelled
67 lines
2.2 KiB
TypeScript
67 lines
2.2 KiB
TypeScript
import { fileURLToPath } from 'node:url';
|
|
import path from 'path';
|
|
|
|
import react from '@vitejs/plugin-react';
|
|
import { defineConfig } from 'vitest/config';
|
|
|
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
const docusaurusComponentStub = path.resolve(__dirname, 'src/test/docusaurusComponentStub.tsx');
|
|
const docusaurusRuntimeStub = path.resolve(__dirname, 'src/test/docusaurusRuntimeStub.tsx');
|
|
const docusaurusUseIsBrowserStub = path.resolve(__dirname, 'src/test/useIsBrowserStub.ts');
|
|
|
|
export default defineConfig({
|
|
plugins: [...react()],
|
|
test: {
|
|
environment: 'jsdom',
|
|
setupFiles: ['./src/setupTests.ts'],
|
|
globals: false,
|
|
include: ['src/**/*.test.{ts,tsx}'],
|
|
pool: 'forks',
|
|
isolate: true,
|
|
sequence: {
|
|
shuffle: true,
|
|
},
|
|
// CSS processing for MUI components
|
|
css: true,
|
|
// Memory and timeout settings
|
|
testTimeout: 30_000,
|
|
hookTimeout: 30_000,
|
|
teardownTimeout: 10_000,
|
|
|
|
// Coverage configuration
|
|
coverage: {
|
|
provider: 'v8',
|
|
reporter: ['text', 'json', 'html'],
|
|
reportsDirectory: './coverage',
|
|
include: ['src/**/*.ts', 'src/**/*.tsx'],
|
|
exclude: [
|
|
'src/**/*.d.ts',
|
|
'src/**/*.test.ts',
|
|
'src/**/*.test.tsx',
|
|
'src/setupTests.ts',
|
|
'src/test/**',
|
|
],
|
|
// @ts-expect-error - 'all' is valid in Vitest v8 coverage but types are incomplete
|
|
all: true,
|
|
},
|
|
},
|
|
resolve: {
|
|
alias: [
|
|
{ find: '@site', replacement: path.resolve(__dirname) },
|
|
// Docusaurus provides these modules at build time. Vitest needs local
|
|
// stand-ins so V8 coverage can transform uncovered site files.
|
|
{ find: /^@docusaurus\/(?:Head|Link)$/, replacement: docusaurusComponentStub },
|
|
{
|
|
find: /^@docusaurus\/(?:plugin-content-blog|plugin-content-docs)(?:\/client)?$/,
|
|
replacement: docusaurusRuntimeStub,
|
|
},
|
|
{ find: /^@docusaurus\/useIsBrowser$/, replacement: docusaurusUseIsBrowserStub },
|
|
{
|
|
find: /^@docusaurus\/(?:router|theme-common|useBaseUrl|useDocusaurusContext)$/,
|
|
replacement: docusaurusRuntimeStub,
|
|
},
|
|
{ find: /^@theme(?:-original)?\/.+$/, replacement: docusaurusComponentStub },
|
|
],
|
|
},
|
|
});
|