@@ -172,6 +172,7 @@ define([
172
172
* and writes it to the modules layer.
173
173
* @param {string } dest - Current css layer path.
174
174
* @param {Array } loadList - List of css files contained in current css layer.
175
+ * @returns {boolean } Return `true` if the function successfully writes the layer.
175
176
*/
176
177
writeLayer : function ( writePluginFiles , dest , loadList ) {
177
178
function tryRequire ( paths ) {
@@ -190,18 +191,19 @@ define([
190
191
191
192
var path = require . getNodePath ( require . toUrl ( module . id ) . replace ( / [ ^ \/ ] * $ / , "node_modules/clean-css" ) ) ;
192
193
var CleanCSS = tryRequire ( [ path , "clean-css" ] ) ;
194
+ var fs = require . nodeRequire ( "fs" ) ;
195
+
196
+ loadList = loadList . map ( require . toUrl )
197
+ . filter ( function ( path ) {
198
+ if ( ! fs . existsSync ( path ) ) {
199
+ console . log ( ">> Css file '" + path + "' was not found." ) ;
200
+ return false ;
201
+ }
202
+ return true ;
203
+ } ) ;
193
204
194
205
if ( CleanCSS ) {
195
206
var result = "" ;
196
- loadList = loadList . map ( require . toUrl )
197
- . filter ( function ( path ) {
198
- var fs = require . nodeRequire ( "fs" ) ;
199
- if ( ! fs . existsSync ( path ) ) {
200
- console . log ( ">> Css file '" + path + "' was not found." ) ;
201
- return false ;
202
- }
203
- return true ;
204
- } ) ;
205
207
loadList . forEach ( function ( src ) {
206
208
result += new CleanCSS ( {
207
209
relativeTo : "./" ,
@@ -210,9 +212,14 @@ define([
210
212
} ) ;
211
213
212
214
writePluginFiles ( dest , result ) ;
215
+ return true ;
213
216
} else {
214
217
console . log ( ">> Node module clean-css not found. Skipping CSS inlining. If you want CSS inlining" +
215
218
" run 'npm install clean-css' in your console." ) ;
219
+ loadList . forEach ( function ( src ) {
220
+ writePluginFiles ( src , fs . readFileSync ( src ) ) ;
221
+ } ) ;
222
+ return false ;
216
223
}
217
224
} ,
218
225
@@ -238,9 +245,9 @@ define([
238
245
var destMid = data . name . replace ( / ^ ( ( [ ^ \/ ] * \/ ) * ) [ ^ \/ ] * $ / , "$1css/layer.css" ) ;
239
246
240
247
// Write layer file
241
- buildFunctions . writeLayer ( writePluginFiles , dest , loadList ) ;
242
- // Write css config on the layer
243
- buildFunctions . writeConfig ( write , module . id , destMid , loadList ) ;
248
+ var success = buildFunctions . writeLayer ( writePluginFiles , dest , loadList ) ;
249
+ // Write css config on the layer if the layer was successfully written.
250
+ success && buildFunctions . writeConfig ( write , module . id , destMid , loadList ) ;
244
251
// Reset loadList
245
252
loadList = [ ] ;
246
253
}
0 commit comments