tmagic-editor/vitest.config.ts
roymondchen 93dc0d2187 feat(form): 新增无渲染校验入口,支持 Node/CI 环境执行表单校验
将 submitForm/validateForm 改为无 DOM 的 headless 实现,并抽取字段登记与编辑器复合字段配置,便于脚本与 CI 批量校验。
2026-08-28 15:33:54 +08:00

83 lines
2.4 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { resolve } from 'path';
import { defineConfig } from 'vitest/config';
import Vue from '@vitejs/plugin-vue';
const r = (p: string) => resolve(__dirname, p);
const alias = {
'@editor': r('./packages/editor/src'),
'@form': r('./packages/form/src'),
'@form/headless': r('./packages/form/src/headless.ts'),
'@tmagic/form/headless': r('./packages/form/src/headless.ts'),
'@tmagic/form': r('./packages/form/src'),
'@tmagic/editor/headless': r('./packages/editor/src/headless.ts'),
'@data-source': r('./packages/data-source/src'),
};
export default defineConfig({
test: {
coverage: {
include: ['packages/*/src/**'],
exclude: [
'./runtime/**',
'./playground/**',
'./docs/**',
'./packages/*/dist/**',
'./packages/*/types/**',
'./packages/*/tests/**',
'./packages/cli/lib/**',
'./packages/design/**',
'./packages/element-plus-adapter/**',
'./packages/tdesign-vue-next-adapter/**',
],
},
projects: [
{
plugins: [Vue()],
resolve: { alias },
test: {
name: 'dom',
include: ['./packages/*/tests/**', './runtime/*/tests/**'],
exclude: [
'./packages/cli/tests/**',
'./packages/editor/tests/unit/hooks/use-stage.spec.ts',
// 多份用例共用的脚手架模块,本身不含用例
'./packages/*/tests/**/helpers/**',
],
environment: 'happy-dom',
pool: 'vmThreads',
vmMemoryLimit: '2GB',
maxWorkers: 8,
// 配置不同 pool/maxWorkers 的项目需要分到不同 group否则 vitest 无法调度
sequence: { groupOrder: 0 },
},
},
{
plugins: [Vue()],
resolve: { alias },
test: {
name: 'dom-forks',
include: ['./packages/editor/tests/unit/hooks/use-stage.spec.ts'],
environment: 'happy-dom',
pool: 'forks',
isolate: false,
sequence: { groupOrder: 1 },
},
},
{
plugins: [Vue()],
resolve: { alias },
test: {
name: 'node',
include: ['./packages/cli/tests/**', './packages/form/tests/node/**'],
environment: 'node',
pool: 'forks',
isolate: false,
sequence: { groupOrder: 2 },
},
},
],
},
});