Skip to content

deps: bump @commitlint/config-conventional from 20.5.3 to 21.0.0 - #732

Closed
dependabot[bot] wants to merge 12 commits into
mainfrom
dependabot/npm_and_yarn/commitlint/config-conventional-21.0.0
Closed

deps: bump @commitlint/config-conventional from 20.5.3 to 21.0.0#732
dependabot[bot] wants to merge 12 commits into
mainfrom
dependabot/npm_and_yarn/commitlint/config-conventional-21.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github May 11, 2026

Copy link
Copy Markdown
Contributor

Bumps @commitlint/config-conventional from 20.5.3 to 21.0.0.

Release notes

Sourced from @​commitlint/config-conventional's releases.

v21.0.0

Heads-up: --legacy-output is a transitional escape hatch. It will be removed in a future major release. Plan to migrate your parsers / snapshots to the new format during the v21 lifecycle.

21.0.0 (2026-05-08)

Breaking

Fixes

Internals (Node 22 cleanup)

  • chore: replace dependencies with Node 22 built-ins by @​escapedcat in #4681 — drops glob, fast-glob, import-meta-resolve, minimist, fs-extra
  • refactor: replace read-pkg with native fs.readFile + JSON.parse by @​escapedcat in #4742
  • chore: update dependency yargs to v18 by @​escapedcat in #4686
  • chore: remove cross-env, move env vars to vitest config by @​escapedcat in #4684

Dependency updates

Full Changelog: conventional-changelog/commitlint@v20.5.3...v21.0.0

Changelog

Sourced from @​commitlint/config-conventional's changelog.

21.0.0 (2026-05-08)

BREAKING CHANGES

  • drop node v18 and v20 support
  • Bump engines to >=v22 in all 39 package.json files
  • Update @​types/node to ^22.0.0
  • Update CI matrix to [22, 24]
  • Update Ubuntu baseline job to ubuntu:26.04
  • Update Dockerfile.ci, .mise.toml, .codesandbox/ci.json
  • Update pre-commit hook to use --ignore-engines
  • Update README and docs

Co-authored-by: Claude Opus 4.6 (1M context) noreply@anthropic.com

Commits

@dependabot dependabot Bot added dependencies 依存関係の更新 npm npm/yarn 依存関係の更新 labels May 11, 2026
@dependabot
dependabot Bot requested a review from keito4 as a code owner May 11, 2026 03:16
@dependabot dependabot Bot added dependencies 依存関係の更新 npm npm/yarn 依存関係の更新 labels May 11, 2026
@github-actions github-actions Bot added needs-review レビュー待ち breaking-change 破壊的変更あり labels May 11, 2026
@keito4 keito4 self-assigned this May 11, 2026
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/commitlint/config-conventional-21.0.0 branch from 163537e to f63ef82 Compare May 11, 2026 03:36
Bumps [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) from 20.5.3 to 21.0.0.
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.0.0/@commitlint/config-conventional)

---
updated-dependencies:
- dependency-name: "@commitlint/config-conventional"
  dependency-version: 21.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/commitlint/config-conventional-21.0.0 branch from f63ef82 to 81295e9 Compare May 11, 2026 03:38
@keito4

keito4 commented May 11, 2026

Copy link
Copy Markdown
Owner

(aside)
@claude PRがbaseにマージする際にCIが落ちています。
修正してください。

@claude

claude Bot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Claude finished @keito4's task in 8m 59s —— View job


CI調査・修正完了


調査結果

このPR (#732) のCI: 全チェック ✅ 合格(マージ自体は問題なし)

mainブランチで落ちていたCI: Auto Update Libraries スケジュールジョブ(毎週月曜3時)

失敗ログ (run #25650422312):

##[error]GitHub Actions is not permitted to create or approve pull requests.

GITHUB_TOKEN でPRを作成しようとしたが、リポジトリ設定で許可されていないため失敗。ライブラリ更新のコミット自体は fix/auto-library-update ブランチに正常にプッシュ済みだが、PR作成ステップで止まっていた。


対応内容

手動でPRを作成: PR #737: fix: automated library refresh

含まれる更新:


根本原因と恒久対策(要手動対応)

ワークフロー自体の修正が必要ですが、.github/workflows/ ファイルの変更はGitHub App権限の制限により実施できません。

オーナーによる対応が必要:

  1. リポジトリ設定: Settings → Actions → General → "Allow GitHub Actions to create and approve pull requests" を有効化
  2. または .github/workflows/update-libraries.ymltoken: ${{ secrets.GITHUB_TOKEN }} をPATトークンに変更
    | PR #737

@claude claude Bot mentioned this pull request May 11, 2026
2 tasks
@keito4

keito4 commented May 11, 2026

Copy link
Copy Markdown
Owner

(aside)
@claude PRがbaseにマージする際にCIが落ちています。
修正してください。

@claude

claude Bot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Claude finished @keito4's task in 8m 7s —— View job


CI調査・修正完了

  • 現在のCI状態を確認
  • 失敗原因を特定
  • fix/update-dev-tools ブランチのPR作成 → PR #739
  • 根本原因の説明

調査結果

このPR (#732) のCI: 全チェック ✅ 合格(マージ自体に問題なし)

継続的に失敗しているCI:

ワークフロー 頻度 失敗ステップ
Update Development Tools 毎日 5:00 UTC Create pull request
Auto Update Libraries 毎週月曜 3:00 UTC Create pull request

失敗ログ:

##[error]GitHub Actions is not permitted to create or approve pull requests.

両ワークフローとも peter-evans/create-pull-request アクションで token: ${{ secrets.GITHUB_TOKEN }} を使用してPRを作成しようとしていますが、リポジトリ設定で GitHub Actions によるPR作成が無効になっているため失敗しています。


対応内容(一時的な回避策)

ワークフローが作成したブランチからPRを手動で作成しました:

  • PR #739: Claude Code 2.1.1372.1.138 のDevContainer更新
  • PR #737: ライブラリ更新(前回のClaudeが作成済み)

根本原因と恒久対策(オーナーによる手動対応が必要)

方法1:リポジトリ設定の変更(推奨)

Settings → Actions → General → "Allow GitHub Actions to create and approve pull requests" を ✅ 有効化

方法2:ワークフローをPATトークン使用に変更

.github/workflows/update-dev-tools.yml.github/workflows/update-libraries.ymltoken: ${{ secrets.GITHUB_TOKEN }} を PAT秘密変数に変更

⚠️ GitHub App の権限制限により、ワークフローファイル (.github/workflows/) の直接変更はできないため、オーナーによる対応が必要です。

@keito4

keito4 commented May 11, 2026

Copy link
Copy Markdown
Owner

(aside)
@claude PRがbaseにマージする際にCIが落ちています。
修正してください。

@claude

claude Bot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Claude finished @keito4's task in 8m 8s —— View job


CI調査・修正完了

  • 現在のCI状態を確認
  • 失敗原因を特定・分析
  • Dockerfileを修正(pnpm setup を削除)
  • 修正をプッシュ

根本原因

PR #732package.jsonpackage-lock.json を変更します。docker-image.yml ワークフローはこれら両ファイルへの push をトリガーとして監視しているため、マージ後に Docker ビルドが起動します。

そのビルドが以下のエラーで失敗していました:

[EACCES] EACCES: permission denied, open '/usr/local/bin/package.json'
pnpm: EACCES: permission denied, open '/usr/local/bin/package.json'
    at installCliGlobally (pnpm/dist/pnpm.mjs:209924:10)
    at Object.handler32 [as setup] (pnpm/dist/pnpm.mjs:209979:5)

原因: .devcontainer/Dockerfilepnpm setupvscode ユーザーで実行された際、pnpm v11 が root 所有の /usr/local/bin/package.json に書き込もうとして権限エラーで失敗。


修正内容

.devcontainer/Dockerfile から pnpm setup の呼び出しを削除(commit 89ee65c

-RUN mkdir -p "${PNPM_HOME}/bin" \
- && pnpm setup \
- && echo "export PNPM_HOME=..." >> /home/vscode/.bashrc \
+# pnpm setup is skipped: PNPM_HOME/PATH are already set via ENV, and pnpm v11 setup fails with
+# EACCES when run as vscode user (tries to write to root-owned /usr/local/bin/package.json)
+RUN mkdir -p "${PNPM_HOME}/bin" \
  && echo "export PNPM_HOME=..." >> /home/vscode/.bashrc \
  && pnpm add -g supabase

pnpm setup の役割は以下の通りですが、すべて手動で対処済みのため不要:

  • PNPM_HOMEENV 命令で設定済み
  • PATHENV 命令で設定済み
  • ${PNPM_HOME}/bin ディレクトリ → mkdir -p で作成済み
  • .bashrc 更新 → 手動の echo コマンドで設定済み

残存する別件の失敗(要オーナー対応)

ワークフロー 失敗内容
Auto Update Libraries GITHUB_TOKEN による PR 作成が権限不足で失敗
Update Development Tools 同上

対応方法: Settings → Actions → General → "Allow GitHub Actions to create and approve pull requests" を有効化

github-actions Bot and others added 2 commits May 11, 2026 12:09
pnpm v11のsetupコマンドはvscodeユーザーで実行すると、root所有の
/usr/local/bin/package.jsonへの書き込みを試みてEACCESエラーで失敗する。

PNPM_HOME/PATHはすでにENV命令とmkdir/bashrc手動更新で設定済みのため、
pnpm setupの呼び出しは冗長かつ有害であり削除する。

Fixes: Build and Release DevContainer Image workflow failing with
"EACCES: permission denied, open '/usr/local/bin/package.json'"

Co-authored-by: keito4 <keito4@users.noreply.github.com>
…rn/commitlint/config-conventional-21.0.0

# Conflicts:
#	.devcontainer/Dockerfile
@keito4

keito4 commented May 11, 2026

Copy link
Copy Markdown
Owner

(aside)
@claude PRがbaseにマージする際にCIが落ちています。
修正してください。

@claude

claude Bot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Claude finished @keito4's task in 7m 7s —— View job


CI調査・修正完了

  • 現在のCI状態を確認
  • 失敗原因を特定
  • Dockerfileのnpm installを修正
  • 変更をプッシュ(commit cfad2f3

根本原因

PR #732 (commitlint 20.x → 21.x) のマージで docker-image.yml ワークフローが起動し、そこで発覚したDockerビルド失敗。

失敗ステップ: .devcontainer/Dockerfilenpm install -g(ライン 109〜122)

npm error A complete log...
exit code: 1

原因の詳細:

  1. 前回の修正で pnpm setup の EACCES エラーを解消 → その下の npm install -g ステップが初めて露出して失敗
  2. Dockerfileで typescripttypescript-language-server がバージョン未固定(npm install -g typescript typescript-language-server
  3. npm/global.jsontypescript@6.0.3 に更新済み — TypeScript 6.x 系が typescript-language-server@5.x の peer dependency と競合して exit code 1

修正内容

他のパッケージ(@openai/codex, vercel 等)と同じ方式で、typescripttypescript-language-server のバージョンも npm/global.json から抽出して固定:

+&& TYPESCRIPT_VERSION=$(node -pe "require('/tmp/npm-global.json').dependencies['typescript'].version") \
+&& TS_LS_VERSION=$(node -pe "require('/tmp/npm-global.json').dependencies['typescript-language-server'].version") \
 && npm install -g eslint \
-   typescript \
-   typescript-language-server \
+   typescript@${TYPESCRIPT_VERSION} \
+   typescript-language-server@${TS_LS_VERSION} \

これにより npm/global.json が全グローバルパッケージのバージョン管理の単一ソースになります。

… build

Extract typescript and typescript-language-server versions from
npm/global.json (same pattern as codex, vercel, gemini-cli etc.) to
prevent unresolvable peer dependency conflicts when latest typescript
(6.x) is installed alongside typescript-language-server.

Co-authored-by: keito4 <keito4@users.noreply.github.com>
@keito4

keito4 commented May 11, 2026

Copy link
Copy Markdown
Owner

(aside)
@claude PRがbaseにマージする際にCIが落ちています。
修正してください。

@claude

claude Bot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Claude finished @keito4's task in 10m 15s —— View job


CI調査・修正完了

  • 現在のCI状態を確認
  • 失敗原因を特定
  • 修正を実装
  • 変更をプッシュ(commit 1857226
  • ADR作成(docs/adr/0004

調査結果

Docker build失敗の全履歴:

日時 ビルドID 失敗ステップ 原因 状態
2026-05-10 09:35 25625356204 arm64 step 8 (pnpm setup) EACCES: permission denied ✅ 89ee65cで修正済み
2026-05-11 13:06 25672007147 amd64 step 11 (npm install) npm ERESOLVE: peer dep conflict ✅ 今回修正

根本原因と修正内容

原因: PR #738(メンテナンス)で npm/global.jsontypescript@6.0.3 に更新されたが、typescript-language-server@5.2.0 のpeer依存関係が typescript: ">=4.4.0 <6.0.0" 相当の制約を持つため、npm 7+のデフォルト動作でERESO LVEエラーが発生しinstallが約2.9秒で失敗していた。

cfad2f3(前回の修正)の問題点: バージョン固定は適切だったが、同じ互換性のないバージョン組み合わせのpeer dep conflictは解消されなかった。

今回の修正 (commit 1857226):

- && npm install -g eslint \
+ && npm install -g --legacy-peer-deps eslint \

--legacy-peer-deps により peer dep の不整合を警告のみ(npm v3以前の動作)とし、インストールを続行。TypeScript 6.x に対応した typescript-language-server がリリースされた際は削除を検討(ADR 0004 参照)。


現在の修正累積(PRブランチ上)

コミット 内容
89ee65c pnpm setup 削除 → arm64 EACCES修正
cfad2f3 typescript/typescript-language-server バージョン固定
1857226 --legacy-peer-deps 追加 → npm ERESOLVE修正
f6cfab5 ADR 0004 追加

このPRをmainにマージすると、Docker buildが成功するはずです。

github-actions Bot and others added 2 commits May 11, 2026 21:10
… conflict

typescript@6.x と typescript-language-server@5.x の peer dependency 競合により
npm 7+ のデフォルト動作(ERESOLVE エラー)で Docker build が失敗していた。
--legacy-peer-deps フラグを追加して peer dep チェックをスキップする。

Co-authored-by: keito4 <keito4@users.noreply.github.com>
Co-authored-by: keito4 <keito4@users.noreply.github.com>
@keito4 keito4 closed this May 12, 2026
@dependabot @github

dependabot Bot commented on behalf of github May 12, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@keito4 keito4 reopened this May 12, 2026
@claude

claude Bot commented May 12, 2026

Copy link
Copy Markdown
Contributor

Claude finished @keito4's task in 1m 27s —— View job


PRレビュー完了

  • コンテキストを確認
  • 変更ファイルを読み込む
    • .devcontainer/Dockerfile
    • docs/adr/0004-npm-legacy-peer-deps-in-docker.md
    • package.json / package-lock.json
  • コードレビューを実施

総評: ✅ APPROVE(推薦事項あり)

このPRは依存関係の整合性を修正し、CI失敗を解消するための妥当な変更をまとめています。ADRによる意思決定の記録も適切です。


変更の概要

ファイル 内容
package.json @commitlint/config-conventional^20.5.3^21.0.0 へバージョンアップ(dependabot本体変更)
Dockerfile typescript / typescript-language-server のバージョン固定 + --legacy-peer-deps 追加
docs/adr/0004-* --legacy-peer-deps 採用の意思決定を記録

観点別レビュー

✅ Security

  • 認証情報の露出なし
  • --legacy-peer-deps は peer dep 解決の挙動を変えるのみで、脆弱なパッケージを意図的に引き込むものではない
  • overrides フィールドで tar >=7.5.11, handlebars >=4.7.9 の脆弱性対応が引き続き機能する

✅ Package.json の整合性

  • @commitlint/cli^21.0.0 にもかかわらず @commitlint/config-conventional^20.5.3 のまま残っていた状態を解消 — 正しい修正
  • commitlint v21 の breaking change(最小 Node バージョン v22)は、本プロジェクトの engines: "node": "^22.14.0 || >= 24.10.0" と適合している

⚠️ Dockerfile: eslint のバージョン未固定(minor)

Dockerfile L117:

&& npm install -g --legacy-peer-deps eslint \

typescript や他のパッケージは npm/global.json でバージョン管理されているのに、eslint だけ未固定です。npm/global.json にも eslint エントリがありません。このPRで導入された問題ではありませんが、ビルドの再現性の観点で将来のバージョン固定を検討してください。

💡 Dockerfile: --legacy-peer-deps の適用範囲(recommendation)

フラグがコマンド全体に適用されるため、実際にはペア競合のない @openai/codex, vercel, happy-coder 等にも --legacy-peer-deps が効きます。現状では問題ありませんが、将来新たな peer dep 問題が発生した際に気づきにくくなる可能性があります。

対応策として、競合するパッケージのみを別のインストールコマンドに分離することもできますが、Dockerレイヤーが増えるトレードオフがあるため、現在の構成は合理的な選択です。

✅ ADR 0004 の品質

  • Context・Decision・Consequences の構造が整っている
  • --legacy-peer-deps が一時的な措置であることが明記されている(「typescript-language-server が TypeScript 6.x に対応したメジャーリリースをした際は削除を検討」)
  • 一点追加するなら、追跡用のIssueを作成してリンクするとより追跡しやすくなります(recommendation)

✅ CI修正の履歴

過去のClaudeセッションによる修正が適切に積み重なっています:

  • pnpm setup 削除 → arm64 EACCES修正
  • typescript/typescript-language-server バージョン固定
  • --legacy-peer-deps 追加 → npm ERESOLVE修正
  • ADR 0004 追加

まとめ

@commitlint/cli@commitlint/config-conventional のメジャーバージョン不整合を修正し、付随するDockerビルド失敗も解消しています。eslint バージョン未固定は既存の課題であり、このPRの範囲外です。マージを推奨します。

@keito4

keito4 commented May 12, 2026

Copy link
Copy Markdown
Owner

(aside)
@claude PRがbaseにマージする際にCIが落ちています。
修正してください。

@claude

claude Bot commented May 12, 2026

Copy link
Copy Markdown
Contributor

Claude finished @keito4's task in 7m 26s —— View job


CI調査・修正完了

  • 現在のCI状態を確認
  • 失敗原因を特定・分析
  • 追加修正の必要性を確認
  • 調査結果をまとめ

調査結果

PR CI(全チェック): ✅ 全て合格(最終確認: 2026-05-12T02:27:22Z)

チェック 結果
CI(Lint/Unit/Integration Tests) ✅ pass
Container Security Scan(Docker build + Trivy) ✅ pass
Security Scans ✅ pass
CI Fallback(Quality Gate) ✅ pass
Dependabot Auto-merge ✅ pass

CI失敗の経緯と修正状況

過去に発生していたCI失敗は、以下の3つの問題が原因でした:

時刻 失敗内容 対応コミット
2026-05-10T09:35 Docker: pnpm setup EACCES エラー(arm64) 89ee65c
2026-05-11T13:06 Docker: npm install peer dependency 競合(TypeScript 6.x ↔ typescript-language-server 5.x) 1857226--legacy-peer-deps追加) + cfad2f3(バージョン固定)
2026-05-12T02:15-02:19 Docker: happy-coder@1.1.8 がnpmに存在しないためインストール失敗 41be4d6happy-coder@0.14.0-0へ変更)

41be4d6fix: pin installable happy-coder version)コミット後、Container Security Scan(Dockerビルドを含む)が02:27:22に 成功。現時点でPRの全CIは緑 ✅ です。


mainブランチのDocker build状況

mainブランチの Build and Release DevContainer Image ワークフローは 2026-05-11T13:06Z に失敗したままですが、このPRをマージすることで修正されます

  • Dockerfile--legacy-peer-deps・バージョン固定・happy-coderバージョン修正がすべて含まれている
  • npm view happy-coder@0.14.0-0 version0.14.0-0 ✅ npm上に存在を確認済み
  • Container Security Scan(Dockerビルドを実施)が同じDockerfileで成功済み

現在の状態

PRのCIは 全て通過しており、追加の修正は不要です。PRをmainにマージすることでmainのDocker buildも自動的に修正されます。

@keito4

keito4 commented May 12, 2026

Copy link
Copy Markdown
Owner

(aside)
@claude PRがbaseにマージする際にコンフリクトが発生しています。最新のbaseからpullし、修正してください。

@claude

claude Bot commented May 12, 2026

Copy link
Copy Markdown
Contributor

Claude finished @keito4's task in 4m 0s —— View job


コンフリクト解消作業完了

  • 現在のブランチ状態を確認
  • 最新のmainをフェッチ
  • mainとの差分を特定・分析
  • コンフリクトを手動解消(全7ファイル)
  • 変更をプッシュ(commit 9f74434

解消した差分(PR #739 の変更を取り込み)

ファイル 変更内容
.devcontainer/Dockerfile happy-coderhappy、変数名を整理(TYPESCRIPT_VERSIONTS_VERSIONTS_LS_VERSIONTSS_VERSION)、ADR参照コメントを最新ファイル名に更新
docs/adr/0004-npm-legacy-peer-deps-for-typescript6.md 新ADRファイルを追加(簡潔な形式)
docs/adr/0004-npm-legacy-peer-deps-in-docker.md 旧ADRファイルを削除
npm/global.json happy-coder@0.14.0-0 (overridden: true)happy@1.1.8 (overridden: false)
script/install-npm-globals.sh happy-coderhappy
script/update-libraries.sh overridden チェックロジックを削除(mainと同じシンプルな実装に統一)
package.json / package-lock.json jest 30.3.0 → 30.4.2、関連する推移的依存関係を更新

これでPRブランチはmainと整合しており、マージ時にコンフリクトは発生しません。
| Branch

github-actions Bot and others added 4 commits May 12, 2026 06:05
- happy-coder → happy@1.1.8 に変更(npm/global.json, Dockerfile, install-npm-globals.sh)
- Dockerfileのnpm install変数名を整理(TS_VERSION, TSS_VERSION等)
- ADRファイルを0004-npm-legacy-peer-deps-for-typescript6.mdに刷新
- update-libraries.shからoverridedチェックロジックを削除
- jest 30.3.0 → 30.4.2 に更新
- package-lock.jsonを最新に更新

Co-authored-by: keito4 <keito4@users.noreply.github.com>
@keito4 keito4 closed this May 12, 2026
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/commitlint/config-conventional-21.0.0 branch May 12, 2026 07:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking-change 破壊的変更あり dependencies 依存関係の更新 needs-review レビュー待ち npm npm/yarn 依存関係の更新

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant