Skip to content

Commit

Permalink
Add deprecation warning to parseQuery
Browse files Browse the repository at this point in the history
This deprecation warning is intended to alarm loader authors that passing an object to parseQuery and then modifying it might lead to unintended behavior.

#56
  • Loading branch information
jhnns committed Feb 10, 2017
1 parent 4ea2dfb commit c7f7a52
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
var JSON5 = require("json5");
var path = require("path");
var util = require("util");
var os = require("os");
var assign = require("object-assign");
var emojiRegex = /[\uD800-\uDFFF]./;
var emojiList = require("emojis-list").filter(function(emoji) {
Expand All @@ -17,6 +19,11 @@ var baseEncodeTables = {
64: "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"
};
var emojiCache = {};
var parseQueryDeprecationWarning = util.deprecate(function () {},
"loaderUtils.parseQuery() just received a value type of " + typeof query +
" which can be problematic, see https://github.com/webpack/loader-utils/issues/56" + os.EOL +
"parseQuery() will be replaced with getOptions() in the next major version of loader-utils."
);

function encodeStringToEmoji(content, length) {
if (emojiCache[content]) return emojiCache[content];
Expand Down Expand Up @@ -64,8 +71,10 @@ exports.parseQuery = function parseQuery(query) {
'false': false
};
if(!query) return {};
if(typeof query !== "string")
if(typeof query !== "string") {
parseQueryDeprecationWarning();
return query;
}
if(query.substr(0, 1) !== "?")
throw new Error("a valid query string passed to parseQuery should begin with '?'");
query = query.substr(1);
Expand Down

0 comments on commit c7f7a52

Please sign in to comment.