diff options
Diffstat (limited to 'node_modules/webpack/lib/util/conventions.js')
| -rw-r--r-- | node_modules/webpack/lib/util/conventions.js | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/node_modules/webpack/lib/util/conventions.js b/node_modules/webpack/lib/util/conventions.js deleted file mode 100644 index 4f78df1c..00000000 --- a/node_modules/webpack/lib/util/conventions.js +++ /dev/null @@ -1,126 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Gengkun He @ahabhgk -*/ - -"use strict"; - -/** @typedef {import("../../declarations/WebpackOptions").CssGeneratorExportsConvention} CssGeneratorExportsConvention */ - -/** - * @param {string} input input - * @param {CssGeneratorExportsConvention | undefined} convention convention - * @returns {string[]} results - */ -module.exports.cssExportConvention = (input, convention) => { - const set = new Set(); - if (typeof convention === "function") { - set.add(convention(input)); - } else { - switch (convention) { - case "camel-case": { - set.add(input); - set.add(module.exports.camelCase(input)); - break; - } - case "camel-case-only": { - set.add(module.exports.camelCase(input)); - break; - } - case "dashes": { - set.add(input); - set.add(module.exports.dashesCamelCase(input)); - break; - } - case "dashes-only": { - set.add(module.exports.dashesCamelCase(input)); - break; - } - case "as-is": { - set.add(input); - break; - } - } - } - return Array.from(set); -}; - -// Copy from css-loader -/** - * @param {string} input input - * @returns {string} result - */ -module.exports.dashesCamelCase = input => - input.replace(/-+(\w)/g, (match, firstLetter) => firstLetter.toUpperCase()); - -// Copy from css-loader -/** - * @param {string} input input - * @returns {string} result - */ -module.exports.camelCase = input => { - let result = input.trim(); - - if (result.length === 0) { - return ""; - } - - if (result.length === 1) { - return result.toLowerCase(); - } - - const hasUpperCase = result !== result.toLowerCase(); - - if (hasUpperCase) { - result = preserveCamelCase(result); - } - - return result - .replace(/^[_.\- ]+/, "") - .toLowerCase() - .replace(/[_.\- ]+([\p{Alpha}\p{N}_]|$)/gu, (_, p1) => p1.toUpperCase()) - .replace(/\d+([\p{Alpha}\p{N}_]|$)/gu, m => m.toUpperCase()); -}; - -// Copy from css-loader -/** - * @param {string} string string - * @returns {string} result - */ -const preserveCamelCase = string => { - let result = string; - let isLastCharLower = false; - let isLastCharUpper = false; - let isLastLastCharUpper = false; - - for (let i = 0; i < result.length; i++) { - const character = result[i]; - - if (isLastCharLower && /[\p{Lu}]/u.test(character)) { - result = `${result.slice(0, i)}-${result.slice(i)}`; - isLastCharLower = false; - isLastLastCharUpper = isLastCharUpper; - isLastCharUpper = true; - i += 1; - } else if ( - isLastCharUpper && - isLastLastCharUpper && - /[\p{Ll}]/u.test(character) - ) { - result = `${result.slice(0, i - 1)}-${result.slice(i - 1)}`; - isLastLastCharUpper = isLastCharUpper; - isLastCharUpper = false; - isLastCharLower = true; - } else { - isLastCharLower = - character.toLowerCase() === character && - character.toUpperCase() !== character; - isLastLastCharUpper = isLastCharUpper; - isLastCharUpper = - character.toUpperCase() === character && - character.toLowerCase() !== character; - } - } - - return result; -}; |
