mediawiki/tools/api-testing (main)

sourcepatches
From a3290b5668d981ea7035a26d3cba1dfa43a31a88 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 29 Jan 2026 18:55:41 +0000
Subject: [PATCH] [DNM] there are no updates

Change-Id: Iba312b6ed40bc8c0103b36cec641a2fff4db6165
---
 package-lock.json | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index ba9fa66..e18da37 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -401,21 +401,22 @@
 			}
 		},
 		"node_modules/@eslint/js": {
-			"version": "8.57.0",
-			"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
-			"integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
+			"version": "8.57.1",
+			"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
+			"integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
 			"dev": true,
 			"engines": {
 				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
 			}
 		},
 		"node_modules/@humanwhocodes/config-array": {
-			"version": "0.11.14",
-			"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
-			"integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
+			"version": "0.13.0",
+			"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
+			"integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
+			"deprecated": "Use @eslint/config-array instead",
 			"dev": true,
 			"dependencies": {
-				"@humanwhocodes/object-schema": "^2.0.2",
+				"@humanwhocodes/object-schema": "^2.0.3",
 				"debug": "^4.3.1",
 				"minimatch": "^3.0.5"
 			},
@@ -452,6 +453,7 @@
 			"version": "2.0.3",
 			"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
 			"integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
+			"deprecated": "Use @eslint/object-schema instead",
 			"dev": true
 		},
 		"node_modules/@isaacs/cliui": {
@@ -2169,16 +2171,17 @@
 			}
 		},
 		"node_modules/eslint": {
-			"version": "8.57.0",
-			"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
-			"integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
+			"version": "8.57.1",
+			"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
+			"integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
+			"deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.2.0",
 				"@eslint-community/regexpp": "^4.6.1",
 				"@eslint/eslintrc": "^2.1.4",
-				"@eslint/js": "8.57.0",
-				"@humanwhocodes/config-array": "^0.11.14",
+				"@eslint/js": "8.57.1",
+				"@humanwhocodes/config-array": "^0.13.0",
 				"@humanwhocodes/module-importer": "^1.0.1",
 				"@nodelib/fs.walk": "^1.2.8",
 				"@ungap/structured-clone": "^1.2.0",
-- 
2.47.3

$ date
--- stdout ---
Thu Jan 29 18:55:11 UTC 2026

--- end ---
$ git clone file:///srv/git/mediawiki-tools-api-testing.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 ---
9bef20efabfb33523f1a7a1e9500d444afc1949e refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "eslint": {
      "name": "eslint",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1112686,
          "name": "eslint",
          "dependency": "eslint",
          "title": "eslint has a Stack Overflow when serializing objects with circular references",
          "url": "https://github.com/advisories/GHSA-p5wg-g6qr-c7cg",
          "severity": "moderate",
          "cwe": [
            "CWE-674"
          ],
          "cvss": {
            "score": 5.5,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H"
          },
          "range": "<9.26.0"
        }
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": "<9.26.0",
      "nodes": [
        "node_modules/eslint"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "eslint-config-wikimedia": {
      "name": "eslint-config-wikimedia",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "eslint"
      ],
      "effects": [],
      "range": ">=0.9.0",
      "nodes": [
        "node_modules/eslint-config-wikimedia"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 2,
      "high": 0,
      "critical": 0,
      "total": 2
    },
    "dependencies": {
      "prod": 53,
      "dev": 486,
      "optional": 2,
      "peer": 1,
      "peerOptional": 0,
      "total": 538
    }
  }
}

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "eslint": {
      "name": "eslint",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1112686,
          "name": "eslint",
          "dependency": "eslint",
          "title": "eslint has a Stack Overflow when serializing objects with circular references",
          "url": "https://github.com/advisories/GHSA-p5wg-g6qr-c7cg",
          "severity": "moderate",
          "cwe": [
            "CWE-674"
          ],
          "cvss": {
            "score": 5.5,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H"
          },
          "range": "<9.26.0"
        }
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": "<9.26.0",
      "nodes": [
        "node_modules/eslint"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "eslint-config-wikimedia": {
      "name": "eslint-config-wikimedia",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "eslint"
      ],
      "effects": [],
      "range": ">=0.9.0",
      "nodes": [
        "node_modules/eslint-config-wikimedia"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 2,
      "high": 0,
      "critical": 0,
      "total": 2
    },
    "dependencies": {
      "prod": 53,
      "dev": 486,
      "optional": 2,
      "peer": 1,
      "peerOptional": 0,
      "total": 538
    }
  }
}

--- 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
--- stdout ---
{
  "added": 538,
  "removed": 0,
  "changed": 0,
  "audited": 539,
  "funding": 119,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "eslint": {
        "name": "eslint",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1112686,
            "name": "eslint",
            "dependency": "eslint",
            "title": "eslint has a Stack Overflow when serializing objects with circular references",
            "url": "https://github.com/advisories/GHSA-p5wg-g6qr-c7cg",
            "severity": "moderate",
            "cwe": [
              "CWE-674"
            ],
            "cvss": {
              "score": 5.5,
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H"
            },
            "range": "<9.26.0"
          }
        ],
        "effects": [
          "eslint-config-wikimedia"
        ],
        "range": "<9.26.0",
        "nodes": [
          "",
          "node_modules/eslint"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "eslint-config-wikimedia": {
        "name": "eslint-config-wikimedia",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "eslint"
        ],
        "effects": [],
        "range": ">=0.9.0",
        "nodes": [
          "node_modules/eslint-config-wikimedia"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 2,
        "high": 0,
        "critical": 0,
        "total": 2
      },
      "dependencies": {
        "prod": 53,
        "dev": 486,
        "optional": 2,
        "peer": 1,
        "peerOptional": 0,
        "total": 538
      }
    }
  }
}

--- end ---
{"added": 538, "removed": 0, "changed": 0, "audited": 539, "funding": 119, "audit": {"auditReportVersion": 2, "vulnerabilities": {"eslint": {"name": "eslint", "severity": "moderate", "isDirect": false, "via": [{"source": 1112686, "name": "eslint", "dependency": "eslint", "title": "eslint has a Stack Overflow when serializing objects with circular references", "url": "https://github.com/advisories/GHSA-p5wg-g6qr-c7cg", "severity": "moderate", "cwe": ["CWE-674"], "cvss": {"score": 5.5, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H"}, "range": "<9.26.0"}], "effects": ["eslint-config-wikimedia"], "range": "<9.26.0", "nodes": ["", "node_modules/eslint"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "eslint-config-wikimedia": {"name": "eslint-config-wikimedia", "severity": "moderate", "isDirect": true, "via": ["eslint"], "effects": [], "range": ">=0.9.0", "nodes": ["node_modules/eslint-config-wikimedia"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 2, "high": 0, "critical": 0, "total": 2}, "dependencies": {"prod": 53, "dev": 486, "optional": 2, "peer": 1, "peerOptional": 0, "total": 538}}}}
$ /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 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 537 packages, and audited 538 packages in 6s

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

# npm audit report

eslint  <9.26.0
Severity: moderate
eslint has a Stack Overflow when serializing objects with circular references - https://github.com/advisories/GHSA-p5wg-g6qr-c7cg
fix available via `npm audit fix --force`
Will install eslint-config-wikimedia@0.8.1, which is a breaking change
node_modules/eslint
  eslint-config-wikimedia  >=0.9.0
  Depends on vulnerable versions of eslint
  node_modules/eslint-config-wikimedia

2 moderate 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 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 537 packages, and audited 538 packages in 6s

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

2 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
--- stderr ---
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
--- stdout ---

> api-testing@1.7.2 test
> npm run lint && nyc --reporter=lcov --reporter=text-summary --reporter=text _mocha --recursive


> api-testing@1.7.2 lint
> eslint --cache .



  The action api
    framework
      ✔ should be able to make a request to the action API
      ✔ should return the original error text if something goes wrong
      ✔ should ignore allowed errors
      ✔ should throw non-allowed errors
    tag management helpers
      ✔ should create a new tag and return existing
      ✔ should be idempotent with respect to new tag creation if force is true
      ✔ should handle deleting a non-existent tag gracefully

  Client Factory
    ✔ Should share supertest agent between REST and Action API Clients
    ✔ Should return a test client representing an anonymous user when agent is not supplied to constructor
    ✔ Should return a REST test client for a specific endpoint
    ✔ Should return a supertest agent with an empty cookie jar
    ✔ Should return a supertest agent with a cookie jar set

  Configuration
    using /tmp/aNJSalpKAG as the configuration root folder
Loading api-testing config from /tmp/aNJSalpKAG/.api-testing.config.json
      ✔ Use .api-testing.config.json file if API_TESTING_CONFIG_FILE does not exist
Loading api-testing config from /tmp/aNJSalpKAG/configs/quibble.json
      ✔ Select full path config set in API_TESTING_CONFIG_FILE env variable over local config
      ✔ Throw exception if config file set in API_TESTING_CONFIG_FILE does not exist
      ✔ Throws exception if ".api-testing.config.json" doesnt exist and API_TESTING_CONFIG_FILE is not set
    Using REST_BASE_URL for configuration
      ✔ should return a json when REST_BASE_URL is set
    Dynamic modification
      ✔ should apply after calling set()
      ✔ should apply after calling replace()
Loading api-testing config from /tmp/aNJSalpKAG/configs/quibble.json
      ✔ should apply after calling load()


  20 passing (158ms)


=============================== Coverage summary ===============================
Statements   : 72.32% ( 264/365 )
Branches     : 60.13% ( 89/148 )
Functions    : 64.1% ( 50/78 )
Lines        : 72.42% ( 260/359 )
================================================================================
-------------------|---------|----------|---------|---------|---------------------------------------
File               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                     
-------------------|---------|----------|---------|---------|---------------------------------------
All files          |   72.32 |    60.13 |    64.1 |   72.42 |                                       
 REST.js           |   34.37 |    21.05 |    12.5 |   34.37 | 52-139                                
 action_clients.js |   85.07 |    82.14 |   63.63 |   85.07 | 30,118-121,125-130,148-160            
 actionapi.js      |   64.12 |    64.28 |   66.66 |   63.28 | ...30,273-281,393-456,480-481,497-507 
 assert.js         |   57.14 |        0 |      20 |   57.14 | 23,35-38,51,62                        
 clientFactory.js  |     100 |      100 |     100 |     100 |                                       
 config.js         |   95.23 |    85.71 |    92.3 |   95.23 | 40,156                                
 utils.js          |   67.85 |       50 |    62.5 |   69.23 | 44-54,65,71,83,87,107,114             
 wiki.js           |      85 |    36.36 |   83.33 |   87.17 | 30,49,88-92,112                       
-------------------|---------|----------|---------|---------|---------------------------------------

--- 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/tmp_7s2_c2_
--- stdout ---
[master a3290b5] [DNM] there are no updates
 1 file changed, 15 insertions(+), 12 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From a3290b5668d981ea7035a26d3cba1dfa43a31a88 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 29 Jan 2026 18:55:41 +0000
Subject: [PATCH] [DNM] there are no updates

Change-Id: Iba312b6ed40bc8c0103b36cec641a2fff4db6165
---
 package-lock.json | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index ba9fa66..e18da37 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -401,21 +401,22 @@
 			}
 		},
 		"node_modules/@eslint/js": {
-			"version": "8.57.0",
-			"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
-			"integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
+			"version": "8.57.1",
+			"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
+			"integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
 			"dev": true,
 			"engines": {
 				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
 			}
 		},
 		"node_modules/@humanwhocodes/config-array": {
-			"version": "0.11.14",
-			"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
-			"integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
+			"version": "0.13.0",
+			"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
+			"integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
+			"deprecated": "Use @eslint/config-array instead",
 			"dev": true,
 			"dependencies": {
-				"@humanwhocodes/object-schema": "^2.0.2",
+				"@humanwhocodes/object-schema": "^2.0.3",
 				"debug": "^4.3.1",
 				"minimatch": "^3.0.5"
 			},
@@ -452,6 +453,7 @@
 			"version": "2.0.3",
 			"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
 			"integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
+			"deprecated": "Use @eslint/object-schema instead",
 			"dev": true
 		},
 		"node_modules/@isaacs/cliui": {
@@ -2169,16 +2171,17 @@
 			}
 		},
 		"node_modules/eslint": {
-			"version": "8.57.0",
-			"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
-			"integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
+			"version": "8.57.1",
+			"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
+			"integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
+			"deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.2.0",
 				"@eslint-community/regexpp": "^4.6.1",
 				"@eslint/eslintrc": "^2.1.4",
-				"@eslint/js": "8.57.0",
-				"@humanwhocodes/config-array": "^0.11.14",
+				"@eslint/js": "8.57.1",
+				"@humanwhocodes/config-array": "^0.13.0",
 				"@humanwhocodes/module-importer": "^1.0.1",
 				"@nodelib/fs.walk": "^1.2.8",
 				"@ungap/structured-clone": "^1.2.0",
-- 
2.47.3


--- end ---

npm dependencies

Dependencies
Development dependencies

Logs

Source code is licensed under the AGPL.