Skip to content
This repository was archived by the owner on Mar 23, 2024. It is now read-only.

Commit 8785162

Browse files
committed
Add a dedicated build directory for the optimizer
1 parent da0a7e7 commit 8785162

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

lib/requirejs/rails/config.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,15 @@ def initialize(application)
1717
self.tmp_dir = application.root + 'tmp'
1818
self.bin_dir = Pathname.new(__FILE__+'/../../../../bin').cleanpath
1919

20-
self.source_dir = self.tmp_dir + 'assets'
20+
self.source_dir = self.tmp_dir.join("requirejs/src")
21+
self.build_dir = self.tmp_dir.join("requirejs/dst")
2122
self.target_dir = application.root + 'public/assets'
2223
self.rjs_path = self.bin_dir+'r.js'
2324

2425
self.loader = :requirejs
2526

2627
self.driver_template_path = Pathname.new(__FILE__+'/../rjs_driver.js.erb').cleanpath
27-
self.driver_path = self.tmp_dir + 'rjs_driver.js'
28+
self.driver_path = self.tmp_dir.join("requirejs/rjs_driver.js")
2829

2930
self.user_config = {}
3031

lib/requirejs/rails/rjs_driver.js.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ var requirejs = require('<%= rjs_path %>'),
55
baseConfig = <%=
66
modifiedHash = build_config.select {|k, _| k != "modules"}
77
pathsHash = modifiedHash["paths"]
8-
modifiedHash["dir"] = self.target_dir.to_s
8+
modifiedHash["dir"] = build_dir.to_s
99
modifiedHash["paths"] = pathsHash.select {|_, v| !v.is_a?(Array)} if !pathsHash.nil?
1010

1111
JSON.pretty_generate(modifiedHash)

lib/tasks/requirejs-rails_tasks.rake

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ OS X Homebrew users can use 'brew install node'.
9090
task :prepare_source => ["requirejs:setup",
9191
"requirejs:clean"] do
9292
requirejs.config.source_dir.mkpath
93+
requirejs.config.build_dir.mkpath
94+
requirejs.config.driver_path.parent.mkpath
95+
9396
requirejs.env.each_logical_path do |logical_path|
9497
next unless requirejs.config.asset_allowed?(logical_path)
9598
if asset = requirejs.env.find_asset(logical_path)
@@ -119,7 +122,7 @@ OS X Homebrew users can use 'brew install node'.
119122
task :digestify_and_compress => ["requirejs:setup"] do
120123
requirejs.config.build_config['modules'].each do |m|
121124
asset_name = "#{requirejs.config.module_name_for(m)}.js"
122-
built_asset_path = requirejs.config.target_dir + asset_name
125+
built_asset_path = requirejs.config.build_dir.join(asset_name)
123126
digest_name = asset_name.sub(/\.(\w+)$/) { |ext| "-#{requirejs.builder.digest_for(built_asset_path)}#{ext}" }
124127
digest_asset_path = requirejs.config.target_dir + digest_name
125128
requirejs.manifest[asset_name] = digest_name

0 commit comments

Comments
 (0)