From 65d0584719c91157001eb632d5ce4ac0abf2414a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Mendon=C3=A7a=20Fran=C3=A7a?= Date: Tue, 14 Jul 2026 13:15:08 +0000 Subject: [PATCH 1/2] Upgrade Rubocop config to 1.88 --- Gemfile.lock | 8 +- test/fixtures/full_config.yml | 150 +++++++++++++++++++--------------- 2 files changed, 88 insertions(+), 70 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 164982f9..8f7b16e5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -232,7 +232,7 @@ GEM rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) - language_server-protocol (3.17.0.5) + language_server-protocol (3.17.0.6) lint_roller (1.1.0) liquid (4.0.4) listen (3.9.0) @@ -260,7 +260,7 @@ GEM octokit (4.25.1) faraday (>= 1, < 3) sawyer (~> 0.9) - parallel (1.28.0) + parallel (2.1.0) parser (3.3.11.1) ast (~> 2.4.1) racc @@ -277,7 +277,7 @@ GEM regexp_parser (2.12.0) rexml (3.4.4) rouge (3.30.0) - rubocop (1.86.1) + rubocop (1.88.2) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -288,7 +288,7 @@ GEM rubocop-ast (>= 1.49.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.49.1) + rubocop-ast (1.50.0) parser (>= 3.3.7.2) prism (~> 1.7) rubocop-minitest (0.39.1) diff --git a/test/fixtures/full_config.yml b/test/fixtures/full_config.yml index 05bf1a6f..54ed61b1 100644 --- a/test/fixtures/full_config.yml +++ b/test/fixtures/full_config.yml @@ -67,6 +67,7 @@ AllCops: EnabledByDefault: false DisabledByDefault: false NewCops: disable + UseProjectIndex: false UseCache: true MaxFilesInCache: 20000 CacheRootDirectory: @@ -119,12 +120,12 @@ Bundler/GemComment: Description: Add a comment describing each gem. Enabled: false VersionAdded: '0.59' - VersionChanged: '0.85' + VersionChanged: '1.88' Include: - "**/*.gemfile" - "**/Gemfile" - "**/gems.rb" - IgnoredGems: [] + AllowedGems: [] OnlyFor: [] Bundler/GemFilename: Description: Enforces the filename for managing gems. @@ -334,7 +335,7 @@ Layout/BlockEndNewline: Enabled: false VersionAdded: '0.49' Layout/CaseIndentation: - Description: Indentation of when in a case/(when|in)/[else/]end. + Description: Checks how the `when` and `in` clauses of a `case` expression are indented. StyleGuide: "#indent-when-to-case" Enabled: false VersionAdded: '0.49' @@ -373,12 +374,15 @@ Layout/ClosingParenthesisIndentation: Description: Checks the indentation of hanging closing parentheses. Enabled: true VersionAdded: '0.49' + VersionChanged: '1.86' + IndentationWidth: Layout/CommentIndentation: - Description: Indentation of comments. + Description: Checks the indentation of comments. Enabled: true - AllowForAlignment: false VersionAdded: '0.49' - VersionChanged: '1.24' + VersionChanged: '1.86' + AllowForAlignment: false + IndentationWidth: Layout/ConditionPosition: Description: Checks for condition placed in a confusing position relative to the keyword. @@ -628,9 +632,9 @@ Layout/FirstParameterIndentation: Layout/HashAlignment: Description: Align the elements of a hash literal if they span more than one line. Enabled: false - AllowMultipleStyles: true VersionAdded: '0.49' VersionChanged: '1.16' + AllowMultipleStyles: true EnforcedHashRocketStyle: key SupportedHashRocketStyles: - key @@ -650,8 +654,8 @@ Layout/HashAlignment: Layout/HeredocArgumentClosingParenthesis: Description: Checks for the placement of the closing parenthesis in a method call that passes a HEREDOC string as an argument. - Enabled: false StyleGuide: "#heredoc-argument-closing-parentheses" + Enabled: false VersionAdded: '0.68' Layout/HeredocIndentation: Description: Checks the indentation of the here document bodies. @@ -959,6 +963,7 @@ Layout/SpaceBeforeBlockBraces: Description: Checks that the left block brace has or doesn't have space before it. Enabled: true VersionAdded: '0.49' + VersionChanged: '0.52' EnforcedStyle: space SupportedStyles: - space @@ -967,7 +972,6 @@ Layout/SpaceBeforeBlockBraces: SupportedStylesForEmptyBraces: - space - no_space - VersionChanged: '0.52' Layout/SpaceBeforeBrackets: Description: Checks for receiver with a space before the opening brackets. StyleGuide: "#space-in-brackets-access" @@ -1191,6 +1195,7 @@ Lint/ConstantReassignment: Description: Checks for constant reassignments. Enabled: true VersionAdded: '1.70' + VersionChanged: '1.87' Lint/ConstantResolution: Description: Checks that constants are fully qualified with `::`. Enabled: false @@ -1372,9 +1377,9 @@ Lint/EmptyConditionalBody: a body. Enabled: false AutoCorrect: contextual - AllowComments: true VersionAdded: '0.89' VersionChanged: '1.73' + AllowComments: true Lint/EmptyEnsure: Description: Checks for empty ensure block. Enabled: true @@ -1404,9 +1409,9 @@ Lint/EmptyInterpolation: Lint/EmptyWhen: Description: Checks for `when` branches with empty bodies. Enabled: false - AllowComments: true VersionAdded: '0.45' VersionChanged: '0.83' + AllowComments: true Lint/EnsureReturn: Description: Do not use return in an ensure block. StyleGuide: "#no-return-ensure" @@ -1432,7 +1437,8 @@ Lint/FloatOutOfRange: Enabled: false VersionAdded: '0.36' Lint/FormatParameterMismatch: - Description: The number of parameters to format/sprint must match the fields. + Description: Checks for a mismatch between the format fields and the arguments to + `format`/`sprintf`/`%`. Enabled: false VersionAdded: '0.33' Lint/HashCompareByIdentity: @@ -1450,13 +1456,13 @@ Lint/HashNewWithKeywordArgumentsAsDefault: Lint/HeredocMethodCallPosition: Description: Checks for the ordering of a method call where the receiver of the call is a HEREDOC. - Enabled: false StyleGuide: "#heredoc-method-calls" + Enabled: false VersionAdded: '0.68' Lint/IdentityComparison: Description: Prefer `equal?` over `==` when comparing `object_id`. - Enabled: false StyleGuide: "#identity-comparison" + Enabled: false VersionAdded: '0.91' Lint/ImplicitStringConcatenation: Description: Checks for adjacent string literals on the same line, which could better @@ -1526,14 +1532,15 @@ Lint/MissingCopEnableDirective: Description: Checks for a `# rubocop:enable` after `# rubocop:disable`. Enabled: true VersionAdded: '0.52' - MaximumRangeSize: .inf + VersionChanged: '1.88' + MaxRangeSize: .inf Lint/MissingSuper: Description: Checks for the presence of constructors and lifecycle callbacks without calls to `super`. Enabled: false - AllowedParentClasses: [] VersionAdded: '0.89' VersionChanged: '1.4' + AllowedParentClasses: [] Lint/MixedCaseRange: Description: Checks for mixed-case character ranges since they include likely unintended characters. @@ -1588,11 +1595,11 @@ Lint/NumberConversion: Description: Checks unsafe usage of number conversion methods. Enabled: false VersionAdded: '0.53' - VersionChanged: '1.1' + VersionChanged: '1.88' SafeAutoCorrect: false AllowedMethods: [] AllowedPatterns: [] - IgnoredClasses: + AllowedClasses: - Time - DateTime Lint/NumberedParameterAssignment: @@ -1602,7 +1609,9 @@ Lint/NumberedParameterAssignment: Lint/NumericOperationWithConstantResult: Description: Checks for numeric operations with constant results. Enabled: true + SafeAutoCorrect: false VersionAdded: '1.69' + VersionChanged: '1.88' Lint/OrAssignmentToConstant: Description: Checks unintended or-assignment to constant. Enabled: true @@ -1717,13 +1726,16 @@ Lint/RedundantWithIndex: Lint/RedundantWithObject: Description: Checks for redundant `with_object`. Enabled: true + SafeAutoCorrect: false VersionAdded: '0.51' + VersionChanged: '1.88' Lint/RefinementImportMethods: Description: Use `Refinement#import_methods` when using `include` or `prepend` in `refine` block. Enabled: false SafeAutoCorrect: false VersionAdded: '1.27' + VersionChanged: '1.88' Lint/RegexpAsCondition: Description: Do not use regexp literal as a condition. The regexp literal matches `$_` implicitly. @@ -1830,10 +1842,10 @@ Lint/SuppressedException: Description: Don't suppress exceptions. StyleGuide: "#dont-hide-exceptions" Enabled: false - AllowComments: true - AllowNil: true VersionAdded: '0.9' VersionChanged: '1.12' + AllowComments: true + AllowNil: true Lint/SuppressedExceptionInNumberConversion: Description: Checks for cases where exceptions unrelated to the numeric constructors may be unintentionally swallowed. @@ -1915,7 +1927,7 @@ Lint/UnmodifiedReduceAccumulator: VersionAdded: '1.1' VersionChanged: '1.5' Lint/UnreachableCode: - Description: Unreachable code. + Description: Checks for unreachable code. Enabled: false VersionAdded: '0.9' Lint/UnreachableLoop: @@ -2039,15 +2051,15 @@ Lint/UselessTimes: VersionAdded: '0.91' VersionChanged: '1.61' Lint/Void: - Description: Possible use of operator/literal/variable in void context. + Description: Checks for operators, literals, lambdas, and procs used in void context. Enabled: true AutoCorrect: contextual VersionAdded: '0.9' VersionChanged: '1.61' CheckForMethodsWithNoSideEffects: false Metrics/AbcSize: - Description: A calculated magnitude based on number of assignments, branches, and - conditions. + Description: Checks that the ABC size of methods is not higher than the configured + maximum. References: - https://wiki.c2.com/?AbcMetric - https://en.wikipedia.org/wiki/ABC_Software_Metric @@ -2092,10 +2104,11 @@ Metrics/CollectionLiteralLength: Description: Checks for `Array` or `Hash` literals with many entries. Enabled: false VersionAdded: '1.47' - LengthThreshold: 250 + VersionChanged: '1.88' + Max: 250 Metrics/CyclomaticComplexity: - Description: A complexity metric that is strongly correlated to the number of test - cases needed to validate a method. + Description: Checks that the cyclomatic complexity of methods is not higher than + the configured maximum. Enabled: false VersionAdded: '0.25' VersionChanged: '0.81' @@ -2131,17 +2144,17 @@ Metrics/ParameterLists: CountKeywordArgs: false MaxOptionalParameters: 3 Metrics/PerceivedComplexity: - Description: A complexity metric geared towards measuring complexity for a human - reader. + Description: Checks that the perceived complexity of methods is not higher than + the configured maximum. Enabled: false VersionAdded: '0.25' - VersionChanged: '0.81' + VersionChanged: '1.88' AllowedMethods: [] AllowedPatterns: [] Max: 8 Migration/DepartmentName: - Description: Check that cop names in rubocop:disable (etc) comments are given with - department name. + Description: Checks that cop names in `rubocop:disable` (etc.) comments are given + with a department name. Enabled: true VersionAdded: '0.75' Naming/AccessorMethodName: @@ -2157,7 +2170,8 @@ Naming/AsciiIdentifiers: VersionChanged: '0.87' AsciiConstants: true Naming/BinaryOperatorParameterName: - Description: When defining binary operators, name the argument other. + Description: Checks that the sole parameter of binary operator methods is named + `other`. StyleGuide: "#other-arg" Enabled: false VersionAdded: '0.50' @@ -2365,7 +2379,8 @@ Naming/PredicateMethod: - infinite? - nonzero? Naming/PredicatePrefix: - Description: Predicate method names should not be prefixed and end with a `?`. + Description: Checks that predicate method names end with a question mark and do + not start with a forbidden prefix. StyleGuide: "#bool-methods-qmark" Enabled: false VersionAdded: '0.50' @@ -2427,14 +2442,15 @@ Naming/VariableNumber: - x86_64 AllowedPatterns: [] Security/CompoundHash: - Description: When overwriting Object#hash to combine values, prefer delegating to - Array#hash over writing a custom implementation. + Description: Checks for `hash` implementations that combine values manually instead + of delegating to `Array#hash`. Enabled: false Safe: false VersionAdded: '1.28' VersionChanged: '1.51' Security/Eval: - Description: The use of eval represents a serious security risk. + Description: Checks for the use of `Kernel#eval` and `Binding#eval` with dynamic + arguments. Enabled: false VersionAdded: '0.47' Security/IoMethods: @@ -2461,8 +2477,7 @@ Security/MarshalLoad: Enabled: false VersionAdded: '0.47' Security/Open: - Description: The use of `Kernel#open` and `URI.open` represent a serious security - risk. + Description: Checks for the use of `Kernel#open` and `URI.open` with dynamic data. Enabled: false VersionAdded: '0.53' VersionChanged: '1.0' @@ -2526,6 +2541,8 @@ Style/ArgumentsForwarding: Description: Use arguments forwarding. StyleGuide: "#arguments-forwarding" Enabled: false + VersionAdded: '1.1' + VersionChanged: '1.58' AllowOnlyRestArgument: true UseAnonymousForwarding: true RedundantRestArgumentNames: @@ -2539,8 +2556,6 @@ Style/ArgumentsForwarding: - blk - block - proc - VersionAdded: '1.1' - VersionChanged: '1.58' Style/ArrayCoercion: Description: Use Array() instead of explicit Array check or [*var], when dealing with a variable you want to treat as an Array, but you're not certain it's an @@ -2755,7 +2770,7 @@ Style/CollectionCompact: VersionChanged: '1.3' AllowedReceivers: [] Style/CollectionMethods: - Description: Preferred collection methods. + Description: Enforces the use of consistent method names from the `Enumerable` module. StyleGuide: "#map-find-select-reduce-include-size" Enabled: false VersionAdded: '0.9' @@ -2833,11 +2848,11 @@ Style/CommentedKeyword: VersionChanged: '1.19' Style/ComparableBetween: Description: Enforces the use of `Comparable#between?` instead of logical comparison. + StyleGuide: "#ranges-or-between" Enabled: false Safe: false VersionAdded: '1.74' VersionChanged: '1.75' - StyleGuide: "#ranges-or-between" Style/ComparableClamp: Description: Enforces the use of `Comparable#clamp` instead of comparison by minimum and maximum. @@ -3088,8 +3103,7 @@ Style/ExplicitBlockArgument: VersionAdded: '0.89' VersionChanged: '1.8' Style/ExponentialNotation: - Description: When using exponential notation, favor a mantissa between 1 (inclusive) - and 10 (exclusive). + Description: Enforces consistency in the use of exponential (scientific) notation. StyleGuide: "#exponential-notation" Enabled: false VersionAdded: '0.82' @@ -3104,7 +3118,8 @@ Style/FetchEnvVar: - https://rubystyle.guide/#hash-fetch-defaults Enabled: false VersionAdded: '1.28' - AllowedVars: [] + VersionChanged: '1.88' + AllowedVariables: [] DefaultToNil: true Style/FileEmpty: Description: Prefer to use `File.empty?('path/to/file')` when checking if a file @@ -3177,6 +3192,8 @@ Style/FormatString: Style/FormatStringToken: Description: Use a consistent style for format string tokens. Enabled: false + VersionAdded: '0.49' + VersionChanged: '1.74' EnforcedStyle: annotated SupportedStyles: - annotated @@ -3184,8 +3201,6 @@ Style/FormatStringToken: - unannotated MaxUnannotatedPlaceholdersAllowed: 1 Mode: aggressive - VersionAdded: '0.49' - VersionChanged: '1.74' AllowedMethods: [] AllowedPatterns: [] Style/FrozenStringLiteralComment: @@ -3331,9 +3346,9 @@ Style/IdenticalConditionalBranches: Style/IfInsideElse: Description: Finds if nodes inside else, which can be converted to elsif. Enabled: false - AllowIfModifier: false VersionAdded: '0.36' VersionChanged: '1.3' + AllowIfModifier: false Style/IfUnlessModifier: Description: Favor modifier if/unless usage when you have a single-line body. StyleGuide: "#if-as-a-modifier" @@ -3436,14 +3451,14 @@ Style/ItBlockParameter: Description: Checks for blocks with one argument where `it` block parameter can be used. Enabled: false + VersionAdded: '1.75' + VersionChanged: '1.76' EnforcedStyle: allow_single_line SupportedStyles: - allow_single_line - only_numbered_parameters - always - disallow - VersionAdded: '1.75' - VersionChanged: '1.76' Style/KeywordArgumentsMerging: Description: When passing an existing hash as keyword arguments, provide additional arguments directly rather than using `merge`. @@ -3502,7 +3517,9 @@ Style/MagicCommentFormat: Style/MapCompactWithConditionalBlock: Description: Prefer `select` or `reject` over `map { ... }.compact`. Enabled: false + SafeAutoCorrect: false VersionAdded: '1.30' + VersionChanged: '1.88' Style/MapIntoArray: Description: Checks for usages of `each` with `<<`, `push`, or `append` which can be replaced by `map`. @@ -3557,10 +3574,10 @@ Style/MethodCallWithoutArgsParentheses: Description: Do not use parentheses for method calls with no arguments. StyleGuide: "#method-invocation-parens" Enabled: false - AllowedMethods: [] - AllowedPatterns: [] VersionAdded: '0.47' VersionChanged: '0.55' + AllowedMethods: [] + AllowedPatterns: [] Style/MethodCalledOnDoEndBlock: Description: Avoid chaining a method call on a do...end block. StyleGuide: "#single-line-blocks" @@ -3643,7 +3660,7 @@ Style/MultilineBlockChain: Enabled: false VersionAdded: '0.13' Style/MultilineIfModifier: - Description: Only use if/unless modifiers on single line statements. + Description: Checks for uses of `if`/`unless` modifiers with multiline bodies. StyleGuide: "#no-multiline-if-modifiers" Enabled: false VersionAdded: '0.45' @@ -3695,12 +3712,13 @@ Style/MutableConstant: Description: Do not assign mutable objects to constants. Enabled: true VersionAdded: '0.34' - VersionChanged: '1.8' + VersionChanged: '1.88' SafeAutoCorrect: false EnforcedStyle: literals SupportedStyles: - literals - strict + Recursive: false Style/NegatedIf: Description: Favor unless over if for negative conditions (or control flow or). StyleGuide: "#unless-for-negatives" @@ -3890,9 +3908,9 @@ Style/OneLineConditional: if/then/else/end constructs. StyleGuide: "#ternary-operator" Enabled: false - AlwaysCorrectToMultiline: false VersionAdded: '0.9' VersionChanged: '0.90' + AlwaysCorrectToMultiline: false Style/OpenStructUse: Description: Avoid using OpenStruct. As of Ruby 3.0, use is officially discouraged due to performance, version compatibility, and potential security issues. @@ -3966,6 +3984,7 @@ Style/PercentLiteralDelimiters: StyleGuide: "#percent-literal-braces" Enabled: false VersionAdded: '0.19' + VersionChanged: '0.48' PreferredDelimiters: default: "()" "%i": "[]" @@ -3973,7 +3992,6 @@ Style/PercentLiteralDelimiters: "%r": "{}" "%w": "[]" "%W": "[]" - VersionChanged: '0.48' Style/PercentQLiterals: Description: Checks if uses of %Q/%q match the configured preference. Enabled: false @@ -4160,9 +4178,9 @@ Style/RedundantInitialize: Enabled: false AutoCorrect: contextual Safe: false - AllowComments: true VersionAdded: '1.27' VersionChanged: '1.61' + AllowComments: true Style/RedundantInterpolation: Description: Checks for strings that are just an interpolated expression. Enabled: false @@ -4296,10 +4314,10 @@ Style/ReturnNilInPredicateMethodDefinition: StyleGuide: "#bool-methods-qmark" Enabled: false SafeAutoCorrect: false - AllowedMethods: [] - AllowedPatterns: [] VersionAdded: '1.53' VersionChanged: '1.67' + AllowedMethods: [] + AllowedPatterns: [] Style/ReverseFind: Description: Use `array.rfind` instead of `array.reverse.find`. Enabled: true @@ -4592,11 +4610,11 @@ Style/TrailingBodyOnClass: Enabled: true VersionAdded: '0.53' Style/TrailingBodyOnMethodDefinition: - Description: Method body goes below definition. + Description: Checks for trailing code after the method definition. Enabled: true VersionAdded: '0.52' Style/TrailingBodyOnModule: - Description: Module body goes below module statement. + Description: Checks for trailing code after the module definition. Enabled: true VersionAdded: '0.53' Style/TrailingCommaInArguments: @@ -4643,10 +4661,10 @@ Style/TrailingMethodEndStatement: Style/TrailingUnderscoreVariable: Description: Checks for the usage of unneeded trailing underscores at the end of parallel variable assignment. - AllowNamedUnderscoreVariables: true Enabled: false VersionAdded: '0.31' VersionChanged: '0.35' + AllowNamedUnderscoreVariables: true Style/TrivialAccessors: Description: Prefer attr_* methods to trivial readers/writers. StyleGuide: "#attr_family" @@ -4738,15 +4756,15 @@ Style/YodaCondition: References: - https://en.wikipedia.org/wiki/Yoda_conditions Enabled: false + Safe: false + VersionAdded: '0.49' + VersionChanged: '0.75' EnforcedStyle: forbid_for_all_comparison_operators SupportedStyles: - forbid_for_all_comparison_operators - forbid_for_equality_operators_only - require_for_all_comparison_operators - require_for_equality_operators_only - Safe: false - VersionAdded: '0.49' - VersionChanged: '0.75' Style/YodaExpression: Description: Forbid the use of yoda expressions. Enabled: false From 738558b0fdff035bb809ac59ab931c98f3b03dc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Mendon=C3=A7a=20Fran=C3=A7a?= Date: Tue, 14 Jul 2026 13:19:53 +0000 Subject: [PATCH 2/2] Drop support to Ruby 3.2 --- .github/workflows/dump-config.yml | 2 +- .github/workflows/jekyll.yml | 2 +- .github/workflows/ruby.yml | 4 +- Gemfile | 3 +- Gemfile.lock | 293 ++++++------------------------ rubocop-shopify.gemspec | 2 +- 6 files changed, 59 insertions(+), 247 deletions(-) diff --git a/.github/workflows/dump-config.yml b/.github/workflows/dump-config.yml index 495d6c46..cc5d3777 100644 --- a/.github/workflows/dump-config.yml +++ b/.github/workflows/dump-config.yml @@ -28,7 +28,7 @@ jobs: token: ${{ secrets.SHOPIFY_GH_ACCESS_TOKEN }} - name: Setup Ruby - uses: ruby/setup-ruby@d5126b9b3579e429dd52e51e68624dda2e05be25 # v1.267.0 + uses: ruby/setup-ruby@6e5d382445ae5590b7449d8b3bc8cb1c2c27f617 # v1.317.0 with: bundler-cache: true diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml index a1ea41f1..92d77e4d 100644 --- a/.github/workflows/jekyll.yml +++ b/.github/workflows/jekyll.yml @@ -25,7 +25,7 @@ jobs: - name: Setup Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.2' + ruby-version: '3.4' bundler-cache: true - name: Setup Pages diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 40c61eb2..01b5ae81 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -9,7 +9,7 @@ jobs: strategy: matrix: gemfile: [Gemfile, gemfiles/minimum_rubocop.gemfile] - ruby: ["3.2", "3.3", "3.4"] + ruby: ["3.3", "3.4", "4.0"] env: BUNDLE_GEMFILE: ${{ matrix.gemfile }} @@ -19,7 +19,7 @@ jobs: steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Ruby - uses: ruby/setup-ruby@d5126b9b3579e429dd52e51e68624dda2e05be25 # v1.267.0 + uses: ruby/setup-ruby@6e5d382445ae5590b7449d8b3bc8cb1c2c27f617 # v1.317.0 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true diff --git a/Gemfile b/Gemfile index d14b8129..f3887d9a 100644 --- a/Gemfile +++ b/Gemfile @@ -9,4 +9,5 @@ gem "minitest" gem "rake" gem "rubocop-minitest" -gem "github-pages" +gem "jekyll" +gem "jekyll-seo-tag" diff --git a/Gemfile.lock b/Gemfile.lock index 8f7b16e5..1be52f6d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -8,258 +8,78 @@ PATH GEM remote: https://rubygems.org/ specs: - activesupport (8.1.2.1) - base64 - bigdecimal - concurrent-ruby (~> 1.0, >= 1.3.1) - connection_pool (>= 2.2.5) - drb - i18n (>= 1.6, < 2) - json - logger (>= 1.4.2) - minitest (>= 5.1) - securerandom (>= 0.3) - tzinfo (~> 2.0, >= 2.0.5) - uri (>= 0.13.1) addressable (2.9.0) public_suffix (>= 2.0.2, < 8.0) ast (2.4.3) base64 (0.3.0) - bigdecimal (4.0.1) - coffee-script (2.4.1) - coffee-script-source - execjs - coffee-script-source (1.12.2) + bigdecimal (4.1.2) colorator (1.1.0) - commonmarker (0.23.12) concurrent-ruby (1.3.7) - connection_pool (3.0.2) csv (3.3.5) diffy (3.4.4) - dnsruby (1.73.0) - base64 (>= 0.2) - logger (~> 1.6) - simpleidn (~> 0.2.1) drb (2.2.3) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) - ethon (0.15.0) - ffi (>= 1.15.0) eventmachine (1.2.7) - execjs (2.10.0) - faraday (2.14.3) - faraday-net_http (>= 2.0, < 3.5) - json - logger - faraday-net_http (3.4.4) - net-http (~> 0.5) - ffi (1.17.2) - ffi (1.17.2-aarch64-linux-gnu) - ffi (1.17.2-x86_64-linux-gnu) + ffi (1.17.4) + ffi (1.17.4-aarch64-linux-gnu) + ffi (1.17.4-x86_64-linux-gnu) forwardable-extended (2.6.0) - gemoji (4.1.0) - github-pages (232) - github-pages-health-check (= 1.18.2) - jekyll (= 3.10.0) - jekyll-avatar (= 0.8.0) - jekyll-coffeescript (= 1.2.2) - jekyll-commonmark-ghpages (= 0.5.1) - jekyll-default-layout (= 0.1.5) - jekyll-feed (= 0.17.0) - jekyll-gist (= 1.5.0) - jekyll-github-metadata (= 2.16.1) - jekyll-include-cache (= 0.2.1) - jekyll-mentions (= 1.6.0) - jekyll-optional-front-matter (= 0.3.2) - jekyll-paginate (= 1.1.0) - jekyll-readme-index (= 0.3.0) - jekyll-redirect-from (= 0.16.0) - jekyll-relative-links (= 0.6.1) - jekyll-remote-theme (= 0.4.3) - jekyll-sass-converter (= 1.5.2) - jekyll-seo-tag (= 2.8.0) - jekyll-sitemap (= 1.4.0) - jekyll-swiss (= 1.0.0) - jekyll-theme-architect (= 0.2.0) - jekyll-theme-cayman (= 0.2.0) - jekyll-theme-dinky (= 0.2.0) - jekyll-theme-hacker (= 0.2.0) - jekyll-theme-leap-day (= 0.2.0) - jekyll-theme-merlot (= 0.2.0) - jekyll-theme-midnight (= 0.2.0) - jekyll-theme-minimal (= 0.2.0) - jekyll-theme-modernist (= 0.2.0) - jekyll-theme-primer (= 0.6.0) - jekyll-theme-slate (= 0.2.0) - jekyll-theme-tactile (= 0.2.0) - jekyll-theme-time-machine (= 0.2.0) - jekyll-titles-from-headings (= 0.5.3) - jemoji (= 0.13.0) - kramdown (= 2.4.0) - kramdown-parser-gfm (= 1.1.0) - liquid (= 4.0.4) - mercenary (~> 0.3) - minima (= 2.5.1) - nokogiri (>= 1.16.2, < 2.0) - rouge (= 3.30.0) - terminal-table (~> 1.4) - webrick (~> 1.8) - github-pages-health-check (1.18.2) - addressable (~> 2.3) - dnsruby (~> 1.60) - octokit (>= 4, < 8) - public_suffix (>= 3.0, < 6.0) - typhoeus (~> 1.3) - html-pipeline (2.14.3) - activesupport (>= 2) - nokogiri (>= 1.4) - http_parser.rb (0.8.0) - i18n (1.14.8) + google-protobuf (4.35.1) + bigdecimal + rake (~> 13.3) + google-protobuf (4.35.1-aarch64-linux-gnu) + bigdecimal + rake (~> 13.3) + google-protobuf (4.35.1-x86_64-linux-gnu) + bigdecimal + rake (~> 13.3) + http_parser.rb (0.8.1) + i18n (1.15.2) concurrent-ruby (~> 1.0) - jekyll (3.10.0) + jekyll (4.4.1) addressable (~> 2.4) + base64 (~> 0.2) colorator (~> 1.0) csv (~> 3.0) em-websocket (~> 0.5) - i18n (>= 0.7, < 2) - jekyll-sass-converter (~> 1.0) + i18n (~> 1.0) + jekyll-sass-converter (>= 2.0, < 4.0) jekyll-watch (~> 2.0) - kramdown (>= 1.17, < 3) + json (~> 2.6) + kramdown (~> 2.3, >= 2.3.1) + kramdown-parser-gfm (~> 1.0) liquid (~> 4.0) - mercenary (~> 0.3.3) + mercenary (~> 0.3, >= 0.3.6) pathutil (~> 0.9) - rouge (>= 1.7, < 4) + rouge (>= 3.0, < 5.0) safe_yaml (~> 1.0) - webrick (>= 1.0) - jekyll-avatar (0.8.0) - jekyll (>= 3.0, < 5.0) - jekyll-coffeescript (1.2.2) - coffee-script (~> 2.2) - coffee-script-source (~> 1.12) - jekyll-commonmark (1.4.0) - commonmarker (~> 0.22) - jekyll-commonmark-ghpages (0.5.1) - commonmarker (>= 0.23.7, < 1.1.0) - jekyll (>= 3.9, < 4.0) - jekyll-commonmark (~> 1.4.0) - rouge (>= 2.0, < 5.0) - jekyll-default-layout (0.1.5) - jekyll (>= 3.0, < 5.0) - jekyll-feed (0.17.0) - jekyll (>= 3.7, < 5.0) - jekyll-gist (1.5.0) - octokit (~> 4.2) - jekyll-github-metadata (2.16.1) - jekyll (>= 3.4, < 5.0) - octokit (>= 4, < 7, != 4.4.0) - jekyll-include-cache (0.2.1) - jekyll (>= 3.7, < 5.0) - jekyll-mentions (1.6.0) - html-pipeline (~> 2.3) - jekyll (>= 3.7, < 5.0) - jekyll-optional-front-matter (0.3.2) - jekyll (>= 3.0, < 5.0) - jekyll-paginate (1.1.0) - jekyll-readme-index (0.3.0) - jekyll (>= 3.0, < 5.0) - jekyll-redirect-from (0.16.0) - jekyll (>= 3.3, < 5.0) - jekyll-relative-links (0.6.1) - jekyll (>= 3.3, < 5.0) - jekyll-remote-theme (0.4.3) - addressable (~> 2.0) - jekyll (>= 3.5, < 5.0) - jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) - rubyzip (>= 1.3.0, < 3.0) - jekyll-sass-converter (1.5.2) - sass (~> 3.4) - jekyll-seo-tag (2.8.0) + terminal-table (>= 1.8, < 4.0) + webrick (~> 1.7) + jekyll-sass-converter (3.1.0) + sass-embedded (~> 1.75) + jekyll-seo-tag (2.9.0) jekyll (>= 3.8, < 5.0) - jekyll-sitemap (1.4.0) - jekyll (>= 3.7, < 5.0) - jekyll-swiss (1.0.0) - jekyll-theme-architect (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-cayman (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-dinky (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-hacker (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-leap-day (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-merlot (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-midnight (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-minimal (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-modernist (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-primer (0.6.0) - jekyll (> 3.5, < 5.0) - jekyll-github-metadata (~> 2.9) - jekyll-seo-tag (~> 2.0) - jekyll-theme-slate (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-tactile (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-time-machine (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-titles-from-headings (0.5.3) - jekyll (>= 3.3, < 5.0) jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.13.0) - gemoji (>= 3, < 5) - html-pipeline (~> 2.2) - jekyll (>= 3.0, < 5.0) json (2.21.1) - kramdown (2.4.0) - rexml + kramdown (2.5.2) + rexml (>= 3.4.4) kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) language_server-protocol (3.17.0.6) lint_roller (1.1.0) liquid (4.0.4) - listen (3.9.0) + listen (3.10.0) + logger rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) logger (1.7.0) - mercenary (0.3.6) - mini_portile2 (2.8.9) - minima (2.5.1) - jekyll (>= 3.5, < 5.0) - jekyll-feed (~> 0.9) - jekyll-seo-tag (~> 2.1) - minitest (6.0.3) + mercenary (0.4.0) + minitest (6.0.6) drb (~> 2.0) prism (~> 1.5) - net-http (0.9.1) - uri (>= 0.11.1) - nokogiri (1.19.4) - mini_portile2 (~> 2.8.2) - racc (~> 1.4) - nokogiri (1.19.4-aarch64-linux-gnu) - racc (~> 1.4) - nokogiri (1.19.4-x86_64-linux-gnu) - racc (~> 1.4) - octokit (4.25.1) - faraday (>= 1, < 3) - sawyer (~> 0.9) parallel (2.1.0) parser (3.3.11.1) ast (~> 2.4.1) @@ -267,16 +87,16 @@ GEM pathutil (0.16.2) forwardable-extended (~> 2.6) prism (1.9.0) - public_suffix (5.1.1) + public_suffix (7.0.5) racc (1.8.1) rainbow (3.1.1) - rake (13.3.1) + rake (13.4.2) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) regexp_parser (2.12.0) rexml (3.4.4) - rouge (3.30.0) + rouge (4.7.0) rubocop (1.88.2) json (~> 2.3) language_server-protocol (~> 3.17.0.2) @@ -296,28 +116,18 @@ GEM rubocop (>= 1.75.0, < 2.0) rubocop-ast (>= 1.38.0, < 2.0) ruby-progressbar (1.13.0) - rubyzip (2.4.1) safe_yaml (1.0.5) - sass (3.7.4) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - sawyer (0.9.3) - addressable (>= 2.3.5) - faraday (>= 0.17.3, < 3) - securerandom (0.4.1) - simpleidn (0.2.3) - terminal-table (1.6.0) - typhoeus (1.5.0) - ethon (>= 0.9.0, < 0.16.0) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) - unicode-display_width (3.2.0) - unicode-emoji (~> 4.1) - unicode-emoji (4.2.0) - uri (1.1.1) - webrick (1.9.1) + sass-embedded (1.101.0) + google-protobuf (~> 4.31) + rake (>= 13) + sass-embedded (1.101.0-aarch64-linux-gnu) + google-protobuf (~> 4.31) + sass-embedded (1.101.0-x86_64-linux-gnu) + google-protobuf (~> 4.31) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + unicode-display_width (2.6.0) + webrick (1.9.2) PLATFORMS aarch64-linux @@ -326,11 +136,12 @@ PLATFORMS DEPENDENCIES diffy - github-pages + jekyll + jekyll-seo-tag minitest rake rubocop-minitest rubocop-shopify! BUNDLED WITH - 2.6.3 + 4.0.16 diff --git a/rubocop-shopify.gemspec b/rubocop-shopify.gemspec index 52db0165..4586b145 100644 --- a/rubocop-shopify.gemspec +++ b/rubocop-shopify.gemspec @@ -27,7 +27,7 @@ Gem::Specification.new do |s| "default_lint_roller_plugin" => "RuboCop::Shopify::Plugin" } - s.required_ruby_version = ">= 3.2.0" + s.required_ruby_version = ">= 3.3.0" s.add_dependency("rubocop", "~> 1.72", ">= 1.72.1") s.add_dependency("lint_roller")