mediawiki/extensions/MediaSearch (master)

sourcepatches
From 25574a3834a037275565a5ec4655edb580f7f2e7 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Tue, 11 May 2021 13:25:48 +0000
Subject: [PATCH] build: Updating grunt to 1.4.0

Change-Id: Id03ac34506787f7e1832173747d4dd18365d7ce0
---
 package-lock.json | 159 ++++++++++++++++++++++++++--------------------
 package.json      |   2 +-
 2 files changed, 92 insertions(+), 69 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index f548527..f58b0a5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1608,9 +1608,9 @@
 			"dev": true
 		},
 		"async": {
-			"version": "1.5.2",
-			"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
-			"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+			"version": "3.2.0",
+			"resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz",
+			"integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==",
 			"dev": true
 		},
 		"asynckit": {
@@ -4295,9 +4295,9 @@
 			"dev": true
 		},
 		"getobject": {
-			"version": "0.1.0",
-			"resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
-			"integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.0.tgz",
+			"integrity": "sha512-tbUz6AKKKr2YiMB+fLWIgq5ZeBOobop9YMMAU9dC54/ot2ksMXt3DOFyBuhZw6ptcVszEykgByK20j7W9jHFag==",
 			"dev": true
 		},
 		"getpass": {
@@ -4430,9 +4430,9 @@
 			"optional": true
 		},
 		"grunt": {
-			"version": "1.3.0",
-			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.3.0.tgz",
-			"integrity": "sha512-6ILlMXv11/4cxuhSMfSU+SfvbxrPuqZrAtLN64+tZpQ3DAKfSQPQHRbTjSbdtxfyQhGZPtN0bDZJ/LdCM5WXXA==",
+			"version": "1.4.0",
+			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.4.0.tgz",
+			"integrity": "sha512-yRFc0GVCDu9yxqOFzpuXQ2pEdgtLDnFv5Qz54jfIcNnpJ8Z7B7P7kPkT4VMuRvm+N+QOsI8C4v/Q0DSaoj3LgQ==",
 			"dev": true,
 			"requires": {
 				"dateformat": "~3.0.3",
@@ -4440,10 +4440,10 @@
 				"exit": "~0.1.2",
 				"findup-sync": "~0.3.0",
 				"glob": "~7.1.6",
-				"grunt-cli": "~1.3.2",
-				"grunt-known-options": "~1.1.0",
+				"grunt-cli": "~1.4.2",
+				"grunt-known-options": "~1.1.1",
 				"grunt-legacy-log": "~3.0.0",
-				"grunt-legacy-util": "~2.0.0",
+				"grunt-legacy-util": "~2.0.1",
 				"iconv-lite": "~0.4.13",
 				"js-yaml": "~3.14.0",
 				"minimatch": "~3.0.4",
@@ -4453,16 +4453,16 @@
 			},
 			"dependencies": {
 				"grunt-cli": {
-					"version": "1.3.2",
-					"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz",
-					"integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==",
+					"version": "1.4.2",
+					"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.2.tgz",
+					"integrity": "sha512-wsu6BZh7KCnfeaSkDrKIAvOlqGKxNRTZjc8xfZlvxCByQIqUfZ31kh5uHpPnhQ4NdVgvaWaVxa1LUbVU80nACw==",
 					"dev": true,
 					"requires": {
-						"grunt-known-options": "~1.1.0",
+						"grunt-known-options": "~1.1.1",
 						"interpret": "~1.1.0",
-						"liftoff": "~2.5.0",
+						"liftup": "~3.0.1",
 						"nopt": "~4.0.1",
-						"v8flags": "~3.1.1"
+						"v8flags": "~3.2.0"
 					},
 					"dependencies": {
 						"nopt": {
@@ -4593,9 +4593,9 @@
 					}
 				},
 				"chalk": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
-					"integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+					"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
 					"dev": true,
 					"requires": {
 						"ansi-styles": "^4.1.0",
@@ -4635,29 +4635,18 @@
 			}
 		},
 		"grunt-legacy-util": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.0.tgz",
-			"integrity": "sha512-ZEmYFB44bblwPE2oz3q3ygfF6hseQja9tx8I3UZIwbUik32FMWewA+d1qSFicMFB+8dNXDkh35HcDCWlpRsGlA==",
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz",
+			"integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==",
 			"dev": true,
 			"requires": {
-				"async": "~1.5.2",
-				"exit": "~0.1.1",
-				"getobject": "~0.1.0",
+				"async": "~3.2.0",
+				"exit": "~0.1.2",
+				"getobject": "~1.0.0",
 				"hooker": "~0.2.3",
-				"lodash": "~4.17.20",
+				"lodash": "~4.17.21",
 				"underscore.string": "~3.3.5",
-				"which": "~1.3.0"
-			},
-			"dependencies": {
-				"which": {
-					"version": "1.3.1",
-					"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-					"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-					"dev": true,
-					"requires": {
-						"isexe": "^2.0.0"
-					}
-				}
+				"which": "~2.0.2"
 			}
 		},
 		"grunt-stylelint": {
@@ -7275,41 +7264,75 @@
 				"type-check": "~0.4.0"
 			}
 		},
-		"liftoff": {
-			"version": "2.5.0",
-			"resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
-			"integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
+		"liftup": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz",
+			"integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==",
 			"dev": true,
 			"requires": {
-				"extend": "^3.0.0",
-				"findup-sync": "^2.0.0",
-				"fined": "^1.0.1",
-				"flagged-respawn": "^1.0.0",
+				"extend": "^3.0.2",
+				"findup-sync": "^4.0.0",
+				"fined": "^1.2.0",
+				"flagged-respawn": "^1.0.1",
 				"is-plain-object": "^2.0.4",
-				"object.map": "^1.0.0",
-				"rechoir": "^0.6.2",
-				"resolve": "^1.1.7"
+				"object.map": "^1.0.1",
+				"rechoir": "^0.7.0",
+				"resolve": "^1.19.0"
 			},
 			"dependencies": {
+				"braces": {
+					"version": "3.0.2",
+					"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+					"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+					"dev": true,
+					"requires": {
+						"fill-range": "^7.0.1"
+					}
+				},
+				"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==",
+					"dev": true,
+					"requires": {
+						"to-regex-range": "^5.0.1"
+					}
+				},
 				"findup-sync": {
-					"version": "2.0.0",
-					"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
-					"integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz",
+					"integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==",
 					"dev": true,
 					"requires": {
 						"detect-file": "^1.0.0",
-						"is-glob": "^3.1.0",
-						"micromatch": "^3.0.4",
+						"is-glob": "^4.0.0",
+						"micromatch": "^4.0.2",
 						"resolve-dir": "^1.0.1"
 					}
 				},
-				"is-glob": {
-					"version": "3.1.0",
-					"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-					"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+				"is-number": {
+					"version": "7.0.0",
+					"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+					"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+					"dev": true
+				},
+				"micromatch": {
+					"version": "4.0.4",
+					"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
+					"integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+					"dev": true,
+					"requires": {
+						"braces": "^3.0.1",
+						"picomatch": "^2.2.3"
+					}
+				},
+				"to-regex-range": {
+					"version": "5.0.1",
+					"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+					"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
 					"dev": true,
 					"requires": {
-						"is-extglob": "^2.1.0"
+						"is-number": "^7.0.0"
 					}
 				}
 			}
@@ -8753,12 +8776,12 @@
 			}
 		},
 		"rechoir": {
-			"version": "0.6.2",
-			"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
-			"integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz",
+			"integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==",
 			"dev": true,
 			"requires": {
-				"resolve": "^1.1.6"
+				"resolve": "^1.9.0"
 			}
 		},
 		"redent": {
@@ -10443,9 +10466,9 @@
 			}
 		},
 		"v8flags": {
-			"version": "3.1.3",
-			"resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz",
-			"integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==",
+			"version": "3.2.0",
+			"resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz",
+			"integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==",
 			"dev": true,
 			"requires": {
 				"homedir-polyfill": "^1.0.1"
diff --git a/package.json b/package.json
index ed0a6fc..1fe2514 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
 		"babel-core": "^6.26.3",
 		"eslint-config-wikimedia": "0.20.0",
 		"eslint-plugin-vue": "^7.7.0",
-		"grunt": "1.3.0",
+		"grunt": "1.4.0",
 		"grunt-banana-checker": "0.9.0",
 		"grunt-eslint": "23.0.0",
 		"grunt-stylelint": "0.16.0",
-- 
2.20.1

$ date
Tue May 11 13:20:37 UTC 2021

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

$ git config user.name libraryupgrader

$ git config user.email tools.libraryupgrader@tools.wmflabs.org

$ git submodule update --init

$ grr init
Installed commit-msg hook.

$ git show-ref refs/heads/master
05ad1a1c4d21928a485de3b498c5819c73e32f7e refs/heads/master

$ composer install
Loading composer repositories with package information
Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2 is now available and you should upgrade. See https://getcomposer.org/2
Updating dependencies (including require-dev)
Package operations: 31 installs, 0 updates, 0 removals
  - Installing squizlabs/php_codesniffer (3.6.0): Loading from cache
  - Installing composer/spdx-licenses (1.5.5): Loading from cache
  - Installing composer/semver (3.2.4): Loading from cache
  - Installing mediawiki/mediawiki-codesniffer (v36.0.0): Loading from cache
  - Installing symfony/polyfill-php80 (v1.22.1): Loading from cache
  - Installing symfony/polyfill-mbstring (v1.22.1): Loading from cache
  - Installing symfony/polyfill-intl-normalizer (v1.22.1): Loading from cache
  - Installing symfony/polyfill-intl-grapheme (v1.22.1): Loading from cache
  - Installing symfony/polyfill-ctype (v1.22.1): Loading from cache
  - Installing symfony/string (v5.2.6): Loading from cache
  - Installing psr/container (1.1.1): Loading from cache
  - Installing symfony/service-contracts (v2.4.0): Loading from cache
  - Installing symfony/polyfill-php73 (v1.22.1): Loading from cache
  - Installing symfony/console (v5.2.7): Loading from cache
  - Installing psr/log (1.1.4): Loading from cache
  - Installing sabre/event (5.1.2): Loading from cache
  - Installing netresearch/jsonmapper (v2.1.0): Loading from cache
  - Installing microsoft/tolerant-php-parser (v0.0.23): Loading from cache
  - Installing phpdocumentor/reflection-common (2.2.0): Loading from cache
  - Installing webmozart/assert (1.10.0): Loading from cache
  - Installing phpdocumentor/type-resolver (1.4.0): Loading from cache
  - Installing phpdocumentor/reflection-docblock (5.2.2): Loading from cache
  - Installing felixfbecker/advanced-json-rpc (v3.2.0): Loading from cache
  - Installing composer/xdebug-handler (1.4.6): Loading from cache
  - Installing phan/phan (3.2.6): Loading from cache
  - Installing mediawiki/phan-taint-check-plugin (3.2.1): Loading from cache
  - Installing mediawiki/mediawiki-phan-config (0.10.6): Loading from cache
  - Installing mediawiki/minus-x (1.1.1): Loading from cache
  - Installing php-parallel-lint/php-console-color (v0.3): Loading from cache
  - Installing php-parallel-lint/php-console-highlighter (v0.5): Loading from cache
  - Installing php-parallel-lint/php-parallel-lint (v1.3.0): Loading from cache
symfony/service-contracts suggests installing symfony/service-implementation
symfony/console suggests installing symfony/event-dispatcher
symfony/console suggests installing symfony/lock
symfony/console suggests installing symfony/process
phan/phan suggests installing ext-ast (Needed for parsing ASTs (unless --use-fallback-parser is used). 1.0.1+ is needed, 1.0.8+ is recommended.)
Writing lock file
Generating autoload files
12 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

Upgrading n:grunt from 1.3.0 -> 1.4.0
$ npm install

> dtrace-provider@0.8.8 install /src/repo/node_modules/dtrace-provider
> node-gyp rebuild || node suppress-error.js

make: Entering directory '/src/repo/node_modules/dtrace-provider/build'
  TOUCH Release/obj.target/DTraceProviderStub.stamp
make: Leaving directory '/src/repo/node_modules/dtrace-provider/build'

> deasync@0.1.21 install /src/repo/node_modules/deasync
> node ./build.js

`linux-x64-node-10` exists; testing
Binary is fine; exiting

> core-js@2.6.12 postinstall /src/repo/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: 
> https://opencollective.com/core-js 
> https://www.patreon.com/zloirock 

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)


> core-js@3.10.1 postinstall /src/repo/node_modules/eslint-plugin-compat/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 1221 packages from 635 contributors and audited 1223 packages in 165.873s

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

found 7 moderate severity vulnerabilities
  run `npm audit fix` to fix them, or `npm audit` for details

$ npm ci
npm WARN prepare removing existing node_modules/ before installation

> core-js@2.6.12 postinstall /src/repo/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"


> deasync@0.1.21 install /src/repo/node_modules/deasync
> node ./build.js

`linux-x64-node-10` exists; testing
Binary is fine; exiting

> dtrace-provider@0.8.8 install /src/repo/node_modules/dtrace-provider
> node-gyp rebuild || node suppress-error.js

make: Entering directory '/src/repo/node_modules/dtrace-provider/build'
  TOUCH Release/obj.target/DTraceProviderStub.stamp
make: Leaving directory '/src/repo/node_modules/dtrace-provider/build'

> core-js@3.10.1 postinstall /src/repo/node_modules/eslint-plugin-compat/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

added 1222 packages in 14.819s

$ npm test

> media-search@0.1.0 test /src/repo
> grunt test && npm run test:unit

Running "eslint:all" (eslint) task

/src/repo/resources/components/base/Image.vue
  52:28  warning  IntersectionObserverEntry is not supported in Safari 9.1, IE 11  compat/compat

/src/repo/resources/components/base/Observer.vue
  52:19  warning  IntersectionObserver is not supported in Safari 9.1, IE 11  compat/compat

/src/repo/resources/components/base/Tabs.vue
  97:28  warning  IntersectionObserverEntry is not supported in Safari 9.1, IE 11  compat/compat

/src/repo/resources/components/results/PageResult.vue
  17:23  warning  'v-html' directive can lead to XSS attack  vue/no-v-html

/src/repo/resources/components/SearchFilters.vue
  156:28  warning  IntersectionObserverEntry is not supported in Safari 9.1, IE 11  compat/compat

/src/repo/resources/getLocationAgnosticMwApi.js
  27:0  warning  The type 'mediaWiki' is undefined  jsdoc/no-undefined-types

✖ 6 problems (0 errors, 6 warnings)


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

Running "banana:0" (banana) task
>> 1 message directory checked.

Running "banana:1" (banana) task
>> 1 message directory checked.

Running "banana:2" (banana) task
>> 1 message directory checked.

Running "banana:3" (banana) task
>> 1 message directory checked.

Running "banana:4" (banana) task
>> 1 message directory checked.

Done.

> media-search@0.1.0 test:unit /src/repo
> jest

PASS tests/jest/mutations.test.js
PASS tests/jest/actions.test.js
PASS tests/jest/ImageResult.test.js
PASS tests/jest/QuickView.test.js
----------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------------------------
File                              | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                                                                       
----------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------------------------
All files                         |   20.99 |       16 |   19.03 |   20.99 |                                                                                                         
 resources                        |   81.82 |       50 |     100 |   81.82 |                                                                                                         
  getLocationAgnosticMwApi.js     |   81.82 |       50 |     100 |   81.82 | 13,34                                                                                                   
 resources/components             |   14.48 |     12.4 |   15.49 |   14.48 |                                                                                                         
  App.vue                         |       0 |        0 |       0 |       0 | 95-579                                                                                                  
  ConceptChips.vue                |       0 |      100 |     100 |       0 | 22-25                                                                                                   
  DidYouMean.vue                  |       0 |      100 |       0 |       0 | 11-47                                                                                                   
  EmptyState.vue                  |       0 |      100 |       0 |       0 | 19-33                                                                                                   
  EndOfResults.vue                |       0 |      100 |     100 |       0 | 17                                                                                                      
  NamespaceFilterDialog.vue       |       0 |        0 |       0 |       0 | 40-218                                                                                                  
  NoResults.vue                   |       0 |      100 |     100 |       0 | 22                                                                                                      
  QuickView.vue                   |   56.76 |    36.14 |   56.41 |   56.76 | 214,297,306-316,344-347,365,388-394,403,414,425,427,434-447,480,502,511-520,540-571,583,604,633-667,675 
  SearchError.vue                 |       0 |      100 |     100 |       0 | 22                                                                                                      
  SearchFilters.vue               |       0 |        0 |       0 |       0 | 66-400                                                                                                  
  SearchResults.vue               |       0 |        0 |       0 |       0 | 108-523                                                                                                 
  Spinner.vue                     |     100 |      100 |     100 |     100 |                                                                                                         
  UserNotice.vue                  |       0 |        0 |       0 |       0 | 26-72                                                                                                   
 resources/components/base        |    8.79 |     8.81 |     8.8 |    8.79 |                                                                                                         
  AutocompleteSearchInput.vue     |       0 |        0 |       0 |       0 | 71-420                                                                                                  
  Button.vue                      |   66.67 |      100 |       0 |   66.67 | 68                                                                                                      
  Checkbox.vue                    |       0 |      100 |     100 |       0 | 27-33                                                                                                   
  CopyTextLayout.vue              |     6.9 |        0 |       0 |     6.9 | 43-144                                                                                                  
  Dialog.vue                      |       0 |        0 |       0 |       0 | 69-229                                                                                                  
  Icon.vue                        |   69.57 |    40.91 |     100 |   69.57 | 116-117,124,144-156                                                                                     
  Image.vue                       |   33.33 |    33.33 |   57.14 |   33.33 | 74-108,115-135                                                                                          
  LookupResults.vue               |       0 |      100 |       0 |       0 | 41-76                                                                                                   
  Message.vue                     |       0 |      100 |       0 |       0 | 16-62                                                                                                   
  Observer.vue                    |       0 |        0 |       0 |       0 | 19-64                                                                                                   
  Player.vue                      |      10 |        0 |       0 |      10 | 20-66                                                                                                   
  Radio.vue                       |       0 |      100 |     100 |       0 | 28-34                                                                                                   
  Select.vue                      |       0 |        0 |       0 |       0 | 48-367                                                                                                  
  SelectMenu.vue                  |       0 |        0 |       0 |       0 | 39-192                                                                                                  
  Tab.vue                         |       0 |      100 |       0 |       0 | 21-47                                                                                                   
  Tabs.vue                        |       0 |        0 |       0 |       0 | 44-244                                                                                                  
 resources/components/base/mixins |       0 |      100 |       0 |       0 |                                                                                                         
  binaryInput.js                  |       0 |      100 |       0 |       0 | 6-58                                                                                                    
 resources/components/results     |   21.67 |     6.25 |   33.33 |   21.67 |                                                                                                         
  AudioResult.vue                 |       0 |      100 |       0 |       0 | 41-59                                                                                                   
  ImageResult.vue                 |   92.86 |       50 |     100 |   92.86 | 109                                                                                                     
  OtherResult.vue                 |       0 |        0 |       0 |       0 | 42-124                                                                                                  
  PageResult.vue                  |       0 |        0 |       0 |       0 | 54-156                                                                                                  
  VideoResult.vue                 |       0 |      100 |       0 |       0 | 48-79                                                                                                   
 resources/mixins                 |   15.63 |    10.26 |    9.38 |   15.63 |                                                                                                         
  autocompleteLookupHandler.js    |       0 |        0 |       0 |       0 | 1-211                                                                                                   
  searchResult.js                 |   46.88 |    28.57 |   33.33 |   46.88 | 33,79-86,109,127-180                                                                                    
  searchResultTimeBased.js        |       0 |        0 |       0 |       0 | 8-41                                                                                                    
 resources/models                 |       0 |        0 |       0 |       0 |                                                                                                         
  SearchFilter.js                 |       0 |        0 |       0 |       0 | 10-20                                                                                                   
 resources/plugins                |       0 |      100 |       0 |       0 |                                                                                                         
  eventLogger.js                  |       0 |      100 |       0 |       0 | 6-22                                                                                                    
 resources/store                  |   63.75 |    36.28 |   58.14 |   63.75 |                                                                                                         
  actions.js                      |    72.9 |       60 |   63.16 |    72.9 | 37,56-59,109,115-116,131,166,182,190,221,231,245,263-289,301-302,306-307                                
  getters.js                      |       0 |      100 |       0 |       0 | 1-23                                                                                                    
  index.js                        |       0 |      100 |     100 |       0 | 3-15                                                                                                    
  mutations.js                    |      80 |      100 |   68.42 |      80 | 83,145-180                                                                                              
  state.js                        |       0 |        0 |       0 |       0 | 3-25                                                                                                    
----------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------------------------

Test Suites: 4 passed, 4 total
Tests:       36 passed, 36 total
Snapshots:   0 total
Time:        9.235 s
Ran all test suites.

Attempting to npm audit fix
$ npm audit fix --only=dev
up to date in 5.987s

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

fixed 0 of 7 vulnerabilities in 1223 scanned packages
  7 vulnerabilities required manual review and could not be updated

$ npm audit fix --only=dev
up to date in 6.426s

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

fixed 0 of 7 vulnerabilities in 1223 scanned packages
  7 vulnerabilities required manual review and could not be updated

$ npm audit fix --only=dev
up to date in 6.319s

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

fixed 0 of 7 vulnerabilities in 1223 scanned packages
  7 vulnerabilities required manual review and could not be updated

Verifying that tests still pass
$ npm ci
npm WARN prepare removing existing node_modules/ before installation

> core-js@2.6.12 postinstall /src/repo/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"


> deasync@0.1.21 install /src/repo/node_modules/deasync
> node ./build.js

`linux-x64-node-10` exists; testing
Binary is fine; exiting

> dtrace-provider@0.8.8 install /src/repo/node_modules/dtrace-provider
> node-gyp rebuild || node suppress-error.js

make: Entering directory '/src/repo/node_modules/dtrace-provider/build'
  TOUCH Release/obj.target/DTraceProviderStub.stamp
make: Leaving directory '/src/repo/node_modules/dtrace-provider/build'

> core-js@3.10.1 postinstall /src/repo/node_modules/eslint-plugin-compat/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

added 1222 packages in 15.04s

$ npm test

> media-search@0.1.0 test /src/repo
> grunt test && npm run test:unit

Running "eslint:all" (eslint) task

/src/repo/resources/components/base/Image.vue
  52:28  warning  IntersectionObserverEntry is not supported in Safari 9.1, IE 11  compat/compat

/src/repo/resources/components/base/Observer.vue
  52:19  warning  IntersectionObserver is not supported in Safari 9.1, IE 11  compat/compat

/src/repo/resources/components/base/Tabs.vue
  97:28  warning  IntersectionObserverEntry is not supported in Safari 9.1, IE 11  compat/compat

/src/repo/resources/components/results/PageResult.vue
  17:23  warning  'v-html' directive can lead to XSS attack  vue/no-v-html

/src/repo/resources/components/SearchFilters.vue
  156:28  warning  IntersectionObserverEntry is not supported in Safari 9.1, IE 11  compat/compat

/src/repo/resources/getLocationAgnosticMwApi.js
  27:0  warning  The type 'mediaWiki' is undefined  jsdoc/no-undefined-types

✖ 6 problems (0 errors, 6 warnings)


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

Running "banana:0" (banana) task
>> 1 message directory checked.

Running "banana:1" (banana) task
>> 1 message directory checked.

Running "banana:2" (banana) task
>> 1 message directory checked.

Running "banana:3" (banana) task
>> 1 message directory checked.

Running "banana:4" (banana) task
>> 1 message directory checked.

Done.

> media-search@0.1.0 test:unit /src/repo
> jest

PASS tests/jest/mutations.test.js
PASS tests/jest/actions.test.js
PASS tests/jest/ImageResult.test.js
PASS tests/jest/QuickView.test.js
----------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------------------------
File                              | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                                                                       
----------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------------------------
All files                         |   20.99 |       16 |   19.03 |   20.99 |                                                                                                         
 resources                        |   81.82 |       50 |     100 |   81.82 |                                                                                                         
  getLocationAgnosticMwApi.js     |   81.82 |       50 |     100 |   81.82 | 13,34                                                                                                   
 resources/components             |   14.48 |     12.4 |   15.49 |   14.48 |                                                                                                         
  App.vue                         |       0 |        0 |       0 |       0 | 95-579                                                                                                  
  ConceptChips.vue                |       0 |      100 |     100 |       0 | 22-25                                                                                                   
  DidYouMean.vue                  |       0 |      100 |       0 |       0 | 11-47                                                                                                   
  EmptyState.vue                  |       0 |      100 |       0 |       0 | 19-33                                                                                                   
  EndOfResults.vue                |       0 |      100 |     100 |       0 | 17                                                                                                      
  NamespaceFilterDialog.vue       |       0 |        0 |       0 |       0 | 40-218                                                                                                  
  NoResults.vue                   |       0 |      100 |     100 |       0 | 22                                                                                                      
  QuickView.vue                   |   56.76 |    36.14 |   56.41 |   56.76 | 214,297,306-316,344-347,365,388-394,403,414,425,427,434-447,480,502,511-520,540-571,583,604,633-667,675 
  SearchError.vue                 |       0 |      100 |     100 |       0 | 22                                                                                                      
  SearchFilters.vue               |       0 |        0 |       0 |       0 | 66-400                                                                                                  
  SearchResults.vue               |       0 |        0 |       0 |       0 | 108-523                                                                                                 
  Spinner.vue                     |     100 |      100 |     100 |     100 |                                                                                                         
  UserNotice.vue                  |       0 |        0 |       0 |       0 | 26-72                                                                                                   
 resources/components/base        |    8.79 |     8.81 |     8.8 |    8.79 |                                                                                                         
  AutocompleteSearchInput.vue     |       0 |        0 |       0 |       0 | 71-420                                                                                                  
  Button.vue                      |   66.67 |      100 |       0 |   66.67 | 68                                                                                                      
  Checkbox.vue                    |       0 |      100 |     100 |       0 | 27-33                                                                                                   
  CopyTextLayout.vue              |     6.9 |        0 |       0 |     6.9 | 43-144                                                                                                  
  Dialog.vue                      |       0 |        0 |       0 |       0 | 69-229                                                                                                  
  Icon.vue                        |   69.57 |    40.91 |     100 |   69.57 | 116-117,124,144-156                                                                                     
  Image.vue                       |   33.33 |    33.33 |   57.14 |   33.33 | 74-108,115-135                                                                                          
  LookupResults.vue               |       0 |      100 |       0 |       0 | 41-76                                                                                                   
  Message.vue                     |       0 |      100 |       0 |       0 | 16-62                                                                                                   
  Observer.vue                    |       0 |        0 |       0 |       0 | 19-64                                                                                                   
  Player.vue                      |      10 |        0 |       0 |      10 | 20-66                                                                                                   
  Radio.vue                       |       0 |      100 |     100 |       0 | 28-34                                                                                                   
  Select.vue                      |       0 |        0 |       0 |       0 | 48-367                                                                                                  
  SelectMenu.vue                  |       0 |        0 |       0 |       0 | 39-192                                                                                                  
  Tab.vue                         |       0 |      100 |       0 |       0 | 21-47                                                                                                   
  Tabs.vue                        |       0 |        0 |       0 |       0 | 44-244                                                                                                  
 resources/components/base/mixins |       0 |      100 |       0 |       0 |                                                                                                         
  binaryInput.js                  |       0 |      100 |       0 |       0 | 6-58                                                                                                    
 resources/components/results     |   21.67 |     6.25 |   33.33 |   21.67 |                                                                                                         
  AudioResult.vue                 |       0 |      100 |       0 |       0 | 41-59                                                                                                   
  ImageResult.vue                 |   92.86 |       50 |     100 |   92.86 | 109                                                                                                     
  OtherResult.vue                 |       0 |        0 |       0 |       0 | 42-124                                                                                                  
  PageResult.vue                  |       0 |        0 |       0 |       0 | 54-156                                                                                                  
  VideoResult.vue                 |       0 |      100 |       0 |       0 | 48-79                                                                                                   
 resources/mixins                 |   15.63 |    10.26 |    9.38 |   15.63 |                                                                                                         
  autocompleteLookupHandler.js    |       0 |        0 |       0 |       0 | 1-211                                                                                                   
  searchResult.js                 |   46.88 |    28.57 |   33.33 |   46.88 | 33,79-86,109,127-180                                                                                    
  searchResultTimeBased.js        |       0 |        0 |       0 |       0 | 8-41                                                                                                    
 resources/models                 |       0 |        0 |       0 |       0 |                                                                                                         
  SearchFilter.js                 |       0 |        0 |       0 |       0 | 10-20                                                                                                   
 resources/plugins                |       0 |      100 |       0 |       0 |                                                                                                         
  eventLogger.js                  |       0 |      100 |       0 |       0 | 6-22                                                                                                    
 resources/store                  |   63.75 |    36.28 |   58.14 |   63.75 |                                                                                                         
  actions.js                      |    72.9 |       60 |   63.16 |    72.9 | 37,56-59,109,115-116,131,166,182,190,221,231,245,263-289,301-302,306-307                                
  getters.js                      |       0 |      100 |       0 |       0 | 1-23                                                                                                    
  index.js                        |       0 |      100 |     100 |       0 | 3-15                                                                                                    
  mutations.js                    |      80 |      100 |   68.42 |      80 | 83,145-180                                                                                              
  state.js                        |       0 |        0 |       0 |       0 | 3-25                                                                                                    
----------------------------------|---------|----------|---------|---------|---------------------------------------------------------------------------------------------------------

Test Suites: 4 passed, 4 total
Tests:       36 passed, 36 total
Snapshots:   0 total
Time:        6.534 s
Ran all test suites.

$ git add .

$ git commit -F /tmp/tmp29c6xaf_
[master 25574a3] build: Updating grunt to 1.4.0
 2 files changed, 92 insertions(+), 69 deletions(-)

$ git format-patch HEAD~1 --stdout
From 25574a3834a037275565a5ec4655edb580f7f2e7 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Tue, 11 May 2021 13:25:48 +0000
Subject: [PATCH] build: Updating grunt to 1.4.0

Change-Id: Id03ac34506787f7e1832173747d4dd18365d7ce0
---
 package-lock.json | 159 ++++++++++++++++++++++++++--------------------
 package.json      |   2 +-
 2 files changed, 92 insertions(+), 69 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index f548527..f58b0a5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1608,9 +1608,9 @@
 			"dev": true
 		},
 		"async": {
-			"version": "1.5.2",
-			"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
-			"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+			"version": "3.2.0",
+			"resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz",
+			"integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==",
 			"dev": true
 		},
 		"asynckit": {
@@ -4295,9 +4295,9 @@
 			"dev": true
 		},
 		"getobject": {
-			"version": "0.1.0",
-			"resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
-			"integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.0.tgz",
+			"integrity": "sha512-tbUz6AKKKr2YiMB+fLWIgq5ZeBOobop9YMMAU9dC54/ot2ksMXt3DOFyBuhZw6ptcVszEykgByK20j7W9jHFag==",
 			"dev": true
 		},
 		"getpass": {
@@ -4430,9 +4430,9 @@
 			"optional": true
 		},
 		"grunt": {
-			"version": "1.3.0",
-			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.3.0.tgz",
-			"integrity": "sha512-6ILlMXv11/4cxuhSMfSU+SfvbxrPuqZrAtLN64+tZpQ3DAKfSQPQHRbTjSbdtxfyQhGZPtN0bDZJ/LdCM5WXXA==",
+			"version": "1.4.0",
+			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.4.0.tgz",
+			"integrity": "sha512-yRFc0GVCDu9yxqOFzpuXQ2pEdgtLDnFv5Qz54jfIcNnpJ8Z7B7P7kPkT4VMuRvm+N+QOsI8C4v/Q0DSaoj3LgQ==",
 			"dev": true,
 			"requires": {
 				"dateformat": "~3.0.3",
@@ -4440,10 +4440,10 @@
 				"exit": "~0.1.2",
 				"findup-sync": "~0.3.0",
 				"glob": "~7.1.6",
-				"grunt-cli": "~1.3.2",
-				"grunt-known-options": "~1.1.0",
+				"grunt-cli": "~1.4.2",
+				"grunt-known-options": "~1.1.1",
 				"grunt-legacy-log": "~3.0.0",
-				"grunt-legacy-util": "~2.0.0",
+				"grunt-legacy-util": "~2.0.1",
 				"iconv-lite": "~0.4.13",
 				"js-yaml": "~3.14.0",
 				"minimatch": "~3.0.4",
@@ -4453,16 +4453,16 @@
 			},
 			"dependencies": {
 				"grunt-cli": {
-					"version": "1.3.2",
-					"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz",
-					"integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==",
+					"version": "1.4.2",
+					"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.2.tgz",
+					"integrity": "sha512-wsu6BZh7KCnfeaSkDrKIAvOlqGKxNRTZjc8xfZlvxCByQIqUfZ31kh5uHpPnhQ4NdVgvaWaVxa1LUbVU80nACw==",
 					"dev": true,
 					"requires": {
-						"grunt-known-options": "~1.1.0",
+						"grunt-known-options": "~1.1.1",
 						"interpret": "~1.1.0",
-						"liftoff": "~2.5.0",
+						"liftup": "~3.0.1",
 						"nopt": "~4.0.1",
-						"v8flags": "~3.1.1"
+						"v8flags": "~3.2.0"
 					},
 					"dependencies": {
 						"nopt": {
@@ -4593,9 +4593,9 @@
 					}
 				},
 				"chalk": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
-					"integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+					"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
 					"dev": true,
 					"requires": {
 						"ansi-styles": "^4.1.0",
@@ -4635,29 +4635,18 @@
 			}
 		},
 		"grunt-legacy-util": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.0.tgz",
-			"integrity": "sha512-ZEmYFB44bblwPE2oz3q3ygfF6hseQja9tx8I3UZIwbUik32FMWewA+d1qSFicMFB+8dNXDkh35HcDCWlpRsGlA==",
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz",
+			"integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==",
 			"dev": true,
 			"requires": {
-				"async": "~1.5.2",
-				"exit": "~0.1.1",
-				"getobject": "~0.1.0",
+				"async": "~3.2.0",
+				"exit": "~0.1.2",
+				"getobject": "~1.0.0",
 				"hooker": "~0.2.3",
-				"lodash": "~4.17.20",
+				"lodash": "~4.17.21",
 				"underscore.string": "~3.3.5",
-				"which": "~1.3.0"
-			},
-			"dependencies": {
-				"which": {
-					"version": "1.3.1",
-					"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-					"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-					"dev": true,
-					"requires": {
-						"isexe": "^2.0.0"
-					}
-				}
+				"which": "~2.0.2"
 			}
 		},
 		"grunt-stylelint": {
@@ -7275,41 +7264,75 @@
 				"type-check": "~0.4.0"
 			}
 		},
-		"liftoff": {
-			"version": "2.5.0",
-			"resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
-			"integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
+		"liftup": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz",
+			"integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==",
 			"dev": true,
 			"requires": {
-				"extend": "^3.0.0",
-				"findup-sync": "^2.0.0",
-				"fined": "^1.0.1",
-				"flagged-respawn": "^1.0.0",
+				"extend": "^3.0.2",
+				"findup-sync": "^4.0.0",
+				"fined": "^1.2.0",
+				"flagged-respawn": "^1.0.1",
 				"is-plain-object": "^2.0.4",
-				"object.map": "^1.0.0",
-				"rechoir": "^0.6.2",
-				"resolve": "^1.1.7"
+				"object.map": "^1.0.1",
+				"rechoir": "^0.7.0",
+				"resolve": "^1.19.0"
 			},
 			"dependencies": {
+				"braces": {
+					"version": "3.0.2",
+					"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+					"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+					"dev": true,
+					"requires": {
+						"fill-range": "^7.0.1"
+					}
+				},
+				"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==",
+					"dev": true,
+					"requires": {
+						"to-regex-range": "^5.0.1"
+					}
+				},
 				"findup-sync": {
-					"version": "2.0.0",
-					"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
-					"integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz",
+					"integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==",
 					"dev": true,
 					"requires": {
 						"detect-file": "^1.0.0",
-						"is-glob": "^3.1.0",
-						"micromatch": "^3.0.4",
+						"is-glob": "^4.0.0",
+						"micromatch": "^4.0.2",
 						"resolve-dir": "^1.0.1"
 					}
 				},
-				"is-glob": {
-					"version": "3.1.0",
-					"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-					"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+				"is-number": {
+					"version": "7.0.0",
+					"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+					"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+					"dev": true
+				},
+				"micromatch": {
+					"version": "4.0.4",
+					"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
+					"integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+					"dev": true,
+					"requires": {
+						"braces": "^3.0.1",
+						"picomatch": "^2.2.3"
+					}
+				},
+				"to-regex-range": {
+					"version": "5.0.1",
+					"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+					"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
 					"dev": true,
 					"requires": {
-						"is-extglob": "^2.1.0"
+						"is-number": "^7.0.0"
 					}
 				}
 			}
@@ -8753,12 +8776,12 @@
 			}
 		},
 		"rechoir": {
-			"version": "0.6.2",
-			"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
-			"integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz",
+			"integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==",
 			"dev": true,
 			"requires": {
-				"resolve": "^1.1.6"
+				"resolve": "^1.9.0"
 			}
 		},
 		"redent": {
@@ -10443,9 +10466,9 @@
 			}
 		},
 		"v8flags": {
-			"version": "3.1.3",
-			"resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz",
-			"integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==",
+			"version": "3.2.0",
+			"resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz",
+			"integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==",
 			"dev": true,
 			"requires": {
 				"homedir-polyfill": "^1.0.1"
diff --git a/package.json b/package.json
index ed0a6fc..1fe2514 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
 		"babel-core": "^6.26.3",
 		"eslint-config-wikimedia": "0.20.0",
 		"eslint-plugin-vue": "^7.7.0",
-		"grunt": "1.3.0",
+		"grunt": "1.4.0",
 		"grunt-banana-checker": "0.9.0",
 		"grunt-eslint": "23.0.0",
 		"grunt-stylelint": "0.16.0",
-- 
2.20.1

composer dependencies

Development dependencies

npm dependencies

Development dependencies

Logs

Source code is licensed under the AGPL.