vwochnik / jekyll-autoprefixer

Autoprefixer integration for Jekyll
MIT License
64 stars 16 forks source link

ExecJS 2.8.0 breaks it #11

Open victorbnl opened 3 years ago

victorbnl commented 3 years ago

Some minutes ago ExecJS released the 2.8.0 version, but it seems to break jekyll-autoprefixer :

Configuration file: /home/---/Documents/colabois.fr/_config.yml
            Source: /home/---/Documents/colabois.fr
       Destination: /home/---/Documents/colabois.fr/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
                    ------------------------------------------------
      Jekyll 4.2.0   Please append `--trace` to the `build` command 
                     for any additional information or backtrace. 
                    ------------------------------------------------
Traceback (most recent call last):
        43: from /home/---/.rvm/gems/ruby-2.7.3/bin/ruby_executable_hooks:22:in `<main>'
        42: from /home/---/.rvm/gems/ruby-2.7.3/bin/ruby_executable_hooks:22:in `eval'
        41: from /home/---/.rvm/gems/ruby-2.7.3/bin/jekyll:23:in `<main>'
        40: from /home/---/.rvm/gems/ruby-2.7.3/bin/jekyll:23:in `load'
        39: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-4.2.0/exe/jekyll:15:in `<top (required)>'
        38: from /home/---/.rvm/gems/ruby-2.7.3/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
        37: from /home/---/.rvm/gems/ruby-2.7.3/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
        36: from /home/---/.rvm/gems/ruby-2.7.3/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
        35: from /home/---/.rvm/gems/ruby-2.7.3/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
        34: from /home/---/.rvm/gems/ruby-2.7.3/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
        33: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-4.2.0/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
        32: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
        31: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `each'
        30: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-4.2.0/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
        29: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-4.2.0/lib/jekyll/commands/build.rb:36:in `process'
        28: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-4.2.0/lib/jekyll/commands/build.rb:65:in `build'
        27: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-4.2.0/lib/jekyll/command.rb:28:in `process_site'
        26: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-4.2.0/lib/jekyll/site.rb:82:in `process'
        25: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-4.2.0/lib/jekyll/site.rb:234:in `write'
        24: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-4.2.0/lib/jekyll/hooks.rb:102:in `trigger'
        23: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-4.2.0/lib/jekyll/hooks.rb:102:in `each'
        22: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-4.2.0/lib/jekyll/hooks.rb:103:in `block in trigger'
        21: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-autoprefixer-1.0.2/lib/jekyll-autoprefixer.rb:24:in `block in <top (required)>'
        20: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-autoprefixer-1.0.2/lib/jekyll/autoprefixer/autoprefixer.rb:20:in `process'
        19: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-autoprefixer-1.0.2/lib/jekyll/autoprefixer/autoprefixer.rb:20:in `each'
        18: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-autoprefixer-1.0.2/lib/jekyll/autoprefixer/autoprefixer.rb:23:in `block in process'
        17: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-autoprefixer-1.0.2/lib/jekyll/autoprefixer/autoprefixer.rb:23:in `open'
        16: from /home/---/.rvm/gems/ruby-2.7.3/gems/jekyll-autoprefixer-1.0.2/lib/jekyll/autoprefixer/autoprefixer.rb:27:in `block (2 levels) in process'
        15: from /home/---/.rvm/gems/ruby-2.7.3/gems/autoprefixer-rails-9.8.6.5/lib/autoprefixer-rails.rb:16:in `process'
        14: from /home/---/.rvm/gems/ruby-2.7.3/gems/autoprefixer-rails-9.8.6.5/lib/autoprefixer-rails/processor.rb:53:in `process'
        13: from /home/---/.rvm/gems/ruby-2.7.3/gems/autoprefixer-rails-9.8.6.5/lib/autoprefixer-rails/processor.rb:170:in `runtime'
        12: from /home/---/.rvm/gems/ruby-2.7.3/gems/execjs-2.8.0/lib/execjs/runtime.rb:64:in `eval'
        11: from /home/---/.rvm/gems/ruby-2.7.3/gems/execjs-2.8.0/lib/execjs/external_runtime.rb:21:in `eval'
        10: from /home/---/.rvm/gems/ruby-2.7.3/gems/execjs-2.8.0/lib/execjs/external_runtime.rb:39:in `exec'
         9: from Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
         8: from Function.Module._load (node:internal/modules/cjs/loader:829:14)
         7: from Module.load (node:internal/modules/cjs/loader:989:32)
         6: from Object.Module._extensions..js (node:internal/modules/cjs/loader:1138:10)
         5: from Module._compile (node:internal/modules/cjs/loader:1109:14)
         4: from Object.<anonymous> ((execjs):1:58)
         3: from (execjs):1:40
         2: from (execjs):16:14
         1: from (execjs):1:213
eval (eval at <anonymous> ((execjs):1:213), <anonymous>:1:10): TypeError: Cannot read property 'version' of undefined (ExecJS::ProgramError)

Specifying the 2.7.0 version in the Gemfile works, so this issue is present only on 2.8.0

victorbnl commented 3 years ago

I also made an issue at ExecJS : https://github.com/rails/execjs/issues/99

victorbnl commented 3 years ago

Actually it doesn't seem related to jekyll-autoprefixer, according to this comment : https://github.com/rails/execjs/issues/99#issuecomment-837203559

lunacodes commented 3 years ago

Thanks for link @victorbnl . The issue seems to be with autoprefixer-rails (same issue as autoprefixer, mentioned in the thread). There's a fix for this in v10.2.5.1

Note: I haven't verified that the fix works. I've just down-versioned togem "jekyll-autoprefixer", "1.0.1" in my Gemfile for now.

Submitted a PR with the dependency change.