Skip to content
This repository was archived by the owner on Dec 2, 2025. It is now read-only.

Conversation

@Tsuchiya2
Copy link
Owner

@Tsuchiya2 Tsuchiya2 commented Dec 2, 2025

Summary

  • Rails 6.1.4.1 → 8.1.1 へのメジャーアップグレード完了
  • Ruby 3.0.2 → 3.4.6 へのアップグレード
  • Webpacker → esbuild + propshaft への移行
  • 画像ファイルをJPG/PNGからWebP形式に変換(パフォーマンス向上)
  • README.mdを現状に合わせて更新

Changes

バックエンド

  • Rails 8.1.1 + Ruby 3.4.6
  • RSpec 7.1.1
  • propshaft(アセットパイプライン)
  • jsbundling-rails / cssbundling-rails

フロントエンド

  • esbuild(JavaScriptバンドラー)
  • Sass(CSSプリプロセッサ)
  • Hotwire(Turbo + Stimulus)
  • Vitest(JavaScriptテスト)

画像最適化

  • 全画像をWebP形式に変換
  • ファイルサイズの削減

Test plan

  • bundle exec rspec でテストが通ること
  • yarn test でJavaScriptテストが通ること
  • bin/dev でローカルサーバーが起動すること
  • 各ページが正常に表示されること

🤖 Generated with Claude Code

Tsuchiya2 and others added 9 commits December 1, 2025 20:34
- Update Rails from 6.1.4.1 to 7.0.10
- Update Ruby from 3.0.2 to 3.4.6
- Update Puma from 5.x to 6.x
- Add reline and irb gems for Ruby 3.4+ compatibility
- Update bootsnap for Rails 7.0 compatibility
- Remove Spring (no longer default in Rails 7.0)
- Replace webdrivers with selenium-webdriver
- Update pg and mysql2 for Ruby 3.4 compatibility
- Add Active Storage migrations for Rails 7.0
- Set config.load_defaults 7.0
- Add reusability infrastructure (upgrade_config, rake tasks, test helpers)
- Add security audit script and documentation generator

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Update Rails from 7.0.10 to 7.1.6
- Set config.load_defaults 7.1
- Add config.autoload_lib for Rails 7.1
- Update environment configurations
- Generate Rails 7.1 upgrade documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Update Rails from 7.1.6 to 8.0.4
- Set config.load_defaults 8.0
- Update puma configuration for Rails 8.0
- Add new error pages (400, 406-unsupported-browser)
- Add new icons and bin/dev, bin/rubocop scripts
- Generate Rails 8.0 upgrade documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Update Rails from 8.0.4 to 8.1.1
- Set config.load_defaults 8.1
- Add config/ci.rb and bin/ci for CI configuration
- Update puma and environment configurations
- Update error pages for Rails 8.1
- Generate Rails 8.1 upgrade documentation

This completes the Rails version upgrade from 6.1.4.1 to 8.1.1!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove Webpacker gem and configuration
- Add propshaft as modern asset pipeline
- Add jsbundling-rails with esbuild
- Add cssbundling-rails for CSS processing
- Update Node.js version to 20.18.0
- Add Procfile.dev for development server
- Create app/assets/builds directory
- Update upgrade_settings.yml with completion status

Asset Pipeline Migration Complete:
- From: Webpacker 5.x
- To: esbuild + propshaft (Rails 8.1 default)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Update enum syntax to Rails 8 format in all models
  - operator.rb: enum :role, { operator: 0, guest: 1 }
  - content.rb: enum :category, { contact: 0, free: 1, text: 2 }
  - line_group.rb: enum :status and :set_span
  - alarm_content.rb: enum :category, { contact: 0, text: 1 }

- Remove Webpacker dependencies from package.json
  - Removed: @rails/webpacker, webpack, webpack-cli, webpack-dev-server
  - Added: esbuild, @hotwired/turbo-rails, @hotwired/stimulus, postcss

- Migrate view helpers to standard Rails format
  - favicon_pack_tag -> favicon_link_tag
  - stylesheet_pack_tag -> stylesheet_link_tag
  - javascript_pack_tag -> javascript_include_tag
  - image_pack_tag -> image_tag

- Move images from app/javascript/images/ to app/assets/images/
- Update Node.js version to 24.11.0
- Add Phase 3 Code Review evaluation documents

Phase 3 Code Review passed with average score 8.64/10.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
EDAF 4-Phase Gate System completed:
- Phase 1: Design Gate (8.56/10.0)
- Phase 2: Planning Gate (8.77/10.0)
- Phase 2.5: Implementation
- Phase 3: Code Review Gate (8.17/10.0)

Changes:
- Add sass@1.94.2 dependency for SCSS compilation
- Create app/assets/stylesheets/application.scss entry point
- Migrate custom styles to app/assets/stylesheets/custom/_layout.scss
- Add CSS build scripts to package.json (build:css, build:css:watch, build:css:production)
- Update Procfile.dev with CSS watch process
- Remove legacy Webpacker SCSS files

Testing:
- Add 25 automated CSS build tests (spec/build/css_build_spec.rb)
- Verify Bootstrap 5.1.3, custom styles, Google Fonts compilation

Documentation:
- Design document: docs/designs/css-build-fix.md
- Task plan: docs/plans/css-build-fix-tasks.md
- Issue analysis: docs/issues/css-not-loading-analysis.md

Resolves: CSS (Bootstrap) not loading after Webpacker removal

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Browsers may request /serviceworker.js even when PWA features
are not explicitly enabled. This placeholder file prevents
ActionController::RoutingError in the logs.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Update README.md to reflect Rails 8.1.1 upgrade
  - Ruby 3.0.2 → 3.4.6
  - Rails 6.1.4.1 → 8.1.1
  - RSpec 3.10.1 → 7.1.1
  - Add new frontend stack (esbuild, Sass, Hotwire, Vitest)
  - Add propshaft and jsbundling-rails/cssbundling-rails
  - Update setup instructions with yarn install and Node.js requirement
- Convert all images from JPG/PNG to WebP format for better performance
- Add EDAF documentation and evaluation reports
- Add Vitest configuration and JavaScript tests

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants