Skip to content

Commit e5fd6d7

Browse files
committed
Remove dead SystemChecker wildcard methods and tests
1 parent 33a2a60 commit e5fd6d7

2 files changed

Lines changed: 0 additions & 118 deletions

File tree

react_on_rails/lib/react_on_rails/system_checker.rb

Lines changed: 0 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -736,58 +736,6 @@ def report_dependency_status(required_deps, missing_deps, package_json)
736736
MSG
737737
end
738738

739-
def check_version_patterns(npm_version, _gem_version)
740-
# Check for version range patterns in package.json
741-
return unless /^[\^~><*]/.match?(npm_version) || npm_version.include?(" ")
742-
743-
add_error(<<~MSG.strip)
744-
🚫 NPM package uses a non-exact version: #{npm_version}
745-
746-
React on Rails requires exact version matching. Non-exact constraints will
747-
cause a runtime error on app startup.
748-
749-
Fix: bundle exec rake react_on_rails:sync_versions WRITE=true
750-
MSG
751-
end
752-
753-
def check_gemfile_version_patterns
754-
gemfile_path = ENV["BUNDLE_GEMFILE"] || "Gemfile"
755-
return unless File.exist?(gemfile_path)
756-
757-
begin
758-
gemfile_content = File.read(gemfile_path)
759-
check_gemfile_version_pattern_for(gemfile_content, "react_on_rails")
760-
if ReactOnRails::Utils.react_on_rails_pro?
761-
check_gemfile_version_pattern_for(gemfile_content,
762-
"react_on_rails_pro")
763-
end
764-
rescue StandardError
765-
# Ignore errors reading Gemfile
766-
end
767-
end
768-
769-
def check_gemfile_version_pattern_for(gemfile_content, gem_name)
770-
gem_line = gemfile_content.lines.find { |line| line.match(/^\s*gem\s+['"]#{gem_name}['"]/) }
771-
return unless gem_line
772-
773-
return unless /['"][~^]/.match?(gem_line) || />=\s*/.match?(gem_line)
774-
775-
version = if gem_name == "react_on_rails_pro"
776-
ReactOnRails::Utils.react_on_rails_pro_version
777-
else
778-
ReactOnRails::VERSION
779-
end
780-
add_error(<<~MSG.strip)
781-
🚫 Gemfile uses a non-exact version constraint for #{gem_name}.
782-
783-
React on Rails requires exact version matching between the gem and npm package.
784-
Non-exact constraints can cause versions to drift apart, leading to runtime errors.
785-
786-
Fix: Use an exact version in your Gemfile:
787-
gem '#{gem_name}', '#{version}'
788-
MSG
789-
end
790-
791739
def report_dependency_versions(package_json)
792740
all_deps = (package_json["dependencies"] || {}).merge(package_json["devDependencies"] || {})
793741

react_on_rails/spec/lib/react_on_rails/system_checker_spec.rb

Lines changed: 0 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -220,72 +220,6 @@
220220
end
221221
end
222222

223-
describe "#check_version_patterns" do
224-
it "errors on caret version patterns" do
225-
checker.send(:check_version_patterns, "^16.0.0", "16.0.0")
226-
expect(checker.errors?).to be true
227-
expect(checker.messages.last[:content]).to include("non-exact version")
228-
end
229-
230-
it "errors on tilde version patterns" do
231-
checker.send(:check_version_patterns, "~16.0.0", "16.0.0")
232-
expect(checker.errors?).to be true
233-
expect(checker.messages.last[:content]).to include("non-exact version")
234-
end
235-
236-
it "does not warn about exact versions" do
237-
initial_message_count = checker.messages.count
238-
checker.send(:check_version_patterns, "16.0.0", "16.0.0")
239-
expect(checker.messages.count).to eq(initial_message_count)
240-
end
241-
end
242-
243-
describe "#check_gemfile_version_patterns" do
244-
context "when Gemfile has version patterns" do
245-
let(:gemfile_content) do
246-
<<~GEMFILE
247-
gem 'rails', '~> 7.0'
248-
gem 'react_on_rails', '~> 16.0'
249-
gem 'other_gem'
250-
GEMFILE
251-
end
252-
253-
before do
254-
gemfile_path = ENV["BUNDLE_GEMFILE"] || "Gemfile"
255-
allow(File).to receive(:exist?).with(gemfile_path).and_return(true)
256-
allow(File).to receive(:read).with(gemfile_path).and_return(gemfile_content)
257-
stub_const("ReactOnRails::VERSION", "16.0.0")
258-
end
259-
260-
it "errors on non-exact version patterns" do
261-
checker.send(:check_gemfile_version_patterns)
262-
expect(checker.errors?).to be true
263-
expect(checker.messages.last[:content]).to include("non-exact version constraint")
264-
end
265-
end
266-
267-
context "when Gemfile has exact versions" do
268-
let(:gemfile_content) do
269-
<<~GEMFILE
270-
gem 'rails', '7.0.0'
271-
gem 'react_on_rails', '16.0.0'
272-
GEMFILE
273-
end
274-
275-
before do
276-
gemfile_path = ENV["BUNDLE_GEMFILE"] || "Gemfile"
277-
allow(File).to receive(:exist?).with(gemfile_path).and_return(true)
278-
allow(File).to receive(:read).with(gemfile_path).and_return(gemfile_content)
279-
end
280-
281-
it "does not warn about exact versions" do
282-
initial_message_count = checker.messages.count
283-
checker.send(:check_gemfile_version_patterns)
284-
expect(checker.messages.count).to eq(initial_message_count)
285-
end
286-
end
287-
end
288-
289223
describe "#check_react_on_rails_npm_package" do
290224
context "when package.json exists with react-on-rails" do
291225
let(:package_json_content) do

0 commit comments

Comments
 (0)