From 0889f22a3b53678670963256688a9584aff8a4fe Mon Sep 17 00:00:00 2001 From: David Taylor Date: Tue, 7 Nov 2023 11:34:19 +0000 Subject: [PATCH] FIX: Correctly map fingerprinted vendor.js file in production (#24267) Followup to a0b94dca16504521120a555d4851836ec17cbd30 --- lib/ember_cli.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/ember_cli.rb b/lib/ember_cli.rb index d866cd2bf38..7e1b9a4097d 100644 --- a/lib/ember_cli.rb +++ b/lib/ember_cli.rb @@ -24,6 +24,12 @@ class EmberCli < ActiveSupport::CurrentAttributes value["assets"].map { |chunk| chunk.delete_prefix("assets/").delete_suffix(".js") } end + # Special case - vendor.js is fingerprinted by Embroider in production, but not run through Webpack + if !assets.include?("vendor.js") && + fingerprinted = assets.find { |a| a.match?(/^vendor\..*\.js$/) } + chunk_infos["vendor"] = [fingerprinted.delete_suffix(".js")] + end + @production_chunk_infos = chunk_infos if Rails.env.production? self.request_cached_script_chunks = chunk_infos rescue Errno::ENOENT @@ -57,7 +63,7 @@ class EmberCli < ActiveSupport::CurrentAttributes end def self.clear_cache! - @prod_chunk_infos = nil + @production_chunk_infos = nil @assets = nil self.request_cached_script_chunks = nil end