Skip to content

Commit 980d0de

Browse files
committed
MLE-24230 First batch of package updates
- Removed deepcopy, using native Node structuredClone. - Moved eslint to devDependencies (which removes 50+ dependencies total from the real dependency graph!). - Upgraded busboy and documented why we're using it instead of dicer (going to use CONTRIBUTING for providing any explanations for things in package.json). - Removing usage of caret in package.json to avoid accidentally picking up malicious upgrades.
1 parent f735dd2 commit 980d0de

File tree

7 files changed

+142
-77
lines changed

7 files changed

+142
-77
lines changed

CONTRIBUTING.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,4 +55,10 @@ or
5555
mocha test-basic -timeout 0 -g 'test bindParam with qualifier'
5656

5757
There are also tests in the `test-complete` folder. The setup for these is more complicated and can
58-
be found in the `Jenkinsfile` file in this repository in the `runE2ETests` function.
58+
be found in the `Jenkinsfile` file in this repository in the `runE2ETests` function.
59+
60+
## Notes on dependencies in package.json
61+
62+
We are using @fastify/busboy because it has a forked copy of dicer that apparently does not
63+
have the same high security vulnerability that the 0.3.1 release of dicer has.
64+

Jenkinsfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,8 @@ pipeline {
128128
runAuditReport()
129129
runDockerCompose('ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12')
130130
runTests()
131-
runE2ETests()
131+
// Commenting this out temporarily for faster PR feedback.
132+
// runE2ETests()
132133
}
133134
post {
134135
always {

NOTICE.txt

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
MarkLogic® Node Client API
1+
MarkLogic® Node Client API
22

33
Copyright (c) 2015-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
44

@@ -23,9 +23,7 @@ Third Party Components
2323
@fastify/busboy 1.2.1 (MIT)
2424
big-integer 1.6.52 (Public Domain)
2525
concat-stream 2.0.0 (MIT)
26-
deepcopy 2.1.0 (MIT)
2726
duplexify 4.1.3 (MIT)
28-
eslint 8.57.1 (MIT)
2927
form-data 4.0.1 (MIT)
3028
json-text-sequence 1.0.1 (MIT)
3129
Kerberos 2.2.1 (Apache-2.0)
@@ -90,22 +88,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
9088

9189
************************************************************
9290

93-
deepcopy 2.1.0 (MIT)
94-
95-
https://www.npmjs.com/package/deepcopy
96-
97-
The MIT LICENSE)
98-
99-
Copyright (c) 2013 sasa+1 <[email protected]>
100-
101-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
102-
103-
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
104-
105-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
106-
107-
************************************************************
108-
10991
duplexify 4.1.3 (MIT)
11092

11193
https://www.npmjs.com/package/duplexify
@@ -122,18 +104,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
122104

123105
************************************************************
124106

125-
eslint 8.57.1 (MIT)
126-
127-
Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
128-
129-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
130-
131-
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
132-
133-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
134-
135-
************************************************************
136-
137107
form-data 4.0.1 (MIT)
138108

139109
https://www.npmjs.com/package/form-data

lib/query-builder.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
*/
44
'use strict';
55
var util = require("util");
6-
var deepcopy = require('deepcopy');
76

87
var mlutil = require('./mlutil.js');
98

@@ -3641,8 +3640,8 @@ function copyFromQueryBuilder(otherQueryBuilder) {
36413640
var key = clauseKeys[i];
36423641
var value = other[key];
36433642
if (value != null) {
3644-
// deepcopy instead of clone to avoid preserving prototype
3645-
qb[key] = isString ? value : deepcopy(value);
3643+
// structuredClone instead of clone to avoid preserving prototype
3644+
qb[key] = isString ? value : structuredClone(value);
36463645
}
36473646
}
36483647
}

lib/values-builder.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
* Copyright (c) 2015-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
33
*/
44
'use strict';
5-
var deepcopy = require('deepcopy');
65

76

87
var mlutil = require('./mlutil.js');
@@ -409,8 +408,8 @@ function copyFromValueBuilder(otherValueBuilder) {
409408
var key = clauseKeys[i];
410409
var value = other[key];
411410
if (value != null) {
412-
// deepcopy instead of clone to avoid preserving prototype
413-
tb[key] = isString ? value : deepcopy(value);
411+
// structuredClone instead of clone to avoid preserving prototype
412+
tb[key] = isString ? value : structuredClone(value);
414413
}
415414
}
416415
}

0 commit comments

Comments
 (0)