From 9df98e65f842cf3acae09cbdd969966f42d64469 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sat, 14 Oct 2017 18:40:54 +0200 Subject: update dependencies --- node_modules/webpack/lib/Template.js | 38 +++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 14 deletions(-) (limited to 'node_modules/webpack/lib/Template.js') diff --git a/node_modules/webpack/lib/Template.js b/node_modules/webpack/lib/Template.js index b3e17a823..57a8b9730 100644 --- a/node_modules/webpack/lib/Template.js +++ b/node_modules/webpack/lib/Template.js @@ -10,6 +10,12 @@ const ConcatSource = require("webpack-sources").ConcatSource; const START_LOWERCASE_ALPHABET_CODE = "a".charCodeAt(0); const START_UPPERCASE_ALPHABET_CODE = "A".charCodeAt(0); const DELTA_A_TO_Z = "z".charCodeAt(0) - START_LOWERCASE_ALPHABET_CODE + 1; +const FUNCTION_CONTENT_REGEX = /^function\s?\(\)\s?\{\n?|\n?\}$/g; +const INDENT_MULTILINE_REGEX = /^\t/mg; +const IDENTIFIER_NAME_REPLACE_REGEX = /^[^a-zA-Z$_]/; +const IDENTIFIER_ALPHA_NUMERIC_NAME_REPLACE_REGEX = /[^a-zA-Z0-9$_]/g; +const PATH_NAME_NORMALIZE_REPLACE_REGEX = /[^a-zA-Z0-9_!§$()=\-^°]+/g; +const MATCH_PADDED_HYPHENS_REPLACE_REGEX = /^-|-$/g; module.exports = class Template extends Tapable { constructor(outputOptions) { @@ -18,17 +24,17 @@ module.exports = class Template extends Tapable { } static getFunctionContent(fn) { - return fn.toString().replace(/^function\s?\(\)\s?\{\n?|\n?\}$/g, "").replace(/^\t/mg, ""); + return fn.toString().replace(FUNCTION_CONTENT_REGEX, "").replace(INDENT_MULTILINE_REGEX, ""); } static toIdentifier(str) { if(typeof str !== "string") return ""; - return str.replace(/^[^a-zA-Z$_]/, "_").replace(/[^a-zA-Z0-9$_]/g, "_"); + return str.replace(IDENTIFIER_NAME_REPLACE_REGEX, "_").replace(IDENTIFIER_ALPHA_NUMERIC_NAME_REPLACE_REGEX, "_"); } static toPath(str) { if(typeof str !== "string") return ""; - return str.replace(/[^a-zA-Z0-9_!§$()=\-^°]+/g, "-").replace(/^-|-$/, ""); + return str.replace(PATH_NAME_NORMALIZE_REPLACE_REGEX, "-").replace(MATCH_PADDED_HYPHENS_REPLACE_REGEX, ""); } // map number to a single character a-z, A-Z or <_ + number> if number is too big @@ -144,23 +150,27 @@ module.exports = class Template extends Tapable { } else { // Render an object source.add("{\n"); - allModules.sort(function(a, b) { - var aId = a.id + ""; - var bId = b.id + ""; - if(aId < bId) return -1; - if(aId > bId) return 1; - return 0; - }).forEach(function(module, idx) { - if(idx !== 0) source.add(",\n"); - source.add("\n/***/ " + JSON.stringify(module.id) + ":\n"); - source.add(module.source); - }); + allModules + .sort(stringifyIdSortPredicate) + .forEach(function(module, idx) { + if(idx !== 0) source.add(",\n"); + source.add(`\n/***/ ${JSON.stringify(module.id)}:\n`); + source.add(module.source); + }); source.add("\n\n" + prefix + "}"); } return source; } }; +function stringifyIdSortPredicate(a, b) { + var aId = a.id + ""; + var bId = b.id + ""; + if(aId < bId) return -1; + if(aId > bId) return 1; + return 0; +} + function moduleIdIsNumber(module) { return typeof module.id === "number"; } -- cgit v1.2.3