@@ -100,21 +100,23 @@ def loader=(sym)
100100      end 
101101
102102      def  build_config 
103-         self [ :build_config ]  =  self . run_config . merge  "baseUrl"  =>  source_dir . to_s , 
104-                                                     "modules"  =>  [ { 'name'  =>  'application' } ] 
105-         self [ :build_config ] . merge! ( self . user_config ) . slice! ( *self . build_config_whitelist ) 
106-         case  self . loader 
107-           when  :requirejs 
108-             # nothing to do 
109-           when  :almond 
110-             mods  =  self [ :build_config ] [ 'modules' ] 
111-             unless  mods . length  == 1 
112-               raise  Requirejs ::ConfigError ,  "Almond build requires exactly one module, config has #{ mods . length }  
113-             end 
114-             mod  =  mods [ 0 ] 
115-             name  =  mod [ 'name' ] 
116-             mod [ 'name' ]  =  'almond' 
117-             mod [ 'include' ]  =  name 
103+         unless  self . has_key? ( :build_config ) 
104+           self [ :build_config ]  =  self . run_config . merge  "baseUrl"  =>  source_dir . to_s , 
105+                                                       "modules"  =>  [ { 'name'  =>  'application' } ] 
106+           self [ :build_config ] . merge! ( self . user_config ) . slice! ( *self . build_config_whitelist ) 
107+           case  self . loader 
108+             when  :requirejs 
109+               # nothing to do 
110+             when  :almond 
111+               mods  =  self [ :build_config ] [ 'modules' ] 
112+               unless  mods . length  == 1 
113+                 raise  Requirejs ::ConfigError ,  "Almond build requires exactly one module, config has #{ mods . length }  
114+               end 
115+               mod  =  mods [ 0 ] 
116+               name  =  mod [ 'name' ] 
117+               mod [ 'name' ]  =  'almond' 
118+               mod [ 'include' ]  =  name 
119+           end 
118120        end 
119121        self [ :build_config ] 
120122      end 
@@ -131,6 +133,9 @@ def user_config=(cfg)
131133        if  url  =  cfg . delete ( 'baseUrl' ) 
132134          raise  Requirejs ::ConfigError ,  "baseUrl is not needed or permitted in the configuration" 
133135        end 
136+         # delete any cached configs, will be lazily resolved 
137+         self . delete ( :build_config ) 
138+         self . delete ( :run_config ) 
134139        self [ :user_config ]  =  cfg 
135140      end 
136141
0 commit comments