Skip to content

NoMethodError: undefined method `key?' for #<Array:0x007fdbee0dfbc0> #492

Closed
@dankimio

Description

@dankimio

Expected behavior

Successful asset compilation.

Actual behavior

Exits with NoMethodError: undefined method 'key?' for #<Array:0x007fdbee0dfbc0> when running $ rake assets:precompile and using ES6.

System configuration

  • Sprockets version: master at c5ae761027bc8f34f631b5943838af97aaacc657
  • Ruby version: 2.4.1

Example App

Gemfile:

ruby '~> 2.4.1'

gem 'rails', '~> 4.2.9'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'sprockets', git: 'https://github.com/rails/sprockets.git'
gem 'babel-transpiler', '~> 0.7'

gem 'rails_admin', '~> 1.0'

manifest.js:

//= link_tree ../images
//= link_directory ../javascripts .js
//= link_directory ../stylesheets .css

.js.es6 extension is used for JavaScript assets.

Stack trace

rake aborted!
NoMethodError: undefined method `key?' for #<Array:0x007fdbee0dfbc0>
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/source_map_utils.rb:127:in `make_index_map'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/source_map_utils.rb:75:in `concat_source_maps'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/bundle.rb:95:in `block (2 levels) in process_bundle_reducers'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/bundle.rb:91:in `each'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/bundle.rb:91:in `block in process_bundle_reducers'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/bundle.rb:90:in `each'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/bundle.rb:90:in `reduce'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/bundle.rb:90:in `process_bundle_reducers'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/bundle.rb:53:in `call'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/processor_utils.rb:84:in `call_processor'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/processor_utils.rb:66:in `block in call_processors'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/processor_utils.rb:65:in `reverse_each'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/processor_utils.rb:65:in `call_processors'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/loader.rb:144:in `load_from_unloaded'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/loader.rb:59:in `block in load'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/loader.rb:318:in `fetch_asset_from_dependency_cache'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/loader.rb:43:in `load'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/cached_environment.rb:44:in `load'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/base.rb:69:in `find_asset'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/base.rb:76:in `find_all_linked_assets'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/bundler/gems/sprockets-c5ae761027bc/lib/sprockets/manifest.rb:125:in `block (2 levels) in find'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/safe_task_executor.rb:24:in `block in execute'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `block in synchronize'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_lockable_object.rb:38:in `synchronize'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/safe_task_executor.rb:19:in `execute'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/promise.rb:531:in `block in realize'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:348:in `run_task'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:337:in `block (3 levels) in create_worker'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `loop'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (2 levels) in create_worker'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `catch'
/Users/dan/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `block in create_worker'
Tasks: TOP => assets:precompile

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions