From ae9965dd690ba637a4ac00ed479d83e24c046a1a Mon Sep 17 00:00:00 2001 From: Andrey Zhupik Date: Mon, 13 Aug 2018 18:27:44 +0300 Subject: [PATCH] fix(webpack): use source when possible (#139) Actually file is read in all cases, this is useless and inefficient. --- packages/webpack/src/index.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/webpack/src/index.js b/packages/webpack/src/index.js index dd3a1f28..4a0bd048 100644 --- a/packages/webpack/src/index.js +++ b/packages/webpack/src/index.js @@ -41,11 +41,17 @@ function svgrLoader(source) { ) }) - readSvg() - .then(svg => convert(svg, options, { webpack: { previousExport } })) - .then(jsCode => (babel ? pBabelTransform(jsCode) : jsCode)) - .then(result => callback(null, result)) - .catch(err => callback(err)) + const tranformSvg = svg => + convert(svg, options, { webpack: { previousExport } }) + .then(jsCode => (babel ? pBabelTransform(jsCode) : jsCode)) + .then(result => callback(null, result)) + .catch(err => callback(err)) + + if (exportMatches) { + readSvg().then(tranformSvg) + } else { + tranformSvg(source) + } } export default svgrLoader