VisualEditor/VisualEditor (main)

sourcepatches
From c0ceb75f97f810584612e7b669f3997db6e66794 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sun, 20 Jun 2021 06:16:50 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* postcss: 7.0.35 → 7.0.36
  * https://npmjs.com/advisories/1693 (CVE-2021-23368)
* ws: 7.4.4 → 7.4.6
  * https://npmjs.com/advisories/1748 (CVE-2021-32640)
* trim-newlines: 3.0.0 → 3.0.1
  * https://npmjs.com/advisories/1753 (CVE-2021-33623)

Change-Id: I3ab9d29ac92f620fab0e8e08ad4b7c05c0a2c05e
---
 package-lock.json | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 28b21dd..29e2ddd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4678,9 +4678,9 @@
 			"dev": true
 		},
 		"postcss": {
-			"version": "7.0.35",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
-			"integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+			"version": "7.0.36",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
+			"integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
 			"dev": true,
 			"requires": {
 				"chalk": "^2.4.2",
@@ -6009,9 +6009,9 @@
 			}
 		},
 		"trim-newlines": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz",
-			"integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==",
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
+			"integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
 			"dev": true
 		},
 		"trough": {
@@ -6430,9 +6430,9 @@
 			}
 		},
 		"ws": {
-			"version": "7.4.4",
-			"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz",
-			"integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==",
+			"version": "7.4.6",
+			"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
+			"integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
 			"dev": true
 		},
 		"xtend": {
-- 
2.20.1

$ date
Sun Jun 20 06:11:57 UTC 2021

$ git clone file:///srv/git/VisualEditor-VisualEditor.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
6c7bee041701ac948b243e25ddab8bd39cffc3fc refs/heads/master

Attempting to npm audit fix
$ npm audit fix --only=dev

> mmmagic@0.5.3 install /src/repo/node_modules/mmmagic
> node-gyp rebuild

make: Entering directory '/src/repo/node_modules/mmmagic/build'
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/apprentice.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/apptype.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/ascmagic.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/cdf.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/cdf_time.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/compress.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/der.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/encoding.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/fsmagic.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/funcs.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/is_tar.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/magic.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/print.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/readcdf.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/readelf.o
../deps/libmagic/src/readelf.c: In function ‘dophn_core’:
../deps/libmagic/src/readelf.c:1024:13: warning: ‘nh64.n_type’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  Elf64_Nhdr nh64;
             ^~~~
../deps/libmagic/src/readelf.c:1023:13: warning: ‘nh32.n_type’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  Elf32_Nhdr nh32;
             ^~~~
../deps/libmagic/src/readelf.c: In function ‘dophn_exec’:
../deps/libmagic/src/readelf.c:1024:13: warning: ‘nh64.n_type’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  Elf64_Nhdr nh64;
             ^~~~
../deps/libmagic/src/readelf.c:1023:13: warning: ‘nh32.n_type’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  Elf32_Nhdr nh32;
             ^~~~
../deps/libmagic/src/readelf.c: In function ‘doshn’:
../deps/libmagic/src/readelf.c:1024:13: warning: ‘nh64.n_type’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  Elf64_Nhdr nh64;
             ^~~~
../deps/libmagic/src/readelf.c:1023:13: warning: ‘nh32.n_type’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  Elf32_Nhdr nh32;
             ^~~~
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/softmagic.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/fmtcheck.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/strlcat.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/strlcpy.o
  AR(target) Release/obj.target/deps/libmagic/magic.a
  COPY Release/magic.a
  CXX(target) Release/obj.target/magic/src/binding.o
../src/binding.cc: In static member function ‘static void Magic::DetectFile(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../src/binding.cc:184:59: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                  (uv_after_work_cb)Magic::DetectAfter);
                                                           ^~~~~~~~~~~
../src/binding.cc: In static member function ‘static void Magic::Detect(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../src/binding.cc:217:59: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                  (uv_after_work_cb)Magic::DetectAfter);
                                                           ^~~~~~~~~~~
In file included from ../src/binding.cc:1:
../src/binding.cc: At global scope:
/cache/node-gyp/10.24.0/include/node/node.h:573:43: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
       (node::addon_register_func) (regfunc),                          \
                                           ^
/cache/node-gyp/10.24.0/include/node/node.h:607:3: note: in expansion of macro ‘NODE_MODULE_X’
   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
   ^~~~~~~~~~~~~
../src/binding.cc:415:3: note: in expansion of macro ‘NODE_MODULE’
   NODE_MODULE(magic, init);
   ^~~~~~~~~~~
In file included from /cache/node-gyp/10.24.0/include/node/node.h:63,
                 from ../src/binding.cc:1:
/cache/node-gyp/10.24.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/cache/node-gyp/10.24.0/include/node/node_object_wrap.h:84:78:   required from here
/cache/node-gyp/10.24.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                reinterpret_cast<Callback>(callback), type);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/cache/node-gyp/10.24.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../nan/nan_object_wrap.h:65:61:   required from here
/cache/node-gyp/10.24.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
  SOLINK_MODULE(target) Release/obj.target/magic.node
  COPY Release/magic.node
make: Leaving directory '/src/repo/node_modules/mmmagic/build'

> core-js@3.10.1 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 -)

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 748 packages from 1179 contributors in 35.71s

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

fixed 9 of 10 vulnerabilities in 749 scanned packages
  1 vulnerability required manual review and could not be updated

$ npm audit fix --only=dev
npm WARN grunt-karma@4.0.0 requires a peer of karma@^4.0.0 || ^5.0.0 but none is installed. You must install peer dependencies yourself.
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"})

up to date in 3.84s

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

fixed 0 of 1 vulnerability in 749 scanned packages
  1 vulnerability required manual review and could not be updated

$ npm audit fix --only=dev
npm WARN grunt-karma@4.0.0 requires a peer of karma@^4.0.0 || ^5.0.0 but none is installed. You must install peer dependencies yourself.
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"})

up to date in 3.943s

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

fixed 0 of 1 vulnerability in 749 scanned packages
  1 vulnerability required manual review and could not be updated

$ package-lock-lint package-lock.json
0 issues found in: package-lock.json

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

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


> mmmagic@0.5.3 install /src/repo/node_modules/mmmagic
> node-gyp rebuild

make: Entering directory '/src/repo/node_modules/mmmagic/build'
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/apprentice.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/apptype.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/ascmagic.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/cdf.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/cdf_time.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/compress.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/der.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/encoding.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/fsmagic.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/funcs.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/is_tar.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/magic.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/print.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/readcdf.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/readelf.o
../deps/libmagic/src/readelf.c: In function ‘dophn_core’:
../deps/libmagic/src/readelf.c:1024:13: warning: ‘nh64.n_type’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  Elf64_Nhdr nh64;
             ^~~~
../deps/libmagic/src/readelf.c:1023:13: warning: ‘nh32.n_type’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  Elf32_Nhdr nh32;
             ^~~~
../deps/libmagic/src/readelf.c: In function ‘dophn_exec’:
../deps/libmagic/src/readelf.c:1024:13: warning: ‘nh64.n_type’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  Elf64_Nhdr nh64;
             ^~~~
../deps/libmagic/src/readelf.c:1023:13: warning: ‘nh32.n_type’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  Elf32_Nhdr nh32;
             ^~~~
../deps/libmagic/src/readelf.c: In function ‘doshn’:
../deps/libmagic/src/readelf.c:1024:13: warning: ‘nh64.n_type’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  Elf64_Nhdr nh64;
             ^~~~
../deps/libmagic/src/readelf.c:1023:13: warning: ‘nh32.n_type’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  Elf32_Nhdr nh32;
             ^~~~
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/softmagic.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/fmtcheck.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/strlcat.o
  CC(target) Release/obj.target/libmagic/deps/libmagic/src/strlcpy.o
  AR(target) Release/obj.target/deps/libmagic/magic.a
  COPY Release/magic.a
  CXX(target) Release/obj.target/magic/src/binding.o
../src/binding.cc: In static member function ‘static void Magic::DetectFile(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../src/binding.cc:184:59: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                  (uv_after_work_cb)Magic::DetectAfter);
                                                           ^~~~~~~~~~~
../src/binding.cc: In static member function ‘static void Magic::Detect(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../src/binding.cc:217:59: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                  (uv_after_work_cb)Magic::DetectAfter);
                                                           ^~~~~~~~~~~
In file included from ../src/binding.cc:1:
../src/binding.cc: At global scope:
/cache/node-gyp/10.24.0/include/node/node.h:573:43: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
       (node::addon_register_func) (regfunc),                          \
                                           ^
/cache/node-gyp/10.24.0/include/node/node.h:607:3: note: in expansion of macro ‘NODE_MODULE_X’
   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
   ^~~~~~~~~~~~~
../src/binding.cc:415:3: note: in expansion of macro ‘NODE_MODULE’
   NODE_MODULE(magic, init);
   ^~~~~~~~~~~
In file included from /cache/node-gyp/10.24.0/include/node/node.h:63,
                 from ../src/binding.cc:1:
/cache/node-gyp/10.24.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/cache/node-gyp/10.24.0/include/node/node_object_wrap.h:84:78:   required from here
/cache/node-gyp/10.24.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                reinterpret_cast<Callback>(callback), type);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/cache/node-gyp/10.24.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../nan/nan_object_wrap.h:65:61:   required from here
/cache/node-gyp/10.24.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
  SOLINK_MODULE(target) Release/obj.target/magic.node
  COPY Release/magic.node
make: Leaving directory '/src/repo/node_modules/mmmagic/build'

> visualeditor@0.0.0 postinstall /src/repo
> cd rebaser && npm ci


> ejs@3.0.1 postinstall /src/repo/rebaser/node_modules/ejs
> node ./postinstall.js

Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)


> unix-dgram@2.0.3 install /src/repo/rebaser/node_modules/unix-dgram
> node-gyp rebuild

make: Entering directory '/src/repo/rebaser/node_modules/unix-dgram/build'
  CXX(target) Release/obj.target/unix_dgram/src/unix_dgram.o
In file included from ../src/unix_dgram.cc:5:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from ../../nan/nan.h:54,
                 from ../src/unix_dgram.cc:5:
../src/unix_dgram.cc: At global scope:
/cache/node-gyp/10.24.0/include/node/node.h:573:43: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
       (node::addon_register_func) (regfunc),                          \
                                           ^
/cache/node-gyp/10.24.0/include/node/node.h:607:3: note: in expansion of macro ‘NODE_MODULE_X’
   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
   ^~~~~~~~~~~~~
../src/unix_dgram.cc:404:1: note: in expansion of macro ‘NODE_MODULE’
 NODE_MODULE(unix_dgram, Initialize)
 ^~~~~~~~~~~
In file included from /cache/node-gyp/10.24.0/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/unix_dgram.cc:5:
/cache/node-gyp/10.24.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/cache/node-gyp/10.24.0/include/node/node_object_wrap.h:84:78:   required from here
/cache/node-gyp/10.24.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                reinterpret_cast<Callback>(callback), type);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/cache/node-gyp/10.24.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../nan/nan_object_wrap.h:65:61:   required from here
/cache/node-gyp/10.24.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
  SOLINK_MODULE(target) Release/obj.target/unix_dgram.node
  COPY Release/unix_dgram.node
make: Leaving directory '/src/repo/rebaser/node_modules/unix-dgram/build'

> heapdump@0.3.15 install /src/repo/rebaser/node_modules/heapdump
> node-gyp rebuild

make: Entering directory '/src/repo/rebaser/node_modules/heapdump/build'
  CXX(target) Release/obj.target/addon/src/heapdump.o
In file included from ../src/heapdump.cc:17:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from ../src/heapdump.cc:15:
../src/heapdump.cc: At global scope:
/cache/node-gyp/10.24.0/include/node/node.h:573:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
       (node::addon_register_func) (regfunc),                          \
                                           ^
/cache/node-gyp/10.24.0/include/node/node.h:607:3: note: in expansion of macro ‘NODE_MODULE_X’
   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
   ^~~~~~~~~~~~~
../src/heapdump.cc:136:1: note: in expansion of macro ‘NODE_MODULE’
 NODE_MODULE(addon, Initialize)
 ^~~~~~~~~~~
In file included from /cache/node-gyp/10.24.0/include/node/node.h:63,
                 from ../src/heapdump.cc:15:
/cache/node-gyp/10.24.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/cache/node-gyp/10.24.0/include/node/node_object_wrap.h:84:78:   required from here
/cache/node-gyp/10.24.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                reinterpret_cast<Callback>(callback), type);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/cache/node-gyp/10.24.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../nan/nan_object_wrap.h:65:61:   required from here
/cache/node-gyp/10.24.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
  SOLINK_MODULE(target) Release/obj.target/addon.node
  COPY Release/addon.node
make: Leaving directory '/src/repo/rebaser/node_modules/heapdump/build'

> gc-stats@1.4.0 install /src/repo/rebaser/node_modules/gc-stats
> node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using request for node-pre-gyp https download 
[gc-stats] Success: "/src/repo/rebaser/node_modules/gc-stats/build/gcstats/v1.4.0/Release/node-v64-linux-x64/gcstats.node" is installed via remote

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

make: Entering directory '/src/repo/rebaser/node_modules/dtrace-provider/build'
  TOUCH Release/obj.target/DTraceProviderStub.stamp
make: Leaving directory '/src/repo/rebaser/node_modules/dtrace-provider/build'
added 194 packages in 11.728s

> visualeditor@0.0.0 prepare /src/repo
> grunt build

Running "clean:dist" (clean) task
>> 0 paths cleaned.

Running "concat:rebaser.build" (concat) task

Running "concat:visualEditor.rebase.scripts" (concat) task

Running "concat:visualEditor.rebase.styles" (concat) task

Running "concat:js" (concat) task

Running "concat:css-apex" (concat) task

Running "concat:css-wikimediaui" (concat) task

Running "concat:jquery.i18n" (concat) task

Running "concat:jquery.uls.data" (concat) task

Running "cssjanus:apex" (cssjanus) task
File "dist/visualEditor-apex.rtl.css" created.

Running "cssjanus:wikimediaui" (cssjanus) task
File "dist/visualEditor-wikimediaui.rtl.css" created.

Running "cssUrlEmbed:dist" (cssUrlEmbed) task

Processing source file "dist/visualEditor-apex.css"
2 embeddable URLs found

Processing source file "dist/visualEditor-apex.rtl.css"
2 embeddable URLs found

Processing source file "dist/visualEditor-wikimediaui.css"
2 embeddable URLs found

Processing source file "dist/visualEditor-wikimediaui.rtl.css"
2 embeddable URLs found
>> "../../../ui/styles/images/resize-nw-se.svg" embedded
>> "../../../ui/styles/images/resize-nw-se.svg" embedded
>> "../../../ui/styles/images/resize-nw-se.svg" embedded
>> "../../../ui/styles/images/resize-nw-se.svg" embedded
>> "../../../ui/styles/images/resize-ne-sw.svg" embedded
File "dist/visualEditor-wikimediaui.css" created
>> "../../../ui/styles/images/resize-ne-sw.svg" embedded
File "dist/visualEditor-wikimediaui.rtl.css" created
>> "../../../ui/styles/images/resize-ne-sw.svg" embedded
File "dist/visualEditor-apex.rtl.css" created
>> "../../../ui/styles/images/resize-ne-sw.svg" embedded
File "dist/visualEditor-apex.css" created

Running "copy:i18n" (copy) task
Copied 203 files

Running "copy:lib" (copy) task
Created 28 directories, copied 1334 files

Running "buildloader:iframe" (buildloader) task
>> File ".jsduck/eg-iframe.html" written.

Running "buildloader:desktopDemoApex" (buildloader) task
>> File "demos/ve/desktop.html" written.

Running "buildloader:desktopDemoApexDist" (buildloader) task
>> File "demos/ve/desktop-dist.html" written.

Running "buildloader:desktopDemoWikimediaUI" (buildloader) task
>> File "demos/ve/desktop-wikimediaui.html" written.

Running "buildloader:desktopDemoWikimediaUIDist" (buildloader) task
>> File "demos/ve/desktop-wikimediaui-dist.html" written.

Running "buildloader:mobileDemo" (buildloader) task
>> File "demos/ve/mobile.html" written.

Running "buildloader:mobileDemoDist" (buildloader) task
>> File "demos/ve/mobile-dist.html" written.

Running "buildloader:minimalDemo" (buildloader) task
>> File "demos/ve/minimal.html" written.

Running "buildloader:minimalDemoRtl" (buildloader) task
>> File "demos/ve/minimal-rtl.html" written.

Running "buildloader:performanceTest" (buildloader) task
>> File "demos/ve/performance.html" written.

Running "buildloader:test" (buildloader) task
>> File "tests/index.html" written.

Done.
added 749 packages in 40.291s

$ npm test

> visualeditor@0.0.0 test /src/repo
> grunt test

Running "tyops:src" (tyops) task
>> No typos found; 604 files checked for 19 typos.

Running "eslint:all" (eslint) task

/src/repo/src/dm/lineardata/ve.dm.ElementLinearData.js
  1187:4  warning  Unused eslint-disable directive (no problems were reported from 'no-loop-func')

✖ 1 problem (0 errors, 1 warning)


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

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

Running "git-build" task

Running "clean:dist" (clean) task
>> 12 paths cleaned.

Running "concat:rebaser.build" (concat) task

Running "concat:visualEditor.rebase.scripts" (concat) task

Running "concat:visualEditor.rebase.styles" (concat) task

Running "concat:js" (concat) task

Running "concat:css-apex" (concat) task

Running "concat:css-wikimediaui" (concat) task

Running "concat:jquery.i18n" (concat) task

Running "concat:jquery.uls.data" (concat) task

Running "cssjanus:apex" (cssjanus) task
File "dist/visualEditor-apex.rtl.css" created.

Running "cssjanus:wikimediaui" (cssjanus) task
File "dist/visualEditor-wikimediaui.rtl.css" created.

Running "cssUrlEmbed:dist" (cssUrlEmbed) task

Processing source file "dist/visualEditor-apex.css"
2 embeddable URLs found

Processing source file "dist/visualEditor-apex.rtl.css"
2 embeddable URLs found

Processing source file "dist/visualEditor-wikimediaui.css"
2 embeddable URLs found

Processing source file "dist/visualEditor-wikimediaui.rtl.css"
2 embeddable URLs found
>> "../../../ui/styles/images/resize-nw-se.svg" embedded
>> "../../../ui/styles/images/resize-nw-se.svg" embedded
>> "../../../ui/styles/images/resize-nw-se.svg" embedded
>> "../../../ui/styles/images/resize-nw-se.svg" embedded
>> "../../../ui/styles/images/resize-ne-sw.svg" embedded
File "dist/visualEditor-apex.css" created
>> "../../../ui/styles/images/resize-ne-sw.svg" embedded
File "dist/visualEditor-apex.rtl.css" created
>> "../../../ui/styles/images/resize-ne-sw.svg" embedded
File "dist/visualEditor-wikimediaui.css" created
>> "../../../ui/styles/images/resize-ne-sw.svg" embedded
File "dist/visualEditor-wikimediaui.rtl.css" created

Running "copy:i18n" (copy) task
Copied 203 files

Running "copy:lib" (copy) task
Created 28 directories, copied 1334 files

Running "buildloader:iframe" (buildloader) task
>> File ".jsduck/eg-iframe.html" written.

Running "buildloader:desktopDemoApex" (buildloader) task
>> File "demos/ve/desktop.html" written.

Running "buildloader:desktopDemoApexDist" (buildloader) task
>> File "demos/ve/desktop-dist.html" written.

Running "buildloader:desktopDemoWikimediaUI" (buildloader) task
>> File "demos/ve/desktop-wikimediaui.html" written.

Running "buildloader:desktopDemoWikimediaUIDist" (buildloader) task
>> File "demos/ve/desktop-wikimediaui-dist.html" written.

Running "buildloader:mobileDemo" (buildloader) task
>> File "demos/ve/mobile.html" written.

Running "buildloader:mobileDemoDist" (buildloader) task
>> File "demos/ve/mobile-dist.html" written.

Running "buildloader:minimalDemo" (buildloader) task
>> File "demos/ve/minimal.html" written.

Running "buildloader:minimalDemoRtl" (buildloader) task
>> File "demos/ve/minimal-rtl.html" written.

Running "buildloader:performanceTest" (buildloader) task
>> File "demos/ve/performance.html" written.

Running "buildloader:test" (buildloader) task
>> File "tests/index.html" written.

Running "karma:chrome" (karma) task
20 06 2021 06:15:45.016:WARN [karma-server]: Passing raw CLI options to `new Server(config, done)` is deprecated. Use `parseConfig(configFilePath, cliOptions, {promiseConfig: true, throwErrors: true})` to prepare a processed `Config` instance and pass that as the `config` argument instead.

START:
20 06 2021 06:15:45.722:WARN [filelist]: All files matched by "/src/repo/node_modules/qunit/qunit/qunit.js" were excluded or matched by prior matchers.
20 06 2021 06:15:59.665:INFO [karma-server]: Karma v6.3.2 server started at http://localhost:9876/
20 06 2021 06:15:59.666:INFO [launcher]: Launching browsers ChromeCustom with concurrency unlimited
20 06 2021 06:15:59.671:INFO [launcher]: Starting browser ChromeHeadless
20 06 2021 06:16:01.072:INFO [Chrome Headless 90.0.4430.212 (Linux x86_64)]: Connected on socket lXM9xo3oagDOc6YoAAAB with id 71340680
  ve
    ✔ compareClassLists
    ✔ isInstanceOfAny
    ✔ getDomAttributes
    ✔ setDomAttributes
    ✔ sparseSplice
    ✔ batchSplice
    ✔ batchPush
    ✔ insertIntoArray
    ✔ escapeHtml
    ✔ createDocumentFromHtml
    ✔ resolveUrl
    ✔ resolveAttributes
    ✔ fixBase
    ✔ isUriComponentValid
    ✔ safeDecodeURIComponent
    ✔ isBlockElement/isVoidElement
    ✔ graphemeSafeSubstring
    ✔ transformStyleAttributes
    ✔ normalizeNode
    ✔ getCommonAncestor
    ✔ getCommonStartSequenceLength
    ✔ adjacentDomPosition
    ✔ deepFreeze
    ✔ deepFreeze (on cyclic structure)
    ✔ deepFreeze (recursive, aliased)
  ve.DiffMatchPatch
    ✔ indexOf/lastIndexOf
  ve.EventSequencer
    ✔ EventSequencer
  ve.Scheduler
    ✔ Call with no real async
    ✔ Call with delay
    ✔ Test that throws an exception
    ✔ Test that never succeeds
  ve.Range
    ✔ Basic usage (isCollapsed, isBackwards, getLength, equals, equalsSelection, containsOffset, containsRange, touchesRange)
    ✔ Modification (flip, truncate, expand, translate)
    ✔ Factory methods & serialization (newCoveringRange, newFromJSON, toJSON)
  ve.Document
    ✔ getDocumentNode
  ve.Node
    ✔ getType
    ✔ getParent
    ✔ getRoot
  ve.BranchNode
    ✔ getChildren
    ✔ indexOf
    ✔ setDocument
  ve.dm.Annotation
    ✔ getHashObject
  ve.dm.AnnotationSet
    ✔ Basic usage
    ✔ Comparable
  ve.dm.LinkAnnotation
    ✔ getFragment
  ve.dm.NodeFactory
    ✔ getChildNodeTypes
    ✔ getParentNodeTypes
    ✔ canNodeHaveChildren
    ✔ canNodeTakeAnnotation
    ✔ canNodeHaveChildrenNotContent
    ✔ initialization
  ve.dm.Node
    ✔ canHaveChildren
    ✔ canHaveChildrenNotContent
    ✔ getLength
    ✔ getOuterLength
    ✔ setLength
    ✔ adjustLength
    ✔ getAttribute
    ✔ setRoot
    ✔ attach
    ✔ detach
    ✔ canBeMergedWith
    ✔ getClonedElement
  ve.dm.Converter
    ✔ getModelFromDom
    ✔ getModelFromDom with store argument
    ✔ getDomFromModel
    ✔ getFullData
    ✔ roundTripMetadata
  ve.dm.SourceConverter
    ✔ conversion
  ve.dm.BranchNode
    ✔ canHaveChildren
    ✔ canHaveChildrenNotContent
    ✔ setRoot
    ✔ setDocument
    ✔ push
    ✔ pop
    ✔ unshift
    ✔ shift
    ✔ splice
  ve.dm.LeafNode
    ✔ canHaveChildren
    ✔ canHaveChildrenNotContent
    ✔ getAnnotations
  ve.dm.TextNode
    ✔ getOuterLength
  ve.dm.Document
    ✔ constructor
    ✔ newBlankDocument
    ✔ getData
    ✔ getFullData
    ✔ cloneFromRange
    ✔ getRelativeOffset
    ✔ getRelativeRange
    ✔ getBranchNodeFromOffset
    ✔ hasSlugAtOffset
    ✔ getDataFromNode
    ✔ getOuterLength
    ✔ rebuildNodes
    ✔ selectNodes
    ✔ rangeInsideOneLeafNode
    ✔ shallowCloneFromRange
    ✔ protection against double application of transactions
    ✔ getNearestCursorOffset
    ✔ Selection equality
    ✔ findText (plain text)
    ✔ findText (non-text content)
    ✔ fixupInsertion
    ✔ read-only and offset caching
  ve.dm.HashValueStore
    ✔ hash(es)
    ✔ value(s)
    ✔ slice
  ve.dm.InternalList
    ✔ getDocument
    ✔ queueItemHtml/getItemHtmlQueue
    ✔ convertToData
    ✔ clone
  ve.dm.LinearData
    ✔ basic usage
    ✔ slice(Object)/splice(Object)/batchSplice
  ve.dm.Transaction
    ✔ translateOffset
    ✔ translateRange
    ✔ getModifiedRange
    ✔ Metadata transactions
  ve.dm.TransactionBuilder
    ✔ newFromInsertion
    ✔ newFromRemoval
    ✔ newFromReplacement
    ✔ newFromDocumentInsertion
    ✔ newFromAttributeChanges
    ✔ newFromAnnotation
    ✔ newFromContentBranchConversion
    ✔ newFromWrap
    ✔ pushRetain
    ✔ pushReplacement
    ✔ pushReplaceElementAttribute
    ✔ isNoOp
    ✔ operations/build from operations
    ✔ newFromRemoval preserving metadata
  ve.dm.TransactionSquasher
    ✔ squash
  ve.dm.Change
    ✔ rebaseTransactions
    ✔ Change operations
    ✔ Rebase with conflicting annotations
    ✔ toJSON/deserialize/unsafeDeserialize
    ✔ Minified serialization
    ✔ Same-offset typing
  ve.dm.RebaseServer
    ✔ Rebase
  ve.dm.DocumentStore
    ✔ Create
  ve.dm.TransportServer
    ✔ Create
  ve.dm.TreeModifier
    ✔ treeDiff
    ✔ modify
    ✔ bare content
    ✔ applyTreeOperation: ensureNotText
    ✔ setupBlockSlugs
    ✔ checkEqualData
    ✔ TreeCursor#crossIgnoredNodes
    ✔ TreeCursor#normalizeCursor
  ve.dm.TransactionProcessor
    ✔ commit
    ✔ undo clear annotation
  ve.dm.Surface
    ✔ getDocument
    ✔ getSelection
    ✔ setSelection out of range
    ✔ contextChange events
    ✔ documentUpdate/select events
    ✔ breakpoint/undo/redo
    ✔ multi-user undo
    ✔ change rollback
    ✔ range translation
    ✔ staging
    ✔ getOffsetFromSourceOffset / getSourceOffsetFromOffset / getRangeFromSourceOffsets
    ✔ autosave
  ve.dm.SurfaceFragment
    ✔ constructor
    ✔ update
    ✔ getSelectedModels
    ✔ getAnnotations
    ✔ hasAnnotations
    ✔ adjustLinearSelection
    ✔ truncateLinearSelection
    ✔ collapseToStart/End
    ✔ expandLinearSelection (annotation)
    ✔ expandLinearSelection (closest)
    ✔ expandLinearSelection (word)
    ✔ removeContent
    ✔ delete
    ✔ insertContent/insertDocument
    ✔ changeAttributes
    ✔ wrapNodes/unwrapNodes
    ✔ rewrapNodes
    ✔ wrapAllNodes
    ✔ rewrapAllNodes
    ✔ isolateAndUnwrap
  ve.dm.SourceSurfaceFragment
    ✔ insertContent/insertDocument
  ve.dm.ModelRegistry
    ✔ register/unregister/matchElement
    ✔ isAnnotation
  ve.dm.MetaList
    ✔ constructor
    ✔ onTransact
  ve.dm.Scalable
    ✔ construction/clone/getters/setters/toggleDefault/clearers
    ✔ getBoundedDimensions/getCurrentScale/isCurrentDimensionsValid/isTooSmall/isTooLarge
    ✔ isDefault/toggleDefault
    ✔ isDimensionsObjectValid
    ✔ getDimensionsFromValue
  ve.dm.LinearSelection
    ✔ Construction and getters (getRange(s))
    ✔ Basic methods (collapse*, isCollased, equals, isNull)
    ✔ Factory methods & serialization (newFromJSON, toJSON, getDescription)
  ve.dm.NullSelection
    ✔ Construction and getters (getDocument, getRanges)
    ✔ Basic methods (collapse*, isCollased, equals, isNull)
    ✔ Factory methods & serialization (newFromJSON, toJSON, getDescription)
  ve.dm.TableSelection
    ✔ Construction and getters (getDocument, getRanges, getOuterRanges, getTableNode)
    ✔ Basic methods (expand, collapse*, getRange(s), isCollased, isSingleCell, equals, isNull, isFullRow/Col, getRow/ColCount)
    ✔ Factory methods & serialization (newFromJSON, toJSON, getDescription)
  ve.dm.FlatLinearData
    ✔ getType/isOpenElementData/isCloseElementData
    ✔ isElementData
    ✔ containsElementData
  ve.dm.ElementLinearData
    ✔ getAnnotationsFromOffset
    ✔ getAnnotationsFromRange
    ✔ getInsertionAnnotationsFromRange
    ✔ getAnnotatedRangeFromOffset
    ✔ trimOuterSpaceFromRange
    ✔ isContentOffset
    ✔ isStructuralOffset
    ✔ getCharacterData
    ✔ isPlainText
    ✔ getText
    ✔ getSourceText
    ✔ isContentData
    ✔ getRelativeOffset
    ✔ getRelativeContentOffset
    ✔ getNearestContentOffset
    ✔ getRelativeStructuralOffset
    ✔ getNearestStructuralOffset
    ✔ getWordRange
    ✔ sanitize
    ✔ countNonInternalElements
    ✔ hasContent
    ✔ getAnnotationHashesFromOffset
    ✔ getUsedStoreValues
    ✔ compareElements and compareElementsUnannotated
  ve.ce
    ✔ getDomHash/getDomText (with ve.dm.Converter)
    ✔ getDomHash/getDomText (without ve.dm.Converter)
    ✔ getOffset
    ✔ isShortcutKey
    ✔ nextCursorOffset
    ✔ resolveTestOffset
    ✔ fakeImes
    ✔ isAfterAnnotationBoundary
  ve.ce.Document
    ✔ Converter tests
    ✔ getNodeAndOffset
    ✔ attachedRoot
  ve.ce.Surface
    ✔ handleObservedChanges (content changes)
    ✔ handleDataTransfer/handleDataTransferItems
    ✔ getClipboardHash
    ✔ onCopy
    ✔ beforePaste/afterPaste
    ✔ onDocumentDragStart/onDocumentDrop
    ✔ getSelectionState
    ✔ findBlockSlug
  ve.ce.RangeState
    ✔ Basic tests
  ve.ce.TextState
    ✔ getChangeTransaction
  ve.ce.NodeFactory
    ✔ splitNodeOnEnter/getDescription
    ✔ initialization
  ve.ce.AnnotationFactory
    ✔ canAnnotationBeActive/getDescription
    ✔ initialization
  ve.ce.Node
    ✔ getModel
    ✔ getParent
    ✔ attach
    ✔ detach
  ve.ce.BranchNode
    ✔ splitOnEnter
    ✔ canHaveChildren
    ✔ canHaveChildrenNotContent
    ✔ updateTagName
    ✔ getDomPosition
    ✔ onSplice
  ve.ce.ContentBranchNode
    ✔ getRenderedContents
  ve.ce.LeafNode
    ✔ splitOnEnter
    ✔ canHaveChildren
    ✔ canHaveChildrenNotContent
  ve.ce.Selection
    ✔ Rects
    ✔ getDirectionality
    ✔ equals
  ve.ce.LinearArrowKeyDownHandler
    ✔ special key down: linear arrow keys
  ve.ce.LinearDeleteKeyDownHandler
    ✔ special key down: linear backspace/delete
  ve.ce.LinearEnterKeyDownHandler
    ✔ special key down: linear enter
  ve.ce.LinearEscapeKeyDownHandler
    ✔ special key down: linear escape
  ve.ce.TableArrowKeyDownHandler
    ✔ special key down: table arrow keys (complex movements)
    ✔ special key down: table arrow keys (simple movements)
  ve.ce.TableDeleteKeyDownHandler
    ✔ special key down: table backspace/delete
  ve.ce.TableEnterKeyDownHandler
    ✔ special key down: table enter
  ve.ce.TableF2KeyDownHandler
    ✔ special key down: table f2
  ve.ce.ResizableNode
    ✔ updateSizeLabel
    ✔ resize events
    ✔ notResizable
  ve.ce.TextNode
    ✔ getAnnotatedHtml
  ve.ce.TableNode
    ✔ getNearestCellNode
    ✔ getFirstSectionNode
    ✔ onTableMouseDown/onTableMouseMove/onTableMouseUp/onTableDblClick
    ✔ onTableMouseDown
  ve.init.sa.Platform
    ✔ getUserConfig
    ✔ setUserConfig
    ✔ messages
    ✔ parsedMessage
  ve.ui.DataTransferHandlerFactory
    ✔ getHandlerNameForItem
  ve.ui.Trigger
    ✔ constructor
  ve.ui.Sequence
    ✔ findAndExecuteSequences
  ve.ui.DiffElement
    ✔ Diffing
    ✔ compareAttributes/describeChanges
  ve.ui.PreviewElement
    ✔ Basic tests
  ve.ui.AnnotationAction
    ✔ toggle
  ve.ui.BlockquoteAction
    ✔ wrap/unwrap/toggle
  ve.ui.ContentAction
    ✔ insert/remove/select/selectAll
  ve.ui.FormatAction
    ✔ convert
  ve.ui.IndentationAction
    ✔ increase/decrease
  ve.ui.LinkAction
    ✔ autolink
  ve.ui.ListAction
    ✔ (un)wrap
  ve.ui.TableAction
    ✔ create / insert / mergeCells / delete / changeCellStyle / moveRelative
  ve.ui.WindowAction
    ✔ Basic open/close
  ve.ui.DSVFileTransferHandler
    ✔ getInsertableData
  ve.ui.UrlStringTransferHandler
    ✔ paste
  ve.ui.FindAndReplaceDialog
    ✔ find fragments
    ✔ replace all
  ve.ui.FragmentInspector
    ✔ Different selections and inputs

Finished in 16.053 secs / 15.613 secs @ 06:16:19 GMT+0000 (Coordinated Universal Time)

SUMMARY:
✔ 312 tests completed

=============================== Coverage summary ===============================
Statements   : 80.86% ( 17803/22017 )
Branches     : 72.64% ( 7631/10505 )
Functions    : 72.6% ( 2196/3025 )
Lines        : 80.71% ( 17466/21641 )
================================================================================

Running "karma:firefox" (karma) task
20 06 2021 06:16:20.503:WARN [karma-server]: Passing raw CLI options to `new Server(config, done)` is deprecated. Use `parseConfig(configFilePath, cliOptions, {promiseConfig: true, throwErrors: true})` to prepare a processed `Config` instance and pass that as the `config` argument instead.
20 06 2021 06:16:20.624:WARN [filelist]: All files matched by "/src/repo/node_modules/qunit/qunit/qunit.js" were excluded or matched by prior matchers.
20 06 2021 06:16:20.764:INFO [karma-server]: Karma v6.3.2 server started at http://localhost:9876/
20 06 2021 06:16:20.764:INFO [launcher]: Launching browsers FirefoxHeadless with concurrency unlimited
20 06 2021 06:16:20.768:INFO [launcher]: Starting browser FirefoxHeadless
20 06 2021 06:16:25.013:INFO [Firefox 78.0 (Linux x86_64)]: Connected on socket votzpQxtAVwSwoUTAAAD with id 65333717
................................................................................
................................................................................
................................................................................
........................................................................
Firefox 78.0 (Linux x86_64): Executed 312 of 312 SUCCESS (19.718 secs / 19.556 secs)
20 06 2021 06:16:48.997:WARN [launcher]: FirefoxHeadless was not killed in 2000 ms, sending SIGKILL.

Done.

Upgrading n:postcss from 7.0.35 -> 7.0.36
Upgrading n:ws from 7.4.4 -> 7.4.6
Upgrading n:trim-newlines from 3.0.0 -> 3.0.1
$ package-lock-lint package-lock.json
0 issues found in: package-lock.json

$ git add .

$ git commit -F /tmp/tmpg_bqsn2t
[master c0ceb75] build: Updating npm dependencies
 1 file changed, 9 insertions(+), 9 deletions(-)

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

* postcss: 7.0.35 → 7.0.36
  * https://npmjs.com/advisories/1693 (CVE-2021-23368)
* ws: 7.4.4 → 7.4.6
  * https://npmjs.com/advisories/1748 (CVE-2021-32640)
* trim-newlines: 3.0.0 → 3.0.1
  * https://npmjs.com/advisories/1753 (CVE-2021-33623)

Change-Id: I3ab9d29ac92f620fab0e8e08ad4b7c05c0a2c05e
---
 package-lock.json | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 28b21dd..29e2ddd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4678,9 +4678,9 @@
 			"dev": true
 		},
 		"postcss": {
-			"version": "7.0.35",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
-			"integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+			"version": "7.0.36",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
+			"integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
 			"dev": true,
 			"requires": {
 				"chalk": "^2.4.2",
@@ -6009,9 +6009,9 @@
 			}
 		},
 		"trim-newlines": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz",
-			"integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==",
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
+			"integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
 			"dev": true
 		},
 		"trough": {
@@ -6430,9 +6430,9 @@
 			}
 		},
 		"ws": {
-			"version": "7.4.4",
-			"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz",
-			"integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==",
+			"version": "7.4.6",
+			"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
+			"integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
 			"dev": true
 		},
 		"xtend": {
-- 
2.20.1

npm dependencies

Development dependencies

Logs

Source code is licensed under the AGPL.