This run took 33 seconds.
$ date --- stdout --- Wed Mar 15 21:22:50 UTC 2023 --- end --- $ git clone file:///srv/git/mediawiki-extensions-NSFileRepo.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 --- 75cb7523b145e72242c1f8b8bbee8bb5039c8328 refs/heads/master --- end --- $ /usr/bin/npm audit --json --legacy-peer-deps --- stdout --- { "auditReportVersion": 2, "vulnerabilities": {}, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 0, "high": 0, "critical": 0, "total": 0 }, "dependencies": { "prod": 1, "dev": 291, "optional": 0, "peer": 0, "peerOptional": 0, "total": 291 } } } --- 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: [37;44m#StandWith[30;43mUkraine[0m Updating dependencies Lock file operations: 20 installs, 0 updates, 0 removals - Locking composer/installers (v2.2.0) - Locking composer/semver (3.3.2) - Locking composer/spdx-licenses (1.5.7) - Locking mediawiki/mediawiki-codesniffer (v40.0.1) - Locking mediawiki/minus-x (1.1.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 psr/container (1.1.2) - Locking squizlabs/php_codesniffer (3.7.1) - 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) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 20 installs, 0 updates, 0 removals 0 [>---------------------------] 0 [->--------------------------] 0 [--->------------------------] - Installing composer/installers (v2.2.0): Extracting archive - Installing symfony/polyfill-php80 (v1.27.0): Extracting archive - Installing squizlabs/php_codesniffer (3.7.1): 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 (v40.0.1): 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 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/10 [>---------------------------] 0% 10/10 [============================] 100%5 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating autoload files 13 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 $ /usr/bin/npm install --- stdout --- added 278 packages, and audited 279 packages in 5s 42 packages are looking for funding run `npm fund` for details found 0 vulnerabilities --- end --- $ package-lock-lint package-lock.json --- stdout --- Checking package-lock.json --- end --- $ /usr/bin/npm install grunt-eslint@24.0.0 --save-exact --- stdout --- up to date, audited 279 packages in 859ms 42 packages are looking for funding run `npm fund` for details found 0 vulnerabilities --- end --- $ package-lock-lint package-lock.json --- stdout --- Checking package-lock.json --- end --- $ ./node_modules/.bin/eslint resources/nsfr/ui/dialog/ChangeFileNamespaceAssociation.js i18n/nsfilerepo/el.json i18n/nsfilerepo/qqq.json i18n/nsfilerepo/ja.json tests/qunit/ext.nsfilerepo.upload.paramsProcessor.test.js i18n/nsfilerepo/be-tarask.json i18n/nsfilerepo/sv.json i18n/nsfilerepo/hu.json i18n/nsfilerepo/oc.json i18n/imgauth/qqq.json composer.json i18n/nsfilerepo/uk.json i18n/nsfilerepo/zh-hant.json i18n/nsfilerepo/id.json i18n/nsfilerepo/szy.json i18n/nsfilerepo/ms.json i18n/nsfilerepo/ar.json extension.json i18n/nsfilerepo/br.json i18n/nsfilerepo/bn.json i18n/nsfilerepo/ta.json i18n/nsfilerepo/gl.json i18n/nsfilerepo/sh.json i18n/nsfilerepo/pnb.json i18n/nsfilerepo/dsb.json resources/ext.nsfilerepo.special.upload.js package-lock.json i18n/nsfilerepo/hsb.json i18n/nsfilerepo/en.json i18n/nsfilerepo/ce.json i18n/nsfilerepo/vi.json i18n/nsfilerepo/yi.json i18n/nsfilerepo/vec.json i18n/nsfilerepo/ia.json i18n/nsfilerepo/hil.json package.json resources/ext.nsfilerepo.filepage.bootstrap.js i18n/nsfilerepo/he.json i18n/nsfilerepo/ca.json i18n/nsfilerepo/tly.json i18n/nsfilerepo/ast.json i18n/nsfilerepo/hy.json i18n/nsfilerepo/smn.json i18n/nsfilerepo/sr-el.json resources/nsfr/EnhancedUploadParamsProcessor.js i18n/nsfilerepo/fi.json i18n/nsfilerepo/tl.json i18n/nsfilerepo/ksh.json i18n/nsfilerepo/as.json i18n/nsfilerepo/sje.json i18n/nsfilerepo/tr.json i18n/nsfilerepo/ml.json i18n/nsfilerepo/de.json i18n/nsfilerepo/diq.json i18n/nsfilerepo/frp.json i18n/nsfilerepo/nb.json i18n/nsfilerepo/bg.json i18n/nsfilerepo/bs.json i18n/nsfilerepo/lb.json i18n/nsfilerepo/mr.json i18n/nsfilerepo/io.json i18n/nsfilerepo/sk.json i18n/nsfilerepo/te.json i18n/nsfilerepo/pt-br.json i18n/nsfilerepo/sms.json i18n/nsfilerepo/fa.json i18n/nsfilerepo/sl.json i18n/nsfilerepo/it.json i18n/nsfilerepo/skr-arab.json i18n/nsfilerepo/gsw.json i18n/nsfilerepo/se.json resources/ext.nsfilerepo.namespace.upload.js i18n/nsfilerepo/roa-tara.json i18n/imgauth/en.json i18n/nsfilerepo/es.json i18n/nsfilerepo/mn.json i18n/nsfilerepo/tg-cyrl.json Gruntfile.js i18n/nsfilerepo/scn.json i18n/nsfilerepo/nl.json i18n/nsfilerepo/sr-ec.json i18n/nsfilerepo/pms.json i18n/nsfilerepo/hyw.json i18n/nsfilerepo/pt.json i18n/nsfilerepo/my.json i18n/nsfilerepo/da.json i18n/nsfilerepo/mk.json i18n/nsfilerepo/sd.json i18n/nsfilerepo/ps.json i18n/nsfilerepo/tyv.json i18n/nsfilerepo/hi.json i18n/nsfilerepo/fr.json i18n/nsfilerepo/ko.json i18n/nsfilerepo/pl.json i18n/nsfilerepo/ru.json i18n/nsfilerepo/zh-hans.json --fix --- stdout --- /src/repo/Gruntfile.js 9:3 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign 10:11 error ES2015 'Object.assign' method is forbidden es-x/no-object-assign /src/repo/resources/nsfr/EnhancedUploadParamsProcessor.js 21:54 warning 'enhancedUpload' is not defined no-undef 117:8 error ES2015 'String.prototype.includes' method is forbidden es-x/no-string-prototype-includes 117:8 error ES2016 'Array.prototype.includes' method is forbidden es-x/no-array-prototype-includes ✖ 5 problems (4 errors, 1 warning) --- end --- $ ./node_modules/.bin/eslint resources/nsfr/ui/dialog/ChangeFileNamespaceAssociation.js i18n/nsfilerepo/el.json i18n/nsfilerepo/qqq.json i18n/nsfilerepo/ja.json tests/qunit/ext.nsfilerepo.upload.paramsProcessor.test.js i18n/nsfilerepo/be-tarask.json i18n/nsfilerepo/sv.json i18n/nsfilerepo/hu.json i18n/nsfilerepo/oc.json i18n/imgauth/qqq.json composer.json i18n/nsfilerepo/uk.json i18n/nsfilerepo/zh-hant.json i18n/nsfilerepo/id.json i18n/nsfilerepo/szy.json i18n/nsfilerepo/ms.json i18n/nsfilerepo/ar.json extension.json i18n/nsfilerepo/br.json i18n/nsfilerepo/bn.json i18n/nsfilerepo/ta.json i18n/nsfilerepo/gl.json i18n/nsfilerepo/sh.json i18n/nsfilerepo/pnb.json i18n/nsfilerepo/dsb.json resources/ext.nsfilerepo.special.upload.js package-lock.json i18n/nsfilerepo/hsb.json i18n/nsfilerepo/en.json i18n/nsfilerepo/ce.json i18n/nsfilerepo/vi.json i18n/nsfilerepo/yi.json i18n/nsfilerepo/vec.json i18n/nsfilerepo/ia.json i18n/nsfilerepo/hil.json package.json resources/ext.nsfilerepo.filepage.bootstrap.js i18n/nsfilerepo/he.json i18n/nsfilerepo/ca.json i18n/nsfilerepo/tly.json i18n/nsfilerepo/ast.json i18n/nsfilerepo/hy.json i18n/nsfilerepo/smn.json i18n/nsfilerepo/sr-el.json resources/nsfr/EnhancedUploadParamsProcessor.js i18n/nsfilerepo/fi.json i18n/nsfilerepo/tl.json i18n/nsfilerepo/ksh.json i18n/nsfilerepo/as.json i18n/nsfilerepo/sje.json i18n/nsfilerepo/tr.json i18n/nsfilerepo/ml.json i18n/nsfilerepo/de.json i18n/nsfilerepo/diq.json i18n/nsfilerepo/frp.json i18n/nsfilerepo/nb.json i18n/nsfilerepo/bg.json i18n/nsfilerepo/bs.json i18n/nsfilerepo/lb.json i18n/nsfilerepo/mr.json i18n/nsfilerepo/io.json i18n/nsfilerepo/sk.json i18n/nsfilerepo/te.json i18n/nsfilerepo/pt-br.json i18n/nsfilerepo/sms.json i18n/nsfilerepo/fa.json i18n/nsfilerepo/sl.json i18n/nsfilerepo/it.json i18n/nsfilerepo/skr-arab.json i18n/nsfilerepo/gsw.json i18n/nsfilerepo/se.json resources/ext.nsfilerepo.namespace.upload.js i18n/nsfilerepo/roa-tara.json i18n/imgauth/en.json i18n/nsfilerepo/es.json i18n/nsfilerepo/mn.json i18n/nsfilerepo/tg-cyrl.json Gruntfile.js i18n/nsfilerepo/scn.json i18n/nsfilerepo/nl.json i18n/nsfilerepo/sr-ec.json i18n/nsfilerepo/pms.json i18n/nsfilerepo/hyw.json i18n/nsfilerepo/pt.json i18n/nsfilerepo/my.json i18n/nsfilerepo/da.json i18n/nsfilerepo/mk.json i18n/nsfilerepo/sd.json i18n/nsfilerepo/ps.json i18n/nsfilerepo/tyv.json i18n/nsfilerepo/hi.json i18n/nsfilerepo/fr.json i18n/nsfilerepo/ko.json i18n/nsfilerepo/pl.json i18n/nsfilerepo/ru.json i18n/nsfilerepo/zh-hans.json -f json --- stdout --- [{"filePath":"/src/repo/Gruntfile.js","messages":[{"ruleId":"es/no-object-assign","message":"Definition for rule 'es/no-object-assign' was not found.","line":9,"column":3,"endLine":9,"endColumn":65,"severity":2,"nodeType":null},{"ruleId":"es-x/no-object-assign","severity":2,"message":"ES2015 'Object.assign' method is forbidden.","line":10,"column":11,"nodeType":"MemberExpression","messageId":"forbidden","endLine":10,"endColumn":24}],"suppressedMessages":[{"ruleId":"compat/compat","severity":1,"message":"Object.assign() is not supported in IE 11","line":10,"column":11,"nodeType":"MemberExpression","endLine":10,"endColumn":24,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":2,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/* eslint-env node */\nmodule.exports = function ( grunt ) {\n\tvar conf = grunt.file.readJSON( 'extension.json' );\n\n\tgrunt.loadNpmTasks( 'grunt-banana-checker' );\n\tgrunt.loadNpmTasks( 'grunt-eslint' );\n\n\tgrunt.initConfig( {\n\t\t// eslint-disable-next-line es/no-object-assign, compat/compat\n\t\tbanana: Object.assign(\n\t\t\tconf.MessagesDirs,\n\t\t\t{\n\t\t\t\toptions: {\n\t\t\t\t\trequireLowerCase: 'initial'\n\t\t\t\t}\n\t\t\t}\n\t\t),\n\t\teslint: {\n\t\t\toptions: {\n\t\t\t\tcache: true\n\t\t\t},\n\t\t\tall: [\n\t\t\t\t'**/*.{js,json}',\n\t\t\t\t'!node_modules/**',\n\t\t\t\t'!vendor/**'\n\t\t\t]\n\t\t}\n\t} );\n\n\tgrunt.registerTask( 'test', [ 'eslint', 'banana' ] );\n\tgrunt.registerTask( 'default', 'test' );\n};\n","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/imgauth/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/imgauth/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/ar.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/as.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/ast.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/be-tarask.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/bg.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/bn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/br.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/bs.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/ca.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/ce.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/da.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/de.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/diq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/dsb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/el.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/es.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/fa.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/fi.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/fr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/frp.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/gl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/gsw.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/he.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/hi.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/hil.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/hsb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/hu.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/hy.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/hyw.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/ia.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/id.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/io.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/it.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/ja.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/ko.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/ksh.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/lb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/mk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/ml.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/mn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/mr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/ms.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/my.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/nb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/nl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/oc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/pl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/pms.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/pnb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/ps.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/pt-br.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/pt.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/roa-tara.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/ru.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/scn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/sd.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/se.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/sh.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/sje.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/sk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/skr-arab.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/sl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/smn.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/sms.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/sr-ec.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/sr-el.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/sv.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/szy.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/ta.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/te.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/tg-cyrl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/tl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/tly.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/tr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/tyv.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/uk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/vec.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/vi.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/yi.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/zh-hans.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/i18n/nsfilerepo/zh-hant.json","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/resources/ext.nsfilerepo.filepage.bootstrap.js","messages":[],"suppressedMessages":[{"ruleId":"no-unused-vars","severity":1,"message":"'oldPageName' is defined but never used.","line":17,"column":56,"nodeType":"Identifier","messageId":"unusedVar","endLine":17,"endColumn":67,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-unused-vars","severity":1,"message":"'newPageName' is defined but never used.","line":17,"column":69,"nodeType":"Identifier","messageId":"unusedVar","endLine":17,"endColumn":80,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/resources/ext.nsfilerepo.namespace.upload.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/resources/ext.nsfilerepo.special.upload.js","messages":[],"suppressedMessages":[{"ruleId":"no-underscore-dangle","severity":1,"message":"Unexpected dangling '_' in '_setDestName'.","line":3,"column":2,"nodeType":"FunctionDeclaration","messageId":"unexpectedUnderscore","endLine":15,"endColumn":3,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-global-selector","severity":1,"message":"Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible.","line":5,"column":16,"nodeType":"CallExpression","endLine":5,"endColumn":49,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-global-selector","severity":1,"message":"Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible.","line":7,"column":18,"nodeType":"CallExpression","endLine":7,"endColumn":36,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-global-selector","severity":1,"message":"Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible.","line":14,"column":3,"nodeType":"CallExpression","endLine":14,"endColumn":35,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-global-selector","severity":1,"message":"Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible.","line":25,"column":3,"nodeType":"CallExpression","endLine":25,"endColumn":21,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-jquery/no-global-selector","severity":1,"message":"Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible.","line":25,"column":27,"nodeType":"CallExpression","endLine":25,"endColumn":59,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/resources/nsfr/EnhancedUploadParamsProcessor.js","messages":[{"ruleId":"no-undef","severity":1,"message":"'enhancedUpload' is not defined.","line":21,"column":54,"nodeType":"Identifier","messageId":"undef","endLine":21,"endColumn":68},{"ruleId":"es-x/no-string-prototype-includes","severity":2,"message":"ES2015 'String.prototype.includes' method is forbidden.","line":117,"column":8,"nodeType":"MemberExpression","messageId":"forbidden","endLine":117,"endColumn":36},{"ruleId":"es-x/no-array-prototype-includes","severity":2,"message":"ES2016 'Array.prototype.includes' method is forbidden.","line":117,"column":8,"nodeType":"MemberExpression","messageId":"forbidden","endLine":117,"endColumn":36}],"suppressedMessages":[{"ruleId":"no-underscore-dangle","severity":1,"message":"Unexpected dangling '_' in '_getInvalidNamespaces'.","line":7,"column":18,"nodeType":"MemberExpression","messageId":"unexpectedUnderscore","endLine":7,"endColumn":44,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-underscore-dangle","severity":1,"message":"Unexpected dangling '_' in '_makeUploadFilenameFromParams'.","line":44,"column":20,"nodeType":"MemberExpression","messageId":"unexpectedUnderscore","endLine":44,"endColumn":54,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-underscore-dangle","severity":1,"message":"Unexpected dangling '_' in '_makeUploadFilenameFromParams'.","line":49,"column":1,"nodeType":"MemberExpression","messageId":"unexpectedUnderscore","endLine":49,"endColumn":75,"suppressions":[{"kind":"directive","justification":""}]},{"ruleId":"no-underscore-dangle","severity":1,"message":"Unexpected dangling '_' in '_getInvalidNamespaces'.","line":103,"column":1,"nodeType":"MemberExpression","messageId":"unexpectedUnderscore","endLine":103,"endColumn":67,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":2,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"window.nsfr = window.nsfr || {};\n\nnsfr.EnhancedUploadParamsProcessor = function () {\n\tthis.config = require( './config.json' );\n\n\t// eslint-disable-next-line no-underscore-dangle\n\tvar excludeNS = this._getInvalidNamespaces();\n\tthis.targetNamespaceSelector = new mw.widgets.NamespaceInputWidget( {\n\t\texclude: excludeNS,\n\t\tdropdown: {\n\t\t\t$overlay: true\n\t\t}\n\t} );\n\n\tthis.targetNamespaceSelectorLayout = new OO.ui.FieldLayout( this.targetNamespaceSelector, {\n\t\tlabel: mw.message( 'nsfilerepo-upload-file-namespace-namespaceselector-label' ).plain(),\n\t\talign: 'left'\n\t} );\n};\n\nOO.inheritClass( nsfr.EnhancedUploadParamsProcessor, enhancedUpload.UiParamsProcessor );\n\nnsfr.EnhancedUploadParamsProcessor.prototype.getElement = function () {\n\treturn this.targetNamespaceSelectorLayout;\n};\n\nnsfr.EnhancedUploadParamsProcessor.prototype.setDefaultPrefix = function ( prefix ) {\n\tvar namespace = prefix.split( ':' );\n\tvar namespaces = mw.config.get( 'wgFormattedNamespaces' );\n\tfor ( var namespaceId in namespaces ) {\n\t\tif ( namespaces[ namespaceId ] === namespace[ 0 ] ) {\n\t\t\tthis.targetNamespaceSelector.setValue( namespaceId );\n\t\t\tbreak;\n\t\t}\n\t}\n};\n\nnsfr.EnhancedUploadParamsProcessor.prototype.getParams = function ( params, item, skipOption ) {\n\tvar skipNamespace = skipOption || false;\n\tif ( !skipNamespace ) {\n\t\tparams.namespace = this.targetNamespaceSelector.getValue();\n\t}\n\t// eslint-disable-next-line no-underscore-dangle\n\tparams.filename = this._makeUploadFilenameFromParams( params );\n\treturn params;\n};\n\n// eslint-disable-next-line no-underscore-dangle\nnsfr.EnhancedUploadParamsProcessor.prototype._makeUploadFilenameFromParams = function ( params ) {\n\tvar prefix = params.prefix || '';\n\tvar filename = params.filename || '';\n\tvar namespace = params.namespace || false;\n\tvar namespaces = mw.config.get( 'wgFormattedNamespaces' );\n\n\tvar prefixNamespace = '';\n\tif ( params.namespace ) {\n\t\tprefixNamespace = namespaces[ namespace ];\n\t}\n\tvar prefixParts = prefix.split( ':' );\n\tif ( prefixParts.length > 1 ) {\n\t\tprefixNamespace = prefixParts[ 0 ];\n\t\tprefixParts.splice( 0, 1 );\n\t}\n\n\tvar prefixStub = prefixParts.join( ':' );\n\tprefixStub = prefixStub.replace( ':', '_' );\n\n\tvar validPrefixNamespace = false;\n\tfor ( var index in namespaces ) {\n\t\tif ( namespaces[ index ] === prefixNamespace ) {\n\t\t\tnamespace = index;\n\t\t\tvalidPrefixNamespace = true;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tif ( validPrefixNamespace === false ) {\n\t\tprefixStub = prefixNamespace + '_' + prefixStub;\n\t\tprefixNamespace = '';\n\t}\n\n\tif ( namespace ) {\n\t\tif ( ( namespace !== 0 ) && ( namespaces[ namespace ] !== 'undefined' ) ) {\n\t\t\tprefixNamespace = namespaces[ namespace ];\n\t\t}\n\t}\n\n\tif ( prefixNamespace !== '' ) {\n\t\tprefixNamespace += ':';\n\t}\n\n\t// Avoid double prefixing\n\tif ( prefixStub === filename.slice( 0, prefixStub.length ) ) {\n\t\tprefixStub = '';\n\t}\n\n\tprefix = prefixNamespace + prefixStub;\n\n\treturn prefix + filename;\n};\n\n// eslint-disable-next-line no-underscore-dangle\nnsfr.EnhancedUploadParamsProcessor.prototype._getInvalidNamespaces = function () {\n\tvar excludeNS = [];\n\tvar namespaces = mw.config.get( 'wgNamespaceIds' );\n\tvar namespacesThreshold = this.config.egNSFileRepoNamespaceThreshold;\n\tvar namespacesBlacklist = this.config.egNSFileRepoNamespaceBlacklist;\n\tvar skiptalk = this.config.egNSFileRepoSkipTalk;\n\n\tfor ( var namespace in namespaces ) {\n\t\tvar nsId = namespaces[ namespace ];\n\t\tif ( nsId < namespacesThreshold && nsId !== 0 ) {\n\t\t\texcludeNS.push( nsId );\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ( namespacesBlacklist.includes( nsId ) ) {\n\t\t\texcludeNS.push( nsId );\n\t\t\tcontinue;\n\t\t}\n\t\tif ( skiptalk && nsId % 2 !== 0 ) {\n\t\t\texcludeNS.push( nsId );\n\t\t}\n\t}\n\n\treturn excludeNS;\n};\n","usedDeprecatedRules":[]},{"filePath":"/src/repo/resources/nsfr/ui/dialog/ChangeFileNamespaceAssociation.js","messages":[],"suppressedMessages":[{"ruleId":"no-jquery/no-global-selector","severity":1,"message":"Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible.","line":125,"column":3,"nodeType":"CallExpression","endLine":125,"endColumn":31,"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":146,"column":9,"nodeType":"CallExpression","endLine":146,"endColumn":56,"suppressions":[{"kind":"directive","justification":""}]}],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]},{"filePath":"/src/repo/tests/qunit/ext.nsfilerepo.upload.paramsProcessor.test.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]}] --- end --- $ /usr/bin/npm ci --legacy-peer-deps --- stdout --- added 278 packages, and audited 279 packages in 4s 42 packages are looking for funding run `npm fund` for details found 0 vulnerabilities --- end --- $ /usr/bin/npm test --- stdout --- > test > grunt test Running "eslint:all" (eslint) task /src/repo/Gruntfile.js 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign 9:3 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign 10:11 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign /src/repo/composer.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/extension.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/imgauth/en.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/imgauth/qqq.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/ar.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/as.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/ast.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/be-tarask.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/bg.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/bn.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/br.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/bs.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/ca.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/ce.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/da.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/de.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/diq.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/dsb.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/el.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/en.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/es.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/fa.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/fi.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/fr.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/frp.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/gl.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/gsw.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/he.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/hi.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/hil.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/hsb.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/hu.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/hy.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/hyw.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/ia.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/id.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/io.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/it.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/ja.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/ko.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/ksh.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/lb.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/mk.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/ml.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/mn.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/mr.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/ms.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/my.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/nb.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/nl.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/oc.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/pl.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/pms.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/pnb.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/ps.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/pt-br.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/pt.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/qqq.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/roa-tara.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/ru.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/scn.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/sd.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/se.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/sh.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/sje.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/sk.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/skr-arab.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/sl.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/smn.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/sms.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/sr-ec.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/sr-el.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/sv.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/szy.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/ta.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/te.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/tg-cyrl.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/tl.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/tly.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/tr.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/tyv.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/uk.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/vec.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/vi.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/yi.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/zh-hans.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/i18n/nsfilerepo/zh-hant.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/package-lock.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/package.json 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/resources/ext.nsfilerepo.filepage.bootstrap.js 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/resources/ext.nsfilerepo.namespace.upload.js 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/resources/ext.nsfilerepo.special.upload.js 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/resources/nsfr/EnhancedUploadParamsProcessor.js 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign 21:54 warning 'enhancedUpload' is not defined no-undef 117:8 warning ES2016 'Array.prototype.includes' method is forbidden es-x/no-array-prototype-includes 117:8 warning ES2015 'String.prototype.includes' method is forbidden es-x/no-string-prototype-includes /src/repo/resources/nsfr/ui/dialog/ChangeFileNamespaceAssociation.js 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign /src/repo/tests/qunit/ext.nsfilerepo.upload.paramsProcessor.test.js 1:1 error Definition for rule 'es/no-object-assign' was not found es/no-object-assign ✖ 101 problems (97 errors, 4 warnings) 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.