From 5546343bff249e04eca6d4334cc9c93a59c62875 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 7 Sep 2026 11:54:10 +0000 Subject: [PATCH] Stop injecting rails_12factor from the Heroku generator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `rails generate ember:heroku` added `rails_12factor` to the `Gemfile` for the `staging` and `production` groups. The gem exists to backport twelve-factor behaviour — logging to stdout and serving static assets in production — onto Rails 4, which Rails has done natively since `5.0`. Its own README says a new Rails 5 application does not need it, and its repository was archived in February 2022. Every Rails version this gem supports is `>= 5.2`, so the injection could only ever add an unmaintained dependency to a project that has no use for it. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_014rAfkAVGVifbaEoTVeT66u --- CHANGELOG.md | 8 ++++++++ lib/generators/ember/heroku/USAGE | 3 --- .../ember/heroku/heroku_generator.rb | 4 ---- .../ember/heroku/heroku_generator_spec.rb | 19 +++++++++++++++++-- 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e96a71b8..7a3a8d31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +main +------ + +* Stop adding `rails_12factor` to the `Gemfile` from `rails generate + ember:heroku`. Rails serves the twelve-factor behaviour the gem backported + natively since `5.0`, and every Rails version this gem supports is `>= 5.2`. + To upgrade, remove `rails_12factor` from your project's `Gemfile` + 0.13.2 ------ diff --git a/lib/generators/ember/heroku/USAGE b/lib/generators/ember/heroku/USAGE index 2c309fd8..dccfe909 100644 --- a/lib/generators/ember/heroku/USAGE +++ b/lib/generators/ember/heroku/USAGE @@ -11,8 +11,5 @@ Description: Example: rails generate ember:heroku - This will install the following gems: - rails_12factor - This will create: package.json diff --git a/lib/generators/ember/heroku/heroku_generator.rb b/lib/generators/ember/heroku/heroku_generator.rb index 522c3232..37cddfb7 100644 --- a/lib/generators/ember/heroku/heroku_generator.rb +++ b/lib/generators/ember/heroku/heroku_generator.rb @@ -14,10 +14,6 @@ def identify_as_yarn_project end end - def inject_12factor_gem - gem "rails_12factor", group: [:staging, :production] - end - private def cache_directories diff --git a/spec/generators/ember/heroku/heroku_generator_spec.rb b/spec/generators/ember/heroku/heroku_generator_spec.rb index 77529478..51d86442 100644 --- a/spec/generators/ember/heroku/heroku_generator_spec.rb +++ b/spec/generators/ember/heroku/heroku_generator_spec.rb @@ -31,6 +31,21 @@ end end + describe "Gemfile" do + it "leaves the Gemfile untouched" do + setup_destination + configure_application + + run_generator + + expect(gemfile_contents).to eq("") + end + + def gemfile_contents + destination_root.join("Gemfile").read + end + end + describe "package.json" do it "includes the root directory node_modules" do setup_destination @@ -113,10 +128,10 @@ def configure_application(**options) def setup_destination prepare_destination - create_empty_gemfile_for_bundler + create_empty_gemfile end - def create_empty_gemfile_for_bundler + def create_empty_gemfile FileUtils.touch(destination_root.join("Gemfile")) end end