This run took 42 seconds.
$ date
--- stdout ---
Mon Mar 30 19:57:22 UTC 2026
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-Translate.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 ---
4dbc4ff6c74b8c7d8137064f5519d51e1756e9bd refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"grunt": {
"name": "grunt",
"severity": "high",
"isDirect": true,
"via": [
"minimatch"
],
"effects": [
"grunt-eslint"
],
"range": ">=0.4.0-a",
"nodes": [
"node_modules/grunt"
],
"fixAvailable": {
"name": "grunt",
"version": "0.3.17",
"isSemVerMajor": true
}
},
"grunt-eslint": {
"name": "grunt-eslint",
"severity": "high",
"isDirect": true,
"via": [
"grunt"
],
"effects": [],
"range": "<=1.0.0 || >=18.1.0",
"nodes": [
"node_modules/grunt-eslint"
],
"fixAvailable": {
"name": "grunt-eslint",
"version": "18.0.0",
"isSemVerMajor": true
}
},
"minimatch": {
"name": "minimatch",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1113459,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
"url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
"severity": "high",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<3.1.3"
},
{
"source": 1113538,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
"url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
"severity": "high",
"cwe": [
"CWE-407"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": "<3.1.3"
},
{
"source": 1113546,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
"url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
"severity": "high",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": "<3.1.4"
}
],
"effects": [
"grunt"
],
"range": "<=3.1.3",
"nodes": [
"node_modules/minimatch"
],
"fixAvailable": {
"name": "grunt",
"version": "0.3.17",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 0,
"high": 3,
"critical": 0,
"total": 3
},
"dependencies": {
"prod": 1,
"dev": 500,
"optional": 1,
"peer": 1,
"peerOptional": 0,
"total": 500
}
}
}
--- 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: 40 installs, 0 updates, 0 removals
- Locking composer/installers (v2.3.0)
- Locking composer/pcre (3.3.2)
- Locking composer/semver (3.4.4)
- Locking composer/spdx-licenses (1.5.9)
- Locking composer/xdebug-handler (3.0.5)
- Locking danog/advanced-json-rpc (v3.2.3)
- Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
- Locking doctrine/deprecations (1.1.6)
- Locking mediawiki/mediawiki-codesniffer (v50.0.0)
- Locking mediawiki/mediawiki-phan-config (0.20.0)
- Locking mediawiki/minus-x (2.0.1)
- Locking mediawiki/phan-taint-check-plugin (9.1.0)
- Locking mustangostang/spyc (0.6.3)
- Locking netresearch/jsonmapper (v5.0.1)
- Locking phan/phan (6.0.2)
- Locking phan/tolerant-php-parser (v0.2.0)
- Locking phan/var_representation_polyfill (0.1.4)
- 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.2.2)
- Locking phpdocumentor/reflection-common (2.2.0)
- Locking phpdocumentor/reflection-docblock (6.0.3)
- Locking phpdocumentor/type-resolver (2.0.0)
- Locking phpstan/phpdoc-parser (2.3.2)
- Locking psr/container (2.0.2)
- Locking psr/log (3.0.2)
- Locking sabre/event (6.0.1)
- Locking slevomat/coding-standard (8.22.1)
- Locking squizlabs/php_codesniffer (3.13.5)
- Locking symfony/console (v8.0.7)
- 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.6)
- Locking webmozart/assert (2.1.6)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 40 installs, 0 updates, 0 removals
- Downloading mustangostang/spyc (0.6.3)
0/1 [>---------------------------] 0%
1/1 [============================] 100%
- Installing composer/installers (v2.3.0): Extracting archive
- Installing squizlabs/php_codesniffer (3.13.5): Extracting archive
- Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.0): Extracting archive
- Installing composer/pcre (3.3.2): Extracting archive
- Installing phpcsstandards/phpcsutils (1.2.2): 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 (v50.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/polyfill-ctype (v1.33.0): Extracting archive
- Installing symfony/string (v8.0.6): 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 (v8.0.7): Extracting archive
- Installing sabre/event (6.0.1): Extracting archive
- Installing phan/var_representation_polyfill (0.1.4): Extracting archive
- Installing phan/tolerant-php-parser (v0.2.0): Extracting archive
- Installing netresearch/jsonmapper (v5.0.1): Extracting archive
- Installing webmozart/assert (2.1.6): Extracting archive
- Installing phpstan/phpdoc-parser (2.3.2): Extracting archive
- Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
- Installing doctrine/deprecations (1.1.6): Extracting archive
- Installing phpdocumentor/type-resolver (2.0.0): Extracting archive
- Installing phpdocumentor/reflection-docblock (6.0.3): Extracting archive
- Installing danog/advanced-json-rpc (v3.2.3): Extracting archive
- Installing psr/log (3.0.2): Extracting archive
- Installing composer/xdebug-handler (3.0.5): Extracting archive
- Installing phan/phan (6.0.2): Extracting archive
- Installing mediawiki/phan-taint-check-plugin (9.1.0): Extracting archive
- Installing mediawiki/mediawiki-phan-config (0.20.0): Extracting archive
- Installing mediawiki/minus-x (2.0.1): Extracting archive
- Installing mustangostang/spyc (0.6.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 slevomat/coding-standard (8.22.1): Extracting archive
0/37 [>---------------------------] 0%
28/37 [=====================>------] 75%
37/37 [============================] 100%
4 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
18 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,../../slevomat/coding-standard
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"grunt": {
"name": "grunt",
"severity": "high",
"isDirect": true,
"via": [
"minimatch"
],
"effects": [
"grunt-eslint"
],
"range": ">=0.4.0-a",
"nodes": [
"node_modules/grunt"
],
"fixAvailable": {
"name": "grunt",
"version": "0.3.17",
"isSemVerMajor": true
}
},
"grunt-eslint": {
"name": "grunt-eslint",
"severity": "high",
"isDirect": true,
"via": [
"grunt"
],
"effects": [],
"range": "<=1.0.0 || >=18.1.0",
"nodes": [
"node_modules/grunt-eslint"
],
"fixAvailable": {
"name": "grunt-eslint",
"version": "18.0.0",
"isSemVerMajor": true
}
},
"minimatch": {
"name": "minimatch",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1113459,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
"url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
"severity": "high",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<3.1.3"
},
{
"source": 1113538,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
"url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
"severity": "high",
"cwe": [
"CWE-407"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": "<3.1.3"
},
{
"source": 1113546,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
"url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
"severity": "high",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": "<3.1.4"
}
],
"effects": [
"grunt"
],
"range": "<=3.1.3",
"nodes": [
"node_modules/minimatch"
],
"fixAvailable": {
"name": "grunt",
"version": "0.3.17",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 0,
"high": 3,
"critical": 0,
"total": 3
},
"dependencies": {
"prod": 1,
"dev": 500,
"optional": 1,
"peer": 1,
"peerOptional": 0,
"total": 500
}
}
}
--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-design-tokens@2.4.0',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.1' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
"added": 500,
"removed": 0,
"changed": 0,
"audited": 501,
"funding": 117,
"audit": {
"auditReportVersion": 2,
"vulnerabilities": {
"grunt": {
"name": "grunt",
"severity": "high",
"isDirect": true,
"via": [
"minimatch"
],
"effects": [
"grunt-eslint"
],
"range": ">=0.4.0-a",
"nodes": [
"node_modules/grunt"
],
"fixAvailable": {
"name": "grunt",
"version": "0.3.17",
"isSemVerMajor": true
}
},
"grunt-eslint": {
"name": "grunt-eslint",
"severity": "high",
"isDirect": true,
"via": [
"grunt"
],
"effects": [],
"range": "<=1.0.0 || >=18.1.0",
"nodes": [
"node_modules/grunt-eslint"
],
"fixAvailable": {
"name": "grunt-eslint",
"version": "18.0.0",
"isSemVerMajor": true
}
},
"minimatch": {
"name": "minimatch",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1113459,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
"url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
"severity": "high",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<3.1.3"
},
{
"source": 1113538,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
"url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
"severity": "high",
"cwe": [
"CWE-407"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": "<3.1.3"
},
{
"source": 1113546,
"name": "minimatch",
"dependency": "minimatch",
"title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
"url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
"severity": "high",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
},
"range": "<3.1.4"
}
],
"effects": [
"grunt"
],
"range": "<=3.1.3",
"nodes": [
"node_modules/minimatch"
],
"fixAvailable": {
"name": "grunt",
"version": "0.3.17",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 0,
"high": 3,
"critical": 0,
"total": 3
},
"dependencies": {
"prod": 1,
"dev": 500,
"optional": 1,
"peer": 1,
"peerOptional": 0,
"total": 500
}
}
}
}
--- end ---
{"added": 500, "removed": 0, "changed": 0, "audited": 501, "funding": 117, "audit": {"auditReportVersion": 2, "vulnerabilities": {"grunt": {"name": "grunt", "severity": "high", "isDirect": true, "via": ["minimatch"], "effects": ["grunt-eslint"], "range": ">=0.4.0-a", "nodes": ["node_modules/grunt"], "fixAvailable": {"name": "grunt", "version": "0.3.17", "isSemVerMajor": true}}, "grunt-eslint": {"name": "grunt-eslint", "severity": "high", "isDirect": true, "via": ["grunt"], "effects": [], "range": "<=1.0.0 || >=18.1.0", "nodes": ["node_modules/grunt-eslint"], "fixAvailable": {"name": "grunt-eslint", "version": "18.0.0", "isSemVerMajor": true}}, "minimatch": {"name": "minimatch", "severity": "high", "isDirect": false, "via": [{"source": 1113459, "name": "minimatch", "dependency": "minimatch", "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern", "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 0, "vectorString": null}, "range": "<3.1.3"}, {"source": 1113538, "name": "minimatch", "dependency": "minimatch", "title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments", "url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj", "severity": "high", "cwe": ["CWE-407"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.1.3"}, {"source": 1113546, "name": "minimatch", "dependency": "minimatch", "title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions", "url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.1.4"}], "effects": ["grunt"], "range": "<=3.1.3", "nodes": ["node_modules/minimatch"], "fixAvailable": {"name": "grunt", "version": "0.3.17", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 0, "high": 3, "critical": 0, "total": 3}, "dependencies": {"prod": 1, "dev": 500, "optional": 1, "peer": 1, "peerOptional": 0, "total": 500}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-design-tokens@2.4.0',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.1' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 500 packages, and audited 501 packages in 5s
117 packages are looking for funding
run `npm fund` for details
# npm audit report
minimatch <=3.1.3
Severity: high
minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern - https://github.com/advisories/GHSA-3ppc-4f35-3m26
minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments - https://github.com/advisories/GHSA-7r86-cg39-jmmj
minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions - https://github.com/advisories/GHSA-23c5-xmqv-rm74
fix available via `npm audit fix --force`
Will install grunt@0.3.17, which is a breaking change
node_modules/minimatch
grunt >=0.4.0-a
Depends on vulnerable versions of minimatch
node_modules/grunt
grunt-eslint <=1.0.0 || >=18.1.0
Depends on vulnerable versions of grunt
node_modules/grunt-eslint
3 high severity vulnerabilities
To address all issues (including breaking changes), run:
npm audit fix --force
--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-design-tokens@2.4.0',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.1' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 500 packages, and audited 501 packages in 7s
117 packages are looking for funding
run `npm fund` for details
3 high severity vulnerabilities
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
--- end ---
$ /usr/bin/npm test
--- stdout ---
> test
> grunt test
Running "eslint:all" (eslint) task
/src/repo/resources/js/ext.translate.base.js
6:17 warning Prefer Object.assign or the spread operator to $.extend no-jquery/no-extend
40:4 warning Prefer .then to .done no-jquery/no-done-fail
66:4 warning Prefer .then to .done no-jquery/no-done-fail
/src/repo/resources/js/ext.translate.editor.helpers.js
32:3 warning Missing JSDoc @return declaration jsdoc/require-returns
84:11 warning Prefer .then to .done no-jquery/no-done-fail
84:11 warning Prefer .then to .fail no-jquery/no-done-fail
93:6 warning Prefer .then to .done no-jquery/no-done-fail
93:6 warning Prefer .then to .fail no-jquery/no-done-fail
393:1 warning Missing JSDoc @param "e" type jsdoc/require-param-type
394:1 warning Missing JSDoc @param "suggestion" type jsdoc/require-param-type
676:5 warning Prefer .then to .done no-jquery/no-done-fail
731:4 warning Prefer .then to .done no-jquery/no-done-fail
731:4 warning Prefer .then to .fail no-jquery/no-done-fail
822:17 warning Prefer Object.assign or the spread operator to $.extend no-jquery/no-extend
839:2 warning Prefer Object.assign or the spread operator to $.extend no-jquery/no-extend
/src/repo/resources/js/ext.translate.editor.js
270:4 warning Prefer .then to .done no-jquery/no-done-fail
270:4 warning Prefer .then to .fail no-jquery/no-done-fail
786:6 warning Selector extensions are not allowed no-jquery/no-sizzle
1137:22 warning Prefer .then to .done no-jquery/no-done-fail
1298:7 warning Prefer .then to .done no-jquery/no-done-fail
1659:24 warning Prefer Object.assign or the spread operator to $.extend no-jquery/no-extend
/src/repo/resources/js/ext.translate.editor.shortcuts.js
37:4 warning Selector extensions are not allowed no-jquery/no-sizzle
85:2 warning Prefer Object.assign or the spread operator to $.extend no-jquery/no-extend
/src/repo/resources/js/ext.translate.messagerenamedialog.js
78:22 warning OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true mediawiki/no-unlabeled-buttonwidget
250:2 warning Prefer .then to .done no-jquery/no-done-fail
250:2 warning Prefer .then to .fail no-jquery/no-done-fail
/src/repo/resources/js/ext.translate.messagetable.js
11:17 warning Prefer Object.assign or the spread operator to $.extend no-jquery/no-extend
73:5 warning ES2024 Resizable ArrayBuffer is forbidden es-x/no-resizable-and-growable-arraybuffers
275:4 warning Prefer .then to .done no-jquery/no-done-fail
285:25 warning Selector extensions are not allowed no-jquery/no-sizzle
396:9 warning Selector extensions are not allowed no-jquery/no-sizzle
410:16 warning Positional selector extensions are not allowed no-jquery/no-sizzle
413:5 warning ES2024 Resizable ArrayBuffer is forbidden es-x/no-resizable-and-growable-arraybuffers
426:20 warning Prefer Object.assign or the spread operator to $.extend no-jquery/no-extend
492:4 warning Prefer .then to .done no-jquery/no-done-fail
492:4 warning Prefer .then to .fail no-jquery/no-done-fail
539:7 warning Positional selector extensions are not allowed no-jquery/no-sizzle
/src/repo/resources/js/ext.translate.parsers.js
13:17 warning Prefer Object.assign or the spread operator to $.extend no-jquery/no-extend
/src/repo/resources/js/ext.translate.proofread.js
235:4 warning Prefer .then to .done no-jquery/no-done-fail
235:4 warning Prefer .then to .fail no-jquery/no-done-fail
/src/repo/resources/js/ext.translate.special.managegroups.js
18:11 warning Prefer .then to .done no-jquery/no-done-fail
18:11 warning Prefer .then to .fail no-jquery/no-done-fail
68:4 warning Prefer .then to .done no-jquery/no-done-fail
68:4 warning Prefer .then to .fail no-jquery/no-done-fail
98:4 warning Prefer .then to .done no-jquery/no-done-fail
98:4 warning Prefer .then to .fail no-jquery/no-done-fail
368:4 warning Prefer .then to .done no-jquery/no-done-fail
368:4 warning Prefer .then to .fail no-jquery/no-done-fail
391:4 warning Prefer .then to .done no-jquery/no-done-fail
391:4 warning Prefer .then to .fail no-jquery/no-done-fail
/src/repo/resources/js/ext.translate.special.managetranslatorsandbox.js
101:8 warning Prefer .then to .done no-jquery/no-done-fail
101:8 warning Prefer .then to .fail no-jquery/no-done-fail
130:8 warning Prefer .then to .done no-jquery/no-done-fail
147:8 warning Prefer .then to .done no-jquery/no-done-fail
187:3 warning Prefer .then to .done no-jquery/no-done-fail
307:8 warning Prefer .then to .done no-jquery/no-done-fail
324:8 warning Prefer .then to .done no-jquery/no-done-fail
/src/repo/resources/js/ext.translate.special.pagemigration.js
134:10 warning Prefer .then to .fail no-jquery/no-done-fail
388:4 warning Prefer .then to .done no-jquery/no-done-fail
388:4 warning Prefer .then to .fail no-jquery/no-done-fail
561:17 warning Prefer Object.assign or the spread operator to $.extend no-jquery/no-extend
/src/repo/resources/js/ext.translate.special.pagepreparation.js
327:4 warning Prefer .then to .done no-jquery/no-done-fail
327:4 warning Prefer .then to .fail no-jquery/no-done-fail
353:4 warning Prefer .then to .done no-jquery/no-done-fail
353:4 warning Prefer .then to .fail no-jquery/no-done-fail
371:5 warning Prefer .then to .done no-jquery/no-done-fail
371:5 warning Prefer .then to .fail no-jquery/no-done-fail
/src/repo/resources/js/ext.translate.special.pagetranslation.js
19:3 warning Prefer .then to .done no-jquery/no-done-fail
/src/repo/resources/js/ext.translate.special.translate.js
19:17 warning Prefer Object.assign or the spread operator to $.extend no-jquery/no-extend
58:4 warning Prefer .then to .done no-jquery/no-done-fail
95:4 warning Prefer .then to .done no-jquery/no-done-fail
240:3 warning Prefer .then to .done no-jquery/no-done-fail
274:3 warning Prefer .then to .done no-jquery/no-done-fail
274:3 warning Prefer .then to .fail no-jquery/no-done-fail
408:1 warning Expected 1 lines after block description jsdoc/tag-lines
706:4 warning Prefer .then to .done no-jquery/no-done-fail
777:3 warning Prefer .then to .done no-jquery/no-done-fail
/src/repo/resources/js/ext.translate.statsbar.js
33:4 warning Prefer .then to .done no-jquery/no-done-fail
/src/repo/resources/js/ext.translate.translationstats.graphbuilder.js
69:3 warning Missing JSDoc @return declaration jsdoc/require-returns
70:1 warning Missing JSDoc @param "options" type jsdoc/require-param-type
85:11 warning Prefer .then to .fail no-jquery/no-done-fail
/src/repo/resources/js/ext.translate.workflowselector.js
52:4 warning Prefer .then to .done no-jquery/no-done-fail
146:5 warning Prefer .then to .done no-jquery/no-done-fail
146:5 warning Prefer .then to .fail no-jquery/no-done-fail
/src/repo/resources/js/jquery.ajaxdispatcher.js
19:10 warning Prefer .then to .fail no-jquery/no-done-fail
65:2 warning Prefer Object.assign or the spread operator to $.extend no-jquery/no-extend
/src/repo/resources/src/ext.translate.aggregategroups/components/AggregateGroupDialog.vue
137:4 warning Prefer .then to .done no-jquery/no-done-fail
137:4 warning Prefer .then to .fail no-jquery/no-done-fail
/src/repo/resources/src/ext.translate.groupselector/index.js
156:5 warning Prefer .then to .done no-jquery/no-done-fail
348:4 warning Prefer .then to .done no-jquery/no-done-fail
391:4 warning Prefer .then to .done no-jquery/no-done-fail
450:4 warning Prefer .then to .done no-jquery/no-done-fail
/src/repo/resources/src/ext.translate.special.exporttranslations/index.js
22:25 warning Selector extensions are not allowed no-jquery/no-sizzle
49:29 warning Selector extensions are not allowed no-jquery/no-sizzle
/src/repo/resources/src/ext.translate.special.languagestats/index.js
20:3 warning Positional selector extensions are not allowed no-jquery/no-sizzle
21:3 warning Positional selector extensions are not allowed no-jquery/no-sizzle
214:23 warning Selector extensions are not allowed no-jquery/no-sizzle
261:27 warning Selector extensions are not allowed no-jquery/no-sizzle
310:3 warning ResizeObserver.observe() is not supported in Safari 11.1, iOS Safari 11.3-11.4 compat/compat
310:3 warning ResizeObserver is not supported in Safari 11.1 compat/compat
/src/repo/resources/src/ext.translate.specialTranslationStash/index.js
172:2 warning Prefer .then to .done no-jquery/no-done-fail
172:2 warning Prefer .then to .fail no-jquery/no-done-fail
247:2 warning Prefer .then to .done no-jquery/no-done-fail
/src/repo/tests/qunit/ext.translate.special.pagemigration.test.js
17:3 warning Prefer .then to .done no-jquery/no-done-fail
31:3 warning Prefer .then to .fail no-jquery/no-done-fail
46:3 warning Prefer .then to .done no-jquery/no-done-fail
61:3 warning Prefer .then to .done no-jquery/no-done-fail
✖ 107 problems (0 errors, 107 warnings)
0 errors and 1 warning potentially fixable with the `--fix` option.
Running "banana:PageTranslation" (banana) task
>> 1 message directory checked.
Running "banana:Translate" (banana) task
>> 1 message directory checked.
Running "banana:TranslateApi" (banana) task
>> 1 message directory checked.
Running "banana:TranslateSandbox" (banana) task
>> 1 message directory checked.
Running "banana:TranslateSearch" (banana) task
>> 1 message directory checked.
Running "stylelint:all" (stylelint) task
>> Linted 44 files without errors
Done.
--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
[DNM] there are no updates
$ git add .
--- stdout ---
--- end ---
$ git commit -F /tmp/tmp4l6zuuwf
--- stdout ---
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
--- end ---