Skip to content

Commit 33daf64

Browse files
authored
Merge pull request webpack#6345 from Connormiha/regexpr-optimize
Optimize regexp, getEntryPointsSize
2 parents ba0fdad + a403cbf commit 33daf64

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

lib/NormalModuleFactory.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,9 @@ class NormalModuleFactory extends Tapable {
141141
const context = data.context;
142142
const request = data.request;
143143

144-
const noAutoLoaders = /^-?!/.test(request);
145-
const noPrePostAutoLoaders = /^!!/.test(request);
146-
const noPreAutoLoaders = /^-!/.test(request);
144+
const noPreAutoLoaders = request.startsWith("-!");
145+
const noAutoLoaders = noPreAutoLoaders || request.startsWith("!");
146+
const noPrePostAutoLoaders = request.startsWith("!!");
147147
let elements = request.replace(/^-?!+/, "").replace(/!!+/g, "!").split("!");
148148
let resource = elements.pop();
149149
elements = elements.map(identToLoaderRequest);
@@ -177,7 +177,7 @@ class NormalModuleFactory extends Tapable {
177177
// translate option idents
178178
try {
179179
loaders.forEach(item => {
180-
if(typeof item.options === "string" && /^\?/.test(item.options)) {
180+
if(typeof item.options === "string" && item.options[0] === "?") {
181181
const ident = item.options.substr(1);
182182
item.options = this.ruleSet.findOptionsByIdent(ident);
183183
item.ident = ident;

lib/performance/SizeLimitsPlugin.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,20 @@ module.exports = class SizeLimitsPlugin {
1818
const entrypointSizeLimit = this.maxEntrypointSize;
1919
const assetSizeLimit = this.maxAssetSize;
2020
const hints = this.hints;
21-
const assetFilter = this.assetFilter || (asset => !(/\.map$/.test(asset)));
21+
const assetFilter = this.assetFilter || (asset => !(asset.endsWith(".map")));
2222

2323
compiler.hooks.afterEmit.tap("SizeLimitsPlugin", (compilation) => {
2424
const warnings = [];
2525

2626
const getEntrypointSize = entrypoint =>
2727
entrypoint.getFiles()
28-
.filter(assetFilter)
29-
.map(file => compilation.assets[file])
30-
.filter(Boolean)
31-
.map(asset => asset.size())
32-
.reduce((currentSize, nextSize) => currentSize + nextSize, 0);
28+
.reduce((currentSize, file) => {
29+
if(assetFilter(file) && compilation.assets[file]) {
30+
return currentSize + compilation.assets[file].size();
31+
}
32+
33+
return currentSize;
34+
}, 0);
3335

3436
const assetsOverSizeLimit = [];
3537
Object.keys(compilation.assets)

0 commit comments

Comments
 (0)