Skip to content

Version checker cannot cope with single digit strings in package.json #489

@samsondav

Description

@samsondav

Steps to reproduce:

  1. In client/package.json specify version: "react-on-rails": "^6"
  2. In root path run bundle exec rails server

Expected behaviour:

  • Should run fine

Actual behaviour:

  • Crashes with:
/Users/sam/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/react_on_rails-6.0.5/lib/react_on_rails/version_checker.rb:69:in `major': undefined method `[]' for nil:NilClass (NoMethodError)
    from /Users/sam/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/react_on_rails-6.0.5/lib/react_on_rails/version_checker.rb:21:in `warn_if_gem_and_node_package_versions_differ'
    from /Users/sam/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/react_on_rails-6.0.5/lib/react_on_rails/engine.rb:5:in `block in <class:Engine>'
    from /Users/sam/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:396:in `instance_exec'
    from /Users/sam/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:396:in `block in make_lambda'
(... trace truncated ...)

The problem is on version_checker.rb line 69. The regex should probably be more like this: raw.match(/(\d+)(\.|\z)/)[1]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions