fix: remove happy-coder from global tooling - #741
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughDocumentation updates clarify npm package override behavior and global CLI installation resolver configuration. Changes specify that Changesnpm Dependency and DevContainer Documentation
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
f81811a to
062827a
Compare
|
Claude finished @keito4's task in 3m 15s —— View job PR Review - fix: remove happy-coder from global tooling
概要このPRは「 🔴 Major:
|
| ファイル | 残存する参照 |
|---|---|
npm/global.json:24 |
"happy": {"version": "1.1.8", "overridden": false} |
script/install-npm-globals.sh:33 |
PACKAGES 配列に "happy" が残存 |
.devcontainer/Dockerfile:119,128 |
HAPPY_VERSION 読み取り + happy@${HAPPY_VERSION} インストール |
.devcontainer/devcontainer.json:44 |
~/.happy バインドマウント |
もし happy と happy-coder が同一パッケージであれば、PR概要に記載された破損パッケージ(workspace:* 依存)は依然としてDockerビルドとpostCreateインストールに影響します。
削除が必要なファイル:
# npm/global.json
- "happy": {
- "version": "1.1.8",
- "overridden": false
- },
# script/install-npm-globals.sh
- "happy"
# .devcontainer/Dockerfile:119-128
- && HAPPY_VERSION=$(node -pe "require('/tmp/npm-global.json').dependencies['happy'].version") \
...
- happy@${HAPPY_VERSION} \
# .devcontainer/devcontainer.json:44
- "source=${localEnv:HOME}/.happy,target=/home/vscode/.happy,type=bind,consistency=cached"✅ 良い点
.claude/commands/repo-maintenance.md の追記(+3行):
Global CLI manifest の更新では、`npm/global.json` の `overridden: true` を必ず尊重する。
壊れた latest npm package(例: `workspace:*` を含む package)が Docker build や postCreate install を壊さないよう、`script/update-libraries.sh` は overridden package を更新しない。overridden: true の挙動を文書化する意図は良く、将来の同様の問題に対する防護柵として有効です。
script/README.md の追記(+1行):
Uses npm's legacy peer dependency resolver for global CLI packages to match DevContainer builds.--legacy-peer-deps の理由を明記するのは適切です(ADR 0004との整合性あり)。
📌 確認事項
happy-coder と happy は別のnpmパッケージという可能性もあります。その場合:
happy-coderが別ファイルやdevcontainerイメージ側で既に削除済みであれば、このPRのドキュメント変更のみで意図が達成されている可能性があります- PR概要に「既に別途削除済み」という補足があると明確になります
結論
happy パッケージが npm/global.json・Dockerfile・install-npm-globals.sh・devcontainer.json に残存しているという点を確認いただき、意図通りの削除が完了していなければコード変更の追加をお願いします。ドキュメント部分の変更自体は問題ありません。
|
🎉 This PR is included in version 1.113.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Summary
happy-coderfrom global CLI tooling and DevContainer installation.npm/global.jsonoverridden: trueentries pinned during library refreshes.Root Cause
happy-coder@1.1.8published a package with aworkspace:*dependency, which breaks plain npm global installation and Docker image builds. Since the tool is no longer used, removing it is simpler than pinning an older version.Validation
npm run format:checknpm run lintnpm testnpm install -g --prefix .context/npm-global-no-happy-test eslint typescript typescript-language-server @openai/codex@0.130.0 vercel@53.3.2 @google/gemini-cli@0.41.2 difit@4.0.7 --loglevel=errorSummary by CodeRabbit