Skip to content

ビルドシステムをwp-scripts + grab-depsにモダン化#22

Merged
fumikito merged 1 commit intomasterfrom
feature/modernize-build-system
Feb 10, 2026
Merged

ビルドシステムをwp-scripts + grab-depsにモダン化#22
fumikito merged 1 commit intomasterfrom
feature/modernize-build-system

Conversation

@fumikito
Copy link
Member

@fumikito fumikito commented Feb 8, 2026

Summary

  • ビルドツール刷新: uglifyjs-folder, imagemin等のレガシーツールを @wordpress/scripts + @kunoichi/grab-deps に置き換え
  • アセット管理: dist/assets/ に移行、wp-dependencies.json による動的アセット登録(ハッシュベースのキャッシュバスティング)
  • GitHub Actions更新: Node 22, PHP 8.3対応、デプロイを on: release + bin/build.sh に統一、非推奨action廃止
  • 開発体験向上: husky + lint-staged によるpre-commitフック、wp-scripts標準のlint設定に統合

Changes

Build System

  • package.json: devDependencies整理、scripts をhamelp準拠に書き換え
  • Node 20 → 22 (Volta pin)
  • .eslintrc, .stylelintrc.json, .browserslistrc 削除(wp-scripts標準に統合)
  • .husky/pre-commit 追加(lint-staged実行)

Asset Pipeline

  • functions/assets.php: hameslack_register_assets() 追加(wp-dependencies.json読み込み)
  • hameslack.php: initフックでアセット登録
  • app/.../Slack.php: wp-dependencies.json登録済みの場合はGianism依存を動的追加
  • hooks/invite.php: wp-dependencies.jsonフォールバック対応
  • src/scss/gianism.scsshameslack-gianism.scss リネーム(ハンドル衝突回避)

CI/CD

  • test.yml: PHP 8.3追加、phplint改善、Node 22、actions/checkout@v4
  • wordpress.yml: on: release トリガー、bin/build.sh でビルド一元化、gh release upload に移行
  • bin/build.sh: hamelp準拠に全面書き換え

Test plan

  • npm install 成功
  • npm run lint 全パス (CSS + JS)
  • npm run package 成功 (CSS, JS, wp-dependencies.json 生成)
  • pre-commit hook (lint-staged) 動作確認済み
  • GitHub Actions の test.yml が通ること
  • wp-env でプラグイン有効化 & アセット読み込み確認

Related

🤖 Generated with Claude Code

- package.json: uglifyjs/imagemin等のレガシーツールを@wordpress/scripts, @kunoichi/grab-depsに置き換え
- Node 20→22 (Volta pin), husky + lint-staged によるpre-commit hook追加
- アセット出力先をdist/→assets/に変更、wp-dependencies.jsonによる動的アセット登録
- GitHub Actions: Node 22, PHP 8.3対応、デプロイをon:release + bin/build.shに統一
- .eslintrc, .stylelintrc.json, .browserslistrc を削除(wp-scripts標準に統合)
- src/scss/gianism.scss → hameslack-gianism.scss にリネーム(ハンドル衝突回避)
- src/js/hameslack-invite-button.js をwp-scripts lint準拠にフォーマット

Co-authored-by: Claude <noreply@anthropic.com>
@fumikito fumikito merged commit d81a262 into master Feb 10, 2026
10 checks passed
@fumikito fumikito deleted the feature/modernize-build-system branch February 10, 2026 07:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant