{"_id":"@dnhyxc-ai/release-kit","name":"@dnhyxc-ai/release-kit","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.1":{"name":"@dnhyxc-ai/release-kit","version":"0.1.1","description":"可配置的桌面端/Tauri 发布辅助 CLI：版本递增、latest.json、GitHub Release 上传、Wiki 文档推送","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"release-kit":"dist/cli/entry.js"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"keywords":["tauri","release","github","semver","cli"],"license":"MIT","dependencies":{"dotenv":"^17.2.3"},"devDependencies":{"@types/node":"^22.10.7","typescript":"~5.8.3"},"scripts":{"build":"tsc -p tsconfig.build.json"},"_id":"@dnhyxc-ai/release-kit@0.1.1","_integrity":"sha512-CUCbBSRDMs2KkeRsEdaApHEwNulbakBqLVIH/uVTi8wJg9wM9IN2aD5LNMaDUnbSqR5rFcands2c2IllG0YQzQ==","_resolved":"/private/var/folders/vd/281xk1ks13z6h_gszscyxxgr0000gn/T/807739ef72c6bcc3efe1d9fdfd67bf80/dnhyxc-ai-release-kit-0.1.1.tgz","_from":"file:dnhyxc-ai-release-kit-0.1.1.tgz","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-CUCbBSRDMs2KkeRsEdaApHEwNulbakBqLVIH/uVTi8wJg9wM9IN2aD5LNMaDUnbSqR5rFcands2c2IllG0YQzQ==","shasum":"beeb96e31975fccd83158890c00d3da4e678c3c9","tarball":"https://registry.npmjs.org/@dnhyxc-ai/release-kit/-/release-kit-0.1.1.tgz","fileCount":123,"unpackedSize":166197,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDeu0Y/xPvku6vO0D1NlqEXYbUsF9dewbk8ugQEPSqWSAiBFt3hGYqK7zaeQ/G56FBgrd1tP6/1RkIHCQieWrBU4hQ=="}]},"_npmUser":{"name":"dnhyxc","email":"2640559435@qq.com"},"directories":{},"maintainers":[{"name":"dnhyxc","email":"2640559435@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/release-kit_0.1.1_1777973933912_0.16940015902678685"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-05T09:38:53.814Z","0.1.1":"2026-05-05T09:38:54.043Z","modified":"2026-05-05T09:38:54.598Z"},"maintainers":[{"name":"dnhyxc","email":"2640559435@qq.com"}],"description":"可配置的桌面端/Tauri 发布辅助 CLI：版本递增、latest.json、GitHub Release 上传、Wiki 文档推送","keywords":["tauri","release","github","semver","cli"],"license":"MIT","readme":"# @dnhyxc-ai/release-kit\n\n通用 **Tauri / GitHub Release** 流水线 CLI：SemVer 递增、`latest.json`、GitHub Release 资源上传、可选 Wiki Markdown 推送。路径通过 **`release-kit.config.json`** 配置；若无配置文件，可通过 **命令行全局参数** 逐项传入。\n\n## 安装\n\n```bash\npnpm add -D @dnhyxc-ai/release-kit\n# 或\nnpm install -D @dnhyxc-ai/release-kit\n```\n\n安装后可在 `package.json` 的 `scripts` 中调用 **`release-kit`**（见下方示例）。\n\n## 配置文件\n\n在仓库根目录（或任意上级目录）放置 **`release-kit.config.json`**，CLI 会从当前工作目录 **向上查找** 该文件。\n\n- **`root`**：解析 `paths` 内相对路径的基准目录；默认取配置文件所在目录。\n- **`paths`**：各产物与文档的相对路径（相对于 `root`）。\n- **`latestJsonPlatformKey`**：写入 `latest.json` → `platforms` 的键，默认 `darwin-aarch64`。\n- **`wiki`**：`wiki-sync-update-info` / `wiki-sync-guide` 的默认 `owner` / `repo` / `pageFile`（可被环境变量覆盖）。\n- **`upload.extraFiles`**：`upload-release` 时除 `.tar.gz` 与 `latest.json` 外额外上传的文件。\n\n完整字段示例见仓库内 **`release-kit.config.example.json`**。\n\n## 命令行覆盖路径\n\n以下参数可在 **子命令前或后** 出现（二者等价），优先级高于配置文件：\n\n| 参数 | 说明 |\n|------|------|\n| `--config <path>` | 指定配置文件 |\n| `--root <path>` | 工程根目录 |\n| `--tauri-config <path>` | `tauri.conf.json` |\n| `--latest-json <path>` | `latest.json` |\n| `--macos-tar-gz <path>` | macOS 更新包 `.tar.gz` |\n| `--macos-sig <path>` | 签名文件 |\n| `--dmg-bundle-dir <dir>` | dmg 输出目录 |\n| `--wiki-update-md <path>` | Wiki 更新说明源 Markdown |\n| `--wiki-guide-md <path>` | Wiki 教程源 Markdown |\n| `--dotenv <path>` | `.env` 路径（默认 `<root>/.env`） |\n\n## 子命令\n\n```bash\nrelease-kit bump-version [patch|minor|major]\nrelease-kit print-tauri-signing-env\nrelease-kit update-latest\nrelease-kit upload-release [--file <path>]...\nrelease-kit upload-dmg [dmg文件路径]\nrelease-kit wiki-sync-update-info\nrelease-kit wiki-sync-guide\n```\n\n### `.env` 与缺省提示\n\nCLI 会在解析 `release-kit.config.json` 后加载 **`<root>/.env`**（或通过 **`--dotenv <path>`** 指定）。各子命令在缺少所需变量时会 **退出并列出变量名**，同时提示应配置的 **`.env` 绝对路径**（若文件不存在也会说明）。\n\n### Tauri 增量签名（替代原 `export.sh --print`）\n\n将以下变量写入 **发布工程根目录** 的 `.env`（本仓库为 `apps/frontend/.env`）：\n\n- **`TAURI_SIGNING_PRIVATE_KEY`**\n- **`TAURI_SIGNING_PRIVATE_KEY_PASSWORD`**\n\n在运行 **`tauri build`** 的同一 shell 中先注入环境变量，例如：\n\n```bash\neval $(pnpm exec release-kit print-tauri-signing-env)\npnpm exec tauri build\n```\n\n`print-tauri-signing-env` 仅向 **stdout** 输出两行 `export ...`（与原先 `export.sh --print` 行为一致），错误信息在 **stderr**，便于 `eval $(...)`。\n\n### 上传与 Wiki\n\n上传 GitHub Release 需要：**`GITHUB_TOKEN`**、**`OWNER`**、**`APP_REPO`**、**`APP_TAG`**（默认 `latest`）。Wiki 子命令需要 **`GITHUB_TOKEN`**，以及配置或环境变量中的仓库坐标（见配置文件中 `wiki` 段说明）。\n\n## 发布到 npm\n\n```bash\ncd packages/release-kit\npnpm run build\npnpm publish --access public\n```\n\n（`prepublishOnly` 已配置为自动执行 `build`。）\n\n## 在业务仓库中的 `package.json` 示例\n\n```json\n{\n  \"scripts\": {\n    \"release:bump\": \"release-kit bump-version patch\",\n    \"release:latest\": \"release-kit update-latest\",\n    \"release:upload\": \"release-kit upload-release\"\n  }\n}\n```\n\n## 程序化使用\n\n```ts\nimport {\n  loadResolvedReleaseKit,\n  parseGlobalArgv,\n  splitCommandArgv,\n} from '@dnhyxc-ai/release-kit';\n```\n\n## 许可证\n\nMIT\n","readmeFilename":"README.md","_rev":"1-d577dbbc1e3e4a42a3ac8bc9a94fad8a"}