summaryrefslogtreecommitdiffstats
path: root/node_modules/loader-utils/lib
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/loader-utils/lib')
-rw-r--r--node_modules/loader-utils/lib/getCurrentRequest.js16
-rw-r--r--node_modules/loader-utils/lib/getHashDigest.js69
-rw-r--r--node_modules/loader-utils/lib/getOptions.js20
-rw-r--r--node_modules/loader-utils/lib/getRemainingRequest.js16
-rw-r--r--node_modules/loader-utils/lib/index.js23
-rw-r--r--node_modules/loader-utils/lib/interpolateName.js151
-rw-r--r--node_modules/loader-utils/lib/isUrlRequest.js31
-rw-r--r--node_modules/loader-utils/lib/parseQuery.js68
-rw-r--r--node_modules/loader-utils/lib/parseString.js23
-rw-r--r--node_modules/loader-utils/lib/stringifyRequest.js51
-rw-r--r--node_modules/loader-utils/lib/urlToRequest.js60
11 files changed, 0 insertions, 528 deletions
diff --git a/node_modules/loader-utils/lib/getCurrentRequest.js b/node_modules/loader-utils/lib/getCurrentRequest.js
deleted file mode 100644
index 4818563..0000000
--- a/node_modules/loader-utils/lib/getCurrentRequest.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict';
-
-function getCurrentRequest(loaderContext) {
- if (loaderContext.currentRequest) {
- return loaderContext.currentRequest;
- }
-
- const request = loaderContext.loaders
- .slice(loaderContext.loaderIndex)
- .map((obj) => obj.request)
- .concat([loaderContext.resource]);
-
- return request.join('!');
-}
-
-module.exports = getCurrentRequest;
diff --git a/node_modules/loader-utils/lib/getHashDigest.js b/node_modules/loader-utils/lib/getHashDigest.js
deleted file mode 100644
index bbc4e03..0000000
--- a/node_modules/loader-utils/lib/getHashDigest.js
+++ /dev/null
@@ -1,69 +0,0 @@
-'use strict';
-
-const baseEncodeTables = {
- 26: 'abcdefghijklmnopqrstuvwxyz',
- 32: '123456789abcdefghjkmnpqrstuvwxyz', // no 0lio
- 36: '0123456789abcdefghijklmnopqrstuvwxyz',
- 49: 'abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ', // no lIO
- 52: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
- 58: '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ', // no 0lIO
- 62: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
- 64: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_',
-};
-
-function encodeBufferToBase(buffer, base) {
- const encodeTable = baseEncodeTables[base];
- if (!encodeTable) {
- throw new Error('Unknown encoding base' + base);
- }
-
- const readLength = buffer.length;
- const Big = require('big.js');
-
- Big.RM = Big.DP = 0;
- let b = new Big(0);
-
- for (let i = readLength - 1; i >= 0; i--) {
- b = b.times(256).plus(buffer[i]);
- }
-
- let output = '';
- while (b.gt(0)) {
- output = encodeTable[b.mod(base)] + output;
- b = b.div(base);
- }
-
- Big.DP = 20;
- Big.RM = 1;
-
- return output;
-}
-
-function getHashDigest(buffer, hashType, digestType, maxLength) {
- hashType = hashType || 'md5';
- maxLength = maxLength || 9999;
-
- const hash = require('crypto').createHash(hashType);
-
- hash.update(buffer);
-
- if (
- digestType === 'base26' ||
- digestType === 'base32' ||
- digestType === 'base36' ||
- digestType === 'base49' ||
- digestType === 'base52' ||
- digestType === 'base58' ||
- digestType === 'base62' ||
- digestType === 'base64'
- ) {
- return encodeBufferToBase(hash.digest(), digestType.substr(4)).substr(
- 0,
- maxLength
- );
- } else {
- return hash.digest(digestType || 'hex').substr(0, maxLength);
- }
-}
-
-module.exports = getHashDigest;
diff --git a/node_modules/loader-utils/lib/getOptions.js b/node_modules/loader-utils/lib/getOptions.js
deleted file mode 100644
index 9cbbed4..0000000
--- a/node_modules/loader-utils/lib/getOptions.js
+++ /dev/null
@@ -1,20 +0,0 @@
-'use strict';
-
-const parseQuery = require('./parseQuery');
-
-function getOptions(loaderContext) {
- const query = loaderContext.query;
-
- if (typeof query === 'string' && query !== '') {
- return parseQuery(loaderContext.query);
- }
-
- if (!query || typeof query !== 'object') {
- // Not object-like queries are not supported.
- return null;
- }
-
- return query;
-}
-
-module.exports = getOptions;
diff --git a/node_modules/loader-utils/lib/getRemainingRequest.js b/node_modules/loader-utils/lib/getRemainingRequest.js
deleted file mode 100644
index 5839b2f..0000000
--- a/node_modules/loader-utils/lib/getRemainingRequest.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict';
-
-function getRemainingRequest(loaderContext) {
- if (loaderContext.remainingRequest) {
- return loaderContext.remainingRequest;
- }
-
- const request = loaderContext.loaders
- .slice(loaderContext.loaderIndex + 1)
- .map((obj) => obj.request)
- .concat([loaderContext.resource]);
-
- return request.join('!');
-}
-
-module.exports = getRemainingRequest;
diff --git a/node_modules/loader-utils/lib/index.js b/node_modules/loader-utils/lib/index.js
deleted file mode 100644
index 2591310..0000000
--- a/node_modules/loader-utils/lib/index.js
+++ /dev/null
@@ -1,23 +0,0 @@
-'use strict';
-
-const getOptions = require('./getOptions');
-const parseQuery = require('./parseQuery');
-const stringifyRequest = require('./stringifyRequest');
-const getRemainingRequest = require('./getRemainingRequest');
-const getCurrentRequest = require('./getCurrentRequest');
-const isUrlRequest = require('./isUrlRequest');
-const urlToRequest = require('./urlToRequest');
-const parseString = require('./parseString');
-const getHashDigest = require('./getHashDigest');
-const interpolateName = require('./interpolateName');
-
-exports.getOptions = getOptions;
-exports.parseQuery = parseQuery;
-exports.stringifyRequest = stringifyRequest;
-exports.getRemainingRequest = getRemainingRequest;
-exports.getCurrentRequest = getCurrentRequest;
-exports.isUrlRequest = isUrlRequest;
-exports.urlToRequest = urlToRequest;
-exports.parseString = parseString;
-exports.getHashDigest = getHashDigest;
-exports.interpolateName = interpolateName;
diff --git a/node_modules/loader-utils/lib/interpolateName.js b/node_modules/loader-utils/lib/interpolateName.js
deleted file mode 100644
index 6a13a36..0000000
--- a/node_modules/loader-utils/lib/interpolateName.js
+++ /dev/null
@@ -1,151 +0,0 @@
-'use strict';
-
-const path = require('path');
-const emojisList = require('emojis-list');
-const getHashDigest = require('./getHashDigest');
-
-const emojiRegex = /[\uD800-\uDFFF]./;
-const emojiList = emojisList.filter((emoji) => emojiRegex.test(emoji));
-const emojiCache = {};
-
-function encodeStringToEmoji(content, length) {
- if (emojiCache[content]) {
- return emojiCache[content];
- }
-
- length = length || 1;
-
- const emojis = [];
-
- do {
- if (!emojiList.length) {
- throw new Error('Ran out of emoji');
- }
-
- const index = Math.floor(Math.random() * emojiList.length);
-
- emojis.push(emojiList[index]);
- emojiList.splice(index, 1);
- } while (--length > 0);
-
- const emojiEncoding = emojis.join('');
-
- emojiCache[content] = emojiEncoding;
-
- return emojiEncoding;
-}
-
-function interpolateName(loaderContext, name, options) {
- let filename;
-
- const hasQuery =
- loaderContext.resourceQuery && loaderContext.resourceQuery.length > 1;
-
- if (typeof name === 'function') {
- filename = name(
- loaderContext.resourcePath,
- hasQuery ? loaderContext.resourceQuery : undefined
- );
- } else {
- filename = name || '[hash].[ext]';
- }
-
- const context = options.context;
- const content = options.content;
- const regExp = options.regExp;
-
- let ext = 'bin';
- let basename = 'file';
- let directory = '';
- let folder = '';
- let query = '';
-
- if (loaderContext.resourcePath) {
- const parsed = path.parse(loaderContext.resourcePath);
- let resourcePath = loaderContext.resourcePath;
-
- if (parsed.ext) {
- ext = parsed.ext.substr(1);
- }
-
- if (parsed.dir) {
- basename = parsed.name;
- resourcePath = parsed.dir + path.sep;
- }
-
- if (typeof context !== 'undefined') {
- directory = path
- .relative(context, resourcePath + '_')
- .replace(/\\/g, '/')
- .replace(/\.\.(\/)?/g, '_$1');
- directory = directory.substr(0, directory.length - 1);
- } else {
- directory = resourcePath.replace(/\\/g, '/').replace(/\.\.(\/)?/g, '_$1');
- }
-
- if (directory.length === 1) {
- directory = '';
- } else if (directory.length > 1) {
- folder = path.basename(directory);
- }
- }
-
- if (loaderContext.resourceQuery && loaderContext.resourceQuery.length > 1) {
- query = loaderContext.resourceQuery;
-
- const hashIdx = query.indexOf('#');
-
- if (hashIdx >= 0) {
- query = query.substr(0, hashIdx);
- }
- }
-
- let url = filename;
-
- if (content) {
- // Match hash template
- url = url
- // `hash` and `contenthash` are same in `loader-utils` context
- // let's keep `hash` for backward compatibility
- .replace(
- /\[(?:([^:\]]+):)?(?:hash|contenthash)(?::([a-z]+\d*))?(?::(\d+))?\]/gi,
- (all, hashType, digestType, maxLength) =>
- getHashDigest(content, hashType, digestType, parseInt(maxLength, 10))
- )
- .replace(/\[emoji(?::(\d+))?\]/gi, (all, length) =>
- encodeStringToEmoji(content, parseInt(length, 10))
- );
- }
-
- url = url
- .replace(/\[ext\]/gi, () => ext)
- .replace(/\[name\]/gi, () => basename)
- .replace(/\[path\]/gi, () => directory)
- .replace(/\[folder\]/gi, () => folder)
- .replace(/\[query\]/gi, () => query);
-
- if (regExp && loaderContext.resourcePath) {
- const match = loaderContext.resourcePath.match(new RegExp(regExp));
-
- match &&
- match.forEach((matched, i) => {
- url = url.replace(new RegExp('\\[' + i + '\\]', 'ig'), matched);
- });
- }
-
- if (
- typeof loaderContext.options === 'object' &&
- typeof loaderContext.options.customInterpolateName === 'function'
- ) {
- url = loaderContext.options.customInterpolateName.call(
- loaderContext,
- url,
- name,
- options
- );
- }
-
- return url;
-}
-
-module.exports = interpolateName;
diff --git a/node_modules/loader-utils/lib/isUrlRequest.js b/node_modules/loader-utils/lib/isUrlRequest.js
deleted file mode 100644
index 4592cb1..0000000
--- a/node_modules/loader-utils/lib/isUrlRequest.js
+++ /dev/null
@@ -1,31 +0,0 @@
-'use strict';
-
-const path = require('path');
-
-function isUrlRequest(url, root) {
- // An URL is not an request if
-
- // 1. It's an absolute url and it is not `windows` path like `C:\dir\file`
- if (/^[a-z][a-z0-9+.-]*:/i.test(url) && !path.win32.isAbsolute(url)) {
- return false;
- }
-
- // 2. It's a protocol-relative
- if (/^\/\//.test(url)) {
- return false;
- }
-
- // 3. It's some kind of url for a template
- if (/^[{}[\]#*;,'§$%&(=?`´^°<>]/.test(url)) {
- return false;
- }
-
- // 4. It's also not an request if root isn't set and it's a root-relative url
- if ((root === undefined || root === false) && /^\//.test(url)) {
- return false;
- }
-
- return true;
-}
-
-module.exports = isUrlRequest;
diff --git a/node_modules/loader-utils/lib/parseQuery.js b/node_modules/loader-utils/lib/parseQuery.js
deleted file mode 100644
index 12b3efc..0000000
--- a/node_modules/loader-utils/lib/parseQuery.js
+++ /dev/null
@@ -1,68 +0,0 @@
-'use strict';
-
-const JSON5 = require('json5');
-
-const specialValues = {
- null: null,
- true: true,
- false: false,
-};
-
-function parseQuery(query) {
- if (query.substr(0, 1) !== '?') {
- throw new Error(
- "A valid query string passed to parseQuery should begin with '?'"
- );
- }
-
- query = query.substr(1);
-
- if (!query) {
- return {};
- }
-
- if (query.substr(0, 1) === '{' && query.substr(-1) === '}') {
- return JSON5.parse(query);
- }
-
- const queryArgs = query.split(/[,&]/g);
- const result = {};
-
- queryArgs.forEach((arg) => {
- const idx = arg.indexOf('=');
-
- if (idx >= 0) {
- let name = arg.substr(0, idx);
- let value = decodeURIComponent(arg.substr(idx + 1));
-
- if (specialValues.hasOwnProperty(value)) {
- value = specialValues[value];
- }
-
- if (name.substr(-2) === '[]') {
- name = decodeURIComponent(name.substr(0, name.length - 2));
-
- if (!Array.isArray(result[name])) {
- result[name] = [];
- }
-
- result[name].push(value);
- } else {
- name = decodeURIComponent(name);
- result[name] = value;
- }
- } else {
- if (arg.substr(0, 1) === '-') {
- result[decodeURIComponent(arg.substr(1))] = false;
- } else if (arg.substr(0, 1) === '+') {
- result[decodeURIComponent(arg.substr(1))] = true;
- } else {
- result[decodeURIComponent(arg)] = true;
- }
- }
- });
-
- return result;
-}
-
-module.exports = parseQuery;
diff --git a/node_modules/loader-utils/lib/parseString.js b/node_modules/loader-utils/lib/parseString.js
deleted file mode 100644
index 6e36f29..0000000
--- a/node_modules/loader-utils/lib/parseString.js
+++ /dev/null
@@ -1,23 +0,0 @@
-'use strict';
-
-function parseString(str) {
- try {
- if (str[0] === '"') {
- return JSON.parse(str);
- }
-
- if (str[0] === "'" && str.substr(str.length - 1) === "'") {
- return parseString(
- str
- .replace(/\\.|"/g, (x) => (x === '"' ? '\\"' : x))
- .replace(/^'|'$/g, '"')
- );
- }
-
- return JSON.parse('"' + str + '"');
- } catch (e) {
- return str;
- }
-}
-
-module.exports = parseString;
diff --git a/node_modules/loader-utils/lib/stringifyRequest.js b/node_modules/loader-utils/lib/stringifyRequest.js
deleted file mode 100644
index 9bd5593..0000000
--- a/node_modules/loader-utils/lib/stringifyRequest.js
+++ /dev/null
@@ -1,51 +0,0 @@
-'use strict';
-
-const path = require('path');
-
-const matchRelativePath = /^\.\.?[/\\]/;
-
-function isAbsolutePath(str) {
- return path.posix.isAbsolute(str) || path.win32.isAbsolute(str);
-}
-
-function isRelativePath(str) {
- return matchRelativePath.test(str);
-}
-
-function stringifyRequest(loaderContext, request) {
- const splitted = request.split('!');
- const context =
- loaderContext.context ||
- (loaderContext.options && loaderContext.options.context);
-
- return JSON.stringify(
- splitted
- .map((part) => {
- // First, separate singlePath from query, because the query might contain paths again
- const splittedPart = part.match(/^(.*?)(\?.*)/);
- const query = splittedPart ? splittedPart[2] : '';
- let singlePath = splittedPart ? splittedPart[1] : part;
-
- if (isAbsolutePath(singlePath) && context) {
- singlePath = path.relative(context, singlePath);
-
- if (isAbsolutePath(singlePath)) {
- // If singlePath still matches an absolute path, singlePath was on a different drive than context.
- // In this case, we leave the path platform-specific without replacing any separators.
- // @see https://github.com/webpack/loader-utils/pull/14
- return singlePath + query;
- }
-
- if (isRelativePath(singlePath) === false) {
- // Ensure that the relative path starts at least with ./ otherwise it would be a request into the modules directory (like node_modules).
- singlePath = './' + singlePath;
- }
- }
-
- return singlePath.replace(/\\/g, '/') + query;
- })
- .join('!')
- );
-}
-
-module.exports = stringifyRequest;
diff --git a/node_modules/loader-utils/lib/urlToRequest.js b/node_modules/loader-utils/lib/urlToRequest.js
deleted file mode 100644
index e2b60d3..0000000
--- a/node_modules/loader-utils/lib/urlToRequest.js
+++ /dev/null
@@ -1,60 +0,0 @@
-'use strict';
-
-// we can't use path.win32.isAbsolute because it also matches paths starting with a forward slash
-const matchNativeWin32Path = /^[A-Z]:[/\\]|^\\\\/i;
-
-function urlToRequest(url, root) {
- // Do not rewrite an empty url
- if (url === '') {
- return '';
- }
-
- const moduleRequestRegex = /^[^?]*~/;
- let request;
-
- if (matchNativeWin32Path.test(url)) {
- // absolute windows path, keep it
- request = url;
- } else if (root !== undefined && root !== false && /^\//.test(url)) {
- // if root is set and the url is root-relative
- switch (typeof root) {
- // 1. root is a string: root is prefixed to the url
- case 'string':
- // special case: `~` roots convert to module request
- if (moduleRequestRegex.test(root)) {
- request = root.replace(/([^~/])$/, '$1/') + url.slice(1);
- } else {
- request = root + url;
- }
- break;
- // 2. root is `true`: absolute paths are allowed
- // *nix only, windows-style absolute paths are always allowed as they doesn't start with a `/`
- case 'boolean':
- request = url;
- break;
- default:
- throw new Error(
- "Unexpected parameters to loader-utils 'urlToRequest': url = " +
- url +
- ', root = ' +
- root +
- '.'
- );
- }
- } else if (/^\.\.?\//.test(url)) {
- // A relative url stays
- request = url;
- } else {
- // every other url is threaded like a relative url
- request = './' + url;
- }
-
- // A `~` makes the url an module
- if (moduleRequestRegex.test(request)) {
- request = request.replace(moduleRequestRegex, '');
- }
-
- return request;
-}
-
-module.exports = urlToRequest;