Drop the Heroku generator's dead code and refresh its USAGE - #671
Merged
Conversation
`HerokuGenerator#app_paths` had no callers — neither the generator nor `package.json.erb` referenced it — so it described a shape of the configuration that nothing depended on. The Heroku generator's `USAGE` had drifted from what the generator does: it omitted the `yarn.lock` written for a Yarn project, and named `SKIP_EMBER` without saying what unsetting it accomplishes, leaving a reader to guess why the command is in the list at all. `ember:init` had no spec, so nothing caught a broken initializer template. Cover the file it writes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014rAfkAVGVifbaEoTVeT66u
tricknotes
force-pushed
the
generator-housekeeping
branch
from
September 7, 2026 12:08
8a6662a to
64ab515
Compare
tricknotes
marked this pull request as ready for review
September 7, 2026 12:13
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Housekeeping across both generators: dead code, a stale
USAGE, and a missing spec.Why
Dead code.
HerokuGenerator#app_pathshad no callers — neither the generator norpackage.json.erbreferenced it — so it described a shape of the configuration that nothing depended on.USAGEdrift. It omitted theyarn.lockthatidentify_as_yarn_projectwrites for a Yarn project, and namedSKIP_EMBERwithout saying what unsetting it accomplishes, leaving a reader to guess why the command is in the list at all.No spec.
ember:inithad no coverage at all, so nothing caught a broken initializer template.What changed
EmberCli::HerokuGenerator#app_paths.lib/generators/ember/heroku/USAGE: listsyarn.lock, explainsSKIP_EMBER, and notes that the generator should be re-run when an application is added.spec/generators/ember/init/init_generator_spec.rb.No public API changes, so no CHANGELOG entry.
Out of scope
EmberClinamespace with their explicitnamespace "ember:heroku"/namespace "ember:init"calls. Rails' own convention would infer them fromlib/generators/ember/...asEmber::*, but that means introducing a new top-level namespace, which is a deliberate call for the maintainer rather than housekeeping.ember:initstill does not addmount_ember_apptoconfig/routes.rb— the README documents that as a manual step. Changing it alters what the generator does to a project, so it is left for a separate discussion.Verification
Rails::Generators.find_by_namespacestill resolvesember:heroku→EmberCli::HerokuGeneratorandember:init→EmberCli::InitGenerator.Full
spec/libalso passes here exceptEmberCli::App#test exits with exit status of 0, which fails onmainin this container too —ember testreportsLauncher Chrome not found, unrelated to this change.🤖 Generated with Claude Code
https://claude.ai/code/session_014rAfkAVGVifbaEoTVeT66u