diff --git a/Gemfile b/Gemfile index e25cdbc3..7e3b7e43 100644 --- a/Gemfile +++ b/Gemfile @@ -13,6 +13,7 @@ gem("rubocop-performance", require: false) gem("rubocop-sorbet", require: false) gem("mocha", require: false) gem("rubocop-shopify", require: false) +gem("rbi", "< 0.3.11", require: false) # rbi 0.3.11+ requires Ruby >= 3.3 gem("tapioca", require: false) gem("railties") @@ -22,5 +23,5 @@ gem("minitest-mock") gem("m") gem("rake") -gem("sorbet-static-and-runtime") +gem("sorbet-static-and-runtime", "< 0.6") # Sorbet 0.6+ has stricter type checking, bumped separately gem("zeitwerk") diff --git a/Gemfile.lock b/Gemfile.lock index e0782800..a82be3aa 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -7,7 +7,7 @@ PATH better_html bundler constant_resolver (>= 0.3) - parallel + parallel (< 2) parser prism (>= 0.25.0) sorbet-runtime (>= 0.5.9914) @@ -45,7 +45,7 @@ GEM minitest (>= 5.1) securerandom (>= 0.3) tzinfo (~> 2.0, >= 2.0.5) - ast (2.4.2) + ast (2.4.3) base64 (0.2.0) benchmark (0.4.0) better_html (2.1.1) @@ -75,8 +75,9 @@ GEM pp (>= 0.6.0) rdoc (>= 4.0.0) reline (>= 0.4.2) - json (2.7.2) - language_server-protocol (3.17.0.3) + json (2.19.4) + language_server-protocol (3.17.0.5) + lint_roller (1.1.0) logger (1.7.0) loofah (2.24.1) crass (~> 1.0.2) @@ -100,14 +101,14 @@ GEM racc (~> 1.4) nokogiri (1.18.9-x86_64-linux-gnu) racc (~> 1.4) - parallel (1.25.1) - parser (3.3.3.0) + parallel (1.28.0) + parser (3.3.11.1) ast (~> 2.4.1) racc pp (0.6.2) prettyprint prettyprint (0.2.0) - prism (0.27.0) + prism (1.9.0) psych (5.2.6) date stringio @@ -137,29 +138,35 @@ GEM zeitwerk (~> 2.6) rainbow (3.1.1) rake (13.2.1) - rbi (0.1.12) - prism (>= 0.18.0, < 0.28) - sorbet-runtime (>= 0.5.9204) + rbi (0.3.10) + prism (~> 1.0) + rbs (>= 4.0.1) + rbs (4.0.2) + logger + prism (>= 1.6.0) + tsort rdoc (6.14.0) erb psych (>= 4.0.0) - regexp_parser (2.9.2) + regexp_parser (2.12.0) reline (0.6.1) io-console (~> 0.5) - rexml (3.4.2) - rubocop (1.64.1) + require-hooks (0.4.0) + rexml (3.4.4) + rubocop (1.86.1) json (~> 2.3) - language_server-protocol (>= 3.17.0) - parallel (~> 1.10) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.1.0) + parallel (>= 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 1.8, < 3.0) - rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.31.1, < 2.0) + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.49.0, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.31.3) - parser (>= 3.3.1.0) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.49.1) + parser (>= 3.3.7.2) + prism (~> 1.7) rubocop-performance (1.14.3) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) @@ -169,42 +176,51 @@ GEM rubocop (>= 0.90.0) ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) + rubydex (0.2.0-aarch64-linux) + rubydex (0.2.0-arm64-darwin) + rubydex (0.2.0-x86_64-darwin) + rubydex (0.2.0-x86_64-linux) securerandom (0.4.1) smart_properties (1.17.0) - sorbet (0.5.12135) - sorbet-static (= 0.5.12135) - sorbet-runtime (0.5.12135) - sorbet-static (0.5.12135-aarch64-linux) - sorbet-static (0.5.12135-universal-darwin) - sorbet-static (0.5.12135-x86_64-linux) - sorbet-static-and-runtime (0.5.12135) - sorbet (= 0.5.12135) - sorbet-runtime (= 0.5.12135) - spoom (1.3.2) + sorbet (0.5.12443) + sorbet-static (= 0.5.12443) + sorbet-runtime (0.5.12443) + sorbet-static (0.5.12443-aarch64-linux) + sorbet-static (0.5.12443-universal-darwin) + sorbet-static (0.5.12443-x86_64-linux) + sorbet-static-and-runtime (0.5.12443) + sorbet (= 0.5.12443) + sorbet-runtime (= 0.5.12443) + spoom (1.7.13) erubi (>= 1.10.0) - prism (>= 0.19.0) + prism (>= 0.28.0) + rbi (>= 0.3.3) + rbs (>= 4.0.0.dev.5) + rexml (>= 3.2.6) sorbet-static-and-runtime (>= 0.5.10187) thor (>= 0.19.2) spring (4.0.0) stringio (3.1.7) - tapioca (0.13.3) + tapioca (0.19.0) + benchmark bundler (>= 2.2.25) netrc (>= 0.11.0) parallel (>= 1.21.0) - rbi (>= 0.1.4, < 0.2) + rbi (>= 0.3.7) + require-hooks (>= 0.2.2) + rubydex (>= 0.1.0.beta10) sorbet-static-and-runtime (>= 0.5.11087) - spoom (>= 1.2.0) + spoom (>= 1.7.9) thor (>= 1.2.0) - yard-sorbet - thor (1.4.0) + tsort + thor (1.5.0) + tsort (0.2.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (2.5.0) + unicode-display_width (3.2.0) + unicode-emoji (~> 4.1) + unicode-emoji (4.2.0) useragent (0.16.11) - yard (0.9.36) - yard-sorbet (0.8.1) - sorbet-runtime (>= 0.5) - yard (>= 0.9) zeitwerk (2.6.18) PLATFORMS @@ -226,10 +242,11 @@ DEPENDENCIES packwerk! railties rake + rbi (< 0.3.11) rubocop-performance rubocop-shopify rubocop-sorbet - sorbet-static-and-runtime + sorbet-static-and-runtime (< 0.6) spring tapioca zeitwerk diff --git a/lib/packwerk/file_processor.rb b/lib/packwerk/file_processor.rb index 88a59ba9..cfc3962a 100644 --- a/lib/packwerk/file_processor.rb +++ b/lib/packwerk/file_processor.rb @@ -1,7 +1,7 @@ # typed: strict # frozen_string_literal: true -require "parser/ast/node" +require "parser" module Packwerk class FileProcessor diff --git a/lib/packwerk/offense.rb b/lib/packwerk/offense.rb index 225a3e7f..f87b34a4 100644 --- a/lib/packwerk/offense.rb +++ b/lib/packwerk/offense.rb @@ -1,7 +1,7 @@ # typed: strict # frozen_string_literal: true -require "parser/source/map" +require "parser" module Packwerk class Offense diff --git a/packwerk.gemspec b/packwerk.gemspec index 82e0c10b..183308f6 100644 --- a/packwerk.gemspec +++ b/packwerk.gemspec @@ -41,7 +41,7 @@ Gem::Specification.new do |spec| spec.add_dependency("activesupport", ">= 6.0") spec.add_dependency("bundler") spec.add_dependency("constant_resolver", ">= 0.3") - spec.add_dependency("parallel") + spec.add_dependency("parallel", "< 2") spec.add_dependency("sorbet-runtime", ">= 0.5.9914") spec.add_dependency("zeitwerk", ">= 2.6.1")