Skip to content

v0.1.2

Choose a tag to compare

@jcoder-stack jcoder-stack released this 04 Aug 11:56
· 48 commits to main since this release

这个版本解决一件事:本地起步的头三堵墙,现在每一堵都有清晰的出路——自签证书、后端地址配置、.env 没填全。顺带把 npm 包文档换成英文,并新增全套英文文档。

自签证书:.env 一行解决

本地 ABP 的自签证书在系统钥匙串里受信,但 Node 不读钥匙串——此前 gendev 都要在启动命令上带 NODE_EXTRA_CA_CERTS(它没法写进 .env,Node 只在启动时读一次)。现在:

dotnet dev-certs https --export-path ~/.aspnet-dev.crt --format PEM
# .env
AUTH_EXTRA_CA_FILE=~/.aspnet-dev.crt

auth 运行时与 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_ISSUERAUTH_ABP_BASE_URLabp.api.config.ts 的 swagger input
  • .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 即可)。