Files
mermaid-live-editor/vite.config.js
T

48 lines
1.1 KiB
JavaScript

import { sveltekit } from '@sveltejs/kit/vite';
import { svelteTesting } from '@testing-library/svelte/vite';
import Icons from 'unplugin-icons/vite';
import { defineConfig } from 'vitest/config';
/**
* HMR creates state inconsistencies, so we always reload the page.
* @type {import('vite').PluginOption} PluginOption
*/
const alwaysFullReload = {
name: 'always-full-reload',
handleHotUpdate({ server }) {
server.ws.send({ type: 'full-reload' });
return [];
}
};
export default defineConfig({
plugins: [
sveltekit(),
svelteTesting(),
Icons({
compiler: 'svelte'
}),
alwaysFullReload
],
envPrefix: 'MERMAID_',
optimizeDeps: { include: ['mermaid'] },
server: {
port: 3000,
host: true
},
preview: {
port: 3000,
host: true
},
test: {
environment: 'jsdom',
// in-source testing
includeSource: ['src/**/*.{js,ts,svelte}'],
setupFiles: ['./src/tests/setup.ts'],
coverage: {
exclude: ['src/mocks', '.svelte-kit', 'src/**/*.test.ts'],
reporter: ['text', 'json', 'html', 'lcov']
}
}
});