@raolin2025/claude-code-node 2.7.2 → 2.7.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@raolin2025/claude-code-node",
3
- "version": "2.7.2",
3
+ "version": "2.7.3",
4
4
  "description": "Node.js AI Code Agent CLI - Zero dependencies, pure JavaScript, security hardened, multi-channel notifications, Telegram & QQ Bot remote programming, rich media upload, multi-account management",
5
5
  "type": "module",
6
6
  "main": "src/core/index.js",
@@ -57,7 +57,7 @@ const TOOL_PARAMETERS = {
57
57
  },
58
58
  squash: {
59
59
  type: 'boolean',
60
- description: 'publish 时是否把多个提交合并为单个 release 提交(默认 true)',
60
+ description: 'publish 时把本次改动合并为单个 release 提交(默认 true)。始终基于当前 HEAD 提交,不会回溯到旧 release,故不会产生分叉(默认 true)',
61
61
  default: true
62
62
  },
63
63
  doGitPush: {
@@ -270,19 +270,10 @@ async function doPublish({ cwd, version, commitMessage, squash, doGitPush, doNpm
270
270
  // 4. git 提交(合并或直接提交)
271
271
  const msg = commitMessage || `release: v${pkg.version}`
272
272
  try {
273
- if (squash !== false) {
274
- // 合并为单个 release 提交:soft reset 到上一个 release 提交基点,再一次性提交
275
- // 基点 = HEAD 之前最近的一个 "release:" 提交(不含当前),若没有则用 HEAD~n 之前全部
276
- let baseCommit = null
277
- try {
278
- // 最近的两个 release 提交中,取最早那个作为基点(即当前 release 之前的状态)
279
- const releases = sh('git log --format="%h" --grep="^release:"', cwd).split('\n').filter(Boolean)
280
- // releases[0] 是最近的 release(可能是本次或上一次);若 HEAD 就是 release 则取 [1]
281
- const headIsRelease = sh('git log -1 --format="%s"', cwd).startsWith('release:')
282
- baseCommit = headIsRelease ? (releases[1] || releases[0]) : (releases[0] || 'HEAD')
283
- } catch { baseCommit = 'HEAD' }
284
- sh(`git reset --soft ${baseCommit}`, cwd)
285
- }
273
+ // 合并为单个 release 提交:直接基于当前 HEAD 提交本次产生的全部改动。
274
+ // 不再用 git reset --soft 回溯到旧 release(会吞掉 HEAD 之后已提交已推送的历史,
275
+ // 导致 release 提交父基点错误、与远程分叉、push non-fast-forward,见 KNOWN_ISSUES.md 3 条)。
276
+ // 直接 git add -A && git commit 后,新提交父即当前 HEAD,天然不会分叉。
286
277
  sh(`git add -A`, cwd)
287
278
  sh(`git commit -m "${msg.replace(/"/g, '\\"')}"`, cwd)
288
279
  steps.push(`git 提交: ${msg}`)