Skip to content

Commit 12b38c9

Browse files
authored
Merge pull request #105 from cypress-io/deps/rm-uuid
chore(deps): Remove the `uuid` dependency and use Node's built-in `crypto.randomUUID()` for HTTP digest `cnonce` (with hyphen stripping unchanged) and multipart boundaries. BREAKING CHANGE: The minimum supported Node.js version is now >= 14.17.0 (`crypto.randomUUID()`). Consumers must run on Node 14.17+ (or a newer supported release). Upgrade Node before upgrading @cypress/request. Projects pinned to older Node versions will fail at install time due to the `engines` field and may fail at runtime if they bypass it. Refs: #105
2 parents e783d90 + e334dd8 commit 12b38c9

4 files changed

Lines changed: 32 additions & 239 deletions

File tree

lib/auth.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict'
22

33
var caseless = require('caseless')
4-
var { v4: uuid } = require('uuid')
4+
var { randomUUID } = require('crypto')
55
var helpers = require('./helpers')
66

77
var md5 = helpers.md5
@@ -89,7 +89,7 @@ Auth.prototype.digest = function (method, path, authHeader) {
8989

9090
var qop = /(^|,)\s*auth\s*($|,)/.test(challenge.qop) && 'auth'
9191
var nc = qop && '00000001'
92-
var cnonce = qop && uuid().replace(/-/g, '')
92+
var cnonce = qop && randomUUID().replace(/-/g, '')
9393
var ha1 = ha1Compute(challenge.algorithm, self.user, challenge.realm, self.pass, challenge.nonce, cnonce)
9494
var ha2 = md5(method + ':' + path)
9595
var digestResponse = qop

lib/multipart.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
'use strict'
22

3-
var { v4: uuid } = require('uuid')
3+
var { randomUUID } = require('crypto')
44
var CombinedStream = require('combined-stream')
55
var isstream = require('isstream')
66
var Buffer = require('safe-buffer').Buffer
77

88
function Multipart (request) {
99
this.request = request
10-
this.boundary = uuid()
10+
this.boundary = randomUUID()
1111
this.chunked = false
1212
this.body = null
1313
}

package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
},
1919
"license": "Apache-2.0",
2020
"engines": {
21-
"node": ">= 6"
21+
"node": ">= 14.17.0"
2222
},
2323
"main": "index.js",
2424
"files": [
@@ -43,8 +43,7 @@
4343
"qs": "~6.14.1",
4444
"safe-buffer": "^5.1.2",
4545
"tough-cookie": "^5.0.0",
46-
"tunnel-agent": "^0.6.0",
47-
"uuid": "^8.3.2"
46+
"tunnel-agent": "^0.6.0"
4847
},
4948
"scripts": {
5049
"test": "npm run lint && npm run test-ci && npm run test-browser",

0 commit comments

Comments
 (0)