mediawiki/extensions/TwoColConflict: main (log #970976)

sourcepatches

This run took 66 seconds.

$ date
--- stdout ---
Fri Mar 24 21:16:39 UTC 2023

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

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

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

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

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

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
61c87a8a6e8430e3498861ac030602607bbc5a25 refs/heads/master

--- end ---
$ /usr/bin/npm audit --json --legacy-peer-deps
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "http-cache-semantics": {
      "name": "http-cache-semantics",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1090532,
          "name": "http-cache-semantics",
          "dependency": "http-cache-semantics",
          "title": "http-cache-semantics vulnerable to Regular Expression Denial of Service",
          "url": "https://github.com/advisories/GHSA-rc47-6667-2j5j",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<4.1.1"
        }
      ],
      "effects": [],
      "range": "<4.1.1",
      "nodes": [
        "node_modules/http-cache-semantics"
      ],
      "fixAvailable": true
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": false
    },
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1091459,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        }
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": false
    },
    "ua-parser-js": {
      "name": "ua-parser-js",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1088697,
          "name": "ua-parser-js",
          "dependency": "ua-parser-js",
          "title": "ReDoS Vulnerability in ua-parser-js version ",
          "url": "https://github.com/advisories/GHSA-fhg7-m89q-25r3",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<0.7.33"
        }
      ],
      "effects": [],
      "range": "<0.7.33",
      "nodes": [
        "node_modules/ua-parser-js"
      ],
      "fixAvailable": true
    },
    "wdio-mediawiki": {
      "name": "wdio-mediawiki",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mwbot"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/wdio-mediawiki"
      ],
      "fixAvailable": false
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 3,
      "high": 2,
      "critical": 0,
      "total": 5
    },
    "dependencies": {
      "prod": 1,
      "dev": 850,
      "optional": 2,
      "peer": 10,
      "peerOptional": 0,
      "total": 850
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No lock file found. Updating dependencies instead of installing from lock file. Use composer update over composer install if you do not have a lock file.
Loading composer repositories with package information
Info from https://repo.packagist.org: #StandWithUkraine
Updating dependencies
Lock file operations: 36 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.1.0)
  - Locking composer/semver (3.3.2)
  - Locking composer/spdx-licenses (1.5.7)
  - Locking composer/xdebug-handler (3.0.3)
  - Locking doctrine/deprecations (v1.0.0)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v41.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.12.0)
  - Locking mediawiki/minus-x (1.1.1)
  - Locking mediawiki/phan-taint-check-plugin (4.0.0)
  - Locking microsoft/tolerant-php-parser (v0.1.1)
  - Locking netresearch/jsonmapper (v4.1.0)
  - Locking phan/phan (5.4.1)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.3.2)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.3.0)
  - Locking phpdocumentor/type-resolver (1.7.0)
  - Locking phpstan/phpdoc-parser (1.16.1)
  - Locking psr/container (1.1.2)
  - Locking psr/log (1.1.4)
  - Locking sabre/event (5.1.4)
  - Locking squizlabs/php_codesniffer (3.7.2)
  - Locking symfony/console (v5.4.21)
  - Locking symfony/deprecation-contracts (v2.5.2)
  - Locking symfony/polyfill-ctype (v1.27.0)
  - Locking symfony/polyfill-intl-grapheme (v1.27.0)
  - Locking symfony/polyfill-intl-normalizer (v1.27.0)
  - Locking symfony/polyfill-mbstring (v1.27.0)
  - Locking symfony/polyfill-php73 (v1.27.0)
  - Locking symfony/polyfill-php80 (v1.27.0)
  - Locking symfony/service-contracts (v2.5.2)
  - Locking symfony/string (v5.4.21)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 36 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]    0 [--->------------------------]  - Installing composer/pcre (3.1.0): Extracting archive
  - Installing symfony/polyfill-php80 (v1.27.0): Extracting archive
  - Installing squizlabs/php_codesniffer (3.7.2): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.27.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.7): Extracting archive
  - Installing composer/semver (3.3.2): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v41.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.27.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.27.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.27.0): Extracting archive
  - Installing symfony/string (v5.4.21): Extracting archive
  - Installing symfony/deprecation-contracts (v2.5.2): Extracting archive
  - Installing psr/container (1.1.2): Extracting archive
  - Installing symfony/service-contracts (v2.5.2): Extracting archive
  - Installing symfony/polyfill-php73 (v1.27.0): Extracting archive
  - Installing symfony/console (v5.4.21): Extracting archive
  - Installing sabre/event (5.1.4): Extracting archive
  - Installing netresearch/jsonmapper (v4.1.0): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.1): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (1.16.1): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (v1.0.0): Extracting archive
  - Installing phpdocumentor/type-resolver (1.7.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.3.0): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (1.1.4): Extracting archive
  - Installing composer/xdebug-handler (3.0.3): Extracting archive
  - Installing phan/phan (5.4.1): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (4.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.12.0): Extracting archive
  - Installing mediawiki/minus-x (1.1.1): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.3.2): Extracting archive
  0/27 [>---------------------------]   0%
 10/27 [==========>-----------------]  37%
 20/27 [====================>-------]  74%
 26/27 [==========================>-]  96%
 27/27 [============================] 100%4 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
14 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---

--- end ---
Upgrading n:eslint-config-wikimedia from 0.22.1 -> 0.24.0
Upgrading n:grunt from 1.5.3 -> 1.6.1
Upgrading n:stylelint-config-wikimedia from 0.13.1 -> 0.14.0
$ /usr/bin/npm install
--- stderr ---
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
--- stdout ---

added 827 packages, and audited 828 packages in 12s

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

5 vulnerabilities (3 moderate, 2 high)

To address issues that do not require attention, run:
  npm audit fix

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

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

--- end ---
$ /usr/bin/npm install grunt-eslint@24.0.0 --save-exact
--- stdout ---

up to date, audited 828 packages in 1s

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

5 vulnerabilities (3 moderate, 2 high)

To address issues that do not require attention, run:
  npm audit fix

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

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

--- end ---
$ ./node_modules/.bin/eslint i18n/ar.json i18n/hy.json i18n/zh-hans.json i18n/eu.json i18n/ur.json tests/selenium/pageobjects/preferences.page.js i18n/ko.json i18n/es-formal.json i18n/lb.json i18n/gl.json i18n/be.json i18n/hu.json i18n/oc.json i18n/sje.json i18n/mui.json i18n/he.json i18n/cs.json i18n/es.json i18n/skr-arab.json i18n/sms.json i18n/jv.json i18n/zgh.json i18n/ku-latn.json i18n/bg.json i18n/tly.json i18n/vec.json i18n/ce.json i18n/fr.json i18n/nn.json i18n/sa.json i18n/kab.json i18n/tr.json i18n/lij.json i18n/lmo.json i18n/ckb.json i18n/hi.json i18n/zh-hant.json i18n/is.json i18n/fa.json i18n/ban.json i18n/hr.json i18n/ml.json tests/selenium/pageobjects/edit.page.js i18n/ca.json i18n/inh.json i18n/sdc.json i18n/sk.json modules/ext.TwoColConflict.Util.js i18n/lt.json i18n/mt.json i18n/et.json i18n/roa-tara.json tests/selenium/specs/editmerge.js modules/ext.TwoColConflict.Settings.js i18n/pwn.json i18n/ka.json tests/selenium/pageobjects/talkconflict.page.js i18n/sw.json i18n/el.json i18n/af.json tests/selenium/pageobjects/finishedconflict.page.js i18n/bs.json i18n/gom-latn.json tests/qunit/SplitTwoColConflict/TwoColConflict.Split.tracking.test.js i18n/ia.json i18n/lld.json i18n/smn.json i18n/ja.json tests/selenium/specs/saveandpreview.js i18n/fy.json extension.json tests/qunit/SplitTwoColConflict/TwoColConflict.Merger.test.js i18n/sd.json i18n/ms.json modules/ext.TwoColConflict.JSCheck.js i18n/sh.json i18n/yi.json i18n/qqq.json i18n/ro.json i18n/ast.json i18n/en.json tests/selenium/specs/twocolconflict.js tests/selenium/specs/collapse.js i18n/nqo.json i18n/ug-arab.json i18n/kjp.json i18n/ne.json i18n/se.json i18n/tcy.json i18n/be-tarask.json package.json i18n/lv.json i18n/pl.json i18n/bn.json i18n/az.json i18n/id.json tests/selenium/test_accounts.js tests/selenium/specs/tourdialog.js i18n/bqi.json i18n/xsy.json i18n/te.json i18n/sv.json i18n/da.json i18n/nb.json modules/SplitTwoColConflict/ext.TwoColConflict.Split.init.js i18n/sr-el.json i18n/scn.json tests/selenium/specs/talkpage.js i18n/eo.json i18n/fi.json i18n/sr-ec.json i18n/pnb.json tests/selenium/wdio.conf.js i18n/trv.json tests/selenium/pageobjects/editconflict.page.js i18n/br.json i18n/pt.json tests/selenium/specs/nojs.js i18n/syl.json i18n/vi.json i18n/as.json i18n/pt-br.json modules/SplitTwoColConflict/ext.TwoColConflict.Split.Merger.js i18n/my.json i18n/de.json i18n/udm.json package-lock.json i18n/ru.json i18n/sl.json i18n/nl.json composer.json modules/SplitTwoColConflict/ext.TwoColConflict.Split.Tour.js modules/SplitTwoColConflict/ext.TwoColConflict.Split.tracking.js i18n/it.json i18n/mk.json i18n/io.json i18n/uk.json Gruntfile.js --fix
--- stdout ---

/src/repo/tests/selenium/pageobjects/editconflict.page.js
  141:3  error  Unexpected browser.pause() not allowed  wdio/no-pause

/src/repo/tests/selenium/specs/tourdialog.js
  79:1  warning  This line has a length of 111. Maximum allowed is 100  max-len

✖ 2 problems (1 error, 1 warning)


--- end ---
$ ./node_modules/.bin/eslint i18n/ar.json i18n/hy.json i18n/zh-hans.json i18n/eu.json i18n/ur.json tests/selenium/pageobjects/preferences.page.js i18n/ko.json i18n/es-formal.json i18n/lb.json i18n/gl.json i18n/be.json i18n/hu.json i18n/oc.json i18n/sje.json i18n/mui.json i18n/he.json i18n/cs.json i18n/es.json i18n/skr-arab.json i18n/sms.json i18n/jv.json i18n/zgh.json i18n/ku-latn.json i18n/bg.json i18n/tly.json i18n/vec.json i18n/ce.json i18n/fr.json i18n/nn.json i18n/sa.json i18n/kab.json i18n/tr.json i18n/lij.json i18n/lmo.json i18n/ckb.json i18n/hi.json i18n/zh-hant.json i18n/is.json i18n/fa.json i18n/ban.json i18n/hr.json i18n/ml.json tests/selenium/pageobjects/edit.page.js i18n/ca.json i18n/inh.json i18n/sdc.json i18n/sk.json modules/ext.TwoColConflict.Util.js i18n/lt.json i18n/mt.json i18n/et.json i18n/roa-tara.json tests/selenium/specs/editmerge.js modules/ext.TwoColConflict.Settings.js i18n/pwn.json i18n/ka.json tests/selenium/pageobjects/talkconflict.page.js i18n/sw.json i18n/el.json i18n/af.json tests/selenium/pageobjects/finishedconflict.page.js i18n/bs.json i18n/gom-latn.json tests/qunit/SplitTwoColConflict/TwoColConflict.Split.tracking.test.js i18n/ia.json i18n/lld.json i18n/smn.json i18n/ja.json tests/selenium/specs/saveandpreview.js i18n/fy.json extension.json tests/qunit/SplitTwoColConflict/TwoColConflict.Merger.test.js i18n/sd.json i18n/ms.json modules/ext.TwoColConflict.JSCheck.js i18n/sh.json i18n/yi.json i18n/qqq.json i18n/ro.json i18n/ast.json i18n/en.json tests/selenium/specs/twocolconflict.js tests/selenium/specs/collapse.js i18n/nqo.json i18n/ug-arab.json i18n/kjp.json i18n/ne.json i18n/se.json i18n/tcy.json i18n/be-tarask.json package.json i18n/lv.json i18n/pl.json i18n/bn.json i18n/az.json i18n/id.json tests/selenium/test_accounts.js tests/selenium/specs/tourdialog.js i18n/bqi.json i18n/xsy.json i18n/te.json i18n/sv.json i18n/da.json i18n/nb.json modules/SplitTwoColConflict/ext.TwoColConflict.Split.init.js i18n/sr-el.json i18n/scn.json tests/selenium/specs/talkpage.js i18n/eo.json i18n/fi.json i18n/sr-ec.json i18n/pnb.json tests/selenium/wdio.conf.js i18n/trv.json tests/selenium/pageobjects/editconflict.page.js i18n/br.json i18n/pt.json tests/selenium/specs/nojs.js i18n/syl.json i18n/vi.json i18n/as.json i18n/pt-br.json modules/SplitTwoColConflict/ext.TwoColConflict.Split.Merger.js i18n/my.json i18n/de.json i18n/udm.json package-lock.json i18n/ru.json i18n/sl.json i18n/nl.json composer.json modules/SplitTwoColConflict/ext.TwoColConflict.Split.Tour.js modules/SplitTwoColConflict/ext.TwoColConflict.Split.tracking.js i18n/it.json i18n/mk.json i18n/io.json i18n/uk.json Gruntfile.js -f json
--- stdout ---
[{"filePath":"/src/repo/Gruntfile.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/composer.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/extension.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/af.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ar.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/as.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ast.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/az.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ban.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/be-tarask.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/be.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/bg.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/bn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/bqi.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/br.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/bs.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ca.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ce.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ckb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/cs.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/da.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/de.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/el.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/eo.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/es-formal.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/es.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/et.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/eu.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/fa.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/fi.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/fr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/fy.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/gl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/gom-latn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/he.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/hi.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/hr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/hu.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/hy.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ia.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/id.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/inh.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/io.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/is.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/it.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ja.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/jv.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ka.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/kab.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/kjp.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ko.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ku-latn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/lb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/lij.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/lld.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/lmo.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/lt.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/lv.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/mk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ml.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ms.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/mt.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/mui.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/my.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ne.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nqo.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/oc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/pl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/pnb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/pt-br.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/pt.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/pwn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ro.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/roa-tara.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ru.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/sa.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/scn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/sd.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/sdc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/se.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/sh.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/sje.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/sk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/skr-arab.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/sl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/smn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/sms.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/sr-ec.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/sr-el.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/sv.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/sw.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/syl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/tcy.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/te.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/tly.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/tr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/trv.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/udm.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ug-arab.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/uk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/ur.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/vec.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/vi.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/xsy.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/yi.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/zgh.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/zh-hans.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/zh-hant.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/modules/SplitTwoColConflict/ext.TwoColConflict.Split.Merger.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/modules/SplitTwoColConflict/ext.TwoColConflict.Split.Tour.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/modules/SplitTwoColConflict/ext.TwoColConflict.Split.init.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/modules/SplitTwoColConflict/ext.TwoColConflict.Split.tracking.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":75,"column":7,"nodeType":"CallExpression","endLine":75,"endColumn":59,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":77,"column":14,"nodeType":"CallExpression","endLine":77,"endColumn":63,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-class-state","severity":2,"message":"Where possible, maintain application state in JS to avoid slower DOM queries","line":79,"column":14,"nodeType":"CallExpression","endLine":79,"endColumn":64,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'start_time_ts_ms' is not in camel case.","line":102,"column":3,"nodeType":"Identifier","messageId":"notCamelCase","endLine":102,"endColumn":19,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'base_rev_id' is not in camel case.","line":103,"column":3,"nodeType":"Identifier","messageId":"notCamelCase","endLine":103,"endColumn":14,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'latest_rev_id' is not in camel case.","line":104,"column":3,"nodeType":"Identifier","messageId":"notCamelCase","endLine":104,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'page_namespace' is not in camel case.","line":105,"column":3,"nodeType":"Identifier","messageId":"notCamelCase","endLine":105,"endColumn":17,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'page_title' is not in camel case.","line":106,"column":3,"nodeType":"Identifier","messageId":"notCamelCase","endLine":106,"endColumn":13,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"camelcase","severity":2,"message":"Identifier 'session_token' is not in camel case.","line":108,"column":3,"nodeType":"Identifier","messageId":"notCamelCase","endLine":108,"endColumn":16,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/modules/ext.TwoColConflict.JSCheck.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/modules/ext.TwoColConflict.Settings.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/modules/ext.TwoColConflict.Util.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/package-lock.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/package.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/tests/qunit/SplitTwoColConflict/TwoColConflict.Merger.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/tests/qunit/SplitTwoColConflict/TwoColConflict.Split.tracking.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/tests/selenium/pageobjects/edit.page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"no-process-exit","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/pageobjects/editconflict.page.js","messages":[{"ruleId":"wdio/no-pause","severity":2,"message":"Unexpected browser.pause() not allowed","line":141,"column":3,"nodeType":"CallExpression","messageId":"unexpectedPause","endLine":141,"endColumn":23}],"suppressedMessages":[],"errorCount":1,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst assert = require( 'assert' ),\n\tPage = require( 'wdio-mediawiki/Page' ),\n\tEditPage = require( '../pageobjects/edit.page' ),\n\tUserLoginPage = require( 'wdio-mediawiki/LoginPage' ),\n\tTestAccounts = require( '../test_accounts' ),\n\tUtil = require( 'wdio-mediawiki/Util' );\n\nclass EditConflictPage extends Page {\n\tget conflictHeader() { return $( '.mw-twocolconflict-split-header' ); }\n\tget conflictView() { return $( '.mw-twocolconflict-split-view' ); }\n\n\tgetParagraph( column ) { return $( this.columnToClass( column ) + ' .mw-twocolconflict-split-editable' ); }\n\tgetEditButton( column ) { return $( this.columnToClass( column ) + ' .mw-twocolconflict-split-edit-button' ); }\n\tgetSaveButton( column ) { return $( this.columnToClass( column ) + ' .mw-twocolconflict-split-save-button' ); }\n\tgetResetButton( column ) { return $( this.columnToClass( column ) + ' .mw-twocolconflict-split-reset-button' ); }\n\tgetEditor( column ) { return $( this.columnToClass( column ) + ' .mw-twocolconflict-split-editor' ); }\n\tgetDiffText( column ) { return $( this.columnToClass( column ) + ' .mw-twocolconflict-split-difftext' ); }\n\tgetColumn( column ) { return $( this.columnToClass( column ) ); }\n\n\tget selectionLabel() { return $( '.mw-twocolconflict-split-row .mw-twocolconflict-split-selector-label > span' ); }\n\tget otherParagraphSelection() { return $( '.mw-twocolconflict-split-selection-row div:nth-child(1) span' ); }\n\tget otherParagraphRadio() { return $( '.mw-twocolconflict-split-selection-row div:nth-child(1) input' ); }\n\tget otherParagraphAllSelection() { return $( '.mw-twocolconflict-split-selection-header div:nth-child(1) span' ); }\n\tget yourParagraphSelection() { return $( '.mw-twocolconflict-split-selection-row div:nth-child(2) span' ); }\n\tget yourParagraphRadio() { return $( '.mw-twocolconflict-split-selection-row div:nth-child(2) input' ); }\n\n\tget resetConfirmationPopup() { return $( '.oo-ui-windowManager-floating .oo-ui-window-content' ); }\n\tget resetConfirmationButton() { return $( '.oo-ui-windowManager-floating .oo-ui-window-content .oo-ui-messageDialog-actions span:nth-of-type(2) a' ); }\n\n\tget collapsedParagraph() { return $( '.mw-twocolconflict-split-collapsed' ); }\n\tget expandedParagraph() { return $( '.mw-twocolconflict-split-expanded' ); }\n\tget fadeOverlay() { return $( '.mw-twocolconflict-split-fade' ); }\n\tget collapseButton() { return $( '.mw-twocolconflict-split-collapse-button' ); }\n\tget expandButton() { return $( '.mw-twocolconflict-split-expand-button' ); }\n\n\tget infoButton() { return $( '.mw-twocolconflict-split-tour-help-button' ); }\n\tget tourDialog() { return $( '.mw-twocolconflict-split-tour-intro-container' ); }\n\tget tourDialogCloseButton() { return $( '.mw-twocolconflict-split-tour-intro-container a' ); }\n\n\tget tourDiffChangeButton() { return $( '.mw-twocolconflict-diffchange .mw-twocolconflict-split-tour-pulsating-button' ); }\n\tget tourSplitSelectionButton() { return $( '.mw-twocolconflict-split-selection .mw-twocolconflict-split-tour-pulsating-button' ); }\n\n\tget tourYourVersionHeaderPopup() { return $( '.mw-twocolconflict-split-your-version-header .mw-twocolconflict-split-tour-popup' ); }\n\tget tourDiffChangePopup() { return $( '.mw-twocolconflict-diffchange .mw-twocolconflict-split-tour-popup' ); }\n\tget tourDiffChangePopupCloseButton() { return $( '.mw-twocolconflict-diffchange .mw-twocolconflict-split-tour-popup a' ); }\n\n\tget submitButton() { return $( '#wpSave' ); }\n\tget previewButton() { return $( '#wpPreview' ); }\n\n\tget previewView() { return $( '#wikiPreview' ); }\n\tget previewText() { return $( '#wikiPreview .mw-parser-output' ); }\n\n\tget coreUiHint() { return $( '.mw-twocolconflict-core-ui-hint .oo-ui-messageWidget' ); }\n\tget coreUiHintCloseButton() { return $( '.mw-twocolconflict-core-ui-hint .oo-ui-icon-close' ); }\n\n\tget rowsInEditMode() { return $( '.mw-twocolconflict-split-editing' ); }\n\n\tcolumnToClass( column ) {\n\t\tswitch ( column ) {\n\t\t\tcase 'other':\n\t\t\t\treturn '.mw-twocolconflict-split-delete';\n\t\t\tcase 'your':\n\t\t\t\treturn '.mw-twocolconflict-split-add';\n\t\t\tdefault:\n\t\t\t\treturn '.mw-twocolconflict-split-copy';\n\t\t}\n\t}\n\n\t/**\n\t * Disables VisualEditor, edit warning popups and sets test\n\t * defaults to makes sure the feature is used and the help\n\t * dialog hidden.\n\t *\n\t * @return {Promise} Promise from the mw.Api request\n\t */\n\tprepareUserSettings() {\n\t\tUtil.waitForModuleState( 'mediawiki.base' );\n\t\treturn browser.execute( function () {\n\t\t\treturn mw.loader.using( 'mediawiki.api' ).then( function () {\n\t\t\t\treturn new mw.Api().saveOptions( {\n\t\t\t\t\t'visualeditor-hidebetawelcome': '1',\n\t\t\t\t\t'visualeditor-betatempdisable': '1',\n\t\t\t\t\tuseeditwarning: '0',\n\t\t\t\t\t'twocolconflict-enabled': '1',\n\t\t\t\t\ttwocolconflict: '1',\n\t\t\t\t\t'userjs-twocolconflict-hide-help-dialogue': '1'\n\t\t\t\t} );\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * @param {boolean} [show] Defaults to true.\n\t * @return {Promise} Promise from the mw.Api request\n\t */\n\ttoggleHelpDialog( show ) {\n\t\tconst hide = show === false;\n\t\tUtil.waitForModuleState( 'mediawiki.base' );\n\t\treturn browser.execute( function ( setHide ) {\n\t\t\treturn mw.loader.using( 'mediawiki.api' ).then( function () {\n\t\t\t\treturn new mw.Api().saveOption(\n\t\t\t\t\t'userjs-twocolconflict-hide-help-dialogue',\n\t\t\t\t\tsetHide ? '1' : '0'\n\t\t\t\t);\n\t\t\t} );\n\t\t}, hide );\n\t}\n\n\tprepareEditConflict() {\n\t\tUserLoginPage.loginAdmin();\n\t\tthis.prepareUserSettings();\n\t}\n\n\tshowSimpleConflict() {\n\t\tthis.createConflict(\n\t\t\t// Includes HTML characters to check for proper escaping throughout the process.\n\t\t\t// Note the final assertions will look for \"Line 1\", \"Change A\" and such only, without\n\t\t\t// any of the HTML code being visible.\n\t\t\t'Line<span>1</span>\\n\\nLine2',\n\t\t\t'Line<span>1</span>\\n\\nChange <span lang=\"de\">A</span>',\n\t\t\t'Line<span>1</span>\\n\\nChange <span lang=\"en\">B</span>'\n\t\t);\n\t\tthis.waitForJS();\n\t}\n\n\tshowBigConflict() {\n\t\tthis.createConflict(\n\t\t\t'Line1\\nLine2\\nLine3\\nline4',\n\t\t\t'Line1\\nLine2\\nLine3\\nChange <span lang=\"de\">A</span>',\n\t\t\t'Line1\\nLine2\\nLine3\\nChange <span lang=\"en\">B</span>'\n\t\t);\n\t\tthis.waitForJS();\n\t}\n\n\teditPage( bot, title, text ) {\n\t\tbrowser.call( async () => {\n\t\t\treturn await bot.edit( title, text );\n\t\t} );\n\t\tbrowser.pause( 500 );\n\t}\n\n\tcreateConflict(\n\t\tstartText,\n\t\totherText,\n\t\tyourText,\n\t\ttitle = null,\n\t\tsection = null\n\t) {\n\t\ttitle = ( title !== null ) ? title : Util.getTestString( 'conflict-title-' );\n\n\t\tthis.editPage( TestAccounts.you, title, startText );\n\n\t\tif ( section !== null ) {\n\t\t\tEditPage.openSectionForEditing( title, section );\n\t\t} else {\n\t\t\tEditPage.openForEditing( title );\n\t\t}\n\n\t\tEditPage.content.waitForExist();\n\n\t\tthis.editPage( TestAccounts.other, title, otherText );\n\n\t\tEditPage.content.setValue( yourText );\n\t\tEditPage.save.click();\n\t}\n\n\twaitForJS() {\n\t\tUtil.waitForModuleState( 'ext.TwoColConflict.SplitJs' );\n\t}\n\n\ttestNoJs() {\n\t\treturn browser.setCookies( {\n\t\t\tname: 'mw-twocolconflict-test-nojs',\n\t\t\tvalue: '1'\n\t\t} );\n\t}\n\n\tassertUnchangedIsCollapsed() {\n\t\tassert(\n\t\t\tthis.fadeOverlay.isDisplayed(),\n\t\t\t'an overlay fades the collapsed text'\n\t\t);\n\t\tassert(\n\t\t\tthis.collapsedParagraph.isDisplayed(),\n\t\t\t'the collapsed paragraph text is visible'\n\t\t);\n\t\tassert(\n\t\t\t!this.expandedParagraph.isDisplayed(),\n\t\t\t'the expanded paragraph text is hidden'\n\t\t);\n\t\tassert(\n\t\t\tthis.expandButton.isDisplayed(),\n\t\t\t'the expand button is visible'\n\t\t);\n\t\tassert(\n\t\t\t!this.collapseButton.isDisplayed(),\n\t\t\t'the collapse button is hidden'\n\t\t);\n\t}\n\n\tassertUnchangedIsExpanded() {\n\t\tassert(\n\t\t\t!this.fadeOverlay.isDisplayed(),\n\t\t\t'no overlay fades the collapsed text'\n\t\t);\n\t\tassert(\n\t\t\tthis.expandedParagraph.isDisplayed(),\n\t\t\t'the expanded paragraph text is visible'\n\t\t);\n\t\tassert(\n\t\t\t!this.collapsedParagraph.isDisplayed(),\n\t\t\t'the collapsed paragraph text is hidden'\n\t\t);\n\t\tassert(\n\t\t\t!this.expandButton.isDisplayed(),\n\t\t\t'the expand button is hidden'\n\t\t);\n\t\tassert(\n\t\t\tthis.collapseButton.isDisplayed(),\n\t\t\t'the collapse button is visible'\n\t\t);\n\t}\n\n}\n\nmodule.exports = new EditConflictPage();\n","usedDeprecatedRules":[{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"no-process-exit","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/pageobjects/finishedconflict.page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"no-process-exit","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/pageobjects/preferences.page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"no-process-exit","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/pageobjects/talkconflict.page.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"no-process-exit","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/specs/collapse.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"no-process-exit","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/specs/editmerge.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"no-process-exit","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/specs/nojs.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"no-process-exit","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/specs/saveandpreview.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"no-process-exit","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/specs/talkpage.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"no-process-exit","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/specs/tourdialog.js","messages":[{"ruleId":"max-len","severity":1,"message":"This line has a length of 111. Maximum allowed is 100.","line":79,"column":1,"nodeType":"Program","messageId":"max","endLine":79,"endColumn":103}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"'use strict';\n\nconst assert = require( 'assert' ),\n\tEditConflictPage = require( '../pageobjects/editconflict.page' );\n\ndescribe( 'TwoColConflict GuidedTour', function () {\n\tbefore( function () {\n\t\tEditConflictPage.prepareEditConflict();\n\t} );\n\n\tdescribe( 'on initial view', function () {\n\n\t\tbefore( function () {\n\t\t\tEditConflictPage.toggleHelpDialog( true );\n\t\t\tEditConflictPage.showSimpleConflict();\n\t\t} );\n\n\t\tit( 'shows the tour', function () {\n\t\t\tassert(\n\t\t\t\tEditConflictPage.tourDialog.waitForDisplayed(),\n\t\t\t\t'I see an info tour'\n\t\t\t);\n\t\t} );\n\t} );\n\n\tdescribe( 'on subsequent view', function () {\n\n\t\tbefore( function () {\n\t\t\tEditConflictPage.openTitle( '' );\n\t\t\tEditConflictPage.toggleHelpDialog( false );\n\t\t\tEditConflictPage.showSimpleConflict();\n\t\t} );\n\n\t\tit( 'hides the tour', function () {\n\t\t\tassert(\n\t\t\t\t!EditConflictPage.tourDialog.isDisplayed(),\n\t\t\t\t'I don\\'t see an info tour'\n\t\t\t);\n\t\t} );\n\n\t\tit( 'clicking the info button shows the tour', function () {\n\t\t\tEditConflictPage.infoButton.click();\n\n\t\t\tassert(\n\t\t\t\tEditConflictPage.tourDialog.waitForDisplayed(),\n\t\t\t\t'I see an info tour'\n\t\t\t);\n\t\t} );\n\n\t\tit( 'clicking the close button dismisses the dialog, adds pulsating buttons, and opens the your version header popup', function () {\n\t\t\tEditConflictPage.tourDialogCloseButton.waitForDisplayed( { timeout: 2000 } );\n\t\t\tEditConflictPage.tourDialogCloseButton.click();\n\n\t\t\tassert(\n\t\t\t\tEditConflictPage.tourDialogCloseButton.waitForDisplayed( {\n\t\t\t\t\ttimeout: 2000,\n\t\t\t\t\treverse: true\n\t\t\t\t} ),\n\t\t\t\t'Dialog has disappeared'\n\t\t\t);\n\n\t\t\tassert(\n\t\t\t\tEditConflictPage.tourDiffChangeButton.isDisplayed(),\n\t\t\t\t'Diff change pulsating button has appeared'\n\t\t\t);\n\n\t\t\tassert(\n\t\t\t\tEditConflictPage.tourSplitSelectionButton.isDisplayed(),\n\t\t\t\t'Split selection pulsating button has appeared'\n\t\t\t);\n\n\t\t\tassert(\n\t\t\t\tEditConflictPage.tourYourVersionHeaderPopup.isDisplayed(),\n\t\t\t\t'Your version header popup has appeared'\n\t\t\t);\n\t\t} );\n\n\t\tit( 'clicking on a pulsating button opens a popup', function () {\n\t\t\t// FIXME tourDiffChangeButton.click() throws an error with the new wdio config this is a workaround\n\t\t\tbrowser.execute( function () {\n\t\t\t\t$( '.mw-twocolconflict-diffchange .mw-twocolconflict-split-tour-pulsating-button' ).click();\n\t\t\t} );\n\n\t\t\tEditConflictPage.tourDiffChangeButton.waitForDisplayed( {\n\t\t\t\ttimeout: 2000, reverse: true\n\t\t\t} );\n\n\t\t\tassert(\n\t\t\t\t!EditConflictPage.tourDiffChangeButton.isDisplayed(),\n\t\t\t\t'Diff change pulsating button has disappeared'\n\t\t\t);\n\n\t\t\tassert(\n\t\t\t\tEditConflictPage.tourDiffChangePopup.waitForDisplayed( { timeout: 2000 } ),\n\t\t\t\t'Diff change popup has appeared'\n\t\t\t);\n\t\t} );\n\n\t\tit( 'clicking on a popup\\'s close button closes the popup', function () {\n\t\t\tEditConflictPage.tourDiffChangePopupCloseButton.waitForDisplayed( { timeout: 2000 } );\n\t\t\tEditConflictPage.tourDiffChangePopupCloseButton.click();\n\n\t\t\tassert(\n\t\t\t\tEditConflictPage.tourDiffChangePopup.waitForDisplayed( {\n\t\t\t\t\ttimeout: 500, reverse: true\n\t\t\t\t} ),\n\t\t\t\t'Diff change popup has disappeared'\n\t\t\t);\n\t\t} );\n\t} );\n\n\tafter( function () {\n\t\tbrowser.deleteCookies();\n\t} );\n} );\n","usedDeprecatedRules":[{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"no-process-exit","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/specs/twocolconflict.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"no-process-exit","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/test_accounts.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"no-process-exit","replacedBy":[]}]},{"filePath":"/src/repo/tests/selenium/wdio.conf.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"no-process-exit","replacedBy":[]}]}]

--- end ---
$ ./node_modules/.bin/grunt stylelint
--- stdout ---
Running "stylelint:all" (stylelint) task
>> Linted 5 files without errors

Done.

--- end ---
$ /usr/bin/npm ci --legacy-peer-deps
--- stderr ---
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
--- stdout ---

added 827 packages, and audited 828 packages in 13s

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

5 vulnerabilities (3 moderate, 2 high)

To address issues that do not require attention, run:
  npm audit fix

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

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

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/Gruntfile.js
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/composer.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/extension.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/af.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ar.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/as.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ast.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/az.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ban.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/be-tarask.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/be.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/bg.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/bn.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/bqi.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/br.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/bs.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ca.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ce.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ckb.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/cs.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/da.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/de.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/el.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/en.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/eo.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/es-formal.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/es.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/et.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/eu.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/fa.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/fi.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/fr.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/fy.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/gl.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/gom-latn.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/he.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/hi.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/hr.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/hu.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/hy.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ia.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/id.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/inh.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/io.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/is.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/it.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ja.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/jv.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ka.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/kab.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/kjp.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ko.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ku-latn.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/lb.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/lij.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/lld.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/lmo.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/lt.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/lv.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/mk.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ml.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ms.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/mt.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/mui.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/my.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/nb.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ne.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/nl.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/nn.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/nqo.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/oc.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/pl.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/pnb.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/pt-br.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/pt.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/pwn.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/qqq.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ro.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/roa-tara.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ru.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/sa.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/scn.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/sd.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/sdc.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/se.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/sh.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/sje.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/sk.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/skr-arab.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/sl.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/smn.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/sms.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/sr-ec.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/sr-el.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/sv.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/sw.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/syl.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/tcy.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/te.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/tly.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/tr.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/trv.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/udm.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ug-arab.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/uk.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/ur.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/vec.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/vi.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/xsy.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/yi.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/zgh.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/zh-hans.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/i18n/zh-hant.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/modules/SplitTwoColConflict/ext.TwoColConflict.Split.Merger.js
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/modules/SplitTwoColConflict/ext.TwoColConflict.Split.Tour.js
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/modules/SplitTwoColConflict/ext.TwoColConflict.Split.init.js
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/modules/SplitTwoColConflict/ext.TwoColConflict.Split.tracking.js
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/modules/ext.TwoColConflict.JSCheck.js
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/modules/ext.TwoColConflict.Settings.js
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/modules/ext.TwoColConflict.Util.js
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/package-lock.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/package.json
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/tests/qunit/SplitTwoColConflict/TwoColConflict.Merger.test.js
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/tests/qunit/SplitTwoColConflict/TwoColConflict.Split.tracking.test.js
  1:1  error  Definition for rule 'wdio/no-pause' was not found  wdio/no-pause

/src/repo/tests/selenium/pageobjects/editconflict.page.js
  141:3  error  Unexpected browser.pause() not allowed  wdio/no-pause

/src/repo/tests/selenium/specs/tourdialog.js
  79:1  warning  This line has a length of 111. Maximum allowed is 100  max-len

✖ 126 problems (125 errors, 1 warning)

Warning: Task "eslint:all" failed. Use --force to continue.

Aborted due to warnings.

--- end ---
Traceback (most recent call last):
  File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/__init__.py", line 1400, in main
    libup.run(args.repo, args.output, args.branch)
  File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/__init__.py", line 1338, in run
    self.npm_upgrade(plan)
  File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/__init__.py", line 1049, in npm_upgrade
    self.npm_test()
  File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/__init__.py", line 287, in npm_test
    self.check_call(['npm', 'test'])
  File "/venv/lib/python3.9/site-packages/runner-0.1.0-py3.9.egg/runner/shell2.py", line 54, in check_call
    res.check_returncode()
  File "/usr/lib/python3.9/subprocess.py", line 460, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['/usr/bin/npm', 'test']' returned non-zero exit status 3.
Source code is licensed under the AGPL.