P1: 31 widget 旧纸感令牌批量迁移到 shadcn 标准(1104 次替换) - bg-paper→bg-background / bg-surface→bg-card / text-ink→text-foreground - 保留 button.tsx 中 bg-accent(shadcn 标准 hover 语义令牌) P2: v2.0 新增组件单元测试补齐(5 文件 81 用例) - permission-bitmap: 24 用例(含 GRADE_READ 重复去重) - route-permissions: 26 用例(4 张表优先级 + AND/OR 语义) - notify: 12 用例(sonner toast 双重性质 vi.hoisted mock) - use-error-report: 9 用例(jsdom Blob vi.stubGlobal mock) - plugin-boundary: 10 用例(错误边界 + 骨架变体) P3: 错误上报端点生产替换(后端 /api/v1/log) - api-gateway: internal/log/handler.go(slog 结构化日志,64KB 限制,204 返回) - main.go: 注册 POST /api/v1/log 路由 - useErrorReport: 环境感知端点(prod→/api/v1/log,dev→/api/log) P4: E2E 测试(3 文件 30 用例) - streaming: 4 用例(React 19 use() + Suspense,act 包裹 render) - error-boundaries: 6 用例(三级错误边界层级 L1/L2/L3) - security-boundaries: 20 用例(L1 角色门禁 + L2 权限点 + L3 数据范围) - vitest setup: IS_REACT_ACT_ENVIRONMENT + jest-dom matchers 验证:typecheck 0 错误 / lint 0 错误 / build 6 路由 / 206 测试全部通过
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import { defineConfig } from "vitest/config";
|
||
import react from "@vitejs/plugin-react";
|
||
import { resolve } from "node:path";
|
||
|
||
/**
|
||
* portal-shell 单元测试配置(v2.1 spec §9.9)
|
||
*
|
||
* 环境:jsdom(支持 React Testing Library)
|
||
* 路径别名:与 tsconfig.json 对齐
|
||
*/
|
||
export default defineConfig({
|
||
plugins: [react()],
|
||
test: {
|
||
environment: "jsdom",
|
||
include: ["src/**/__tests__/**/*.test.{ts,tsx}"],
|
||
globals: true,
|
||
setupFiles: ["src/__tests__/setup.ts"],
|
||
},
|
||
resolve: {
|
||
alias: {
|
||
"@": resolve(__dirname, "src"),
|
||
"@edu/hooks": resolve(__dirname, "../../packages/hooks/src/index.ts"),
|
||
"@edu/ui-components": resolve(
|
||
__dirname,
|
||
"../../packages/ui-components/src/index.ts",
|
||
),
|
||
"@edu/ui-tokens": resolve(
|
||
__dirname,
|
||
"../../packages/ui-tokens/src/index.ts",
|
||
),
|
||
"@edu/shared-ts/contracts": resolve(
|
||
__dirname,
|
||
"../../packages/shared-ts/src/contracts/index.ts",
|
||
),
|
||
"@edu/shared-ts/permission-bitmap": resolve(
|
||
__dirname,
|
||
"../../packages/shared-ts/src/permission-bitmap.ts",
|
||
),
|
||
},
|
||
},
|
||
});
|