From c7babb62fe7418d23f7ae66c85a1519817c9b915 Mon Sep 17 00:00:00 2001 From: Jonathan Hyman Date: Wed, 24 Jun 2015 16:38:17 -0400 Subject: [PATCH] Generate the asset hash for a file based on its built contents, not the static contents from sprockets. --- lib/tasks/requirejs-rails_tasks.rake | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/tasks/requirejs-rails_tasks.rake b/lib/tasks/requirejs-rails_tasks.rake index d4296a59..a8691f41 100644 --- a/lib/tasks/requirejs-rails_tasks.rake +++ b/lib/tasks/requirejs-rails_tasks.rake @@ -160,7 +160,11 @@ OS X Homebrew users can use 'brew install node'. asset = requirejs.env.find_asset(asset_name) built_asset_path = requirejs.config.build_dir.join(asset_name) - digest_name = asset.digest_path + + file_digest = ::Rails.application.assets.file_digest(built_asset_path) + hex_digest = Sprockets::DigestUtils.pack_hexdigest(file_digest) + digest_name = asset.logical_path.sub(/\.(\w+)$/) { |ext| "-#{hex_digest}#{ext}" } + digest_asset_path = requirejs.config.target_dir + digest_name # Ensure that the parent directory `a/b` for modules with names like `a/b/c` exist.