diff options
Diffstat (limited to 'node_modules/loader-utils')
-rw-r--r-- | node_modules/loader-utils/CHANGELOG.md | 18 | ||||
-rw-r--r-- | node_modules/loader-utils/LICENSE | 20 | ||||
-rw-r--r-- | node_modules/loader-utils/README.md | 229 | ||||
-rw-r--r-- | node_modules/loader-utils/lib/getCurrentRequest.js | 13 | ||||
-rw-r--r-- | node_modules/loader-utils/lib/getHashDigest.js | 53 | ||||
-rw-r--r-- | node_modules/loader-utils/lib/getOptions.js | 17 | ||||
-rw-r--r-- | node_modules/loader-utils/lib/getRemainingRequest.js | 13 | ||||
-rw-r--r-- | node_modules/loader-utils/lib/index.js | 23 | ||||
-rw-r--r-- | node_modules/loader-utils/lib/interpolateName.js | 95 | ||||
-rw-r--r-- | node_modules/loader-utils/lib/isUrlRequest.js | 14 | ||||
-rw-r--r-- | node_modules/loader-utils/lib/parseQuery.js | 54 | ||||
-rw-r--r-- | node_modules/loader-utils/lib/parseString.js | 19 | ||||
-rw-r--r-- | node_modules/loader-utils/lib/stringifyRequest.js | 40 | ||||
-rw-r--r-- | node_modules/loader-utils/lib/urlToRequest.js | 49 | ||||
l--------- | node_modules/loader-utils/node_modules/.bin/json5 | 1 | ||||
-rw-r--r-- | node_modules/loader-utils/package.json | 39 |
16 files changed, 0 insertions, 697 deletions
diff --git a/node_modules/loader-utils/CHANGELOG.md b/node_modules/loader-utils/CHANGELOG.md deleted file mode 100644 index 30545e99f..000000000 --- a/node_modules/loader-utils/CHANGELOG.md +++ /dev/null @@ -1,18 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. - -<a name="1.1.0"></a> -# [1.1.0](https://github.com/webpack/loader-utils/compare/v1.0.4...v1.1.0) (2017-03-16) - - -### Features - -* **automatic-release:** Generation of automatic release ([7484d13](https://github.com/webpack/loader-utils/commit/7484d13)) -* **parseQuery:** export parseQuery ([ddf64e4](https://github.com/webpack/loader-utils/commit/ddf64e4)) - - - -# Change Log - -All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. diff --git a/node_modules/loader-utils/LICENSE b/node_modules/loader-utils/LICENSE deleted file mode 100644 index 8c11fc728..000000000 --- a/node_modules/loader-utils/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright JS Foundation and other contributors - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/loader-utils/README.md b/node_modules/loader-utils/README.md deleted file mode 100644 index 84bf788cc..000000000 --- a/node_modules/loader-utils/README.md +++ /dev/null @@ -1,229 +0,0 @@ -# loader-utils - -## Methods - -### `getOptions` - -Recommended way to retrieve the options of a loader invocation: - -```javascript -// inside your loader -const options = loaderUtils.getOptions(this); -``` - -1. If `this.query` is a string: - - Tries to parse the query string and returns a new object - - Throws if it's not a valid query string -2. If `this.query` is object-like, it just returns `this.query` -3. In any other case, it just returns `null` - -**Please note:** The returned `options` object is *read-only*. It may be re-used across multiple invocations. -If you pass it on to another library, make sure to make a *deep copy* of it: - -```javascript -const options = Object.assign( - {}, - loaderUtils.getOptions(this), // it is safe to pass null to Object.assign() - defaultOptions -); -// don't forget nested objects or arrays -options.obj = Object.assign({}, options.obj); -options.arr = options.arr.slice(); -someLibrary(options); -``` - -[clone-deep](https://www.npmjs.com/package/clone-deep) is a good library to make a deep copy of the options. - -#### Options as query strings - -If the loader options have been passed as loader query string (`loader?some¶ms`), the string is parsed by using [`parseQuery`](#parsequery). - -### `parseQuery` - -Parses a passed string (e.g. `loaderContext.resourceQuery`) as a query string, and returns an object. - -``` javascript -const params = loaderUtils.parseQuery(this.resourceQuery); // resource: `file?param1=foo` -if (params.param1 === "foo") { - // do something -} -``` - -The string is parsed like this: - -``` text - -> Error -? -> {} -?flag -> { flag: true } -?+flag -> { flag: true } -?-flag -> { flag: false } -?xyz=test -> { xyz: "test" } -?xyz=1 -> { xyz: "1" } // numbers are NOT parsed -?xyz[]=a -> { xyz: ["a"] } -?flag1&flag2 -> { flag1: true, flag2: true } -?+flag1,-flag2 -> { flag1: true, flag2: false } -?xyz[]=a,xyz[]=b -> { xyz: ["a", "b"] } -?a%2C%26b=c%2C%26d -> { "a,&b": "c,&d" } -?{data:{a:1},isJSON5:true} -> { data: { a: 1 }, isJSON5: true } -``` - -### `stringifyRequest` - -Turns a request into a string that can be used inside `require()` or `import` while avoiding absolute paths. -Use it instead of `JSON.stringify(...)` if you're generating code inside a loader. - -**Why is this necessary?** Since webpack calculates the hash before module paths are translated into module ids, we must avoid absolute paths to ensure -consistent hashes across different compilations. - -This function: - -- resolves absolute requests into relative requests if the request and the module are on the same hard drive -- replaces `\` with `/` if the request and the module are on the same hard drive -- won't change the path at all if the request and the module are on different hard drives -- applies `JSON.stringify` to the result - -```javascript -loaderUtils.stringifyRequest(this, "./test.js"); -// "\"./test.js\"" - -loaderUtils.stringifyRequest(this, ".\\test.js"); -// "\"./test.js\"" - -loaderUtils.stringifyRequest(this, "test"); -// "\"test\"" - -loaderUtils.stringifyRequest(this, "test/lib/index.js"); -// "\"test/lib/index.js\"" - -loaderUtils.stringifyRequest(this, "otherLoader?andConfig!test?someConfig"); -// "\"otherLoader?andConfig!test?someConfig\"" - -loaderUtils.stringifyRequest(this, require.resolve("test")); -// "\"../node_modules/some-loader/lib/test.js\"" - -loaderUtils.stringifyRequest(this, "C:\\module\\test.js"); -// "\"../../test.js\"" (on Windows, in case the module and the request are on the same drive) - -loaderUtils.stringifyRequest(this, "C:\\module\\test.js"); -// "\"C:\\module\\test.js\"" (on Windows, in case the module and the request are on different drives) - -loaderUtils.stringifyRequest(this, "\\\\network-drive\\test.js"); -// "\"\\\\network-drive\\\\test.js\"" (on Windows, in case the module and the request are on different drives) -``` - -### `urlToRequest` - -Converts some resource URL to a webpack module request. - -```javascript -const url = "path/to/module.js"; -const request = loaderUtils.urlToRequest(url); // "./path/to/module.js" -``` - -#### Module URLs - -Any URL containing a `~` will be interpreted as a module request. Anything after the `~` will be considered the request path. - -```javascript -const url = "~path/to/module.js"; -const request = loaderUtils.urlToRequest(url); // "path/to/module.js" -``` - -#### Root-relative URLs - -URLs that are root-relative (start with `/`) can be resolved relative to some arbitrary path by using the `root` parameter: - -```javascript -const url = "/path/to/module.js"; -const root = "./root"; -const request = loaderUtils.urlToRequest(url, root); // "./root/path/to/module.js" -``` - -To convert a root-relative URL into a module URL, specify a `root` value that starts with `~`: - -```javascript -const url = "/path/to/module.js"; -const root = "~"; -const request = loaderUtils.urlToRequest(url, root); // "path/to/module.js" -``` - -### `interpolateName` - -Interpolates a filename template using multiple placeholders and/or a regular expression. -The template and regular expression are set as query params called `name` and `regExp` on the current loader's context. - -```javascript -const interpolatedName = loaderUtils.interpolateName(loaderContext, name, options); -``` - -The following tokens are replaced in the `name` parameter: - -* `[ext]` the extension of the resource -* `[name]` the basename of the resource -* `[path]` the path of the resource relative to the `context` query parameter or option. -* `[folder]` the folder of the resource is in. -* `[emoji]` a random emoji representation of `options.content` -* `[emoji:<length>]` same as above, but with a customizable number of emojis -* `[hash]` the hash of `options.content` (Buffer) (by default it's the hex digest of the md5 hash) -* `[<hashType>:hash:<digestType>:<length>]` optionally one can configure - * other `hashType`s, i. e. `sha1`, `md5`, `sha256`, `sha512` - * other `digestType`s, i. e. `hex`, `base26`, `base32`, `base36`, `base49`, `base52`, `base58`, `base62`, `base64` - * and `length` the length in chars -* `[N]` the N-th match obtained from matching the current file name against `options.regExp` - -Examples - -``` javascript -// loaderContext.resourcePath = "/app/js/javascript.js" -loaderUtils.interpolateName(loaderContext, "js/[hash].script.[ext]", { content: ... }); -// => js/9473fdd0d880a43c21b7778d34872157.script.js - -// loaderContext.resourcePath = "/app/page.html" -loaderUtils.interpolateName(loaderContext, "html-[hash:6].html", { content: ... }); -// => html-9473fd.html - -// loaderContext.resourcePath = "/app/flash.txt" -loaderUtils.interpolateName(loaderContext, "[hash]", { content: ... }); -// => c31e9820c001c9c4a86bce33ce43b679 - -// loaderContext.resourcePath = "/app/img/image.gif" -loaderUtils.interpolateName(loaderContext, "[emoji]", { content: ... }); -// => ๐ - -// loaderContext.resourcePath = "/app/img/image.gif" -loaderUtils.interpolateName(loaderContext, "[emoji:4]", { content: ... }); -// => ๐๐ข๐ค๐ - -// loaderContext.resourcePath = "/app/img/image.png" -loaderUtils.interpolateName(loaderContext, "[sha512:hash:base64:7].[ext]", { content: ... }); -// => 2BKDTjl.png -// use sha512 hash instead of md5 and with only 7 chars of base64 - -// loaderContext.resourcePath = "/app/img/myself.png" -// loaderContext.query.name = -loaderUtils.interpolateName(loaderContext, "picture.png"); -// => picture.png - -// loaderContext.resourcePath = "/app/dir/file.png" -loaderUtils.interpolateName(loaderContext, "[path][name].[ext]?[hash]", { content: ... }); -// => /app/dir/file.png?9473fdd0d880a43c21b7778d34872157 - -// loaderContext.resourcePath = "/app/js/page-home.js" -loaderUtils.interpolateName(loaderContext, "script-[1].[ext]", { regExp: "page-(.*)\\.js", content: ... }); -// => script-home.js -``` - -### `getHashDigest` - -``` javascript -const digestString = loaderUtils.getHashDigest(buffer, hashType, digestType, maxLength); -``` - -* `buffer` the content that should be hashed -* `hashType` one of `sha1`, `md5`, `sha256`, `sha512` or any other node.js supported hash type -* `digestType` one of `hex`, `base26`, `base32`, `base36`, `base49`, `base52`, `base58`, `base62`, `base64` -* `maxLength` the maximum length in chars - -## License - -MIT (http://www.opensource.org/licenses/mit-license.php) diff --git a/node_modules/loader-utils/lib/getCurrentRequest.js b/node_modules/loader-utils/lib/getCurrentRequest.js deleted file mode 100644 index f05e112ac..000000000 --- a/node_modules/loader-utils/lib/getCurrentRequest.js +++ /dev/null @@ -1,13 +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 6f4a427e5..000000000 --- a/node_modules/loader-utils/lib/getHashDigest.js +++ /dev/null @@ -1,53 +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 24bcae47b..000000000 --- a/node_modules/loader-utils/lib/getOptions.js +++ /dev/null @@ -1,17 +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 f48c71a49..000000000 --- a/node_modules/loader-utils/lib/getRemainingRequest.js +++ /dev/null @@ -1,13 +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 a5950922f..000000000 --- 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 5e5b65326..000000000 --- a/node_modules/loader-utils/lib/interpolateName.js +++ /dev/null @@ -1,95 +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 { - 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; - if(typeof name === "function") { - filename = name(loaderContext.resourcePath); - } 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 = ""; - 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); - } - } - let url = filename; - if(content) { - // Match hash template - url = url - .replace( - /\[(?:(\w+):)?hash(?::([a-z]+\d*))?(?::(\d+))?\]/ig, - (all, hashType, digestType, maxLength) => getHashDigest(content, hashType, digestType, parseInt(maxLength, 10)) - ) - .replace( - /\[emoji(?::(\d+))?\]/ig, - (all, length) => encodeStringToEmoji(content, length) - ); - } - url = url - .replace(/\[ext\]/ig, () => ext) - .replace(/\[name\]/ig, () => basename) - .replace(/\[path\]/ig, () => directory) - .replace(/\[folder\]/ig, () => folder); - 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 bee968ee8..000000000 --- a/node_modules/loader-utils/lib/isUrlRequest.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; - -function isUrlRequest(url, root) { - // An URL is not an request if - // 1. it's a Data Url - // 2. it's an absolute url or and protocol-relative - // 3. it's some kind of url for a template - if(/^data:|^chrome-extension:|^(https?:)?\/\/|^[\{\}\[\]#*;,'ยง\$%&\(=?`ยด\^ยฐ<>]/.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 5748cded8..000000000 --- a/node_modules/loader-utils/lib/parseQuery.js +++ /dev/null @@ -1,54 +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 ca69dfd06..000000000 --- a/node_modules/loader-utils/lib/parseString.js +++ /dev/null @@ -1,19 +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 46e9ae2e9..000000000 --- a/node_modules/loader-utils/lib/stringifyRequest.js +++ /dev/null @@ -1,40 +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(/^(.*?)(\?.*)/); - let singlePath = splittedPart ? splittedPart[1] : part; - const query = splittedPart ? splittedPart[2] : ""; - 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 06c3cd046..000000000 --- a/node_modules/loader-utils/lib/urlToRequest.js +++ /dev/null @@ -1,49 +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) { - 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; diff --git a/node_modules/loader-utils/node_modules/.bin/json5 b/node_modules/loader-utils/node_modules/.bin/json5 deleted file mode 120000 index 519e49ec8..000000000 --- a/node_modules/loader-utils/node_modules/.bin/json5 +++ /dev/null @@ -1 +0,0 @@ -../../../json5/lib/cli.js
\ No newline at end of file diff --git a/node_modules/loader-utils/package.json b/node_modules/loader-utils/package.json deleted file mode 100644 index a547e2347..000000000 --- a/node_modules/loader-utils/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "loader-utils", - "version": "1.1.0", - "author": "Tobias Koppers @sokra", - "description": "utils for webpack loaders", - "dependencies": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" - }, - "scripts": { - "test": "mocha", - "posttest": "npm run lint", - "lint": "eslint lib test", - "travis": "npm run cover -- --report lcovonly", - "cover": "istanbul cover -x *.runtime.js node_modules/mocha/bin/_mocha", - "release": "npm test && standard-version" - }, - "license": "MIT", - "repository": { - "type": "git", - "url": "https://github.com/webpack/loader-utils.git" - }, - "engines": { - "node": ">=4.0.0" - }, - "devDependencies": { - "coveralls": "^2.11.2", - "eslint": "^3.15.0", - "eslint-plugin-node": "^4.0.1", - "istanbul": "^0.3.14", - "mocha": "^1.21.4", - "standard-version": "^4.0.0" - }, - "main": "lib/index.js", - "files": [ - "lib" - ] -} |