ExecJS :: RuntimeError: SyntaxError: Unexpected token: operator (>) (line: 22342, col: 24, pos: 826182)

A good new rail is good here. I am encountering this error message while trying to effectively deploy my rails application on Heroku. I assume some syntax errors are triggered when JS assets are precompiled.

I found a similar problem here on SO, but it seems like it is still not resolved, and I tried all the suggestions in the answers.

Any help is appreciated. Here is the command line of my problem:

ExecJS::RuntimeError: SyntaxError: Unexpected token: operator (>) (line: 22342, col: 24, pos: 826182) Error at new JS_Parse_Error (/tmp/execjs20161001-3-1oidjycjs:3623:11948) at js_error (/tmp/execjs20161001-3-1oidjycjs:3623:12167) at croak (/tmp/execjs20161001-3-1oidjycjs:3623:22038) at token_error (/tmp/execjs20161001-3-1oidjycjs:3623:22175) at unexpected (/tmp/execjs20161001-3-1oidjycjs:3623:22263) at expr_atom (/tmp/execjs20161001-3-1oidjycjs:3623:31244) at maybe_unary (/tmp/execjs20161001-3-1oidjycjs:3624:1752) at expr_ops (/tmp/execjs20161001-3-1oidjycjs:3624:2523) at maybe_conditional (/tmp/execjs20161001-3-1oidjycjs:3624:2615) at maybe_assign (/tmp/execjs20161001-3-1oidjycjs:3624:3058) at maybe_assign (/tmp/execjs20161001-3-1oidjycjs:3624:3232) at expression (/tmp/execjs20161001-3-1oidjycjs:3624:3384) at expr_list (/tmp/execjs20161001-3-1oidjycjs:3623:31548) at subscripts (/tmp/execjs20161001-3-1oidjycjs:3624:1461) new JS_Parse_Error ((execjs):3623:11948) js_error ((execjs):3623:12167) croak ((execjs):3623:22038) token_error ((execjs):3623:22175) unexpected ((execjs):3623:22263) expr_atom ((execjs):3623:31244) maybe_unary ((execjs):3624:1752) expr_ops ((execjs):3624:2523) maybe_conditional ((execjs):3624:2615) maybe_assign ((execjs):3624:3058) maybe_assign ((execjs):3624:3232) expression ((execjs):3624:3384) expr_list ((execjs):3623:31548) subscripts ((execjs):3624:1461) /app/vendor/bundle/ruby/2.2.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:39:in `exec' /app/vendor/bundle/ruby/2.2.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:21:in `eval' /app/vendor/bundle/ruby/2.2.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:46:in `call' /app/vendor/bundle/ruby/2.2.0/gems/uglifier-3.0.2/lib/uglifier.rb:181:in `run_uglifyjs' /app/vendor/bundle/ruby/2.2.0/gems/uglifier-3.0.2/lib/uglifier.rb:143:in `compile' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/uglifier_compressor.rb:52:in `call' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/uglifier_compressor.rb:28:in `call' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/processor_utils.rb:75:in `call_processor' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/processor_utils.rb:57:in `block in call_processors' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/processor_utils.rb:56:in `reverse_each' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/processor_utils.rb:56:in `call_processors' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/loader.rb:134:in `load_from_unloaded' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/loader.rb:60:in `block in load' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/loader.rb:44:in `load' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/cached_environment.rb:20:in `block in initialize' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/cached_environment.rb:47:in `yield' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/cached_environment.rb:47:in `load' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/base.rb:66:in `find_asset' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/base.rb:73:in `find_all_linked_assets' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/manifest.rb:142:in `block in find' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/legacy.rb:114:in `block (2 levels) in logical_paths' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:228:in `block in stat_tree' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:212:in `block in stat_directory' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:209:in `each' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:209:in `stat_directory' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:227:in `stat_tree' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/legacy.rb:105:in `each' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/legacy.rb:105:in `block in logical_paths' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/legacy.rb:104:in `each' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/legacy.rb:104:in `logical_paths' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-3.7.0/lib/sprockets/manifest.rb:140:in `find' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/railtie.rb:50:in `each' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/railtie.rb:50:in `map' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/railtie.rb:50:in `precompiled_assets' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/railtie.rb:35:in `asset_precompiled?' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/railtie.rb:251:in `block (3 levels) in <class:Railtie>' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:359:in `call' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:359:in `precompiled?' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:363:in `raise_unless_precompiled_asset' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:337:in `digest_path' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:325:in `asset_path' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:102:in `block in resolve_asset_path' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:242:in `block in resolve_asset' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:241:in `each' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:241:in `detect' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:241:in `resolve_asset' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:101:in `resolve_asset_path' /app/vendor/bundle/ruby/2.2.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/helper.rb:79:in `compute_asset_path' /app/vendor/bundle/ruby/2.2.0/gems/actionview-5.0.0.1/lib/action_view/helpers/asset_url_helper.rb:144:in `asset_path' /app/app/models/group.rb:11:in `<class:Group>' /app/app/models/group.rb:1:in `<top (required)>' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:380:in `block in require_or_load' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:37:in `block in load_interlock' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies/interlock.rb:12:in `block in loading' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/concurrency/share_lock.rb:117:in `exclusive' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies/interlock.rb:11:in `loading' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:37:in `load_interlock' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:358:in `require_or_load' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:511:in `load_missing_constant' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:203:in `const_missing' /app/db/seeds.rb:7:in `<top (required)>' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:287:in `load' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:287:in `block in load' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency' /app/vendor/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:287:in `load' /app/vendor/bundle/ruby/2.2.0/gems/railties-5.0.0.1/lib/rails/engine.rb:549:in `load_seed' /app/vendor/bundle/ruby/2.2.0/gems/activerecord-5.0.0.1/lib/active_record/tasks/database_tasks.rb:268:in `load_seed' /app/vendor/bundle/ruby/2.2.0/gems/activerecord-5.0.0.1/lib/active_record/railties/databases.rake:196:in `block (2 levels) in <top (required)>' /app/vendor/bundle/ruby/2.2.0/gems/rake-11.3.0/exe/rake:27:in `<top (required)>' Tasks: TOP => db:seed (See full trace by running task with --trace) 
+2
git ruby ruby-on-rails reactjs heroku
source share
2 answers

I had the same problem and it turned out that I am using the ES6 arrow function. The problem was that the version of Sprockets that my production environment used was not yet compatible with ES6.

My solution at that time was to remove the arrow function. An alternative is to use sprockets-es6 or one of the beta versions of sprockets .

+2
source share

I had a very similar problem, and as I said, my version of Rails did not support ES6. Upgrading stars does work for me though. As a result, I updated uglifier , and in production.rb changed

 config.assets.js_compressor = :uglifier 
from

before

 config.assets.js_compressor = Uglifier.new(harmony: true) 

And then my precompilation worked like a charm.

0
source share

All Articles