[x] 1.1 (P) ルート package.json の engines.node フィールドを v24 のみ許可に変更する
engines.node を "^18 || ^20" から "^24" に変更する^24)を使用し、将来 "^24 || ^26" への拡張が容易な形式を維持する^24 に統一)[x] 2. 全 Dockerfile のベースイメージを node:24-slim に更新し ARG でパラメータ化
[x] 2.1 (P) app の Dockerfile を node:24-slim に変更し、NODE_VERSION ARG を導入する
apps/app/docker/Dockerfile の base ステージと release ステージの両方でベースイメージを変更するARG NODE_VERSION=24 をグローバル ARG として導入し、FROM node:${NODE_VERSION}-slim で参照する[x] 2.2 (P) pdf-converter の Dockerfile を node:24-slim に変更し、NODE_VERSION ARG を導入する
apps/pdf-converter/docker/Dockerfile の base ステージと release ステージの両方でベースイメージを変更するARG NODE_VERSION=24 を導入する[x] 2.3 (P) slackbot-proxy の Dockerfile を node:24-slim に変更し、NODE_VERSION ARG を導入する
apps/slackbot-proxy/docker/Dockerfile の base ステージと release ステージの両方でベースイメージを変更するARG NODE_VERSION=24 を導入する[x] 3. CI/CD ワークフローの Node.js バージョンを v24 に更新
[x] 3.1 (P) 開発 CI ワークフロー 3 ファイルの node-version マトリクスを 24.x に変更する
ci-app.yml の全マトリクス箇所で node-version: [20.x] を node-version: [24.x] に変更するci-pdf-converter.yml の全マトリクス箇所で同様に変更するci-slackbot-proxy.yml の全マトリクス箇所で同様に変更する[x] 3.2 (P) 本番 CI ワークフローの Node.js バージョンジョブを v24 に統合する
ci-app-prod.yml の test-prod-node18 と test-prod-node20 の 2 ジョブを test-prod-node24 の 1 ジョブに統合する[x] 3.3 (P) reusable ワークフローとリリースワークフローの node-version を更新する
reusable-app-prod.yml の workflow_dispatch.inputs.node-version.default を 22.x から 24.x に変更するrelease-subpackages.yml の全箇所で node-version: '20' を node-version: '24' に変更する[x] 4. (P) ドキュメントの Node.js バージョン記載を v24 に更新する
README.md の Node.js バージョン記載を v24.x に更新するREADME_JP.md の Node.js バージョン記載を v24.x に更新する[x] 5. Node.js v24 環境での互換性検証と問題解消
[x] 5.1 v24 環境で依存パッケージのインストールとビルドが成功することを確認する
pnpm install --frozen-lockfile を実行し、エラーや互換性警告がないことを確認するturbo run build --filter @growi/app を実行し、全ワークスペースでビルドが成功することを確認するturbo run lint:typecheck --filter @growi/app を実行し、型チェックが通ることを確認する[x] 5.2 v24 環境で既存テストスイートが全て合格することを確認する
turbo run test --filter @growi/app を実行し、全テストが合格することを確認する[x] 5.3 v24 起動時に deprecation warning が出力されないことを確認する