mediawiki/extensions/PhotoSwipe: main (log #2333507)

sourcepatches

This run took 51 seconds.

$ date
--- stdout ---
Sun Jan 18 09:17:44 UTC 2026

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-PhotoSwipe.git /src/repo --depth=1 -b master
--- stderr ---
Cloning into '/src/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 ---
5b42581f5bbcf090898071d9c2ce6b5c298222c8 refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {},
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 0,
      "critical": 0,
      "total": 0
    },
    "dependencies": {
      "prod": 106,
      "dev": 332,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 437
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 25 installs, 0 updates, 0 removals
  - Locking adhocore/json-comment (1.2.1)
  - Locking composer/installers (v2.3.0)
  - Locking composer/semver (3.4.4)
  - Locking composer/spdx-licenses (1.5.9)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
  - Locking mediawiki/mediawiki-codesniffer (v48.0.0)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.4.0)
  - Locking phpcsstandards/phpcsutils (1.1.1)
  - Locking psr/container (2.0.2)
  - Locking respect/stringifier (1.0.0)
  - Locking respect/validation (2.4.10)
  - Locking seld/jsonlint (1.11.0)
  - Locking squizlabs/php_codesniffer (3.13.2)
  - Locking symfony/console (v7.4.3)
  - Locking symfony/deprecation-contracts (v3.6.0)
  - Locking symfony/polyfill-ctype (v1.33.0)
  - Locking symfony/polyfill-intl-grapheme (v1.33.0)
  - Locking symfony/polyfill-intl-normalizer (v1.33.0)
  - Locking symfony/polyfill-mbstring (v1.33.0)
  - Locking symfony/service-contracts (v3.6.1)
  - Locking symfony/string (v8.0.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 25 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing composer/installers (v2.3.0): Extracting archive
  - Installing squizlabs/php_codesniffer (3.13.2): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
  - Installing adhocore/json-comment (1.2.1): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.1.1): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.9): Extracting archive
  - Installing composer/semver (3.4.4): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v48.0.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
  - Installing symfony/string (v8.0.1): Extracting archive
  - Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.6.1): Extracting archive
  - Installing symfony/console (v7.4.3): Extracting archive
  - Installing mediawiki/minus-x (1.1.3): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  - Installing respect/stringifier (1.0.0): Extracting archive
  - Installing respect/validation (2.4.10): Extracting archive
  - Installing seld/jsonlint (1.11.0): Extracting archive
  0/22 [>---------------------------]   0%
 21/22 [==========================>-]  95%
 22/22 [============================] 100%
2 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating optimized autoload files
17 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
Upgrading n:eslint-config-wikimedia from 0.32.1 -> 0.32.3
$ /usr/bin/npm install
--- stdout ---

added 440 packages, and audited 441 packages in 4s

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

found 0 vulnerabilities

--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json

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

up to date, audited 441 packages in 1s

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

found 0 vulnerabilities

--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json

--- end ---
$ ./node_modules/.bin/eslint . --fix
--- stderr ---
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
--- stdout ---

/src/repo/modules/ext.photoSwipe/ext.photoSwipe.js
   20:22  warning  'config' was used before it was defined                      no-use-before-define
   21:8   warning  'config' was used before it was defined                      no-use-before-define
   21:8   warning  ES2016 'Array.prototype.includes' method is forbidden        es-x/no-array-prototype-includes
   24:24  warning  'config' was used before it was defined                      no-use-before-define
   25:18  warning  'config' was used before it was defined                      no-use-before-define
   26:22  warning  'config' was used before it was defined                      no-use-before-define
   27:10  warning  'config' was used before it was defined                      no-use-before-define
   40:2   warning  Unexpected console statement                                 no-console
   41:6   warning  'dynamiccaption' is defined but never used                   no-unused-vars
   48:6   warning  'videoplugin' is defined but never used                      no-unused-vars
   59:3   warning  'PhotoSwipe' is assigned a value but never used              no-unused-vars
   77:4   warning  $.globalEval is not allowed                                  no-jquery/no-global-eval
   80:5   warning  $.globalEval is not allowed                                  no-jquery/no-global-eval
   92:4   warning  $.globalEval is not allowed                                  no-jquery/no-global-eval
   93:32  warning  'pswpModule' is not defined                                  no-undef
   95:37  warning  A constructor name should not start with a lowercase letter  new-cap
  127:4   warning  $.globalEval is not allowed                                  no-jquery/no-global-eval
  130:5   warning  $.globalEval is not allowed                                  no-jquery/no-global-eval
  136:1   warning  This line has a length of 122. Maximum allowed is 100        max-len
  136:58  warning  A constructor name should not start with a lowercase letter  new-cap
  139:1   warning  This line has a length of 122. Maximum allowed is 100        max-len
  139:58  warning  A constructor name should not start with a lowercase letter  new-cap
  142:1   warning  This line has a length of 113. Maximum allowed is 100        max-len
  142:52  warning  A constructor name should not start with a lowercase letter  new-cap
  149:4   warning  $.globalEval is not allowed                                  no-jquery/no-global-eval
  152:5   warning  $.globalEval is not allowed                                  no-jquery/no-global-eval

✖ 26 problems (0 errors, 26 warnings)


--- end ---
$ ./node_modules/.bin/eslint . -f json
--- stderr ---
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
--- stdout ---
[{"filePath":"/src/repo/.eslintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/.stylelintrc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/Gruntfile.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/composer.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/extension.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/modules/ext.photoSwipe/ext.photoSwipe.js","messages":[{"ruleId":"no-use-before-define","severity":1,"message":"'config' was used before it was defined.","line":20,"column":22,"nodeType":"Identifier","messageId":"usedBeforeDefined","endLine":20,"endColumn":28},{"ruleId":"no-use-before-define","severity":1,"message":"'config' was used before it was defined.","line":21,"column":8,"nodeType":"Identifier","messageId":"usedBeforeDefined","endLine":21,"endColumn":14},{"ruleId":"es-x/no-array-prototype-includes","severity":1,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":21,"column":8,"nodeType":"MemberExpression","messageId":"forbidden","endLine":21,"endColumn":31},{"ruleId":"no-use-before-define","severity":1,"message":"'config' was used before it was defined.","line":24,"column":24,"nodeType":"Identifier","messageId":"usedBeforeDefined","endLine":24,"endColumn":30},{"ruleId":"no-use-before-define","severity":1,"message":"'config' was used before it was defined.","line":25,"column":18,"nodeType":"Identifier","messageId":"usedBeforeDefined","endLine":25,"endColumn":24},{"ruleId":"no-use-before-define","severity":1,"message":"'config' was used before it was defined.","line":26,"column":22,"nodeType":"Identifier","messageId":"usedBeforeDefined","endLine":26,"endColumn":28},{"ruleId":"no-use-before-define","severity":1,"message":"'config' was used before it was defined.","line":27,"column":10,"nodeType":"Identifier","messageId":"usedBeforeDefined","endLine":27,"endColumn":16},{"ruleId":"no-console","severity":1,"message":"Unexpected console statement.","line":40,"column":2,"nodeType":"MemberExpression","messageId":"unexpected","endLine":40,"endColumn":13,"suggestions":[{"messageId":"removeConsole","data":{"propertyName":"log"},"fix":{"range":[1281,1325],"text":""},"desc":"Remove the console.log()."}]},{"ruleId":"no-unused-vars","severity":1,"message":"'dynamiccaption' is defined but never used.","line":41,"column":6,"nodeType":"Identifier","messageId":"unusedVar","endLine":41,"endColumn":20},{"ruleId":"no-unused-vars","severity":1,"message":"'videoplugin' is defined but never used.","line":48,"column":6,"nodeType":"Identifier","messageId":"unusedVar","endLine":48,"endColumn":17},{"ruleId":"no-unused-vars","severity":1,"message":"'PhotoSwipe' is assigned a value but never used.","line":59,"column":3,"nodeType":"Identifier","messageId":"unusedVar","endLine":59,"endColumn":13},{"ruleId":"no-jquery/no-global-eval","severity":1,"message":"$.globalEval is not allowed","line":77,"column":4,"nodeType":"CallExpression","endLine":77,"endColumn":69},{"ruleId":"no-jquery/no-global-eval","severity":1,"message":"$.globalEval is not allowed","line":80,"column":5,"nodeType":"CallExpression","endLine":80,"endColumn":54},{"ruleId":"no-jquery/no-global-eval","severity":1,"message":"$.globalEval is not allowed","line":92,"column":4,"nodeType":"CallExpression","endLine":92,"endColumn":99},{"ruleId":"no-undef","severity":1,"message":"'pswpModule' is not defined.","line":93,"column":32,"nodeType":"Identifier","messageId":"undef","endLine":93,"endColumn":42},{"ruleId":"new-cap","severity":1,"message":"A constructor name should not start with a lowercase letter.","line":95,"column":37,"nodeType":"NewExpression","messageId":"lower","endLine":95,"endColumn":44},{"ruleId":"no-jquery/no-global-eval","severity":1,"message":"$.globalEval is not allowed","line":127,"column":4,"nodeType":"CallExpression","endLine":127,"endColumn":70},{"ruleId":"no-jquery/no-global-eval","severity":1,"message":"$.globalEval is not allowed","line":130,"column":5,"nodeType":"CallExpression","endLine":130,"endColumn":54},{"ruleId":"max-len","severity":1,"message":"This line has a length of 122. Maximum allowed is 100.","line":136,"column":1,"nodeType":"Program","messageId":"max","endLine":136,"endColumn":117},{"ruleId":"new-cap","severity":1,"message":"A constructor name should not start with a lowercase letter.","line":136,"column":58,"nodeType":"NewExpression","messageId":"lower","endLine":136,"endColumn":65},{"ruleId":"max-len","severity":1,"message":"This line has a length of 122. Maximum allowed is 100.","line":139,"column":1,"nodeType":"Program","messageId":"max","endLine":139,"endColumn":117},{"ruleId":"new-cap","severity":1,"message":"A constructor name should not start with a lowercase letter.","line":139,"column":58,"nodeType":"NewExpression","messageId":"lower","endLine":139,"endColumn":65},{"ruleId":"max-len","severity":1,"message":"This line has a length of 113. Maximum allowed is 100.","line":142,"column":1,"nodeType":"Program","messageId":"max","endLine":142,"endColumn":108},{"ruleId":"new-cap","severity":1,"message":"A constructor name should not start with a lowercase letter.","line":142,"column":52,"nodeType":"NewExpression","messageId":"lower","endLine":142,"endColumn":59},{"ruleId":"no-jquery/no-global-eval","severity":1,"message":"$.globalEval is not allowed","line":149,"column":4,"nodeType":"CallExpression","endLine":149,"endColumn":63},{"ruleId":"no-jquery/no-global-eval","severity":1,"message":"$.globalEval is not allowed","line":152,"column":5,"nodeType":"CallExpression","endLine":152,"endColumn":54}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":26,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/*\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <https://gnu.org/licenses/>.\n */\n\n// https://attacomsian.com/blog/javascript-check-variable-is-object\nconst isObject = ( obj ) => Object.prototype.toString.call( obj ) === '[object Object]';\n\nconst isEnabled = ( plugin ) => {\n\tif ( Array.isArray( config.plugins ) ) {\n\t\tif ( config.plugins.includes( plugin ) ) {\n\t\t\treturn true;\n\t\t}\n\t} else if ( isObject( config.plugins ) ) {\n\t\tif ( plugin in config.plugins ) {\n\t\t\tif ( 'enabled' in config.plugins[ plugin ] ) {\n\t\t\t\tif ( config.plugins[ plugin ].enabled ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nconst config = mw.config.get( 'wgPhotoSwipeConfig' );\nif ( config ) {\n\tconsole.log( 'Loading PhotoSwipe', config );\n\tlet dynamiccaption;\n\tlet lightbox;\n\tlet PhotoSwipe;\n\tlet PhotoSwipeLightbox;\n\tlet PhotoSwipeDeepZoomPlugin;\n\tlet PhotoSwipeDynamicCaption;\n\tlet PhotoSwipeVideoPlugin;\n\tlet videoplugin;\n\n\t/*\n\t * mode: recommended -> https://photoswipe.com/getting-started/#initialization\n\t * mode: withoutdynamicimport -> https://photoswipe.com/getting-started/#without-dynamic-import\n\t * mode: withoutlightbox -> https://photoswipe.com/data-sources/#without-lightbox-module\n\t */\n\tif ( config.mode !== 'withoutlightbox' ) {\n\t\tPhotoSwipeLightbox = require( 'js.photoswipe-lightbox' );\n\t}\n\tif ( config.mode === 'withoutdynamicimport' ) {\n\t\tPhotoSwipe = require( 'js.photoswipe' );\n\t}\n\tif ( isEnabled( 'DeepZoomPlugin' ) ) {\n\t\tPhotoSwipeDeepZoomPlugin = require( 'js.photoswipe-deep-zoom-plugin' );\n\t}\n\tif ( isEnabled( 'DynamicCaption' ) ) {\n\t\tPhotoSwipeDynamicCaption = require( 'js.photoswipe-dynamic-caption-plugin' );\n\t}\n\tif ( isEnabled( 'VideoPlugin' ) ) {\n\t\tPhotoSwipeVideoPlugin = require( 'js.photoswipe-video-plugin' );\n\t}\n\n\t// https://en.wikipedia.org/wiki/Cross-site_scripting\n\t// https://mediawiki.org/wiki/Requests_for_comment/Content-Security-Policy\n\t// https://mediawiki.org/wiki/Manual:$wgCSPHeader\n\t// https://mediawiki.org/wiki/Manual:$wgCSPReportOnlyHeader\n\tif ( config.addBeginning ) {\n\t\tif ( typeof config.addBeginning === 'string' ) {\n\t\t\tjQuery.globalEval( config.addBeginning, { nonce: config.nonce } );\n\t\t} else if ( Array.isArray( config.addBeginning ) ) {\n\t\t\tconfig.addBeginning.forEach( ( str ) => {\n\t\t\t\tjQuery.globalEval( str, { nonce: config.nonce } );\n\t\t\t} );\n\t\t}\n\t}\n\n\t// https://photoswipe.com/data-sources/#without-lightbox-module\n\tif ( config.mode !== 'withoutlightbox' ) {\n\t\tif ( typeof config.options.pswpModule === 'string' ) {\n\t\t\t// Prepare require variable to be globally accessible within jQuery.globalEval\n\t\t\tif ( !( 'require' in window ) ) {\n\t\t\t\twindow.require = require;\n\t\t\t}\n\t\t\tjQuery.globalEval( `var pswpModule = ${ config.options.pswpModule }`, { nonce: config.nonce } );\n\t\t\tconfig.options.pswpModule = pswpModule;\n\t\t}\n\t\tlightbox = new PhotoSwipeLightbox.default( config.options );\n\t\t// Prepare lightbox variable to be globally accessible within jQuery.globalEval\n\t\tif ( !( 'lightbox' in window ) ) {\n\t\t\twindow.lightbox = lightbox;\n\t\t}\n\t}\n\n\t/*\n\t * Eventables: For executing lightbox events, filters, methods, and other relevant JS code.\n\t *\n\t * https://photoswipe.com/events/\n\t * https://photoswipe.com/filters/\n\t * https://photoswipe.com/methods/\n\t *\n\t * https://photoswipe.com/opening-or-closing-transition/#transition-duration-and-easing\n\t * https://photoswipe.com/opening-or-closing-transition/#hiding-elements-that-overlap-thumbnails\n\t * https://photoswipe.com/adding-ui-elements/#adding-a-button-to-the-toolbar\n\t * https://photoswipe.com/adding-ui-elements/#adding-html-indicator-to-the-toolbar\n\t * https://photoswipe.com/adding-ui-elements/#adding-download-button\n\t * https://photoswipe.com/adding-ui-elements/#adding-navigation-indicator-bullets\n\t * https://photoswipe.com/adding-ui-elements/#uiregisterelement-api\n\t * https://photoswipe.com/caption/\n\t * https://photoswipe.com/custom-content/#using-webp-image-format\n\t * https://photoswipe.com/custom-content/#google-maps-demo\n\t * https://photoswipe.com/data-sources/#custom-last-slide\n\t * https://photoswipe.com/data-sources/#dynamically-generated-data\n\t * https://photoswipe.com/data-sources/#custom-html-markup\n\t * https://photoswipe.com/data-sources/#separate-dom-and-data\n\t * https://photoswipe.com/native-fullscreen-on-open/\n\t */\n\tif ( config.addEventables ) {\n\t\tif ( typeof config.addEventables === 'string' ) {\n\t\t\tjQuery.globalEval( config.addEventables, { nonce: config.nonce } );\n\t\t} else if ( Array.isArray( config.addEventables ) ) {\n\t\t\tconfig.addEventables.forEach( ( str ) => {\n\t\t\t\tjQuery.globalEval( str, { nonce: config.nonce } );\n\t\t\t} );\n\t\t}\n\t}\n\n\tif ( isEnabled( 'DeepZoomPlugin' ) ) {\n\t\tlightbox.deepzoomplugin = new PhotoSwipeDeepZoomPlugin.default( lightbox, config.plugins.DeepZoomPlugin.options );\n\t}\n\tif ( isEnabled( 'DynamicCaption' ) ) {\n\t\tlightbox.dynamiccaption = new PhotoSwipeDynamicCaption.default( lightbox, config.plugins.DynamicCaption.options );\n\t}\n\tif ( isEnabled( 'VideoPlugin' ) ) {\n\t\tlightbox.videoplugin = new PhotoSwipeVideoPlugin.default( lightbox, config.plugins.VideoPlugin.options );\n\t}\n\n\tlightbox.init();\n\n\tif ( config.addEnd ) {\n\t\tif ( typeof config.addEnd === 'string' ) {\n\t\t\tjQuery.globalEval( config.addEnd, { nonce: config.nonce } );\n\t\t} else if ( Array.isArray( config.addEnd ) ) {\n\t\t\tconfig.addEnd.forEach( ( str ) => {\n\t\t\t\tjQuery.globalEval( str, { nonce: config.nonce } );\n\t\t\t} );\n\t\t}\n\t}\n}\n","usedDeprecatedRules":[{"ruleId":"max-len","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/package-lock.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/package.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"arrow-parens","replacedBy":[]},{"ruleId":"arrow-spacing","replacedBy":[]},{"ruleId":"lines-between-class-members","replacedBy":[]},{"ruleId":"no-new-require","replacedBy":[]},{"ruleId":"template-curly-spacing","replacedBy":[]},{"ruleId":"implicit-arrow-linebreak","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]}]

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

added 440 packages, and audited 441 packages in 4s

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

found 0 vulnerabilities

--- end ---
$ /usr/bin/npm test
--- stderr ---
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
--- stdout ---

> mediawiki-extensions-photoswipe@1.0.0 test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/modules/ext.photoSwipe/ext.photoSwipe.js
   20:22  warning  'config' was used before it was defined                      no-use-before-define
   21:8   warning  'config' was used before it was defined                      no-use-before-define
   21:8   warning  ES2016 'Array.prototype.includes' method is forbidden        es-x/no-array-prototype-includes
   24:24  warning  'config' was used before it was defined                      no-use-before-define
   25:18  warning  'config' was used before it was defined                      no-use-before-define
   26:22  warning  'config' was used before it was defined                      no-use-before-define
   27:10  warning  'config' was used before it was defined                      no-use-before-define
   40:2   warning  Unexpected console statement                                 no-console
   41:6   warning  'dynamiccaption' is defined but never used                   no-unused-vars
   48:6   warning  'videoplugin' is defined but never used                      no-unused-vars
   59:3   warning  'PhotoSwipe' is assigned a value but never used              no-unused-vars
   77:4   warning  $.globalEval is not allowed                                  no-jquery/no-global-eval
   80:5   warning  $.globalEval is not allowed                                  no-jquery/no-global-eval
   92:4   warning  $.globalEval is not allowed                                  no-jquery/no-global-eval
   93:32  warning  'pswpModule' is not defined                                  no-undef
   95:37  warning  A constructor name should not start with a lowercase letter  new-cap
  127:4   warning  $.globalEval is not allowed                                  no-jquery/no-global-eval
  130:5   warning  $.globalEval is not allowed                                  no-jquery/no-global-eval
  136:1   warning  This line has a length of 122. Maximum allowed is 100        max-len
  136:58  warning  A constructor name should not start with a lowercase letter  new-cap
  139:1   warning  This line has a length of 122. Maximum allowed is 100        max-len
  139:58  warning  A constructor name should not start with a lowercase letter  new-cap
  142:1   warning  This line has a length of 113. Maximum allowed is 100        max-len
  142:52  warning  A constructor name should not start with a lowercase letter  new-cap
  149:4   warning  $.globalEval is not allowed                                  no-jquery/no-global-eval
  152:5   warning  $.globalEval is not allowed                                  no-jquery/no-global-eval

✖ 26 problems (0 errors, 26 warnings)


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

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

Done.

--- end ---
Upgrading c:mediawiki/mediawiki-codesniffer from 48.0.0 -> 49.0.0
Upgrading c:mediawiki/minus-x from 1.1.3 -> 2.0.0
$ /usr/bin/composer update
--- stderr ---
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 5 updates, 0 removals
  - Upgrading mediawiki/mediawiki-codesniffer (v48.0.0 => v49.0.0)
  - Upgrading mediawiki/minus-x (1.1.3 => 2.0.0)
  - Upgrading phpcsstandards/phpcsutils (1.1.1 => 1.2.2)
  - Upgrading squizlabs/php_codesniffer (3.13.2 => 3.13.5)
  - Upgrading symfony/console (v7.4.3 => v8.0.3)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 5 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Upgrading squizlabs/php_codesniffer (3.13.2 => 3.13.5): Extracting archive
  - Upgrading phpcsstandards/phpcsutils (1.1.1 => 1.2.2): Extracting archive
  - Upgrading mediawiki/mediawiki-codesniffer (v48.0.0 => v49.0.0): Extracting archive
  - Upgrading symfony/console (v7.4.3 => v8.0.3): Extracting archive
  - Upgrading mediawiki/minus-x (1.1.3 => 2.0.0): Extracting archive
 0/5 [>---------------------------]   0%
 4/5 [======================>-----]  80%
 5/5 [============================] 100%
Generating optimized autoload files
17 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found.
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
Previously failing phpcs rules: {'MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment'}
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":0,"warnings":6,"fixable":0},"files":{"\/src\/repo\/includes\/PhotoSwipe.php":{"errors":0,"warnings":6,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":100,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":101,"column":41},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":102,"column":35},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":119,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":216,"column":65},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":350,"column":24}]}}}

--- end ---
PHPCS run failed
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":0,"warnings":6,"fixable":0},"files":{"\/src\/repo\/includes\/PhotoSwipe.php":{"errors":0,"warnings":6,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":100,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":101,"column":41},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":102,"column":35},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":119,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":216,"column":65},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":350,"column":24}]}}}

--- end ---
$ git checkout .phpcs.xml
--- stderr ---
Updated 1 path from the index
--- stdout ---

--- end ---
Tests still failing. Skipping
$ /usr/bin/composer install
--- stderr ---
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Nothing to install, update or remove
Generating optimized autoload files
17 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---

--- end ---
$ /usr/bin/composer test
--- stderr ---
> parallel-lint . --exclude vendor --exclude node_modules
> phpcs -ps --cache
> minus-x check .
PHP Fatal error:  Uncaught Error: Call to undefined method Symfony\Component\Console\Application::add() in /src/repo/vendor/mediawiki/minus-x/bin/minus-x:37
Stack trace:
#0 /src/repo/vendor/bin/minus-x(119): include()
#1 {main}
  thrown in /src/repo/vendor/mediawiki/minus-x/bin/minus-x on line 37
Script minus-x check . handling the test event returned with error code 255
--- stdout ---
PHP 8.4.11 | 10 parallel jobs
.                                                            1/1 (100%)


Checked 1 files in 0 seconds
No syntax error found
. 1 / 1 (100%)


Time: 93ms; Memory: 8MB


--- end ---
Traceback (most recent call last):
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1304, in main
    libup.run()
    ~~~~~~~~~^^
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1239, in run
    self.composer_upgrade(plan)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1024, in composer_upgrade
    self.composer_test()
    ~~~~~~~~~~~~~~~~~~^^
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 326, in composer_test
    self.check_call(["composer", "test"])
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/venv/lib/python3.13/site-packages/runner/shell2.py", line 66, in check_call
    res.check_returncode()
    ~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/subprocess.py", line 508, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
                             self.stderr)
subprocess.CalledProcessError: Command '['/usr/bin/composer', 'test']' returned non-zero exit status 255.
Source code is licensed under the AGPL.