Files
jerryandClaude Fable 5 0875bb036c P0/M1: 四部分重构——frontend→ui、backend→sdk 改名 + 引用修复 + 骨架
- git mv 保留历史:ui/(Vue3+Vite)、sdk/(BFF 中间层)
- 路径语义修正:db_path/figures_cache 改相对 sdk/(BFF cwd),
  历史库 sdk/backend/data 迁移至 sdk/data/(会话/图片缓存无损)
- 引用修复 ~15 处:config.py、deploy/*.sh、vitest/playwright 配置、
  单测导入路径、docs、README、gitignore、.env.example
- 骨架:agent/{qa,methodology,legacy-rag,vendor}、knowledge/manifest.yaml、
  tooling/{compile,kb,crypto,assemble,audit,tools,scripts} + README
- 门禁验证:sdk pytest 125 通过、ui vitest 158 通过、
  生产 BFF 脚本重启四上游全绿 + 静态托管 + 会话库无损

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-31 12:56:47 +08:00

40 lines
1.7 KiB
JavaScript
Raw Permalink 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.
// vitest.config.js —— B1 归属。单测配置(jsdom + @vue/test-utils)。
// 测试文件位于项目根 tests/frontend/unit(ui/ 之外),依赖解析自 ui/node_modules:
// - server.fs.allow 放行上级目录
// - include 用绝对路径(与运行 cwd 无关)
// - 测试文件中的裸导入(pinia/vue/@vue/test-utils)以 alias 指到 ui/node_modules 的 ESM 入口
// 运行方式(任选):
// cd ui && npx vitest run tests/frontend/unit/b1
// 或项目根:npx --prefix ui vitest run --config ui/vitest.config.js tests/frontend/unit/b1
import { fileURLToPath } from 'node:url';
import { defineConfig } from 'vitest/config';
import vue from '@vitejs/plugin-vue';
const nodeModules = fileURLToPath(new URL('./node_modules', import.meta.url));
const testsDir = fileURLToPath(new URL('../tests/frontend/unit', import.meta.url));
export default defineConfig({
plugins: [vue()],
// 独立依赖缓存目录:避免与 dev server(node_modules/.vite)争用 optimizeDeps 锁
cacheDir: 'node_modules/.vite-vitest',
resolve: {
alias: {
// 测试文件在 ui/ 外,裸包名解析不到 ui/node_modules
pinia: `${nodeModules}/pinia/dist/pinia.mjs`,
vue: `${nodeModules}/vue/index.mjs`,
'@vue/test-utils': `${nodeModules}/@vue/test-utils/dist/vue-test-utils.esm-bundler.mjs`,
},
},
server: {
// 测试文件位于项目根 tests/(ui/ 之外),放行上级目录
fs: { allow: ['..'] },
},
test: {
environment: 'jsdom',
// 测试目录在项目根 tests/frontend/unit(B1/B2/B3 各自子树)
include: [`${testsDir}/**/*.{test,spec}.js`],
globals: false,
setupFiles: [`${testsDir}/b1/setup.js`],
},
});