diff --git a/lib/loader.js b/lib/loader.js index f0856b4..7b98ef2 100644 --- a/lib/loader.js +++ b/lib/loader.js @@ -4,7 +4,6 @@ const SVGCompiler = require('svg-baker'); const { NAMESPACE } = require('./config'); const configure = require('./configurator'); -const { getWebpackVersion } = require('./utils'); const Exceptions = require('./exceptions'); let svgCompiler = new SVGCompiler(); @@ -31,13 +30,8 @@ module.exports = function loader(content) { const configObj = { context: loaderContext }; - if (getWebpackVersion.IS_4) { - configObj.config = loaderContext.query; - configObj.target = loaderContext.target; - } else { - configObj.config = matchedRules; - configObj.target = loaderContext.options.target || loaderContext.target; - } + configObj.config = matchedRules; + configObj.target = loaderContext.target; /** * @type {SVGSpriteLoaderConfig} diff --git a/lib/plugin.js b/lib/plugin.js index a79898a..592ea8e 100644 --- a/lib/plugin.js +++ b/lib/plugin.js @@ -9,12 +9,9 @@ const { MappedList, replaceInModuleSource, replaceSpritePlaceholder, - getWebpackVersion, getMatchedRule } = require('./utils'); -const webpackVersion = parseInt(getWebpackVersion(), 10); - const defaultConfig = { plainSprite: false, spriteAttrs: {} @@ -187,21 +184,15 @@ class SVGSpritePlugin { chunks.forEach((chunk) => { let modules; - switch (webpackVersion) { - case 4: - modules = Array.from(chunk.modulesIterable); - break; - case 3: - modules = chunk.mapModules(); - break; - default: - ({ modules } = chunk); - break; + if (chunk.modulesIterable) { + modules = Array.from(chunk.modulesIterable); + } else { + modules = chunk.modules; } modules - // dirty hack to identify modules extracted by extract-text-webpack-plugin - // TODO refactor + // dirty hack to identify modules extracted by extract-text-webpack-plugin + // TODO refactor .filter(module => '_originalModule' in module) .forEach(module => replaceInModuleSource(module, replacements)); }); diff --git a/lib/utils/get-module-chunk.js b/lib/utils/get-module-chunk.js index 7c55f1b..4f028d9 100644 --- a/lib/utils/get-module-chunk.js +++ b/lib/utils/get-module-chunk.js @@ -1,5 +1,3 @@ -const webpackVersion = require('./get-webpack-version'); - /** * Find nearest module chunk (not sure that is reliable method, but who cares). * @see http://stackoverflow.com/questions/43202761/how-to-determine-all-module-chunks-in-webpack @@ -10,9 +8,9 @@ const webpackVersion = require('./get-webpack-version'); function getModuleChunk(module, modules) { let chunks; - if (webpackVersion.IS_4) { + if (module.chunksIterable) { chunks = Array.from(module.chunksIterable); - } else if (parseInt(webpackVersion(), 10) >= 3) { + } else if (module.mapChunks) { chunks = module.mapChunks(); } else { chunks = module.chunks; diff --git a/lib/utils/index.js b/lib/utils/index.js index d6d2059..5d82af6 100644 --- a/lib/utils/index.js +++ b/lib/utils/index.js @@ -5,7 +5,6 @@ module.exports.getAllModules = require('./get-all-modules'); // module.exports.getLoaderOptions = require('./get-loader-options'); module.exports.getModuleChunk = require('./get-module-chunk'); module.exports.getMatchedRule = require('./get-matched-rule'); -module.exports.getWebpackVersion = require('./get-webpack-version'); module.exports.isModuleShouldBeExtracted = require('./is-module-should-be-extracted'); module.exports.interpolate = require('./interpolate'); module.exports.isWebpack1 = require('./is-webpack-1');