fix: 修复集成测试中发现的全部 bug — 15 服务端到端验证通过
修复涵盖 6 大类问题: 1. api-gateway - 路径前缀剥离 /api 而非 /api/v1,保留下游 /v1/ controller 前缀 - JWKS URL 默认值修复 - publicPaths 白名单对齐 /v1/iam/* 2. iam - iam.module.ts exports 补充 PermissionCacheService 和 IamRepository - main.ts resolveProtoPath() 多路径探测 proto 文件 3. core-edu - app.module.ts AuthMiddleware 全局注册 4. BFF 层 GraphQL 端点(teacher-bff / parent-bff / student-bff) - teacher-bff: mock dataScope OWN→SELF 对齐 GraphQL enum;WHATWG Request header .get() 提取 - parent-bff: handleNodeRequestAndResponse 不存在 → 直接 yoga(req,res);WHATWG Request header .get() 提取 - student-bff: auth.resolver 移除 ActionState 信封返回扁平对象;WHATWG Request header .get() 提取 5. ai - Kafka 事务降级 + 10s 超时 - gRPC 拦截器降级 - dev mode 禁用事务模式 6. 前端 + 共享包 - teacher-portal: MF 插件条件实例化 + transpilePackages + extensionAlias - ui-components: error-boundary.tsx 添加 use client - ui-tokens: tailwind-theme.css 移除 @layer base - shared-ts: 导出从源码改为 dist 编译产物;OutboxModule global:true 7. infra - .gitignore 补充 keys/ *.pem *.key secrets/ 排除规则 - infra/init-sql/02-all-services-schema.sql 36 张表 DDL 验证结果: - TS typecheck: 19 个 workspace 项目全部通过 - Go vet + Ruff: 通过 - 15 服务全部启动成功 - 3 个 BFF GraphQL 端点 + 4 个前端页面全部 200 - Gateway → iam → core-edu 端到端链路验证通过 AI identity: trae-main(集成测试修复会话)
This commit is contained in:
3
apps/admin-portal/next-env.d.ts
vendored
3
apps/admin-portal/next-env.d.ts
vendored
@@ -1,2 +1,5 @@
|
||||
/// <reference types="next" />
|
||||
/// <reference types="next/image-types/global" />
|
||||
|
||||
// NOTE: This file should not be edited
|
||||
// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information.
|
||||
|
||||
2
apps/parent-portal/next-env.d.ts
vendored
2
apps/parent-portal/next-env.d.ts
vendored
@@ -2,4 +2,4 @@
|
||||
/// <reference types="next/image-types/global" />
|
||||
|
||||
// NOTE: This file should not be edited
|
||||
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
|
||||
// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information.
|
||||
|
||||
@@ -78,9 +78,31 @@ function buildShared() {
|
||||
const nextConfig = {
|
||||
reactStrictMode: true,
|
||||
|
||||
// ESM 模式:transpilePackages 对齐 NestJS ESM 规范
|
||||
// @edu/hooks 等包使用 .js 后缀导入源码,需 transpile + extensionAlias
|
||||
transpilePackages: [
|
||||
"@edu/ui-components",
|
||||
"@edu/ui-tokens",
|
||||
"@edu/hooks",
|
||||
"@edu/contracts",
|
||||
"@edu/shared-ts",
|
||||
],
|
||||
|
||||
// ARB-002:MF Shell 配置(exposes + shared,P2 无 remotes)
|
||||
// 仅当 NEXT_PUBLIC_MF_ENABLED=true 时实例化 NextFederationPlugin
|
||||
// (nextjs-mf 不支持 App Directory,P2 阶段 MF 未启用时跳过避免报错)
|
||||
webpack(config, { isServer }) {
|
||||
if (NextFederationPlugin) {
|
||||
// ESM 包使用 .js 后缀导入源码(TS 文件),需映射 .js → .ts
|
||||
config.resolve = config.resolve || {};
|
||||
config.resolve.extensionAlias = {
|
||||
...config.resolve.extensionAlias,
|
||||
".js": [".ts", ".tsx", ".js"],
|
||||
};
|
||||
|
||||
if (
|
||||
NextFederationPlugin &&
|
||||
process.env.NEXT_PUBLIC_MF_ENABLED === "true"
|
||||
) {
|
||||
config.plugins.push(
|
||||
new NextFederationPlugin({
|
||||
name: "teacher_app",
|
||||
|
||||
Reference in New Issue
Block a user