@cocorograph/hub-agent 0.5.23 → 0.5.24
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 +1 -1
- package/scripts/install.sh +52 -10
package/package.json
CHANGED
package/scripts/install.sh
CHANGED
|
@@ -21,7 +21,17 @@
|
|
|
21
21
|
|
|
22
22
|
set -euo pipefail
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
# Node.js のサポート範囲ポリシー(Active LTS のみ)。
|
|
25
|
+
# - 既存 node のメジャーが [MIN, MAX] に収まっていれば現状維持
|
|
26
|
+
# - 範囲外なら NODE_DEFAULT_BREW_FORMULA (最新 Active LTS) にアップ / ダウングレード
|
|
27
|
+
# 2026-05 時点の LTS スケジュール:
|
|
28
|
+
# - node 22: Active LTS → 2027/04 EoL
|
|
29
|
+
# - node 24: Active LTS → 2028/04 EoL(最新、サポート期間最長)
|
|
30
|
+
# - node 26: current(LTS ではない、SSL/CA 周りの問題報告あり)
|
|
31
|
+
NODE_MIN_MAJOR=22
|
|
32
|
+
NODE_MAX_MAJOR=24
|
|
33
|
+
NODE_DEFAULT_BREW_FORMULA="node@24"
|
|
34
|
+
|
|
25
35
|
PACKAGE_NAME="@cocorograph/hub-agent"
|
|
26
36
|
CLAUDE_CODE_PACKAGE="@anthropic-ai/claude-code"
|
|
27
37
|
|
|
@@ -225,23 +235,55 @@ ensure_pkg() {
|
|
|
225
235
|
fi
|
|
226
236
|
}
|
|
227
237
|
|
|
238
|
+
# macOS で brew 経由で Active LTS の node (NODE_DEFAULT_BREW_FORMULA) を導入/切替する。
|
|
239
|
+
# 既存の無印 node が link されていれば unlink してから新 formula を link --overwrite --force。
|
|
240
|
+
_install_node_lts_brew() {
|
|
241
|
+
local formula="$NODE_DEFAULT_BREW_FORMULA"
|
|
242
|
+
color_step "$formula (Active LTS) を install"
|
|
243
|
+
brew install "$formula"
|
|
244
|
+
# 既存無印 node が link されていれば外す(v26 current 等を退かす)
|
|
245
|
+
if brew list node >/dev/null 2>&1; then
|
|
246
|
+
color_step "既存 'node' formula を unlink ($formula を優先するため)"
|
|
247
|
+
brew unlink node 2>/dev/null || true
|
|
248
|
+
fi
|
|
249
|
+
color_step "$formula を link --overwrite --force"
|
|
250
|
+
brew link --overwrite --force "$formula"
|
|
251
|
+
hash -r 2>/dev/null || true
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
# Node.js のサポート範囲ポリシー判定。
|
|
255
|
+
# - 未インストール → LTS を install
|
|
256
|
+
# - [MIN, MAX] 範囲内 → 現状維持(ユーザーの環境を尊重)
|
|
257
|
+
# - 範囲未満 → LTS にアップグレード
|
|
258
|
+
# - 範囲超過(current 系等) → LTS にダウングレード
|
|
228
259
|
ensure_node_version() {
|
|
229
260
|
local v
|
|
230
261
|
v=$(node --version 2>/dev/null | sed 's/^v//' | cut -d. -f1)
|
|
231
262
|
if [[ -z "$v" ]]; then
|
|
232
|
-
|
|
233
|
-
return
|
|
234
|
-
fi
|
|
235
|
-
if (( v < NODE_MIN_MAJOR )); then
|
|
236
|
-
color_warn "node $v は古いです (>=${NODE_MIN_MAJOR} 必須)。brew で更新を試みます"
|
|
263
|
+
color_step "node が未インストール → $NODE_DEFAULT_BREW_FORMULA (Active LTS) を install"
|
|
237
264
|
if [[ "$(uname)" == "Darwin" ]]; then
|
|
238
|
-
|
|
265
|
+
_install_node_lts_brew
|
|
239
266
|
else
|
|
240
|
-
|
|
241
|
-
exit 1
|
|
267
|
+
ensure_pkg node node nodejs
|
|
242
268
|
fi
|
|
269
|
+
return
|
|
270
|
+
fi
|
|
271
|
+
|
|
272
|
+
if (( v >= NODE_MIN_MAJOR && v <= NODE_MAX_MAJOR )); then
|
|
273
|
+
color_ok "node v$v は動作保証範囲 (${NODE_MIN_MAJOR} ≤ v ≤ ${NODE_MAX_MAJOR}) 内。現状維持"
|
|
274
|
+
return
|
|
275
|
+
fi
|
|
276
|
+
|
|
277
|
+
if (( v < NODE_MIN_MAJOR )); then
|
|
278
|
+
color_warn "node v$v は古い (>=${NODE_MIN_MAJOR} 必須) → $NODE_DEFAULT_BREW_FORMULA にアップグレード"
|
|
243
279
|
else
|
|
244
|
-
|
|
280
|
+
color_warn "node v$v は新しすぎ (current 系) → 安定動作のため $NODE_DEFAULT_BREW_FORMULA (LTS) にダウングレード"
|
|
281
|
+
fi
|
|
282
|
+
if [[ "$(uname)" == "Darwin" ]]; then
|
|
283
|
+
_install_node_lts_brew
|
|
284
|
+
else
|
|
285
|
+
color_err "Node $NODE_MIN_MAJOR〜$NODE_MAX_MAJOR の LTS を手動で install してください (nvm 推奨)"
|
|
286
|
+
exit 1
|
|
245
287
|
fi
|
|
246
288
|
}
|
|
247
289
|
|