$ date
--- stdout ---
Fri Jul 26 05:13:39 UTC 2024
--- end ---
$ git clone file:///srv/git/mediawiki-services-cxserver.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 ---
2c1b0a6a64c2fa347e38b6f00243c0e908661c63 refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"limitation": {
"name": "limitation",
"severity": "moderate",
"isDirect": false,
"via": [
"wikimedia-kad-fork"
],
"effects": [
"service-runner"
],
"range": ">=0.2.3",
"nodes": [
"node_modules/limitation"
],
"fixAvailable": {
"name": "service-runner",
"version": "5.0.0",
"isSemVerMajor": true
}
},
"ms": {
"name": "ms",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1094419,
"name": "ms",
"dependency": "ms",
"title": "Vercel ms Inefficient Regular Expression Complexity vulnerability",
"url": "https://github.com/advisories/GHSA-w9mr-4mfr-499f",
"severity": "moderate",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 5.3,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
},
"range": "<2.0.0"
}
],
"effects": [
"wikimedia-kad-fork"
],
"range": "<2.0.0",
"nodes": [
"node_modules/wikimedia-kad-fork/node_modules/ms"
],
"fixAvailable": {
"name": "service-runner",
"version": "5.0.0",
"isSemVerMajor": true
}
},
"service-runner": {
"name": "service-runner",
"severity": "moderate",
"isDirect": true,
"via": [
"limitation",
"tar"
],
"effects": [],
"range": ">=3.0.0",
"nodes": [
"node_modules/service-runner"
],
"fixAvailable": {
"name": "service-runner",
"version": "5.0.0",
"isSemVerMajor": true
}
},
"tar": {
"name": "tar",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1097493,
"name": "tar",
"dependency": "tar",
"title": "Denial of service while parsing a tar file due to lack of folders count validation",
"url": "https://github.com/advisories/GHSA-f5x3-32g6-xq36",
"severity": "moderate",
"cwe": [
"CWE-400"
],
"cvss": {
"score": 6.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H"
},
"range": "<6.2.1"
}
],
"effects": [
"service-runner"
],
"range": "<6.2.1",
"nodes": [
"node_modules/tar"
],
"fixAvailable": {
"name": "service-runner",
"version": "5.0.0",
"isSemVerMajor": true
}
},
"wikimedia-kad-fork": {
"name": "wikimedia-kad-fork",
"severity": "moderate",
"isDirect": false,
"via": [
"ms"
],
"effects": [
"limitation"
],
"range": "*",
"nodes": [
"node_modules/wikimedia-kad-fork"
],
"fixAvailable": {
"name": "service-runner",
"version": "5.0.0",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 5,
"high": 0,
"critical": 0,
"total": 5
},
"dependencies": {
"prod": 278,
"dev": 375,
"optional": 73,
"peer": 1,
"peerOptional": 0,
"total": 724
}
}
}
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"limitation": {
"name": "limitation",
"severity": "moderate",
"isDirect": false,
"via": [
"wikimedia-kad-fork"
],
"effects": [
"service-runner"
],
"range": ">=0.2.3",
"nodes": [
"node_modules/limitation"
],
"fixAvailable": {
"name": "service-runner",
"version": "5.0.0",
"isSemVerMajor": true
}
},
"ms": {
"name": "ms",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1094419,
"name": "ms",
"dependency": "ms",
"title": "Vercel ms Inefficient Regular Expression Complexity vulnerability",
"url": "https://github.com/advisories/GHSA-w9mr-4mfr-499f",
"severity": "moderate",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 5.3,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
},
"range": "<2.0.0"
}
],
"effects": [
"wikimedia-kad-fork"
],
"range": "<2.0.0",
"nodes": [
"node_modules/wikimedia-kad-fork/node_modules/ms"
],
"fixAvailable": {
"name": "service-runner",
"version": "5.0.0",
"isSemVerMajor": true
}
},
"service-runner": {
"name": "service-runner",
"severity": "moderate",
"isDirect": true,
"via": [
"limitation",
"tar"
],
"effects": [],
"range": ">=3.0.0",
"nodes": [
"node_modules/service-runner"
],
"fixAvailable": {
"name": "service-runner",
"version": "5.0.0",
"isSemVerMajor": true
}
},
"tar": {
"name": "tar",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1097493,
"name": "tar",
"dependency": "tar",
"title": "Denial of service while parsing a tar file due to lack of folders count validation",
"url": "https://github.com/advisories/GHSA-f5x3-32g6-xq36",
"severity": "moderate",
"cwe": [
"CWE-400"
],
"cvss": {
"score": 6.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H"
},
"range": "<6.2.1"
}
],
"effects": [
"service-runner"
],
"range": "<6.2.1",
"nodes": [
"node_modules/tar"
],
"fixAvailable": {
"name": "service-runner",
"version": "5.0.0",
"isSemVerMajor": true
}
},
"wikimedia-kad-fork": {
"name": "wikimedia-kad-fork",
"severity": "moderate",
"isDirect": false,
"via": [
"ms"
],
"effects": [
"limitation"
],
"range": "*",
"nodes": [
"node_modules/wikimedia-kad-fork"
],
"fixAvailable": {
"name": "service-runner",
"version": "5.0.0",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 5,
"high": 0,
"critical": 0,
"total": 5
},
"dependencies": {
"prod": 278,
"dev": 375,
"optional": 73,
"peer": 1,
"peerOptional": 0,
"total": 724
}
}
}
--- 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: 'cxserver@1.2.1',
npm WARN EBADENGINE required: { node: '>=20' },
npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
"added": 724,
"removed": 0,
"changed": 0,
"audited": 725,
"funding": 97,
"audit": {
"auditReportVersion": 2,
"vulnerabilities": {
"limitation": {
"name": "limitation",
"severity": "moderate",
"isDirect": false,
"via": [
"wikimedia-kad-fork"
],
"effects": [
"service-runner"
],
"range": ">=0.2.3",
"nodes": [
"node_modules/limitation"
],
"fixAvailable": {
"name": "service-runner",
"version": "5.0.0",
"isSemVerMajor": true
}
},
"ms": {
"name": "ms",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1094419,
"name": "ms",
"dependency": "ms",
"title": "Vercel ms Inefficient Regular Expression Complexity vulnerability",
"url": "https://github.com/advisories/GHSA-w9mr-4mfr-499f",
"severity": "moderate",
"cwe": [
"CWE-1333"
],
"cvss": {
"score": 5.3,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
},
"range": "<2.0.0"
}
],
"effects": [
"wikimedia-kad-fork"
],
"range": "<2.0.0",
"nodes": [
"node_modules/wikimedia-kad-fork/node_modules/ms"
],
"fixAvailable": {
"name": "service-runner",
"version": "5.0.0",
"isSemVerMajor": true
}
},
"service-runner": {
"name": "service-runner",
"severity": "moderate",
"isDirect": true,
"via": [
"limitation",
"tar"
],
"effects": [],
"range": ">=3.0.0",
"nodes": [
"node_modules/service-runner"
],
"fixAvailable": {
"name": "service-runner",
"version": "5.0.0",
"isSemVerMajor": true
}
},
"tar": {
"name": "tar",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1097493,
"name": "tar",
"dependency": "tar",
"title": "Denial of service while parsing a tar file due to lack of folders count validation",
"url": "https://github.com/advisories/GHSA-f5x3-32g6-xq36",
"severity": "moderate",
"cwe": [
"CWE-400"
],
"cvss": {
"score": 6.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H"
},
"range": "<6.2.1"
}
],
"effects": [
"service-runner"
],
"range": "<6.2.1",
"nodes": [
"node_modules/tar"
],
"fixAvailable": {
"name": "service-runner",
"version": "5.0.0",
"isSemVerMajor": true
}
},
"wikimedia-kad-fork": {
"name": "wikimedia-kad-fork",
"severity": "moderate",
"isDirect": false,
"via": [
"ms"
],
"effects": [
"limitation"
],
"range": "*",
"nodes": [
"node_modules/wikimedia-kad-fork"
],
"fixAvailable": {
"name": "service-runner",
"version": "5.0.0",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 5,
"high": 0,
"critical": 0,
"total": 5
},
"dependencies": {
"prod": 278,
"dev": 375,
"optional": 73,
"peer": 1,
"peerOptional": 0,
"total": 724
}
}
}
}
--- end ---
{"added": 724, "removed": 0, "changed": 0, "audited": 725, "funding": 97, "audit": {"auditReportVersion": 2, "vulnerabilities": {"limitation": {"name": "limitation", "severity": "moderate", "isDirect": false, "via": ["wikimedia-kad-fork"], "effects": ["service-runner"], "range": ">=0.2.3", "nodes": ["node_modules/limitation"], "fixAvailable": {"name": "service-runner", "version": "5.0.0", "isSemVerMajor": true}}, "ms": {"name": "ms", "severity": "moderate", "isDirect": false, "via": [{"source": 1094419, "name": "ms", "dependency": "ms", "title": "Vercel ms Inefficient Regular Expression Complexity vulnerability", "url": "https://github.com/advisories/GHSA-w9mr-4mfr-499f", "severity": "moderate", "cwe": ["CWE-1333"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"}, "range": "<2.0.0"}], "effects": ["wikimedia-kad-fork"], "range": "<2.0.0", "nodes": ["node_modules/wikimedia-kad-fork/node_modules/ms"], "fixAvailable": {"name": "service-runner", "version": "5.0.0", "isSemVerMajor": true}}, "service-runner": {"name": "service-runner", "severity": "moderate", "isDirect": true, "via": ["limitation", "tar"], "effects": [], "range": ">=3.0.0", "nodes": ["node_modules/service-runner"], "fixAvailable": {"name": "service-runner", "version": "5.0.0", "isSemVerMajor": true}}, "tar": {"name": "tar", "severity": "moderate", "isDirect": false, "via": [{"source": 1097493, "name": "tar", "dependency": "tar", "title": "Denial of service while parsing a tar file due to lack of folders count validation", "url": "https://github.com/advisories/GHSA-f5x3-32g6-xq36", "severity": "moderate", "cwe": ["CWE-400"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H"}, "range": "<6.2.1"}], "effects": ["service-runner"], "range": "<6.2.1", "nodes": ["node_modules/tar"], "fixAvailable": {"name": "service-runner", "version": "5.0.0", "isSemVerMajor": true}}, "wikimedia-kad-fork": {"name": "wikimedia-kad-fork", "severity": "moderate", "isDirect": false, "via": ["ms"], "effects": ["limitation"], "range": "*", "nodes": ["node_modules/wikimedia-kad-fork"], "fixAvailable": {"name": "service-runner", "version": "5.0.0", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 5, "high": 0, "critical": 0, "total": 5}, "dependencies": {"prod": 278, "dev": 375, "optional": 73, "peer": 1, "peerOptional": 0, "total": 724}}}}
$ /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: 'cxserver@1.2.1',
npm WARN EBADENGINE required: { node: '>=20' },
npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @npmcli/move-file@1.1.2: This functionality has been moved to @npmcli/fs
npm WARN deprecated kad-fs@0.0.4: This package is no longer maintained.
npm WARN deprecated rimraf@2.4.5: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated npmlog@6.0.2: This package is no longer supported.
npm WARN deprecated @humanwhocodes/config-array@0.11.14: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated kad-memstore@0.0.1: This package is no longer maintained.
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated are-we-there-yet@3.0.1: This package is no longer supported.
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@6.0.4: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated gauge@4.0.4: This package is no longer supported.
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
--- stdout ---
added 723 packages, and audited 724 packages in 8s
97 packages are looking for funding
run `npm fund` for details
# npm audit report
ms <2.0.0
Severity: moderate
Vercel ms Inefficient Regular Expression Complexity vulnerability - https://github.com/advisories/GHSA-w9mr-4mfr-499f
fix available via `npm audit fix --force`
Will install service-runner@5.0.0, which is a breaking change
node_modules/wikimedia-kad-fork/node_modules/ms
wikimedia-kad-fork *
Depends on vulnerable versions of ms
node_modules/wikimedia-kad-fork
limitation >=0.2.3
Depends on vulnerable versions of wikimedia-kad-fork
node_modules/limitation
service-runner >=3.0.0
Depends on vulnerable versions of limitation
Depends on vulnerable versions of tar
node_modules/service-runner
tar <6.2.1
Severity: moderate
Denial of service while parsing a tar file due to lack of folders count validation - https://github.com/advisories/GHSA-f5x3-32g6-xq36
fix available via `npm audit fix --force`
Will install service-runner@5.0.0, which is a breaking change
node_modules/tar
5 moderate severity vulnerabilities
To address all issues (including breaking changes), run:
npm audit fix --force
--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json
--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'cxserver@1.2.1',
npm WARN EBADENGINE required: { node: '>=20' },
npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @npmcli/move-file@1.1.2: This functionality has been moved to @npmcli/fs
npm WARN deprecated kad-fs@0.0.4: This package is no longer maintained.
npm WARN deprecated rimraf@2.4.5: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated npmlog@6.0.2: This package is no longer supported.
npm WARN deprecated @humanwhocodes/config-array@0.11.14: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated kad-memstore@0.0.1: This package is no longer maintained.
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated are-we-there-yet@3.0.1: This package is no longer supported.
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@6.0.4: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated gauge@4.0.4: This package is no longer supported.
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
--- stdout ---
added 723 packages, and audited 724 packages in 8s
97 packages are looking for funding
run `npm fund` for details
5 moderate 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 ---
> cxserver@1.2.1 test
> npm run lint && npm run unittest
> cxserver@1.2.1 lint
> eslint .
/src/repo/app.js
77:34 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp
87:31 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
181:20 warning Found non-literal argument in require security/detect-non-literal-require
228:9 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
229:10 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
/src/repo/bin/adapt.js
14:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
21:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
30:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
/src/repo/bin/linear-reduce.js
14:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
/src/repo/bin/linearize.js
15:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
/src/repo/bin/mt.js
12:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
19:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
31:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
51:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
68:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
/src/repo/bin/segment.js
36:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
/src/repo/bin/translate.js
15:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
23:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
37:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
47:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
/src/repo/config.dev.yaml
22:1 warning Empty mapping values are forbidden yml/no-empty-mapping-value
/src/repo/lib/Config.js
45:33 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
67:43 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
71:23 warning Found non-literal argument in require security/detect-non-literal-require
95:34 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
/src/repo/lib/adaptation/TemplateParameterMapper.js
112:5 warning Mixed spaces and tabs no-mixed-spaces-and-tabs
112:7 warning Expected no linebreak before this expression implicit-arrow-linebreak
115:4 warning Mixed spaces and tabs no-mixed-spaces-and-tabs
/src/repo/lib/lineardoc/MwContextualizer.js
145:35 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp
/src/repo/lib/mt/Apertium.js
39:27 warning The 'fetch' is still an experimental feature and is not supported until Node.js 21.0.0. The configured version range is '>=20' n/no-unsupported-features/node-builtins
/src/repo/lib/mt/Elia.js
96:27 warning The 'fetch' is still an experimental feature and is not supported until Node.js 21.0.0. The configured version range is '>=20' n/no-unsupported-features/node-builtins
/src/repo/lib/mt/Google.js
91:27 warning The 'fetch' is still an experimental feature and is not supported until Node.js 21.0.0. The configured version range is '>=20' n/no-unsupported-features/node-builtins
/src/repo/lib/mt/LingoCloud.js
77:27 warning The 'fetch' is still an experimental feature and is not supported until Node.js 21.0.0. The configured version range is '>=20' n/no-unsupported-features/node-builtins
/src/repo/lib/mt/MinT.js
56:27 warning The 'fetch' is still an experimental feature and is not supported until Node.js 21.0.0. The configured version range is '>=20' n/no-unsupported-features/node-builtins
/src/repo/lib/mt/Yandex.js
84:27 warning The 'fetch' is still an experimental feature and is not supported until Node.js 21.0.0. The configured version range is '>=20' n/no-unsupported-features/node-builtins
/src/repo/lib/mw/MwApiRequest.js
61:26 warning The 'fetch' is still an experimental feature and is not supported until Node.js 21.0.0. The configured version range is '>=20' n/no-unsupported-features/node-builtins
107:26 warning The 'fetch' is still an experimental feature and is not supported until Node.js 21.0.0. The configured version range is '>=20' n/no-unsupported-features/node-builtins
255:10 warning The 'fetch' is still an experimental feature and is not supported until Node.js 21.0.0. The configured version range is '>=20' n/no-unsupported-features/node-builtins
293:10 warning The 'fetch' is still an experimental feature and is not supported until Node.js 21.0.0. The configured version range is '>=20' n/no-unsupported-features/node-builtins
/src/repo/lib/swagger-ui.js
28:9 warning Found readFile from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
/src/repo/lib/translationunits/MWCategory.js
17:41 warning Unsafe Regular Expression security/detect-unsafe-regex
/src/repo/lib/translationunits/MWFile.js
46:51 warning Unsafe Regular Expression security/detect-unsafe-regex
/src/repo/lib/translationunits/MWImage.js
125:68 warning Unsafe Regular Expression security/detect-unsafe-regex
/src/repo/scripts/SectionTitleAlignment/alignwithmt.js
215:26 warning The 'fetch' is still an experimental feature and is not supported until Node.js 21.0.0. The configured version range is '>=20' n/no-unsupported-features/node-builtins
/src/repo/scripts/template-mapping.js
110:7 warning Found existsSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
116:14 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
/src/repo/test/adaptation/SectionTest.js
27:20 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
/src/repo/test/features/app/spec.js
22:21 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
170:10 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp
/src/repo/test/lineardoc/LinearDoc.test.js
23:22 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
24:24 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
25:26 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
133:27 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
/src/repo/test/mw/MWPageLoaderTest.js
32:27 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
41:5 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
/src/repo/test/segmentation/CXSegmenter.test.js
25:19 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
31:3 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
/src/repo/test/testutils.js
24:5 warning Found writeFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
/src/repo/test/translationunits/MWReference.test.js
36:21 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
51:27 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
/src/repo/test/utils/assert.js
9:40 warning Found non-literal argument to RegExp Constructor security/detect-non-literal-regexp
/src/repo/test/utils/server.js
11:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
19:2 warning Don't use process.exit(); throw an error instead n/no-process-exit
✖ 63 problems (0 errors, 63 warnings)
> cxserver@1.2.1 unittest
> node --test test/
TAP version 13
# Subtest: Adaptation tests
# Subtest: Link adaptation basic test
ok 1 - Link adaptation basic test
---
duration_ms: 462.032654
...
# Subtest: Link adaptation - Full paragraph and relative links
ok 2 - Link adaptation - Full paragraph and relative links
---
duration_ms: 68.533376
...
# Subtest: Image adaptation basic test
ok 3 - Image adaptation basic test
---
duration_ms: 149.231166
...
# Subtest: Image adaptation - Inline image with span tag
ok 4 - Image adaptation - Inline image with span tag
---
duration_ms: 9.820755
...
# Subtest: Image adaptation - Inline image with span tag
ok 5 - Image adaptation - Inline image with span tag
---
duration_ms: 9.320377
...
# Subtest: Image adaptation - Source and target language directions differs
ok 6 - Image adaptation - Source and target language directions differs
---
duration_ms: 85.525761
...
# Subtest: Image adaptation - Image is not in commons
ok 7 - Image adaptation - Image is not in commons
---
duration_ms: 9.538556
...
# Subtest: Gallery adaptation
ok 8 - Gallery adaptation
---
duration_ms: 15.447526
...
# Subtest: Reference adaptation test without a reference template
ok 9 - Reference adaptation test without a reference template
---
duration_ms: 37.285161
...
# Subtest: Reference adaptation test where the content is reference and template at same time
ok 10 - Reference adaptation test where the content is reference and template at same time
---
duration_ms: 25.887465
...
# Subtest: Reference adaptation test where source and target has no template data. Must use template mapping database
ok 11 - Reference adaptation test where source and target has no template data. Must use template mapping database
---
duration_ms: 94.950952
...
# Subtest: Style tags holding template definition should not be ignored and used for template adaptation
ok 12 - Style tags holding template definition should not be ignored and used for template adaptation
---
duration_ms: 48.86958
...
# Subtest: Audio adaptation
ok 13 - Audio adaptation
---
duration_ms: 7.402651
...
# Subtest: Audio adaptation when audio is not in Commons
ok 14 - Audio adaptation when audio is not in Commons
---
duration_ms: 6.422061
...
# Subtest: Video adaptation
ok 15 - Video adaptation
---
duration_ms: 22.06363
...
# Subtest: Inline Video adaptation
ok 16 - Inline Video adaptation
---
duration_ms: 6.529353
...
1..16
ok 1 - Adaptation tests
---
duration_ms: 1081.411371
type: 'suite'
...
# Subtest: Adaptation tests
# Subtest: should adapt section when: section has lot of templates, but all are fragments of main template
ok 1 - should adapt section when: section has lot of templates, but all are fragments of main template
---
duration_ms: 499.783237
...
1..1
ok 2 - Adaptation tests
---
duration_ms: 505.098162
type: 'suite'
...
# Subtest: Template parameter mapping test
# Subtest: should not have any errors while mapping params
ok 1 - should not have any errors while mapping params
---
duration_ms: 2.159573
...
1..1
ok 3 - Template parameter mapping test
---
duration_ms: 4.565395
type: 'suite'
...
# debug Found 333 languages from the configuration
# debug Found 7 MT providers
# debug Found 333 languages from the configuration
# debug Found 7 MT providers
# trace/req { msg: 'incoming request' }
# Subtest: express app
# Subtest: should get robots.txt
ok 1 - should get robots.txt
---
duration_ms: 54.208899
...
# trace/req { msg: 'incoming request' }
# Subtest: should set CORS headers
ok 2 - should set CORS headers
---
duration_ms: 7.568828
...
# trace/req { msg: 'incoming request' }
# Subtest: should set CSP headers
ok 3 - should set CSP headers
---
duration_ms: 4.662651
...
1..3
ok 4 - express app
---
duration_ms: 625.365909
type: 'suite'
...
# debug Found 333 languages from the configuration
# debug Found 7 MT providers
# debug Found 333 languages from the configuration
# debug Found 7 MT providers
# trace/req { msg: 'incoming request' }
# Subtest: Swagger spec
# Subtest: get the spec
ok 1 - get the spec
---
duration_ms: 85.706449
...
# trace/req { msg: 'incoming request' }
# Subtest: should expose valid OpenAPI spec
ok 2 - should expose valid OpenAPI spec
---
duration_ms: 19.280787
...
# Subtest: spec validation
ok 3 - spec validation
---
duration_ms: 1.270837
...
# trace/req { msg: 'incoming request' }
# Subtest: routes
# Subtest: robots.txt check
ok 1 - robots.txt check
---
duration_ms: 8.226346
...
# trace/req { msg: 'incoming request' }
# Subtest: root with no query params
ok 2 - root with no query params
---
duration_ms: 4.038894
...
# trace/req { msg: 'incoming request' }
# Subtest: spec from root
ok 3 - spec from root
---
duration_ms: 5.663909
...
# trace/req { msg: 'incoming request' }
# Subtest: doc from root
ok 4 - doc from root
---
duration_ms: 3.047899
...
# trace/req { msg: 'incoming request' }
# Subtest: root with wrong query param
ok 5 - root with wrong query param
---
duration_ms: 3.280931
...
# trace/req { msg: 'incoming request' }
# debug Getting page en:User:BSitzmann_(WMF)/MCS/Test/Frankenstein
# debug Page sent
# Subtest: Fetch enwiki protected page
ok 6 - Fetch enwiki protected page
---
duration_ms: 380.071677
...
# trace/req { msg: 'incoming request' }
# debug Getting page en:User:BSitzmann (WMF)/MCS/Test/Frankenstein
# debug Page sent
# Subtest: Fetch protected page with multi-word title
ok 7 - Fetch protected page with multi-word title
---
duration_ms: 260.101576
...
# trace/req { msg: 'incoming request' }
# debug Getting page en:User:BSitzmann_(WMF)/MCS/Test/Frankenstein
# debug Page sent
# Subtest: Fetch enwiki protected page with revision
ok 8 - Fetch enwiki protected page with revision
---
duration_ms: 183.659358
...
# trace/req { msg: 'incoming request' }
# Subtest: Machine translate an HTML fragment using TestClient.
ok 9 - Machine translate an HTML fragment using TestClient.
---
duration_ms: 511.299371
...
# trace/req { msg: 'incoming request' }
# Subtest: Machine translate an HTML fragment using TestClient.
ok 10 - Machine translate an HTML fragment using TestClient.
---
duration_ms: 21.249115
...
# trace/req { msg: 'incoming request' }
# Subtest: Get the tools between two language pairs
ok 11 - Get the tools between two language pairs
---
duration_ms: 4.682517
...
# trace/req { msg: 'incoming request' }
# Subtest: Get all the language pairs
ok 12 - Get all the language pairs
---
duration_ms: 5.613761
...
# trace/req { msg: 'incoming request' }
# Subtest: Get the MT tool between two language pairs
ok 13 - Get the MT tool between two language pairs
---
duration_ms: 19.239438
...
# trace/req { msg: 'incoming request' }
# Subtest: Get the MT tool between two language pairs
ok 14 - Get the MT tool between two language pairs
---
duration_ms: 4.465224
...
# trace/req { msg: 'incoming request' }
# debug Getting page en:User:BSitzmann_(WMF)/MCS/Test/Frankenstein for es
# debug Page sent
# Subtest: Translate enwiki protected page
ok 15 - Translate enwiki protected page
---
duration_ms: 274.063431
...
# trace/req { msg: 'incoming request' }
# debug Getting page en:User:BSitzmann (WMF)/MCS/Test/Frankenstein for es
# debug Page sent
# Subtest: Translate enwiki protected page with multi-word title
ok 16 - Translate enwiki protected page with multi-word title
---
duration_ms: 193.367734
...
# trace/req { msg: 'incoming request' }
# debug Getting page en:User:BSitzmann_(WMF)/MCS/Test/Frankenstein for es
# debug Page sent
# Subtest: Translate enwiki protected page with revision
ok 17 - Translate enwiki protected page with revision
---
duration_ms: 164.366151
...
# trace/req { msg: 'incoming request' }
# Subtest: Machine translate an HTML fragment using TestClient, adapt the links to target language wiki.
ok 18 - Machine translate an HTML fragment using TestClient, adapt the links to target language wiki.
---
duration_ms: 216.848909
...
# trace/req { msg: 'incoming request' }
# Subtest: Machine translate an HTML fragment using TestClient, adapt the links to target language wiki.
ok 19 - Machine translate an HTML fragment using TestClient, adapt the links to target language wiki.
---
duration_ms: 33.094389
...
# trace/req { msg: 'incoming request' }
# Subtest: Suggest a target title for the given source title and language pairs
ok 20 - Suggest a target title for the given source title and language pairs
---
duration_ms: 329.548464
...
# trace/req { msg: 'incoming request' }
# Subtest: Return an authentication error HTTP status code, when default MT requires authentication and the given JWT is invalid
ok 21 - Return an authentication error HTTP status code, when default MT requires authentication and the given JWT is invalid
---
duration_ms: 16.812588
...
# trace/req { msg: 'incoming request' }
# debug Attempting Paneer in en
# Subtest: Suggest a source title to use for translation
ok 22 - Suggest a source title to use for translation
---
duration_ms: 115.450312
...
# trace/req { msg: 'incoming request' }
# Subtest: Suggest target section titles for given source sections
ok 23 - Suggest target section titles for given source sections
---
duration_ms: 37.771482
...
# trace/req { msg: 'incoming request' }
# Subtest: Suggest source sections to translate
ok 24 - Suggest source sections to translate
---
duration_ms: 196.574048
...
# trace/req { msg: 'incoming request' }
# Subtest: retrieve service info
ok 25 - retrieve service info
---
duration_ms: 3.548294
...
# trace/req { msg: 'incoming request' }
# Subtest: retrieve service name
ok 26 - retrieve service name
---
duration_ms: 3.914017
...
# trace/req { msg: 'incoming request' }
# Subtest: retrieve service version
ok 27 - retrieve service version
---
duration_ms: 2.583617
...
# trace/req { msg: 'incoming request' }
# Subtest: redirect to the home page
ok 28 - redirect to the home page
---
duration_ms: 2.517914
...
1..28
ok 4 - routes
---
duration_ms: 3010.175929
type: 'suite'
...
1..4
ok 5 - Swagger spec
---
duration_ms: 3506.620558
type: 'suite'
...
# debug Found 333 languages from the configuration
# debug Found 7 MT providers
# debug Found 333 languages from the configuration
# debug Found 7 MT providers
# trace/req { msg: 'incoming request' }
# Subtest: service information
# Subtest: should get the service name
ok 1 - should get the service name
---
duration_ms: 42.80914
...
# trace/req { msg: 'incoming request' }
# Subtest: should get the service version
ok 2 - should get the service version
---
duration_ms: 6.794621
...
# trace/req { msg: 'incoming request' }
# Subtest: should redirect to the service home page
ok 3 - should redirect to the service home page
---
duration_ms: 12.964933
...
# trace/req { msg: 'incoming request' }
# Subtest: should get the service info
ok 4 - should get the service info
---
duration_ms: 4.889625
...
1..4
ok 6 - service information
---
duration_ms: 567.878169
type: 'suite'
...
# debug Found 333 languages from the configuration
# debug Found 7 MT providers
# debug Found 333 languages from the configuration
# debug Found 7 MT providers
# trace/req { msg: 'incoming request' }
# debug Getting page en:Oxygen
# debug Page sent
# Subtest: v1 api - page gets
# Subtest: should get the whole page body
ok 1 - should get the whole page body
---
duration_ms: 885.751529
...
# trace/req { msg: 'incoming request' }
# Subtest: should throw a 404 for a non-existent page
ok 2 - should throw a 404 for a non-existent page
---
duration_ms: 7.579811
...
1..2
ok 7 - v1 api - page gets
---
duration_ms: 1375.647434
type: 'suite'
...
# debug Found 333 languages from the configuration
# debug Found 7 MT providers
# debug Found 333 languages from the configuration
# debug Found 7 MT providers
# trace/req { msg: 'incoming request' }
# debug Getting page en:Pickling for es
# debug Page sent
# Subtest: v2 api - page gets
# Subtest: should get the whole page body
ok 1 - should get the whole page body
---
duration_ms: 1254.761405
...
# trace/req { msg: 'incoming request' }
# debug Getting page en:Wikipedia_content_translation_system for es
# Subtest: should throw a 404 for a non-existent page
ok 2 - should throw a 404 for a non-existent page
---
duration_ms: 69.766878
...
1..2
ok 8 - v2 api - page gets
---
duration_ms: 1871.564364
type: 'suite'
...
# Subtest: LinearDoc
# Subtest: should be possible to linearise all kind of HTML inputs
ok 1 - should be possible to linearise all kind of HTML inputs
---
duration_ms: 58.401571
...
# Subtest: should be possible to reconstruct the HTML from LinearDoc
ok 2 - should be possible to reconstruct the HTML from LinearDoc
---
duration_ms: 3.770879
...
# Subtest: should be possible to reduce and expand a document
ok 3 - should be possible to reduce and expand a document
---
duration_ms: 15.610335
...
# Subtest: test HTML compaction roundtrip with inline chunks
ok 4 - test HTML compaction roundtrip with inline chunks
---
duration_ms: 4.575672
...
# Subtest: test HTML expand with external attributes inserted
ok 5 - test HTML expand with external attributes inserted
---
duration_ms: 0.575233
...
# Subtest: test if the content is block level template
ok 6 - test if the content is block level template
---
duration_ms: 98.346115
...
# Subtest: test HTML compaction roundtrip with inline style content
ok 7 - test HTML compaction roundtrip with inline style content
---
duration_ms: 2.020546
...
# Subtest: test HTML compaction roundtrip with template with empty content
ok 8 - test HTML compaction roundtrip with template with empty content
---
duration_ms: 3.231043
...
# Subtest: test getRootItem for ignoring blockspaces
ok 9 - test getRootItem for ignoring blockspaces
---
duration_ms: 0.765552
...
# Subtest: test getRootItem for not ignoring non-whitespace content in textblock
ok 10 - test getRootItem for not ignoring non-whitespace content in textblock
---
duration_ms: 0.598133
...
# Subtest: test getRootItem for ignoring whitespace content in textblock
ok 11 - test getRootItem for ignoring whitespace content in textblock
---
duration_ms: 0.380528
...
1..11
ok 9 - LinearDoc
---
duration_ms: 192.397403
type: 'suite'
...
# Subtest: Apertium machine translation
# Subtest: Test: All caps words
ok 1 - Test: All caps words
---
duration_ms: 85.795577
...
# Subtest: Test: Title caps one-to-many
ok 2 - Test: Title caps one-to-many
---
duration_ms: 12.028624
...
# Subtest: Test: Reordering with nested tags
ok 3 - Test: Reordering with nested tags
---
duration_ms: 11.099779
...
# Subtest: Test: Many-to-one with nested tags
ok 4 - Test: Many-to-one with nested tags
---
duration_ms: 13.228854
...
# Subtest: Test: Reordering at either ends of a tag
ok 5 - Test: Reordering at either ends of a tag
---
duration_ms: 10.236205
...
# Subtest: Test: Identical tags separated by whitespace
ok 6 - Test: Identical tags separated by whitespace
---
duration_ms: 9.211557
...
# Subtest: Test: Non-identical links separated by whitespace
ok 7 - Test: Non-identical links separated by whitespace
---
duration_ms: 9.914867
...
# Subtest: Test: Find longest match among multiple matches
ok 8 - Test: Find longest match among multiple matches
---
duration_ms: 24.885961
...
# Subtest: Test: Do not translate content inside the style tags
ok 9 - Test: Do not translate content inside the style tags
---
duration_ms: 16.673884
...
1..9
ok 10 - Apertium machine translation
---
duration_ms: 196.613929
type: 'suite'
...
# Subtest: Elia machine translation
# Subtest: Should fail because of wrong key
ok 1 - Should fail because of wrong key
---
duration_ms: 6.15055
...
1..1
ok 11 - Elia machine translation
---
duration_ms: 8.829165
type: 'suite'
...
# Subtest: Google machine translation
# Subtest: Should fail because of wrong key
ok 1 - Should fail because of wrong key
---
duration_ms: 69.191593
...
1..1
ok 12 - Google machine translation
---
duration_ms: 71.827293
type: 'suite'
...
# Subtest: LingoCloud machine translation
# Subtest: Should fail because of wrong key
ok 1 - Should fail because of wrong key
---
duration_ms: 69.651755
...
1..1
ok 13 - LingoCloud machine translation
---
duration_ms: 72.197979
type: 'suite'
...
# Subtest: Machine translation with wrapped html result
# Subtest: Should throw error
ok 1 - Should throw error
---
duration_ms: 7.750548
...
1..1
ok 14 - Machine translation with wrapped html result
---
duration_ms: 10.185912
type: 'suite'
...
# Subtest: Machine translation result with extra spaces
# Subtest: Should be cleaned up
ok 1 - Should be cleaned up
---
duration_ms: 94.565978
...
1..1
ok 15 - Machine translation result with extra spaces
---
duration_ms: 94.847147
type: 'suite'
...
# Subtest: Subsequence match finding
# Subtest: Should return correct range mapping
ok 1 - Should return correct range mapping
---
duration_ms: 2.217207
...
1..1
ok 16 - Subsequence match finding
---
duration_ms: 2.43205
type: 'suite'
...
# Subtest: Template translation
# Subtest: should not translate the fragement contents.
ok 1 - should not translate the fragement contents.
---
duration_ms: 115.660911
...
1..1
ok 17 - Template translation
---
duration_ms: 118.228217
type: 'suite'
...
# Subtest: Yandex machine translation with corrupted result
# Subtest: Should sanitize the MT output
ok 1 - Should sanitize the MT output
---
duration_ms: 121.182354
...
1..1
ok 18 - Yandex machine translation with corrupted result
---
duration_ms: 123.743132
type: 'suite'
...
# Subtest: Yandex machine translation
# Subtest: Should fail because of wrong key
ok 1 - Should fail because of wrong key
---
duration_ms: 68.26355
...
1..1
ok 19 - Yandex machine translation
---
duration_ms: 68.517374
type: 'suite'
...
# Subtest: Config transform tests
# Subtest: Simple cross product of languages
ok 1 - Simple cross product of languages
---
duration_ms: 1.766739
...
# Subtest: Do not translate between two variants of English
ok 2 - Do not translate between two variants of English
---
duration_ms: 0.162167
...
# Subtest: Exclude "notAsTarget" languages
ok 3 - Exclude "notAsTarget" languages
---
duration_ms: 0.124448
...
# Subtest: Handle pairs in the configuration
ok 4 - Handle pairs in the configuration
---
duration_ms: 0.511215
...
1..4
ok 20 - Config transform tests
---
duration_ms: 5.498578
type: 'suite'
...
# Subtest: MWPageLoader tests
# Subtest: Test: Add data-section-number attribute to every CX section
ok 1 - Test: Add data-section-number attribute to every CX section
---
duration_ms: 23.948084
...
1..1
ok 21 - MWPageLoader tests
---
duration_ms: 26.385679
type: 'suite'
...
# Subtest: Section wrap tests
# Subtest: should parse correctly when section has common pattern of elements
ok 1 - should parse correctly when section has common pattern of elements
---
duration_ms: 1.575991
...
# Subtest: should extract correct number of categories when section has common pattern of elements
ok 2 - should extract correct number of categories when section has common pattern of elements
---
duration_ms: 1.282283
...
# Subtest: should parse correctly when section has categories to be extracted
ok 3 - should parse correctly when section has categories to be extracted
---
duration_ms: 0.12339
...
# Subtest: should extract correct number of categories when section has categories to be extracted
ok 4 - should extract correct number of categories when section has categories to be extracted
---
duration_ms: 0.101533
...
# Subtest: should parse correctly when content has nested sections and tricky transclusion context
ok 5 - should parse correctly when content has nested sections and tricky transclusion context
---
duration_ms: 0.088652
...
# Subtest: should extract correct number of categories when content has nested sections and tricky transclusion context
ok 6 - should extract correct number of categories when content has nested sections and tricky transclusion context
---
duration_ms: 0.101823
...
# Subtest: should parse correctly when content has blank template and then an unrelated table
ok 7 - should parse correctly when content has blank template and then an unrelated table
---
duration_ms: 0.283979
...
# Subtest: should extract correct number of categories when content has blank template and then an unrelated table
ok 8 - should extract correct number of categories when content has blank template and then an unrelated table
---
duration_ms: 0.111258
...
# Subtest: should parse correctly when content is complete page content with html, head tags and body having two templates with fragments
ok 9 - should parse correctly when content is complete page content with html, head tags and body having two templates with fragments
---
duration_ms: 0.512398
...
# Subtest: should extract correct number of categories when content is complete page content with html, head tags and body having two templates with fragments
ok 10 - should extract correct number of categories when content is complete page content with html, head tags and body having two templates with fragments
---
duration_ms: 0.154242
...
# Subtest: should parse correctly when Content has self closing meta tag
ok 11 - should parse correctly when Content has self closing meta tag
---
duration_ms: 0.111131
...
# Subtest: should extract correct number of categories when Content has self closing meta tag
ok 12 - should extract correct number of categories when Content has self closing meta tag
---
duration_ms: 0.311205
...
# Subtest: should parse correctly when Content has template fragments and one fragment is a section candidate. Section has categories too
ok 13 - should parse correctly when Content has template fragments and one fragment is a section candidate. Section has categories too
---
duration_ms: 0.11692
...
# Subtest: should extract correct number of categories when Content has template fragments and one fragment is a section candidate. Section has categories too
ok 14 - should extract correct number of categories when Content has template fragments and one fragment is a section candidate. Section has categories too
---
duration_ms: 0.232106
...
# Subtest: should parse correctly when Content has transclusion and one of its fragment get removed since it is ignorable.
ok 15 - should parse correctly when Content has transclusion and one of its fragment get removed since it is ignorable.
---
duration_ms: 0.09055
...
# Subtest: should extract correct number of categories when Content has transclusion and one of its fragment get removed since it is ignorable.
ok 16 - should extract correct number of categories when Content has transclusion and one of its fragment get removed since it is ignorable.
---
duration_ms: 0.273088
...
# Subtest: should parse correctly when Content has transclusion and same element is removable templatestyle. So do not remove
ok 17 - should parse correctly when Content has transclusion and same element is removable templatestyle. So do not remove
---
duration_ms: 0.104312
...
# Subtest: should extract correct number of categories when Content has transclusion and same element is removable templatestyle. So do not remove
ok 18 - should extract correct number of categories when Content has transclusion and same element is removable templatestyle. So do not remove
---
duration_ms: 0.353355
...
1..18
ok 22 - Section wrap tests
---
duration_ms: 11.208862
type: 'suite'
...
# Subtest: Title pair tests
# Subtest: should adapt the title when: Corresponding title exist in target language
ok 1 - should adapt the title when: Corresponding title exist in target language
---
duration_ms: 202.638421
...
# Subtest: should adapt the title when: Corresponding title exist in target language
ok 2 - should adapt the title when: Corresponding title exist in target language
---
duration_ms: 0.709495
...
# Subtest: should adapt the title when: Corresponding title exist in target language and given title need normalization
ok 3 - should adapt the title when: Corresponding title exist in target language and given title need normalization
---
duration_ms: 0.275006
...
# Subtest: should adapt the title when: Corresponding title does not exist in target language and given title need normalization
ok 4 - should adapt the title when: Corresponding title does not exist in target language and given title need normalization
---
duration_ms: 0.233052
...
# Subtest: should adapt the title when: Corresponding title exist in target language and given title need normalization, has parenthesis
ok 5 - should adapt the title when: Corresponding title exist in target language and given title need normalization, has parenthesis
---
duration_ms: 0.190217
...
# Subtest: should adapt the title when: Source title is percentage encoded, but should not throw error, should return corresponding title
ok 6 - should adapt the title when: Source title is percentage encoded, but should not throw error, should return corresponding title
---
duration_ms: 0.480007
...
1..6
ok 23 - Title pair tests
---
duration_ms: 209.264516
...
# Subtest: Title pair tests - batching
# Subtest: should have the queue size 50
ok 1 - should have the queue size 50
---
duration_ms: 2.329103
...
1..1
ok 24 - Title pair tests - batching
---
duration_ms: 3.164035
type: 'suite'
...
# Subtest: Segmentation tests for am
# Subtest: should not have any errors when: Amharic segmentation - basic test
ok 1 - should not have any errors when: Amharic segmentation - basic test
---
duration_ms: 0.694073
...
1..1
ok 25 - Segmentation tests for am
---
duration_ms: 3.660223
type: 'suite'
...
# Subtest: Segmentation tests for en
# Subtest: should not have any errors when: Simple paragraph test
ok 1 - should not have any errors when: Simple paragraph test
---
duration_ms: 0.408632
...
# Subtest: should not have any errors when: Sentence ending with )
ok 2 - should not have any errors when: Sentence ending with )
---
duration_ms: 0.091884
...
# Subtest: should not have any errors when: Exclamation, punctuation test
ok 3 - should not have any errors when: Exclamation, punctuation test
---
duration_ms: 0.101361
...
# Subtest: should not have any errors when: Multiple sentences
ok 4 - should not have any errors when: Multiple sentences
---
duration_ms: 0.080616
...
# Subtest: should not have any errors when: Multiple sections - div, h1, paragraph
ok 5 - should not have any errors when: Multiple sections - div, h1, paragraph
---
duration_ms: 0.076081
...
# Subtest: should not have any errors when: Sentence starting with a link
ok 6 - should not have any errors when: Sentence starting with a link
---
duration_ms: 0.120924
...
# Subtest: should not have any errors when: Sentence starting with a link and ending with a link
ok 7 - should not have any errors when: Sentence starting with a link and ending with a link
---
duration_ms: 12.264812
...
# Subtest: should not have any errors when: Figure
ok 8 - should not have any errors when: Figure
---
duration_ms: 0.111573
...
# Subtest: should not have any errors when: References can appear after period without space. Example: Hydrogen is a gas.[1] It is ...
ok 9 - should not have any errors when: References can appear after period without space. Example: Hydrogen is a gas.[1] It is ...
---
duration_ms: 0.123863
...
# Subtest: should not have any errors when: References can appear after period without space, repeated. Example: Hydrogen is a gas.[1][2][3] It is ...
ok 10 - should not have any errors when: References can appear after period without space, repeated. Example: Hydrogen is a gas.[1][2][3] It is ...
---
duration_ms: 0.200701
...
# Subtest: should not have any errors when: References can appear inside a sentence. Example: Hydrogen is a gas[1] and it is ...
ok 11 - should not have any errors when: References can appear inside a sentence. Example: Hydrogen is a gas[1] and it is ...
---
duration_ms: 0.090385
...
# Subtest: should not have any errors when: References can appear inside a sentence. Example:Hydrogen's atomic number is one. Hydrogen is a gas[1] and it is ..... Test the flags are reset properly
ok 12 - should not have any errors when: References can appear inside a sentence. Example:Hydrogen's atomic number is one. Hydrogen is a gas[1] and it is ..... Test the flags are reset properly
---
duration_ms: 0.19746
...
# Subtest: should not have any errors when: References can appear repeated inside a sentence. Example: Hydrogen is a gas[1][2][3] and it is ...
ok 13 - should not have any errors when: References can appear repeated inside a sentence. Example: Hydrogen is a gas[1][2][3] and it is ...
---
duration_ms: 0.088226
...
# Subtest: should not have any errors when: References can appear after period and space. Example: Hydrogen is a gas. [1] It is ...
ok 14 - should not have any errors when: References can appear after period and space. Example: Hydrogen is a gas. [1] It is ...
---
duration_ms: 0.316084
...
# Subtest: should not have any errors when: Paragraph from Debian article- repeating references
ok 15 - should not have any errors when: Paragraph from Debian article- repeating references
---
duration_ms: 0.100642
...
# Subtest: should not have any errors when: References after closing bracket and period.
ok 16 - should not have any errors when: References after closing bracket and period.
---
duration_ms: 0.080509
...
# Subtest: should not have any errors when: Three sentences in a single text node
ok 17 - should not have any errors when: Three sentences in a single text node
---
duration_ms: 0.366256
...
# Subtest: should not have any errors when: Paragraph ending with reference and already having reference in between. The second reference should not be identified as repeating reference. If identified as repeating reference, 7 letters from last word will be missing.
ok 18 - should not have any errors when: Paragraph ending with reference and already having reference in between. The second reference should not be identified as repeating reference. If identified as repeating reference, 7 letters from last word will be missing.
---
duration_ms: 0.093941
...
# Subtest: should not have any errors when: Sentences ending with abbreviations
ok 19 - should not have any errors when: Sentences ending with abbreviations
---
duration_ms: 0.058851
...
# Subtest: should not have any errors when: link element inside span element
ok 20 - should not have any errors when: link element inside span element
---
duration_ms: 0.181378
...
# Subtest: should not have any errors when: Do not break inside of links with abbreviations. Example: Carl E. Wieman. See https://phabricator.wikimedia.org/T99504
ok 21 - should not have any errors when: Do not break inside of links with abbreviations. Example: Carl E. Wieman. See https://phabricator.wikimedia.org/T99504
---
duration_ms: 0.065045
...
# Subtest: should not have any errors when: A non-segmentable text chunk inside a textblock should not mark the whole text chunk non-segmentable
ok 22 - should not have any errors when: A non-segmentable text chunk inside a textblock should not mark the whole text chunk non-segmentable
---
duration_ms: 0.055628
...
# Subtest: should not have any errors when: Figure-inline segmentation. Do not violate the MediaWiki DOM spec https://www.mediawiki.org/wiki/Specs/HTML\#Images
ok 23 - should not have any errors when: Figure-inline segmentation. Do not violate the MediaWiki DOM spec https://www.mediawiki.org/wiki/Specs/HTML\#Images
---
duration_ms: 0.049584
...
# Subtest: should not have any errors when: Figure-inline inside a transclusions
ok 24 - should not have any errors when: Figure-inline inside a transclusions
---
duration_ms: 0.049393
...
# Subtest: should not have any errors when: Video tag in figure tag
ok 25 - should not have any errors when: Video tag in figure tag
---
duration_ms: 0.052916
...
# Subtest: should not have any errors when: Audio tag in figure tag
ok 26 - should not have any errors when: Audio tag in figure tag
---
duration_ms: 0.049348
...
# Subtest: should not have any errors when: Audio tag in figure-inline tag
ok 27 - should not have any errors when: Audio tag in figure-inline tag
---
duration_ms: 0.06839
...
# Subtest: should not have any errors when: Video tag in figure-inline tag
ok 28 - should not have any errors when: Video tag in figure-inline tag
---
duration_ms: 0.049462
...
# Subtest: should not have any errors when: Do not segment content inside block templates
ok 29 - should not have any errors when: Do not segment content inside block templates
---
duration_ms: 0.047859
...
# Subtest: should not have any errors when: about attribute alone does not initiate a transclusion context
ok 30 - should not have any errors when: about attribute alone does not initiate a transclusion context
---
duration_ms: 0.052295
...
# Subtest: should not have any errors when: Do not consider style tag with transclusion as block tag
ok 31 - should not have any errors when: Do not consider style tag with transclusion as block tag
---
duration_ms: 0.048691
...
# Subtest: should not have any errors when: Sections with singe paragraph and a transclusion based reference at th end - T283513
ok 32 - should not have any errors when: Sections with singe paragraph and a transclusion based reference at th end - T283513
---
duration_ms: 0.069249
...
# Subtest: should not have any errors when: Handle abbreviations such as Brown v. Board of education - T338689
ok 33 - should not have any errors when: Handle abbreviations such as Brown v. Board of education - T338689
---
duration_ms: 0.052795
...
1..33
ok 26 - Segmentation tests for en
---
duration_ms: 21.873811
type: 'suite'
...
# Subtest: Segmentation tests for de
# Subtest: should not have any errors when: Avoid segmenting inside a transclusion textblock
ok 1 - should not have any errors when: Avoid segmenting inside a transclusion textblock
---
duration_ms: 0.067977
...
1..1
ok 27 - Segmentation tests for de
---
duration_ms: 0.328979
type: 'suite'
...
# Subtest: Segmentation tests for hi
# Subtest: should not have any errors when: Hindi segmentation - basic test
ok 1 - should not have any errors when: Hindi segmentation - basic test
---
duration_ms: 0.075115
...
1..1
ok 28 - Segmentation tests for hi
---
duration_ms: 0.212428
type: 'suite'
...
# Subtest: Segmentation tests for hy
# Subtest: should not have any errors when: Armenian segmentation - basic test
ok 1 - should not have any errors when: Armenian segmentation - basic test
---
duration_ms: 0.065607
...
1..1
ok 29 - Segmentation tests for hy
---
duration_ms: 0.180456
type: 'suite'
...
# Subtest: Segmentation tests for ja
# Subtest: should not have any errors when: Japanese segmentation - basic test
ok 1 - should not have any errors when: Japanese segmentation - basic test
---
duration_ms: 0.068158
...
1..1
ok 30 - Segmentation tests for ja
---
duration_ms: 0.179011
type: 'suite'
...
# Subtest: Segmentation tests for zh
# Subtest: should not have any errors when: Chinese segmentation - basic test
ok 1 - should not have any errors when: Chinese segmentation - basic test
---
duration_ms: 0.066495
...
1..1
ok 31 - Segmentation tests for zh
---
duration_ms: 0.171035
type: 'suite'
...
# Subtest: Segmentation tests for pa
# Subtest: should not have any errors when: Punjabi segmentation - basic test
ok 1 - should not have any errors when: Punjabi segmentation - basic test
---
duration_ms: 0.080585
...
1..1
ok 32 - Segmentation tests for pa
---
duration_ms: 0.318178
type: 'suite'
...
# Subtest: SectionSuggester tests
# Subtest: should find present and missing sections
ok 1 - should find present and missing sections
---
duration_ms: 23.398167
...
1..1
ok 33 - SectionSuggester tests
---
duration_ms: 26.461843
type: 'suite'
...
# Subtest: /src/repo/test/testutils.js
ok 23 - /src/repo/test/testutils.js
---
duration_ms: 130.215664
...
# Subtest: Link Adaptation tests
# Subtest: Basic test
ok 1 - Basic test
---
duration_ms: 679.108308
...
# Subtest: Space in the title
ok 2 - Space in the title
---
duration_ms: 1.082931
...
# Subtest: Relative URL
ok 3 - Relative URL
---
duration_ms: 0.606096
...
# Subtest: Title with parenthesis
ok 4 - Title with parenthesis
---
duration_ms: 0.859299
...
# Subtest: Target title does not exist
ok 5 - Target title does not exist
---
duration_ms: 0.539341
...
# Subtest: Title with translation from Wikidata label
ok 6 - Title with translation from Wikidata label
---
duration_ms: 1.057497
...
# Subtest: ISBN Link adaptation
ok 7 - ISBN Link adaptation
---
duration_ms: 0.664118
...
1..7
ok 35 - Link Adaptation tests
---
duration_ms: 699.962919
type: 'suite'
...
# Subtest: Reference adaptation
# Subtest: Adapting a reference with plain text content
ok 1 - Adapting a reference with plain text content
---
duration_ms: 16.248126
...
# Subtest: Adapting a reference with plain text content, sup tag
ok 2 - Adapting a reference with plain text content, sup tag
---
duration_ms: 0.254074
...
# Subtest: Adapting a reference with html content, sup tag
ok 3 - Adapting a reference with html content, sup tag
---
duration_ms: 0.362622
...
# Subtest: Not adapting a reference with no data-mw.body
ok 4 - Not adapting a reference with no data-mw.body
---
duration_ms: 0.273583
...
# Subtest: Partially adapting a reference with named reference
ok 5 - Partially adapting a reference with named reference
---
duration_ms: 0.380286
...
# Subtest: Mark the reference adaptation failed when the content defined in template not adapted
ok 6 - Mark the reference adaptation failed when the content defined in template not adapted
---
duration_ms: 402.529442
...
# Subtest: Mark the reference adaptation failed when the content defined in template and it is unsupported by CXserver
ok 7 - Mark the reference adaptation failed when the content defined in template and it is unsupported by CXserver
---
duration_ms: 71.367791
...
# Subtest: Partial reference adaptation, when mandatory params are not transferred successfully
ok 8 - Partial reference adaptation, when mandatory params are not transferred successfully
---
duration_ms: 124.823006
...
1..8
ok 36 - Reference adaptation
---
duration_ms: 630.671155
type: 'suite'
...
# Subtest: Template adaptation
# Subtest: Template with no equivalents
ok 1 - Template with no equivalents
---
duration_ms: 216.175247
...
# Subtest: Babel template
ok 2 - Babel template
---
duration_ms: 63.906033
...
# Subtest: Cite web template
ok 3 - Cite web template
---
duration_ms: 169.600444
...
# Subtest: Multi-part template for columns
ok 4 - Multi-part template for columns
---
duration_ms: 78.155773
...
# Subtest: Template with equivalents, but target template data missing, no params mapped
ok 5 - Template with equivalents, but target template data missing, no params mapped
---
duration_ms: 89.739185
...
# Subtest: Equivalent template exist, templatedata exists only for source language. Use that as hint for extracting params from template source code in target language
ok 6 - Equivalent template exist, templatedata exists only for source language. Use that as hint for extracting params from template source code in target language
---
duration_ms: 108.969047
...
# Subtest: Template with equivalents, all mandatory params mapped
ok 7 - Template with equivalents, all mandatory params mapped
---
duration_ms: 77.411697
...
# Subtest: Images that are generated by templates
ok 8 - Images that are generated by templates
---
duration_ms: 6.274014
...
1..8
ok 37 - Template adaptation
---
duration_ms: 835.870218
...
# Subtest: /src/repo/test/utils/assert.js
ok 27 - /src/repo/test/utils/assert.js
---
duration_ms: 221.358511
...
# Subtest: /src/repo/test/utils/logStream.js
ok 28 - /src/repo/test/utils/logStream.js
---
duration_ms: 155.411689
...
# Subtest: /src/repo/test/utils/server.js
ok 29 - /src/repo/test/utils/server.js
---
duration_ms: 159.366247
...
1..40
# tests 189
# suites 35
# pass 189
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 10622.246066
--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json
--- end ---
[DNM] there are no updates
$ git add .
--- stdout ---
--- end ---
$ git commit -F /tmp/tmpust25gdr
--- stdout ---
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
--- end ---