middleman / middleman

Hand-crafted frontend development

Home Page:https://middlemanapp.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Server error retrieving the css on a new project on v4.2.2

arbesulo opened this issue · comments

Expected behavior and actual behavior

The css file is properly generated. On version 4.2.1 still works properly

Steps to reproduce the problem (from a clean middleman installation)

gem install middleman
middleman init demo
cd demo
bundle exec middleman --verbose
open http://127.0.0.1:4567/stylesheets/site.css

The following error is displayed in the server: TypeError: Cannot read properties of undefined (reading 'version') (stacktrace bellow)
The HTTP response code for the request is 500

Additional information

  • Ruby version: v2.7.1
  • Middleman version: 4.4.2
  • OS version: Mac OS Monterey 12.5.1

Stacktrace

ERROR ExecJS::ProgramError: TypeError: Cannot read properties of undefined (reading 'version')
        eval (eval at <anonymous> ((execjs):1:213), <anonymous>:1:10)
        (execjs):1:213
        (execjs):19:14
        (execjs):1:40
        Object.<anonymous> ((execjs):1:58)
        Module._compile (node:internal/modules/cjs/loader:1101:14)
        Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
        Module.load (node:internal/modules/cjs/loader:981:32)
        Function.Module._load (node:internal/modules/cjs/loader:822:12)
        Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12)
        /Users/user/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/execjs-2.8.1/lib/execjs/external_runtime.rb:39:in `exec'
        /Users/user/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/execjs-2.8.1/lib/execjs/external_runtime.rb:21:in `eval'
        /Users/user/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/execjs-2.8.1/lib/execjs/runtime.rb:64:in `eval'
        /Users/user/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/autoprefixer-rails-9.8.6.5/lib/autoprefixer-rails/processor.rb:170:in `runtime'
        /Users/user/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/autoprefixer-rails-9.8.6.5/lib/autoprefixer-rails/processor.rb:53:in `process'
        /Users/user/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/middleman-autoprefixer-2.10.1/lib/middleman-autoprefixer/extension.rb:83:in `prefix'
        /Users/user/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/middleman-autoprefixer-2.10.1/lib/middleman-autoprefixer/extension.rb:74:in `process'
        /Users/user/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/middleman-autoprefixer-2.10.1/lib/middleman-autoprefixer/extension.rb:60:in `call'
        /Users/user/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/rack-2.2.4/lib/rack/head.rb:12:in `call'
        /Users/user/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/rack-2.2.4/lib/rack/lint.rb:50:in `_call'
        /Users/user/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/rack-2.2.4/lib/rack/lint.rb:38:in `call'
        /Users/user/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/rack-2.2.4/lib/rack/builder.rb:244:in `call'
        /Users/user/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/rack-2.2.4/lib/rack/handler/webrick.rb:95:in `service'
        /Users/user/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/webrick-1.7.0/lib/webrick/httpserver.rb:140:in `service'
        /Users/user/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/webrick-1.7.0/lib/webrick/httpserver.rb:96:in `run'
        /Users/user/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/webrick-1.7.0/lib/webrick/server.rb:310:in `block in start_thread'

It is a execjs 2.8.0 issue: rails/execjs#99

locking the execjs gem to version 2.7.0 in Gemfile solves the problem for me:

gem 'execjs', '2.7.0'
commented

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.