jejacks0n / teaspoon

Teaspoon: Javascript test runner for Rails. Use Selenium, BrowserStack, or PhantomJS.
1.43k stars 243 forks source link

Missing CoffeeScript Dependency #508

Closed ryanthemanuel closed 7 years ago

ryanthemanuel commented 7 years ago

Problem

In Rails rake assets:precompile blows up with ExecJS::ProgramError: ReferenceError: CoffeeScript is not defined.

Steps to Reproduce

  1. Generate a new Rails app.
  2. Run rake assets:precompile and everything is fine
  3. Add the Teaspoon gem to the Gemfile: gem 'teaspoon'
  4. Run rake assets:precompile and you see the error above.

This seems like a fairly new issue as I don't remember this happening as short as a couple of weeks ago. Also, this might be related to https://github.com/jejacks0n/teaspoon/issues/405

Trace:

{noformat} I, [2016-12-15T13:22:50.059381 #13281] INFO -- : Writing /Users/rm012685/one_offs/testing/public/assets/teaspoon-6e7be868738f20e0ca2ab731d5f577e0dd6bed588b1660eb2b2dc6b0328341dd.css I, [2016-12-15T13:22:50.064664 #13281] INFO -- : Writing /Users/rm012685/one_offs/testing/public/assets/teaspoon-6e7be868738f20e0ca2ab731d5f577e0dd6bed588b1660eb2b2dc6b0328341dd.css.gz I, [2016-12-15T13:22:50.070288 #13281] INFO -- : Writing /Users/rm012685/one_offs/testing/public/assets/teaspoon-filterer-65c5f62e0af566bf9d24f413533144277cb7d2fa9461e8307332fede303af366.js I, [2016-12-15T13:22:50.070432 #13281] INFO -- : Writing /Users/rm012685/one_offs/testing/public/assets/teaspoon-filterer-65c5f62e0af566bf9d24f413533144277cb7d2fa9461e8307332fede303af366.js.gz I, [2016-12-15T13:22:50.217546 #13281] INFO -- : Writing /Users/rm012685/one_offs/testing/public/assets/application-5c8884cc03b1598ffec78532914008dbc272b7bea6b8fc8d1e5301c82b001d0c.js I, [2016-12-15T13:22:50.217736 #13281] INFO -- : Writing /Users/rm012685/one_offs/testing/public/assets/application-5c8884cc03b1598ffec78532914008dbc272b7bea6b8fc8d1e5301c82b001d0c.js.gz I, [2016-12-15T13:22:50.223595 #13281] INFO -- : Writing /Users/rm012685/one_offs/testing/public/assets/application-e80e8f2318043e8af94dddc2adad5a4f09739a8ebb323b3ab31cd71d45fd9113.css I, [2016-12-15T13:22:50.249089 #13281] INFO -- : Writing /Users/rm012685/one_offs/testing/public/assets/application-e80e8f2318043e8af94dddc2adad5a4f09739a8ebb323b3ab31cd71d45fd9113.css.gz I, [2016-12-15T13:22:50.257694 #13281] INFO -- : Writing /Users/rm012685/one_offs/testing/public/assets/support/bind-poly-673e8b5b90e465c606475ec50508a4019faf6fc1c4f6456ffa7e4d03a64c1f28.js I, [2016-12-15T13:22:50.257820 #13281] INFO -- : Writing /Users/rm012685/one_offs/testing/public/assets/support/bind-poly-673e8b5b90e465c606475ec50508a4019faf6fc1c4f6456ffa7e4d03a64c1f28.js.gz I, [2016-12-15T13:22:50.262732 #13281] INFO -- : Writing /Users/rm012685/one_offs/testing/public/assets/support/phantomjs-shims-f6867d3adaf9c1a659d0ca8e170f147e97bbde37736890cf05d84e7b5020fed4.js I, [2016-12-15T13:22:50.262835 #13281] INFO -- : Writing /Users/rm012685/one_offs/testing/public/assets/support/phantomjs-shims-f6867d3adaf9c1a659d0ca8e170f147e97bbde37736890cf05d84e7b5020fed4.js.gz I, [2016-12-15T13:22:50.368449 #13281] INFO -- : Writing /Users/rm012685/one_offs/testing/public/assets/support/sinon-107004c65c42d732bf89855e57cf0be455a37c11d349eb973e6b319ce327636f.js I, [2016-12-15T13:22:50.368571 #13281] INFO -- : Writing /Users/rm012685/one_offs/testing/public/assets/support/sinon-107004c65c42d732bf89855e57cf0be455a37c11d349eb973e6b319ce327636f.js.gz rake aborted! ExecJS::ProgramError: ReferenceError: CoffeeScript is not defined compile ((execjs):10:18) eval (eval at ((execjs):24:8), :1:10) (execjs):24:8 (execjs):30:14 (execjs):1:102 Object. ((execjs):1:120) Module._compile (module.js:571:32) Object.Module._extensions..js (module.js:580:10) Module.load (module.js:488:32) tryModuleLoad (module.js:447:12) /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:39:in exec' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:21:ineval' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:46:in call' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/coffee-script-2.4.1/lib/coffee_script.rb:78:incompile' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/coffee_script_processor.rb:21:in block in call' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/cache.rb:85:infetch' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/coffee_script_processor.rb:20:in call' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/processor_utils.rb:75:incall_processor' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/processor_utils.rb:57:in block in call_processors' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/processor_utils.rb:56:inreverse_each' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/processor_utils.rb:56:in call_processors' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/loader.rb:134:inload_from_unloaded' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/loader.rb:60:in block in load' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/loader.rb:317:infetch_asset_from_dependency_cache' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/loader.rb:44:in load' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/cached_environment.rb:20:inblock in initialize' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/cached_environment.rb:47:in yield' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/cached_environment.rb:47:inload' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/bundle.rb:23:in block in call' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/utils.rb:196:indfs' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/bundle.rb:24:in call' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/processor_utils.rb:75:incall_processor' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/processor_utils.rb:57:in block in call_processors' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/processor_utils.rb:56:inreverse_each' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/processor_utils.rb:56:in call_processors' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/loader.rb:134:inload_from_unloaded' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/loader.rb:60:in block in load' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/loader.rb:317:infetch_asset_from_dependency_cache' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/loader.rb:44:in load' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/cached_environment.rb:20:inblock in initialize' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/cached_environment.rb:47:in yield' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/cached_environment.rb:47:inload' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/base.rb:66:in find_asset' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/base.rb:73:infind_all_linked_assets' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/manifest.rb:142:in block in find' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/legacy.rb:114:inblock (2 levels) in logical_paths' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:228:in block in stat_tree' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:212:inblock in stat_directory' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:209:in each' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:209:instat_directory' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:227:in stat_tree' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:231:inblock in stat_tree' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:212:in block in stat_directory' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:209:ineach' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:209:in stat_directory' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/path_utils.rb:227:instat_tree' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/legacy.rb:105:in each' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/legacy.rb:105:inblock in logical_paths' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/legacy.rb:104:in each' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/legacy.rb:104:inlogical_paths' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/manifest.rb:140:in find' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/sprockets/manifest.rb:185:incompile' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-rails-3.2.0/lib/sprockets/rails/task.rb:68:in block (3 levels) in define' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-3.7.0/lib/rake/sprocketstask.rb:147:inwith_logger' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/sprockets-rails-3.2.0/lib/sprockets/rails/task.rb:67:in block (2 levels) in define' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/rake-12.0.0/exe/rake:27:in<top (required)>' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/bundler-1.12.5/lib/bundler/cli/exec.rb:63:in load' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/bundler-1.12.5/lib/bundler/cli/exec.rb:63:inkernel_load' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/bundler-1.12.5/lib/bundler/cli/exec.rb:24:in run' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/bundler-1.12.5/lib/bundler/cli.rb:304:inexec' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor/command.rb:27:in run' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:ininvoke_command' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor.rb:359:in dispatch' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor/base.rb:440:instart' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/bundler-1.12.5/lib/bundler/cli.rb:11:in start' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/bundler-1.12.5/exe/bundle:27:inblock in <top (required)>' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/bundler-1.12.5/lib/bundler/friendly_errors.rb:98:in with_friendly_errors' /Users/rm012685/.rvm/gems/ruby-2.1.3/gems/bundler-1.12.5/exe/bundle:19:in<top (required)>' /Users/rm012685/.rvm/gems/ruby-2.1.3/bin/bundle:23:in load' /Users/rm012685/.rvm/gems/ruby-2.1.3/bin/bundle:23:in

' Tasks: TOP => assets:precompile (See full trace by running task with --trace) {noformat}

ryanthemanuel commented 7 years ago

This looks like it was a problem with coffee script and fixed here: https://github.com/jashkenas/coffeescript/issues/4403. Closing this since it is no longer an issue.