diff --git a/lib/decidim/dev/test/rspec_support/webpacker.rb b/lib/decidim/dev/test/rspec_support/webpacker.rb new file mode 100644 index 000000000..2552f1b34 --- /dev/null +++ b/lib/decidim/dev/test/rspec_support/webpacker.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +RSpec.configure do |config| + config.before(:all) do + raise "Rails.root directory does not exist" unless Rails.root.exist? + raise "package.json file does not exist" unless Rails.root.join("package.json").exist? + + Dir.chdir(Rails.root) { Webpacker.compile } + rescue Errno::ENOENT + node_modules_contents = `ls #{Rails.root.join("node_modules")}` + + message = <<~ERROR + There was an error during the Webpacker compilation + #{"=" * 80} + Node version: #{`node -v`} + #{"=" * 80} + NPM version: #{`npm -v`} + #{"=" * 80} + Node modules packages: #{`npm list`} + #{"=" * 80} + Node modules contents: #{node_modules_contents} + #{"=" * 80} + ERROR + + raise message + end +end diff --git a/spec/lib/overrides_spec.rb b/spec/lib/overrides_spec.rb index e4666ff6a..ba3f36906 100644 --- a/spec/lib/overrides_spec.rb +++ b/spec/lib/overrides_spec.rb @@ -110,6 +110,12 @@ "/lib/decidim/forms/user_answers_serializer.rb" => "a81a7e01a12ead59cc6cb7505b1041b5" } }, + { + package: "decidim-dev", + files: { + "/lib/decidim/dev/test/rspec_support/webpacker.rb" => "1c61c660c9e3b1aaf767fce948b9c371" + } + }, { # Fix origami date compatibility with Ruby 3.0 monkey-patching it on origami_date.rb package: "origami",