mediawiki/extensions/Kartographer: main (log #1388017)

sourcepatches

This run took 80 seconds.

From c4d131dd684f26f942dc6768d822d3938f8c263e Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Wed, 19 Jun 2024 02:00:16 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* grunt-banana-checker: 0.11.1 → 0.13.0
* jsdoc-wmf-theme: 0.0.12 → 1.0.1
* braces: 3.0.2 → 3.0.3
  * https://github.com/advisories/GHSA-grv7-fg5c-xmjg

Change-Id: Ib3b721135521af06d08f25a1c0a70e2e1812bfe7
---
 package-lock.json | 120 ++++++++++++++++++++++++++--------------------
 package.json      |   4 +-
 2 files changed, 70 insertions(+), 54 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index c607a4a..e78234c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,12 +14,12 @@
 				"browserify": "16.2.2",
 				"eslint-config-wikimedia": "0.28.0",
 				"grunt": "1.6.1",
-				"grunt-banana-checker": "0.11.1",
+				"grunt-banana-checker": "0.13.0",
 				"grunt-contrib-watch": "1.1.0",
 				"grunt-eslint": "24.3.0",
 				"grunt-stylelint": "0.19.0",
 				"jsdoc": "4.0.2",
-				"jsdoc-wmf-theme": "0.0.12",
+				"jsdoc-wmf-theme": "1.0.1",
 				"leaflet.markercluster": "^1.5.3",
 				"replace-in-files-cli": "^2.0.0",
 				"rollup": "^0.36.1",
@@ -348,9 +348,9 @@
 			"dev": true
 		},
 		"node_modules/@jsdoc/salty": {
-			"version": "0.2.7",
-			"resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.7.tgz",
-			"integrity": "sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg==",
+			"version": "0.2.8",
+			"resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.8.tgz",
+			"integrity": "sha512-5e+SFVavj1ORKlKaKr2BmTOekmXbelU7dC0cDkQLqag7xfuTPuGMUFx7KWJuv4bYZrTsoL2Z18VVCOKYxzoHcg==",
 			"dev": true,
 			"dependencies": {
 				"lodash": "^4.17.21"
@@ -924,12 +924,12 @@
 			}
 		},
 		"node_modules/braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"dependencies": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			},
 			"engines": {
 				"node": ">=8"
@@ -3043,9 +3043,9 @@
 			}
 		},
 		"node_modules/fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"dependencies": {
 				"to-regex-range": "^5.0.1"
@@ -3424,15 +3424,18 @@
 			}
 		},
 		"node_modules/grunt-banana-checker": {
-			"version": "0.11.1",
-			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.11.1.tgz",
-			"integrity": "sha512-CF0h/TXaX9sbF2yIz+fUfJc4Zvms7XGYQ7ZYMD5+vv0LMZzSFf7JSHXDaBEs72nQWw4r4ap5fOW3baAliW+0bQ==",
+			"version": "0.13.0",
+			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.13.0.tgz",
+			"integrity": "sha512-uAUKILcP69Q4OJHHV2wzxqVaoXB8G3Uh/XuSJLn0Bk/9+WiUY/Q4+OX7dUhrPPeDZPtoGh37qqJLVvZlDTUecg==",
 			"dev": true,
+			"dependencies": {
+				"chalk": "4.1.2"
+			},
 			"bin": {
 				"banana-checker": "src/cli.js"
 			},
 			"engines": {
-				"node": ">=8"
+				"node": ">=16"
 			}
 		},
 		"node_modules/grunt-cli": {
@@ -4208,16 +4211,29 @@
 			}
 		},
 		"node_modules/jsdoc-wmf-theme": {
-			"version": "0.0.12",
-			"resolved": "https://registry.npmjs.org/jsdoc-wmf-theme/-/jsdoc-wmf-theme-0.0.12.tgz",
-			"integrity": "sha512-nuM3TZ91hYWr0GcWr0ECccUMaqxmfQaQTrvqh6n2OSCJj1PRYLMAX7ME3iR+3NX8yBI5MLA+SoiZMwDq/B6pdg==",
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/jsdoc-wmf-theme/-/jsdoc-wmf-theme-1.0.1.tgz",
+			"integrity": "sha512-QKCtPM1INxFDOPSIEcPTHP4PhVzyDyQD7ALWLmVD8dP0BFdQuGVFG/q3sbxC4uNCrntOoLOVmzFFK95d0OgeTQ==",
 			"dev": true,
 			"dependencies": {
+				"@jsdoc/salty": "^0.2.8",
 				"@wikimedia/codex-design-tokens": "1.1.1",
 				"domino": "^2.1.6",
 				"lunr": "2.3.9",
-				"normalize.css": "8.0.1",
-				"taffydb": "^2.7.3"
+				"marked": "^12.0.2",
+				"normalize.css": "8.0.1"
+			}
+		},
+		"node_modules/jsdoc-wmf-theme/node_modules/marked": {
+			"version": "12.0.2",
+			"resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz",
+			"integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==",
+			"dev": true,
+			"bin": {
+				"marked": "bin/marked.js"
+			},
+			"engines": {
+				"node": ">= 18"
 			}
 		},
 		"node_modules/jsdoc/node_modules/escape-string-regexp": {
@@ -7004,12 +7020,6 @@
 			"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
 			"dev": true
 		},
-		"node_modules/taffydb": {
-			"version": "2.7.3",
-			"resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.7.3.tgz",
-			"integrity": "sha512-GQ3gtYFSOAxSMN/apGtDKKkbJf+8izz5YfbGqIsUc7AMiQOapARZ76dhilRY2h39cynYxBFdafQo5HUL5vgkrg==",
-			"dev": true
-		},
 		"node_modules/tapable": {
 			"version": "2.2.1",
 			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
@@ -7783,9 +7793,9 @@
 			"dev": true
 		},
 		"@jsdoc/salty": {
-			"version": "0.2.7",
-			"resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.7.tgz",
-			"integrity": "sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg==",
+			"version": "0.2.8",
+			"resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.8.tgz",
+			"integrity": "sha512-5e+SFVavj1ORKlKaKr2BmTOekmXbelU7dC0cDkQLqag7xfuTPuGMUFx7KWJuv4bYZrTsoL2Z18VVCOKYxzoHcg==",
 			"dev": true,
 			"requires": {
 				"lodash": "^4.17.21"
@@ -8234,12 +8244,12 @@
 			}
 		},
 		"braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"requires": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			}
 		},
 		"brorand": {
@@ -9899,9 +9909,9 @@
 			}
 		},
 		"fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"requires": {
 				"to-regex-range": "^5.0.1"
@@ -10241,10 +10251,13 @@
 			}
 		},
 		"grunt-banana-checker": {
-			"version": "0.11.1",
-			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.11.1.tgz",
-			"integrity": "sha512-CF0h/TXaX9sbF2yIz+fUfJc4Zvms7XGYQ7ZYMD5+vv0LMZzSFf7JSHXDaBEs72nQWw4r4ap5fOW3baAliW+0bQ==",
-			"dev": true
+			"version": "0.13.0",
+			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.13.0.tgz",
+			"integrity": "sha512-uAUKILcP69Q4OJHHV2wzxqVaoXB8G3Uh/XuSJLn0Bk/9+WiUY/Q4+OX7dUhrPPeDZPtoGh37qqJLVvZlDTUecg==",
+			"dev": true,
+			"requires": {
+				"chalk": "4.1.2"
+			}
 		},
 		"grunt-cli": {
 			"version": "1.4.3",
@@ -10799,16 +10812,25 @@
 			"dev": true
 		},
 		"jsdoc-wmf-theme": {
-			"version": "0.0.12",
-			"resolved": "https://registry.npmjs.org/jsdoc-wmf-theme/-/jsdoc-wmf-theme-0.0.12.tgz",
-			"integrity": "sha512-nuM3TZ91hYWr0GcWr0ECccUMaqxmfQaQTrvqh6n2OSCJj1PRYLMAX7ME3iR+3NX8yBI5MLA+SoiZMwDq/B6pdg==",
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/jsdoc-wmf-theme/-/jsdoc-wmf-theme-1.0.1.tgz",
+			"integrity": "sha512-QKCtPM1INxFDOPSIEcPTHP4PhVzyDyQD7ALWLmVD8dP0BFdQuGVFG/q3sbxC4uNCrntOoLOVmzFFK95d0OgeTQ==",
 			"dev": true,
 			"requires": {
+				"@jsdoc/salty": "^0.2.8",
 				"@wikimedia/codex-design-tokens": "1.1.1",
 				"domino": "^2.1.6",
 				"lunr": "2.3.9",
-				"normalize.css": "8.0.1",
-				"taffydb": "^2.7.3"
+				"marked": "^12.0.2",
+				"normalize.css": "8.0.1"
+			},
+			"dependencies": {
+				"marked": {
+					"version": "12.0.2",
+					"resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz",
+					"integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==",
+					"dev": true
+				}
 			}
 		},
 		"jsesc": {
@@ -12962,12 +12984,6 @@
 				}
 			}
 		},
-		"taffydb": {
-			"version": "2.7.3",
-			"resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.7.3.tgz",
-			"integrity": "sha512-GQ3gtYFSOAxSMN/apGtDKKkbJf+8izz5YfbGqIsUc7AMiQOapARZ76dhilRY2h39cynYxBFdafQo5HUL5vgkrg==",
-			"dev": true
-		},
 		"tapable": {
 			"version": "2.2.1",
 			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
diff --git a/package.json b/package.json
index 34b1d5b..0236929 100644
--- a/package.json
+++ b/package.json
@@ -11,12 +11,12 @@
 		"browserify": "16.2.2",
 		"eslint-config-wikimedia": "0.28.0",
 		"grunt": "1.6.1",
-		"grunt-banana-checker": "0.11.1",
+		"grunt-banana-checker": "0.13.0",
 		"grunt-contrib-watch": "1.1.0",
 		"grunt-eslint": "24.3.0",
 		"grunt-stylelint": "0.19.0",
 		"jsdoc": "4.0.2",
-		"jsdoc-wmf-theme": "0.0.12",
+		"jsdoc-wmf-theme": "1.0.1",
 		"leaflet.markercluster": "^1.5.3",
 		"replace-in-files-cli": "^2.0.0",
 		"rollup": "^0.36.1",
-- 
2.39.2

$ date
--- stdout ---
Wed Jun 19 01:59:15 UTC 2024

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-Kartographer.git repo --depth=1 -b master
--- stderr ---
Cloning into 'repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stdout ---

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
4817ae0d76e8077047c80c772785928e78950304 refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "braces": {
      "name": "braces",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1097496,
          "name": "braces",
          "dependency": "braces",
          "title": "Uncontrolled resource consumption in braces",
          "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
          "severity": "high",
          "cwe": [
            "CWE-1050"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.3"
        }
      ],
      "effects": [],
      "range": "<3.0.3",
      "nodes": [
        "node_modules/braces"
      ],
      "fixAvailable": true
    },
    "jsdoc-wmf-theme": {
      "name": "jsdoc-wmf-theme",
      "severity": "high",
      "isDirect": true,
      "via": [
        "taffydb"
      ],
      "effects": [],
      "range": "<=0.0.12",
      "nodes": [
        "node_modules/jsdoc-wmf-theme"
      ],
      "fixAvailable": {
        "name": "jsdoc-wmf-theme",
        "version": "1.0.1",
        "isSemVerMajor": true
      }
    },
    "taffydb": {
      "name": "taffydb",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1089386,
          "name": "taffydb",
          "dependency": "taffydb",
          "title": "TaffyDB can allow access to any data items in the DB",
          "url": "https://github.com/advisories/GHSA-mxhp-79qh-mcx6",
          "severity": "high",
          "cwe": [
            "CWE-20",
            "CWE-668"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
          },
          "range": "<=2.7.3"
        }
      ],
      "effects": [
        "jsdoc-wmf-theme"
      ],
      "range": "*",
      "nodes": [
        "node_modules/taffydb"
      ],
      "fixAvailable": {
        "name": "jsdoc-wmf-theme",
        "version": "1.0.1",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 3,
      "critical": 0,
      "total": 3
    },
    "dependencies": {
      "prod": 8,
      "dev": 653,
      "optional": 0,
      "peer": 6,
      "peerOptional": 0,
      "total": 660
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 39 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.1.4)
  - Locking composer/semver (3.4.0)
  - Locking composer/spdx-licenses (1.5.8)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
  - Locking doctrine/deprecations (1.1.3)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking justinrainbow/json-schema (v5.2.13)
  - Locking mediawiki/mediawiki-codesniffer (v43.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.14.0)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking mediawiki/phan-taint-check-plugin (6.0.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.4.1)
  - Locking phan/phan (5.4.3)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.1.2)
  - Locking phpcsstandards/phpcsutils (1.0.9)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.4.1)
  - Locking phpdocumentor/type-resolver (1.8.2)
  - Locking phpstan/phpdoc-parser (1.29.1)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.0)
  - Locking sabre/event (5.1.4)
  - Locking squizlabs/php_codesniffer (3.8.1)
  - Locking symfony/console (v7.1.1)
  - Locking symfony/deprecation-contracts (v3.5.0)
  - Locking symfony/polyfill-ctype (v1.29.0)
  - Locking symfony/polyfill-intl-grapheme (v1.29.0)
  - Locking symfony/polyfill-intl-normalizer (v1.29.0)
  - Locking symfony/polyfill-mbstring (v1.29.0)
  - Locking symfony/polyfill-php80 (v1.29.0)
  - Locking symfony/service-contracts (v3.5.0)
  - Locking symfony/string (v7.1.1)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 39 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.8.1): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
  - Installing composer/pcre (3.1.4): Extracting archive
  - Installing justinrainbow/json-schema (v5.2.13): Extracting archive
  - Installing symfony/polyfill-php80 (v1.29.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.9): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.1.2): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.29.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.8): Extracting archive
  - Installing composer/semver (3.4.0): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v43.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.29.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.29.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.29.0): Extracting archive
  - Installing symfony/string (v7.1.1): Extracting archive
  - Installing symfony/deprecation-contracts (v3.5.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.5.0): Extracting archive
  - Installing symfony/console (v7.1.1): Extracting archive
  - Installing sabre/event (5.1.4): Extracting archive
  - Installing netresearch/jsonmapper (v4.4.1): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (1.29.1): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.3): Extracting archive
  - Installing phpdocumentor/type-resolver (1.8.2): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.4.1): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (3.0.0): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (5.4.3): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (6.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.14.0): Extracting archive
  - Installing mediawiki/minus-x (1.1.3): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  0/37 [>---------------------------]   0%
 20/37 [===============>------------]  54%
 32/37 [========================>---]  86%
 37/37 [============================] 100%
Generating autoload files
15 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
Upgrading n:grunt-banana-checker from 0.11.1 -> 0.13.0
Upgrading n:jsdoc-wmf-theme from 0.0.12 -> 1.0.1
$ /usr/bin/npm install
--- stderr ---
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated rollup-plugin-commonjs@5.0.5: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-commonjs.
--- stdout ---

added 660 packages, and audited 661 packages in 6s

118 packages are looking for funding
  run `npm fund` for details

1 high severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
Failed to parse a 'banana' section from Gruntfile.js
$ /usr/bin/npm ci
--- stderr ---
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated rollup-plugin-commonjs@5.0.5: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-commonjs.
--- stdout ---

added 660 packages, and audited 661 packages in 8s

118 packages are looking for funding
  run `npm fund` for details

1 high severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/modules/dialog/nearby.js
  10:1  warning  The type 'ThumbnailProperties' is undefined  jsdoc/no-undefined-types

/src/repo/modules/maplink/maplink.js
  7:1  warning  The type 'Kartograhper' is undefined  jsdoc/no-undefined-types
  8:1  warning  The type 'Kartograhper' is undefined  jsdoc/no-undefined-types

/src/repo/modules/wikivoyage/WVMapLayers.js
  5:1  warning  The type 'Kartograhper' is undefined  jsdoc/no-undefined-types

✖ 4 problems (0 errors, 4 warnings)


Running "stylelint:all" (stylelint) task
>> Linted 11 files without errors

Running "banana:Kartographer" (banana) task
>> 3 message directories checked.

Running "libcheck" task
>> Library folder is synchronized with upstream libraries' states.

Done.

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "braces": {
      "name": "braces",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1097496,
          "name": "braces",
          "dependency": "braces",
          "title": "Uncontrolled resource consumption in braces",
          "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
          "severity": "high",
          "cwe": [
            "CWE-1050"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.3"
        }
      ],
      "effects": [],
      "range": "<3.0.3",
      "nodes": [
        "node_modules/braces"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 1,
      "critical": 0,
      "total": 1
    },
    "dependencies": {
      "prod": 8,
      "dev": 653,
      "optional": 0,
      "peer": 6,
      "peerOptional": 0,
      "total": 660
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---
{
  "added": 0,
  "removed": 0,
  "changed": 2,
  "audited": 661,
  "funding": 118,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "braces": {
        "name": "braces",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1097496,
            "name": "braces",
            "dependency": "braces",
            "title": "Uncontrolled resource consumption in braces",
            "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
            "severity": "high",
            "cwe": [
              "CWE-1050"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<3.0.3"
          }
        ],
        "effects": [],
        "range": "<3.0.3",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 0,
        "high": 1,
        "critical": 0,
        "total": 1
      },
      "dependencies": {
        "prod": 8,
        "dev": 653,
        "optional": 0,
        "peer": 6,
        "peerOptional": 0,
        "total": 660
      }
    }
  }
}

--- end ---
{"added": 0, "removed": 0, "changed": 2, "audited": 661, "funding": 118, "audit": {"auditReportVersion": 2, "vulnerabilities": {"braces": {"name": "braces", "severity": "high", "isDirect": false, "via": [{"source": 1097496, "name": "braces", "dependency": "braces", "title": "Uncontrolled resource consumption in braces", "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg", "severity": "high", "cwe": ["CWE-1050"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.0.3"}], "effects": [], "range": "<3.0.3", "nodes": [""], "fixAvailable": true}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 0, "high": 1, "critical": 0, "total": 1}, "dependencies": {"prod": 8, "dev": 653, "optional": 0, "peer": 6, "peerOptional": 0, "total": 660}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---

up to date, audited 661 packages in 1s

118 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated rollup-plugin-commonjs@5.0.5: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-commonjs.
--- stdout ---

added 660 packages, and audited 661 packages in 7s

118 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/modules/dialog/nearby.js
  10:1  warning  The type 'ThumbnailProperties' is undefined  jsdoc/no-undefined-types

/src/repo/modules/maplink/maplink.js
  7:1  warning  The type 'Kartograhper' is undefined  jsdoc/no-undefined-types
  8:1  warning  The type 'Kartograhper' is undefined  jsdoc/no-undefined-types

/src/repo/modules/wikivoyage/WVMapLayers.js
  5:1  warning  The type 'Kartograhper' is undefined  jsdoc/no-undefined-types

✖ 4 problems (0 errors, 4 warnings)


Running "stylelint:all" (stylelint) task
>> Linted 11 files without errors

Running "banana:Kartographer" (banana) task
>> 3 message directories checked.

Running "libcheck" task
>> Library folder is synchronized with upstream libraries' states.

Done.

--- end ---
{"1097496": {"source": 1097496, "name": "braces", "dependency": "braces", "title": "Uncontrolled resource consumption in braces", "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg", "severity": "high", "cwe": ["CWE-1050"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.0.3"}}
Upgrading n:braces from 3.0.2 -> 3.0.3
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
build: Updating npm dependencies

* grunt-banana-checker: 0.11.1 → 0.13.0
* jsdoc-wmf-theme: 0.0.12 → 1.0.1
* braces: 3.0.2 → 3.0.3
  * https://github.com/advisories/GHSA-grv7-fg5c-xmjg

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmp7_ejrtlz
--- stdout ---
[master c4d131d] build: Updating npm dependencies
 2 files changed, 70 insertions(+), 54 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From c4d131dd684f26f942dc6768d822d3938f8c263e Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Wed, 19 Jun 2024 02:00:16 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* grunt-banana-checker: 0.11.1 → 0.13.0
* jsdoc-wmf-theme: 0.0.12 → 1.0.1
* braces: 3.0.2 → 3.0.3
  * https://github.com/advisories/GHSA-grv7-fg5c-xmjg

Change-Id: Ib3b721135521af06d08f25a1c0a70e2e1812bfe7
---
 package-lock.json | 120 ++++++++++++++++++++++++++--------------------
 package.json      |   4 +-
 2 files changed, 70 insertions(+), 54 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index c607a4a..e78234c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,12 +14,12 @@
 				"browserify": "16.2.2",
 				"eslint-config-wikimedia": "0.28.0",
 				"grunt": "1.6.1",
-				"grunt-banana-checker": "0.11.1",
+				"grunt-banana-checker": "0.13.0",
 				"grunt-contrib-watch": "1.1.0",
 				"grunt-eslint": "24.3.0",
 				"grunt-stylelint": "0.19.0",
 				"jsdoc": "4.0.2",
-				"jsdoc-wmf-theme": "0.0.12",
+				"jsdoc-wmf-theme": "1.0.1",
 				"leaflet.markercluster": "^1.5.3",
 				"replace-in-files-cli": "^2.0.0",
 				"rollup": "^0.36.1",
@@ -348,9 +348,9 @@
 			"dev": true
 		},
 		"node_modules/@jsdoc/salty": {
-			"version": "0.2.7",
-			"resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.7.tgz",
-			"integrity": "sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg==",
+			"version": "0.2.8",
+			"resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.8.tgz",
+			"integrity": "sha512-5e+SFVavj1ORKlKaKr2BmTOekmXbelU7dC0cDkQLqag7xfuTPuGMUFx7KWJuv4bYZrTsoL2Z18VVCOKYxzoHcg==",
 			"dev": true,
 			"dependencies": {
 				"lodash": "^4.17.21"
@@ -924,12 +924,12 @@
 			}
 		},
 		"node_modules/braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"dependencies": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			},
 			"engines": {
 				"node": ">=8"
@@ -3043,9 +3043,9 @@
 			}
 		},
 		"node_modules/fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"dependencies": {
 				"to-regex-range": "^5.0.1"
@@ -3424,15 +3424,18 @@
 			}
 		},
 		"node_modules/grunt-banana-checker": {
-			"version": "0.11.1",
-			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.11.1.tgz",
-			"integrity": "sha512-CF0h/TXaX9sbF2yIz+fUfJc4Zvms7XGYQ7ZYMD5+vv0LMZzSFf7JSHXDaBEs72nQWw4r4ap5fOW3baAliW+0bQ==",
+			"version": "0.13.0",
+			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.13.0.tgz",
+			"integrity": "sha512-uAUKILcP69Q4OJHHV2wzxqVaoXB8G3Uh/XuSJLn0Bk/9+WiUY/Q4+OX7dUhrPPeDZPtoGh37qqJLVvZlDTUecg==",
 			"dev": true,
+			"dependencies": {
+				"chalk": "4.1.2"
+			},
 			"bin": {
 				"banana-checker": "src/cli.js"
 			},
 			"engines": {
-				"node": ">=8"
+				"node": ">=16"
 			}
 		},
 		"node_modules/grunt-cli": {
@@ -4208,16 +4211,29 @@
 			}
 		},
 		"node_modules/jsdoc-wmf-theme": {
-			"version": "0.0.12",
-			"resolved": "https://registry.npmjs.org/jsdoc-wmf-theme/-/jsdoc-wmf-theme-0.0.12.tgz",
-			"integrity": "sha512-nuM3TZ91hYWr0GcWr0ECccUMaqxmfQaQTrvqh6n2OSCJj1PRYLMAX7ME3iR+3NX8yBI5MLA+SoiZMwDq/B6pdg==",
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/jsdoc-wmf-theme/-/jsdoc-wmf-theme-1.0.1.tgz",
+			"integrity": "sha512-QKCtPM1INxFDOPSIEcPTHP4PhVzyDyQD7ALWLmVD8dP0BFdQuGVFG/q3sbxC4uNCrntOoLOVmzFFK95d0OgeTQ==",
 			"dev": true,
 			"dependencies": {
+				"@jsdoc/salty": "^0.2.8",
 				"@wikimedia/codex-design-tokens": "1.1.1",
 				"domino": "^2.1.6",
 				"lunr": "2.3.9",
-				"normalize.css": "8.0.1",
-				"taffydb": "^2.7.3"
+				"marked": "^12.0.2",
+				"normalize.css": "8.0.1"
+			}
+		},
+		"node_modules/jsdoc-wmf-theme/node_modules/marked": {
+			"version": "12.0.2",
+			"resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz",
+			"integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==",
+			"dev": true,
+			"bin": {
+				"marked": "bin/marked.js"
+			},
+			"engines": {
+				"node": ">= 18"
 			}
 		},
 		"node_modules/jsdoc/node_modules/escape-string-regexp": {
@@ -7004,12 +7020,6 @@
 			"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
 			"dev": true
 		},
-		"node_modules/taffydb": {
-			"version": "2.7.3",
-			"resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.7.3.tgz",
-			"integrity": "sha512-GQ3gtYFSOAxSMN/apGtDKKkbJf+8izz5YfbGqIsUc7AMiQOapARZ76dhilRY2h39cynYxBFdafQo5HUL5vgkrg==",
-			"dev": true
-		},
 		"node_modules/tapable": {
 			"version": "2.2.1",
 			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
@@ -7783,9 +7793,9 @@
 			"dev": true
 		},
 		"@jsdoc/salty": {
-			"version": "0.2.7",
-			"resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.7.tgz",
-			"integrity": "sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg==",
+			"version": "0.2.8",
+			"resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.8.tgz",
+			"integrity": "sha512-5e+SFVavj1ORKlKaKr2BmTOekmXbelU7dC0cDkQLqag7xfuTPuGMUFx7KWJuv4bYZrTsoL2Z18VVCOKYxzoHcg==",
 			"dev": true,
 			"requires": {
 				"lodash": "^4.17.21"
@@ -8234,12 +8244,12 @@
 			}
 		},
 		"braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"requires": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			}
 		},
 		"brorand": {
@@ -9899,9 +9909,9 @@
 			}
 		},
 		"fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"requires": {
 				"to-regex-range": "^5.0.1"
@@ -10241,10 +10251,13 @@
 			}
 		},
 		"grunt-banana-checker": {
-			"version": "0.11.1",
-			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.11.1.tgz",
-			"integrity": "sha512-CF0h/TXaX9sbF2yIz+fUfJc4Zvms7XGYQ7ZYMD5+vv0LMZzSFf7JSHXDaBEs72nQWw4r4ap5fOW3baAliW+0bQ==",
-			"dev": true
+			"version": "0.13.0",
+			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.13.0.tgz",
+			"integrity": "sha512-uAUKILcP69Q4OJHHV2wzxqVaoXB8G3Uh/XuSJLn0Bk/9+WiUY/Q4+OX7dUhrPPeDZPtoGh37qqJLVvZlDTUecg==",
+			"dev": true,
+			"requires": {
+				"chalk": "4.1.2"
+			}
 		},
 		"grunt-cli": {
 			"version": "1.4.3",
@@ -10799,16 +10812,25 @@
 			"dev": true
 		},
 		"jsdoc-wmf-theme": {
-			"version": "0.0.12",
-			"resolved": "https://registry.npmjs.org/jsdoc-wmf-theme/-/jsdoc-wmf-theme-0.0.12.tgz",
-			"integrity": "sha512-nuM3TZ91hYWr0GcWr0ECccUMaqxmfQaQTrvqh6n2OSCJj1PRYLMAX7ME3iR+3NX8yBI5MLA+SoiZMwDq/B6pdg==",
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/jsdoc-wmf-theme/-/jsdoc-wmf-theme-1.0.1.tgz",
+			"integrity": "sha512-QKCtPM1INxFDOPSIEcPTHP4PhVzyDyQD7ALWLmVD8dP0BFdQuGVFG/q3sbxC4uNCrntOoLOVmzFFK95d0OgeTQ==",
 			"dev": true,
 			"requires": {
+				"@jsdoc/salty": "^0.2.8",
 				"@wikimedia/codex-design-tokens": "1.1.1",
 				"domino": "^2.1.6",
 				"lunr": "2.3.9",
-				"normalize.css": "8.0.1",
-				"taffydb": "^2.7.3"
+				"marked": "^12.0.2",
+				"normalize.css": "8.0.1"
+			},
+			"dependencies": {
+				"marked": {
+					"version": "12.0.2",
+					"resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz",
+					"integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==",
+					"dev": true
+				}
 			}
 		},
 		"jsesc": {
@@ -12962,12 +12984,6 @@
 				}
 			}
 		},
-		"taffydb": {
-			"version": "2.7.3",
-			"resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.7.3.tgz",
-			"integrity": "sha512-GQ3gtYFSOAxSMN/apGtDKKkbJf+8izz5YfbGqIsUc7AMiQOapARZ76dhilRY2h39cynYxBFdafQo5HUL5vgkrg==",
-			"dev": true
-		},
 		"tapable": {
 			"version": "2.2.1",
 			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
diff --git a/package.json b/package.json
index 34b1d5b..0236929 100644
--- a/package.json
+++ b/package.json
@@ -11,12 +11,12 @@
 		"browserify": "16.2.2",
 		"eslint-config-wikimedia": "0.28.0",
 		"grunt": "1.6.1",
-		"grunt-banana-checker": "0.11.1",
+		"grunt-banana-checker": "0.13.0",
 		"grunt-contrib-watch": "1.1.0",
 		"grunt-eslint": "24.3.0",
 		"grunt-stylelint": "0.19.0",
 		"jsdoc": "4.0.2",
-		"jsdoc-wmf-theme": "0.0.12",
+		"jsdoc-wmf-theme": "1.0.1",
 		"leaflet.markercluster": "^1.5.3",
 		"replace-in-files-cli": "^2.0.0",
 		"rollup": "^0.36.1",
-- 
2.39.2


--- end ---
Source code is licensed under the AGPL.