v0.1.2
这个版本解决一件事:本地起步的头三堵墙,现在每一堵都有清晰的出路——自签证书、后端地址配置、.env 没填全。顺带把 npm 包文档换成英文,并新增全套英文文档。
自签证书:.env 一行解决
本地 ABP 的自签证书在系统钥匙串里受信,但 Node 不读钥匙串——此前 gen 和 dev 都要在启动命令上带 NODE_EXTRA_CA_CERTS(它没法写进 .env,Node 只在启动时读一次)。现在:
dotnet dev-certs https --export-path ~/.aspnet-dev.crt --format PEM# .env
AUTH_EXTRA_CA_FILE=~/.aspnet-dev.crtauth 运行时与 gen 都会在第一笔上游请求前把这张证书追加进进程默认 CA(tls.setDefaultCACertificates,运行时 API,需要 Node ≥ 22.15),其余站点照常校验。旧运行时(更早的 Node、Bun 直跑服务端)自动降级为日志提示回退方案。
init 引导后端配置
$ npx jc-abp init
ABP backend URL (e.g. https://localhost:44316, Enter to skip):
- 一个地址派生三处:
AUTH_ISSUER、AUTH_ABP_BASE_URL、abp.api.config.ts的 swaggerinput .env自动生成(自.env.example派生),AUTH_SESSION_SECRET随机生成——不再手跑openssl rand- 回车跳过、非 TTY 自动跳过、
--backend <url>供脚本/CI - init 从不连接后端,后端没启动不影响初始化;收尾做一次 3 秒探测,只提示不阻断——连不上提醒 gen 前启动后端,证书不受信直接指出该配
AUTH_EXTRA_CA_FILE(顺带证明地址没填错)
报错全部指向下一步
| 场景 | 之前 | 现在 |
|---|---|---|
.env 缺失/留空启动 |
ZodError 堆栈 | auth env is missing or invalid: AUTH_CLIENT_ID (not set). Fill these in the project's .env … |
| 运行时证书不受信 | fetch failed |
指名 AUTH_EXTRA_CA_FILE 的完整说明,且不再徒劳重试 |
| 运行时后端连不上 | fetch failed(重试后) |
cannot reach the ABP backend (ECONNREFUSED) … The backend is not running, or AUTH_ABP_BASE_URL in .env points at the wrong place |
gen 连不上后端 |
fetch failed |
按证书/不可达/404 分类,各给出路 |
CLI 修复与英文化
- 修复:交互终端下 init 会挂在 npx 自己的下载确认上(
Ok to proceed?被进度输出淹没,看起来像挂死;非 TTY 从不触发,所以此前未暴露)。npx 调用现在带-y。 - CLI 的全部用户可见输出(usage、交互提问、进度行、错误信息、收尾指南)改为英文;
app-env.d.ts声明的变量名与真实契约(AUTH_*)对齐。
文档
- npm 三个包的 README 与 description 换成英文(npmjs.com 直接渲染)
- 仓库新增英文全套:
README.en.md+ architecture 与全部四份 guides 的.en.md版本,中英互链 .env.example占位端口与 config 模板统一为 44316
升级
bun add @jcoder-stack/abp-react@0.1.2
bun add -D @jcoder-stack/cli@0.1.2 @jcoder-stack/registry@0.1.2无破坏性改动。已初始化的项目不需要重跑 init;升级 @jcoder-stack/abp-react 即获得运行时的全部新报错与 AUTH_EXTRA_CA_FILE 支持(该变量按需加进你的 .env 即可)。