Files

50 lines
1.4 KiB
TypeScript

/// <reference types="vitest/config" />
import { defineConfig } from 'vite'
import { playwright } from '@vitest/browser-playwright'
import { syncEnginePlugin } from './src/plugin'
export default defineConfig({
// The lib's own DevTools setup does `import('virtual:sync-engine-registry')`;
// register the plugin (with no matching defs in lib/) so Vite can resolve
// the virtual module to an empty registry instead of throwing at transform.
plugins: [syncEnginePlugin({ definitions: ['/lib/**/*.defs.ts'] })],
define: {
__VUE_OPTIONS_API__: 'true',
__VUE_PROD_DEVTOOLS__: 'false',
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__: 'false',
// Enable dev-only assertions and DevTools branches in the lib source.
__SYNC_ENGINE_DEV__: 'true',
},
test: {
include: ['src/**/*.{test,spec}.ts'],
globals: false,
browser: {
enabled: true,
provider: playwright(),
headless: true,
screenshotFailures: false,
instances: [{ browser: 'chromium' }],
},
coverage: {
provider: 'v8',
include: ['src/**/*.ts'],
exclude: [
'src/**/__tests__/**',
'src/index.ts',
'src/__dev.ts',
'src/core/types.ts',
'src/core/keyedStore.ts',
'src/transport/protocol.ts',
'src/devtools.ts',
],
reporter: ['text', 'html'],
thresholds: {
statements: 90,
branches: 75,
functions: 90,
lines: 95,
},
},
},
})