@@ -7,6 +7,7 @@ var Gittle = require('gittle');
7
7
var Gift = require ( 'gift' ) ;
8
8
var temp = require ( 'temp' ) ;
9
9
var wrench = require ( 'wrench' ) ;
10
+ var requirejs = require ( 'requirejs' ) ;
10
11
var exec = require ( 'child_process' ) . exec ;
11
12
12
13
function setup ( options , imports , register , app ) {
@@ -77,10 +78,15 @@ function setup(options, imports, register, app) {
77
78
78
79
// Optimize client addon
79
80
var optimizeAddon = function ( addon ) {
81
+ var d = Q . defer ( ) ;
82
+
80
83
if ( ! isClientside ( addon ) ) {
81
84
return Q . reject ( new Error ( "Not a cleint side addon" ) ) ;
82
85
}
83
86
87
+ // R.js bin
88
+ var rjs = path . resolve ( __dirname , "../../node_modules/.bin/r.js" ) ;
89
+
84
90
// Base directory for the addon
85
91
var addonPath = path . resolve ( addonsPath + '/' + addon . name + '/' ) ;
86
92
@@ -93,9 +99,27 @@ function setup(options, imports, register, app) {
93
99
// Output file
94
100
var output = path . resolve ( addonPath , "addon-built.js" ) ;
95
101
96
- var command = "r.js -o baseUrl=" + addonPath + " paths.require-tools=" + requiretoolsPath + " name=" + main + " map.*.css=require-tools/css/css map.*.less=require-tools/less/less out=" + output ;
97
-
98
- logger . log ( "Optimizing" , addon . name ) ;
102
+ // Build config
103
+ var optconfig = {
104
+ 'baseUrl' : addonPath ,
105
+ 'name' : main ,
106
+ 'out' : output ,
107
+ 'paths' : {
108
+ 'require-tools' : requiretoolsPath
109
+ } ,
110
+ 'optimize' : "none" ,
111
+ 'map' : {
112
+ '*' : {
113
+ 'css' : "require-tools/css/css" ,
114
+ 'less' : "require-tools/less/less"
115
+ }
116
+ }
117
+ } ;
118
+
119
+ var command = rjs + " -o baseUrl=" + addonPath + " paths.require-tools=" + requiretoolsPath + " name=" + main + " map.*.css=require-tools/css/css map.*.less=require-tools/less/less out=" + output ;
120
+
121
+ // Run optimization
122
+ logger . log ( "Optimizing" , addon . name , command ) ;
99
123
return Q . nfcall ( exec , command ) . fail ( function ( err ) {
100
124
logger . error ( "error for" , addon . name ) ;
101
125
logger . exception ( err , false ) ;
0 commit comments