]> git.openstreetmap.org Git - rails.git/commitdiff
Replace querystring parser with qs yarn module
authorTom Hughes <tom@compton.nu>
Thu, 6 Aug 2020 19:39:42 +0000 (20:39 +0100)
committerTom Hughes <tom@compton.nu>
Thu, 6 Aug 2020 19:51:55 +0000 (20:51 +0100)
16 files changed:
app/assets/config/manifest.js
app/assets/javascripts/application.js
app/assets/javascripts/edit/id.js.erb
app/assets/javascripts/index.js
app/assets/javascripts/index/contextmenu.js
app/assets/javascripts/index/directions.js
app/assets/javascripts/index/new_note.js
app/assets/javascripts/index/query.js
app/assets/javascripts/index/search.js
app/assets/javascripts/leaflet.map.js
app/assets/javascripts/login.js
app/assets/javascripts/osm.js.erb
package.json
test/javascripts/osm_test.js
vendor/assets/javascripts/querystring.js [deleted file]
yarn.lock

index 478fc3492654b6c417ac424570e6b0d6a5983936..3b9dee6ba422653e75dced72c1b9f84c5a0812f4 100644 (file)
@@ -10,8 +10,6 @@
 //= link_tree ../../../vendor/assets/iD/iD/img
 //= link_directory ../../../vendor/assets/iD/iD/locales .json
 
-//= link_directory ../../../vendor/assets/javascripts .js
-
 //= link_tree ../../../vendor/assets/leaflet .png
 
 //= link_directory ../../../vendor/assets/polyfill .js
index d18ece0b102a8971ebec8ceb337326c6985ced78..cbb69119ced49a9406a6958508303092765bd6f8 100644 (file)
@@ -15,7 +15,7 @@
 //= require oauth
 //= require piwik
 //= require richtext
-//= require querystring
+//= require qs/dist/qs
 //= require bs-custom-file-input
 //= require bs-custom-file-input-init
 
@@ -25,9 +25,8 @@
  */
 window.updateLinks = function (loc, zoom, layers, object) {
   $(".geolink").each(function (index, link) {
-    var querystring = require("querystring-component"),
-        href = link.href.split(/[?#]/)[0],
-        args = querystring.parse(link.search.substring(1)),
+    var href = link.href.split(/[?#]/)[0],
+        args = Qs.parse(link.search.substring(1)),
         editlink = $(link).hasClass("editlink");
 
     delete args.node;
@@ -39,7 +38,7 @@ window.updateLinks = function (loc, zoom, layers, object) {
       args[object.type] = object.id;
     }
 
-    var query = querystring.stringify(args);
+    var query = Qs.stringify(args);
     if (query) href += "?" + query;
 
     args = {
index 23726519ec53ab5a60b1a0bcc9635e749b30dcce..8ab9425e23c051c340957ff5b66f3d814591a8fe 100644 (file)
@@ -1,7 +1,6 @@
-//= require querystring
+//= require qs/dist/qs
 
 $(document).ready(function () {
-  var querystring = require("querystring-component");
   var id = $("#id-embed");
 
   if (id.data("key")) {
@@ -39,7 +38,7 @@ $(document).ready(function () {
       params.gpx = hashParams.gpx;
     }
 
-    id.attr("src", id.data("url") + "#" + querystring.stringify(params));
+    id.attr("src", id.data("url") + "#" + Qs.stringify(params));
   } else {
     alert(I18n.t("site.edit.id_not_configured"));
   }
index 3e9994a88cfe0ece7ea5dbc28b4ee5b8e809fdea..f74dd0bb73e20336a623f6ec1a09bda0d9b0a919 100644 (file)
 //= require index/changeset
 //= require index/query
 //= require router
-//= require querystring
+//= require qs/dist/qs
 
 $(document).ready(function () {
-  var querystring = require("querystring-component");
-
   var loaderTimeout;
 
   var map = new L.OSM.Map("map", {
@@ -264,7 +262,7 @@ $(document).ready(function () {
     var iframe = $("<iframe>")
       .hide()
       .appendTo("body")
-      .attr("src", url + querystring.stringify(query))
+      .attr("src", url + Qs.stringify(query))
       .on("load", function () {
         $(this).remove();
         loaded = true;
@@ -309,7 +307,7 @@ $(document).ready(function () {
     };
 
     page.load = function () {
-      var params = querystring.parse(location.search.substring(1));
+      var params = Qs.parse(location.search.substring(1));
       if (params.query) {
         $("#sidebar .search_form input[name=query]").value(params.query);
       }
index fdde8dec470d7e487f2f0cf05ee81661c61f67d3..cac5e6fbf8c8c145d57f427a599d423c8a3de773 100644 (file)
@@ -1,8 +1,6 @@
-//= require querystring
+//= require qs/dist/qs
 
 OSM.initializeContextMenu = function (map) {
-  var querystring = require("querystring-component");
-
   map.contextmenu.addItem({
     text: I18n.t("javascripts.context.directions_from"),
     callback: function directionsFromHere(e) {
@@ -11,7 +9,7 @@ OSM.initializeContextMenu = function (map) {
           lat = latlng.lat.toFixed(precision),
           lng = latlng.lng.toFixed(precision);
 
-      OSM.router.route("/directions?" + querystring.stringify({
+      OSM.router.route("/directions?" + Qs.stringify({
         from: lat + "," + lng,
         to: $("#route_to").val()
       }));
@@ -26,7 +24,7 @@ OSM.initializeContextMenu = function (map) {
           lat = latlng.lat.toFixed(precision),
           lng = latlng.lng.toFixed(precision);
 
-      OSM.router.route("/directions?" + querystring.stringify({
+      OSM.router.route("/directions?" + Qs.stringify({
         from: $("#route_from").val(),
         to: lat + "," + lng
       }));
index 5f9027ec6b9bc85edd0f5c20739da3be2e09fa7c..6efde27c6a91dde0f3983fd1ccc2c560fac7c0f7 100644 (file)
@@ -1,10 +1,8 @@
 //= require_self
 //= require_tree ./directions
-//= require querystring
+//= require qs/dist/qs
 
 OSM.Directions = function (map) {
-  var querystring = require("querystring-component");
-
   var awaitingGeocode; // true if the user has requested a route, but we're waiting on a geocode result
   var awaitingRoute; // true if we've asked the engine for a route and are waiting to hear back
   var chosenEngine;
@@ -152,7 +150,7 @@ OSM.Directions = function (map) {
       routeTo = coordTo.lat + "," + coordTo.lng;
     }
 
-    OSM.router.route("/directions?" + querystring.stringify({
+    OSM.router.route("/directions?" + Qs.stringify({
       from: $("#route_to").val(),
       to: $("#route_from").val(),
       route: routeTo + ";" + routeFrom
@@ -223,7 +221,7 @@ OSM.Directions = function (map) {
 
     var precision = OSM.zoomPrecision(map.getZoom());
 
-    OSM.router.replace("/directions?" + querystring.stringify({
+    OSM.router.replace("/directions?" + Qs.stringify({
       engine: chosenEngine.id,
       route: o.lat.toFixed(precision) + "," + o.lng.toFixed(precision) + ";" +
              d.lat.toFixed(precision) + "," + d.lng.toFixed(precision)
@@ -380,7 +378,7 @@ OSM.Directions = function (map) {
       getRoute(true, true);
     });
 
-    var params = querystring.parse(location.search.substring(1)),
+    var params = Qs.parse(location.search.substring(1)),
         route = (params.route || "").split(";"),
         from = route[0] && L.latLng(route[0].split(",")),
         to = route[1] && L.latLng(route[1].split(","));
index 9d68ab65c8fc62b2a4eb2bb1147bb3f2742b0e31..b1c07bbbf85ec0ba85689195739a3d230a8333d3 100644 (file)
@@ -1,8 +1,6 @@
-//= require querystring
+//= require qs/dist/qs
 
 OSM.NewNote = function (map) {
-  var querystring = require("querystring-component");
-
   var noteLayer = map.noteLayer,
       content = $("#sidebar_content"),
       page = {},
@@ -111,7 +109,7 @@ OSM.NewNote = function (map) {
 
     map.addLayer(noteLayer);
 
-    var params = querystring.parse(path.substring(path.indexOf("?") + 1));
+    var params = Qs.parse(path.substring(path.indexOf("?") + 1));
     var markerLatlng;
 
     if (params.lat && params.lon) {
index ad983b5d5b76fe10d8a57bb9d00848c3d7516a2a..b64bccd6464eddd6ee0397f53aa0b67b60575f4e 100644 (file)
@@ -1,9 +1,7 @@
 //= require jquery-simulate/jquery.simulate
-//= require querystring
+//= require qs/dist/qs
 
 OSM.Query = function (map) {
-  var querystring = require("querystring-component");
-
   var url = OSM.OVERPASS_URL,
       queryButton = $(".control-query .control-button"),
       uninterestingTags = ["source", "source_ref", "source:ref", "history", "attribution", "created_by", "tiger:county", "tiger:tlid", "tiger:upload_uuid", "KSJ2:curve_id", "KSJ2:lat", "KSJ2:lon", "KSJ2:coordinate", "KSJ2:filename", "note:ja"],
@@ -350,7 +348,7 @@ OSM.Query = function (map) {
   };
 
   page.load = function (path, noCentre) {
-    var params = querystring.parse(path.substring(path.indexOf("?") + 1)),
+    var params = Qs.parse(path.substring(path.indexOf("?") + 1)),
         latlng = L.latLng(params.lat, params.lon);
 
     if (!window.location.hash && !noCentre && !map.getBounds().contains(latlng)) {
index 3cd5462186b5350cb5578488152f644b2b6962f2..10750b5b7222e10bfcd0103e96dad4625abc423a 100644 (file)
@@ -1,9 +1,7 @@
 //= require jquery-simulate/jquery.simulate
-//= require querystring
+//= require qs/dist/qs
 
 OSM.Search = function (map) {
-  var querystring = require("querystring-component");
-
   $(".search_form input[name=query]").on("input", function (e) {
     if ($(e.target).val() === "") {
       $(".describe_location").fadeIn(100);
@@ -123,7 +121,7 @@ OSM.Search = function (map) {
   var page = {};
 
   page.pushstate = page.popstate = function (path) {
-    var params = querystring.parse(path.substring(path.indexOf("?") + 1));
+    var params = Qs.parse(path.substring(path.indexOf("?") + 1));
     $(".search_form input[name=query]").val(params.query);
     $(".describe_location").hide();
     OSM.loadSidebarContent(path, page.load);
index 3e37ccb4269e2bc9210b361d8e7a36bde58e5078..d47b896177b6c10617201959ef821d15d261d27e 100644 (file)
@@ -1,4 +1,4 @@
-//= require querystring
+//= require qs/dist/qs
 
 L.extend(L.LatLngBounds.prototype, {
   getSize: function () {
@@ -126,9 +126,8 @@ L.OSM.Map = L.Map.extend({
       params.mlon = latLng.lng.toFixed(precision);
     }
 
-    var querystring = require("querystring-component"),
-        url = window.location.protocol + "//" + OSM.SERVER_URL + "/",
-        query = querystring.stringify(params),
+    var url = window.location.protocol + "//" + OSM.SERVER_URL + "/",
+        query = Qs.stringify(params),
         hash = OSM.formatHash(this);
 
     if (query) url += "?" + query;
@@ -193,8 +192,7 @@ L.OSM.Map = L.Map.extend({
       params[this._object.type] = this._object.id;
     }
 
-    var querystring = require("querystring-component"),
-        query = querystring.stringify(params);
+    var query = Qs.stringify(params);
     if (query) {
       str += "?" + query;
     }
index 74b226bf682444472aac70ad0f1a8c921e9001a7..8963c07b64c28ccd66cc13d2677ba5fbae2b6362 100644 (file)
@@ -1,8 +1,6 @@
-//= querystring
+//= qs/dist/qs
 
 $(document).ready(function () {
-  var querystring = require("querystring-component");
-
   // Preserve location hash in referer
   if (window.location.hash) {
     $("#referer").val($("#referer").val() + window.location.hash);
@@ -10,9 +8,9 @@ $(document).ready(function () {
 
   // Attach referer to authentication buttons
   $(".auth_button").each(function () {
-    var params = querystring.parse(this.search.substring(1));
+    var params = Qs.parse(this.search.substring(1));
     params.referer = $("#referer").val();
-    this.search = querystring.stringify(params);
+    this.search = Qs.stringify(params);
   });
 
   // Add click handler to show OpenID field
@@ -37,7 +35,7 @@ $(document).ready(function () {
     if (referer) {
       args.referer = referer;
     }
-    window.location = action + "?" + querystring.stringify(args);
+    window.location = action + "?" + Qs.stringify(args);
     return false;
   });
 });
index 391ba64ef6a63c91ee055cc537d6fb83c8dfc10c..0a29d374e823758fe9ea30d9f596415583e9eeee 100644 (file)
@@ -1,6 +1,6 @@
 //= depend_on settings.yml
 //= depend_on settings.local.yml
-//= require querystring
+//= require qs/dist/qs
 
 OSM = {
 <% if defined?(PIWIK) %>
@@ -139,15 +139,14 @@ OSM = {
   },
 
   parseHash: function(hash) {
-    var querystring = require("querystring-component"),
-        args = {};
+    var args = {};
 
     var i = hash.indexOf('#');
     if (i < 0) {
       return args;
     }
 
-    hash = querystring.parse(hash.substr(i + 1));
+    hash = Qs.parse(hash.substr(i + 1));
 
     var map = (hash.map || '').split('/'),
       zoom = parseInt(map[0], 10),
index 39f39fad4ac5e2169d7b824b6a6cd1e690ef29f3..86961c20f67719e336a60dcac81f11ea691f704e 100644 (file)
@@ -8,7 +8,8 @@
     "jquery.cookie": "^1.4.1",
     "leaflet": "^1.6.0",
     "leaflet.locatecontrol": "^0.71.1",
-    "ohauth": "^0.2.2"
+    "ohauth": "^0.2.2",
+    "qs": "^6.9.4"
   },
   "devDependencies": {
     "eslint": "^7.3.1"
index 83e7501978bb7a8b3c64bd44e7a1884c435ac515..ad4cc7b9f283a57114e096a899988e36f5eff51d 100644 (file)
@@ -5,9 +5,7 @@
 //= require leaflet.osm
 //= require leaflet.map
 //= require i18n/translations
-//= require querystring
-
-var querystring = require('querystring-component');
+//= require qs/dist/qs
 
 describe("OSM", function () {
   describe(".apiUrl", function () {
diff --git a/vendor/assets/javascripts/querystring.js b/vendor/assets/javascripts/querystring.js
deleted file mode 100644 (file)
index 2a54a07..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-require=(function(e,t,n){function i(n,s){if(!t[n]){if(!e[n]){var o=typeof require=="function"&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);throw new Error("Cannot find module '"+n+"'")}var u=t[n]={exports:{}};e[n][0].call(u.exports,function(t){var r=e[n][1][t];return i(r?r:t)},u,u.exports)}return t[n].exports}var r=typeof require=="function"&&require;for(var s=0;s<n.length;s++)i(n[s]);return i})({"querystring-component":[function(require,module,exports){
-module.exports=require('Xr2wId');
-},{}],"Xr2wId":[function(require,module,exports){
-
-/**
- * Module dependencies.
- */
-
-var trim = require('trim');
-
-/**
- * Parse the given query `str`.
- *
- * @param {String} str
- * @return {Object}
- * @api public
- */
-
-exports.parse = function(str){
-  if ('string' !== typeof str) return {};
-
-  str = trim(str);
-  if ('' === str) return {};
-
-  var obj = {};
-  var pairs = str.split('&');
-  for (var i = 0; i < pairs.length; i++) {
-    var parts = pairs[i].split('=');
-    obj[parts[0]] = null === parts[1]
-      ? ''
-      : decodeURIComponent(parts[1]);
-  }
-
-  return obj;
-};
-
-/**
- * Stringify the given `obj`.
- *
- * @param {Object} obj
- * @return {String}
- * @api public
- */
-
-exports.stringify = function(obj){
-  if (!obj) return '';
-  var pairs = [];
-  for (var key in obj) {
-    pairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]));
-  }
-  return pairs.join('&');
-};
-
-},{"trim":1}],1:[function(require,module,exports){
-
-exports = module.exports = trim;
-
-function trim(str){
-  return str.replace(/^\s*|\s*$/g, '');
-}
-
-exports.left = function(str){
-  return str.replace(/^\s*/, '');
-};
-
-exports.right = function(str){
-  return str.replace(/\s*$/, '');
-};
-
-},{}]},{},[])
-;
index 6529c1b3400a514c771dd600145343bc97e31c1d..a544e5c125d13740eb9b25e052482ff318bf91f3 100644 (file)
--- a/yarn.lock
+++ b/yarn.lock
@@ -593,6 +593,11 @@ punycode@^2.1.0:
   resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
   integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
 
+qs@^6.9.4:
+  version "6.9.4"
+  resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687"
+  integrity sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==
+
 regexpp@^3.1.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"