Add RuboCop support for Ruby in ERB templates - #2260
Open
joelhawksley wants to merge 5 commits into
Open
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7760dddc-b6a8-4f14-8cea-343a06bbcc39
Resolve the CLI conflict by preserving upstream tracking, slot, and timeout options alongside the ERB RuboCop autocorrection flags. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7760dddc-b6a8-4f14-8cea-343a06bbcc39
Preserve the RuboCop block in the Rust config model and keep the optional adapter outside Steep's typed surface while declaring the shared Configuration methods. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7760dddc-b6a8-4f14-8cea-343a06bbcc39
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7760dddc-b6a8-4f14-8cea-343a06bbcc39
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7760dddc-b6a8-4f14-8cea-343a06bbcc39
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.
Herb currently validates Ruby syntax in ERB templates but cannot run a project's RuboCop cops against embedded Ruby. This adds an opt-in, Ruby-native
herb rubocopcommand so projects can apply their existing Ruby style and correctness rules to templates without involving Herb's JavaScript linter.The implementation extracts inspectable Ruby fragments from Herb lexer tokens, runs RuboCop in-process, and maps offenses and corrections back to template locations. It supports ERB Lint-compatible
only,config_file_path, and inlinerubocop_configsettings, including custom cops, inherited configuration, exclusions, and safe or unsafe autocorrection.The shared JavaScript config schema only preserves the new top-level
rubocopblock so existing Herb tools continue accepting.herb.yml; RuboCop execution remains an independent Ruby code path.