summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/util/conventions.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/webpack/lib/util/conventions.js')
-rw-r--r--node_modules/webpack/lib/util/conventions.js126
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;
-};