@lark-apaas/coding-template-nestjs-react-fullstack 0.1.40-alpha.20260916135942 → 0.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -46
- package/package.json +1 -1
- package/template/eslint.config.js +0 -2
- package/template/package-lock.json +37 -684
- package/template/package.json +5 -7
- package/template/scripts/build.sh +43 -81
- package/template/scripts/lint.js +18 -120
- package/template/tsconfig.node.json +1 -2
package/README.md
CHANGED
|
@@ -27,25 +27,6 @@ MIAODA_APP_TYPE=3 npx @lark-apaas/miaoda-cli@<latest> app init \
|
|
|
27
27
|
- `SANDBOX_PUBLIC_URL` —— 沙箱公网域
|
|
28
28
|
- `CLIENT_BASE_PATH=/app/<app_id>/` —— React Router basename + Vite base
|
|
29
29
|
|
|
30
|
-
## MCP UI 的类型与代码检查
|
|
31
|
-
|
|
32
|
-
`server/mcp/ui` 是独立浏览器工程,主应用的 TypeScript 和 ESLint 配置排除该目录。
|
|
33
|
-
`npm run lint` 通过现有 `scripts/lint.js` 统一调度检查:
|
|
34
|
-
|
|
35
|
-
| 命令 | 检查范围 |
|
|
36
|
-
| --- | --- |
|
|
37
|
-
| `npm run type:check` | 服务端、客户端、MCP UI 类型检查 |
|
|
38
|
-
| `npm run type:check:mcp-ui` | 仅 MCP UI 类型检查 |
|
|
39
|
-
| `npm run eslint:mcp-ui` | 仅 MCP UI ESLint 检查 |
|
|
40
|
-
| `npm run lint -- --files <files...>` | 根据改动文件选择检查范围 |
|
|
41
|
-
|
|
42
|
-
模板不预建 UI 目录。Agent 开发 MCP UI 时,按照 MCP 指南生成
|
|
43
|
-
`server/mcp/ui/tsconfig.json` 和根目录 `eslint.mcp-ui.config.cjs`。
|
|
44
|
-
没有 UI 源码时跳过独立检查;存在源码但配置缺失或未覆盖源码时明确报错。
|
|
45
|
-
|
|
46
|
-
存量应用通过本地 `miaoda app sync` 或沙箱 `fullstack-cli sync` 更新脚本、迁移已知模板命令,
|
|
47
|
-
并保留现有 TS 排除项。自定义检查命令会保留,开发者需自行接入独立 UI 检查。
|
|
48
|
-
|
|
49
30
|
## 包结构
|
|
50
31
|
|
|
51
32
|
```
|
|
@@ -58,30 +39,3 @@ MIAODA_APP_TYPE=3 npx @lark-apaas/miaoda-cli@<latest> app init \
|
|
|
58
39
|
`template/` 内以下划线开头的占位文件(`_gitignore` / `_npmrc` / `_env.local`)在 `miaoda app init`
|
|
59
40
|
渲染时会按 RENAME 映射改回正常名(npm pack 会特殊处理 `.gitignore`、且 `.npmrc` 直接放
|
|
60
41
|
在包里会污染用户 `npm install` 行为,所以都要 underscore 前缀)。
|
|
61
|
-
|
|
62
|
-
## MCP 后端构建标识
|
|
63
|
-
|
|
64
|
-
`npm run build` 的 `scripts/build.sh` 在服务端、客户端构建、产物准备和依赖裁剪全部成功后,
|
|
65
|
-
用 Node 内置 `crypto.randomUUID()` 生成一次纯文本 UUID(36 字符,无需发布环境变量)。
|
|
66
|
-
同次构建写入下列文件,内容完全相同:
|
|
67
|
-
|
|
68
|
-
| 构建文件(相对工程根) | 对应运行目录 |
|
|
69
|
-
| --- | --- |
|
|
70
|
-
| `dist/mcp-build-id` | 工程根 |
|
|
71
|
-
| `dist/dist/mcp-build-id` | `dist/`,或整个 `dist/` 复制/解压到的 `dist-server/` |
|
|
72
|
-
| `dist/server/dist/mcp-build-id` | 旧布局 `dist/server/`,或该目录复制/解压到的 `dist-server/` |
|
|
73
|
-
|
|
74
|
-
SDK 统一读取 `cwd/dist/mcp-build-id`;production 首次读取后缓存。
|
|
75
|
-
复制/部署同一产物必须保留文件,不在启动时重新生成 UUID;再次成功全构建会得到新的 UUID。
|
|
76
|
-
直接运行 `build:server` 不完成交付流程,不能替代 `npm run build`。
|
|
77
|
-
SDK 在文件缺失时不返回 `appRevision`,标准 MCP 仍可用;开发态使用进程单例 UUID,不读构建文件。
|
|
78
|
-
UI/Skill 内容仍由 SDK 计入总 hash,独立修改这些产物不会重写 `backendBuildID`。
|
|
79
|
-
|
|
80
|
-
`only_frontend_change=true` 跳过服务端构建、依赖裁剪和 UUID 生成。
|
|
81
|
-
构建目录仍按原逻辑清空;平台跳过服务端包上传,所以已部署服务的旧 ID 保持不变。
|
|
82
|
-
`server/mcp/ui`、`server/mcp/skills` 的源码变更应由平台判为全构建;它们不属于 `client/`。
|
|
83
|
-
平台实际根据配置的前端路径前缀匹配变更前后路径,不能把 `server/mcp` 列为前端前缀。
|
|
84
|
-
即使 client build 在本地写出了 `mcp-ui`,纯前端发布也不携带服务端 MCP 产物,**不承诺热更 MCP UI**。
|
|
85
|
-
|
|
86
|
-
存量应用通过既有 `fullstack-cli sync` 或 `miaoda app sync` 的 `scripts/` 目录覆盖同步获得此脚本,
|
|
87
|
-
同步本身不生成 UUID、不修改已有构建标识,无新增用户 CLI 命令。
|
package/package.json
CHANGED