From f070f6b89f1a05cbed9355fb30e369ab7f92418c Mon Sep 17 00:00:00 2001 From: Glen Maddern Date: Fri, 29 Jul 2016 16:51:29 +1000 Subject: [PATCH] Remove CSS Modules postcss plugins in Global mode Fixes #308 --- lib/processCss.js | 57 ++++++++++++++++++++++++++--------------------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/lib/processCss.js b/lib/processCss.js index 53bfac98..ce1887ec 100644 --- a/lib/processCss.js +++ b/lib/processCss.js @@ -147,33 +147,40 @@ module.exports = function processCss(inputSource, inputMap, options, callback) { import: query.import !== false }; - var pipeline = postcss([ - localByDefault({ - mode: options.mode, - rewriteUrl: function(global, url) { - if(parserOptions.url){ - if(!loaderUtils.isUrlRequest(url, root)) { - return url; - } - if(global) { - return loaderUtils.urlToRequest(url, root); + var pipeline = postcss( + (options.mode === 'local' ? [ + /* LOCAL ONLY POSTCSS PLUGINS */ + localByDefault({ + mode: options.mode, + rewriteUrl: function(global, url) { + if(parserOptions.url){ + if(!loaderUtils.isUrlRequest(url, root)) { + return url; + } + if(global) { + return loaderUtils.urlToRequest(url, root); + } } + return url; } - return url; - } - }), - extractImports(), - modulesValues, - modulesScope({ - generateScopedName: function(exportName) { - return getLocalIdent(options.loaderContext, localIdentName, exportName, { - regExp: localIdentRegExp, - hashPrefix: query.hashPrefix || "", - context: context - }); - } - }), - parserPlugin(parserOptions) + }), + extractImports(), + modulesValues, + modulesScope({ + generateScopedName: function(exportName) { + return getLocalIdent(options.loaderContext, localIdentName, exportName, { + regExp: localIdentRegExp, + hashPrefix: query.hashPrefix || "", + context: context + }); + } + }) + ] : [ + /* GLOBAL ONLY POSTCSS PLUGINS */ + ]).concat([ + /* COMMON POSTCSS PLUGINS */ + parserPlugin(parserOptions) + ]) ]); if(minimize) {