UNPKG

excalibur

Version:

Excalibur.js is a simple JavaScript game engine with TypeScript bindings for making 2D games in HTML5 Canvas. Our mission is to make web game development as simple as possible.

42 lines (38 loc) 1.58 kB
/// <reference types="@vitest/browser/providers/playwright" /> import * as path from 'path'; import type { ViteUserConfig } from 'vitest/config'; import { defineConfig, mergeConfig } from 'vitest/config'; import commonConfig from './vite.config.common'; import { EngineInstanceReporter } from './src/spec/__util__/reporters/engine-instance'; import { MemoryReporter } from './src/spec/__util__/reporters/memory'; export default defineConfig( mergeConfig(commonConfig, { // our image urls have always been relative from root in tests. would be nice to // have a better place of where served files go for tests and then we just use /images/xyz.png publicDir: __dirname, resolve: { alias: { '@excalibur': path.resolve(__dirname, './src/engine/') } }, test: { api: { host: '0.0.0.0' }, silent: 'passed-only', reporters: [['default', { summary: false }], new EngineInstanceReporter(), new MemoryReporter()], // enable with --coverage param coverage: { include: ['src/engine/**/*.ts'], provider: 'istanbul', reporter: [['html'], ['lcov', { projectRoot: __dirname }], ['text-summary']], reportsDirectory: path.join(__dirname, 'coverage') }, projects: [path.resolve(__dirname, './src/spec/vitest.config.unit.ts'), path.resolve(__dirname, './src/spec/vitest.config.visual.ts')] } } satisfies ViteUserConfig) ); declare module 'vitest' { export interface ProvidedContext { browser: 'chromium' | 'firefox' | 'webkit'; platform: NodeJS.Platform; } }