Skip to content

Commit f636254

Browse files
feat(NODE-6625)!: remove support for Node 16 and 18 (#821)
1 parent af81d0f commit f636254

File tree

11 files changed

+22
-62
lines changed

11 files changed

+22
-62
lines changed

.eslintrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
},
2020
"parser": "@typescript-eslint/parser",
2121
"parserOptions": {
22-
"ecmaVersion": 2020,
22+
"ecmaVersion": 2023,
2323
"project": [
2424
"./tsconfig.json"
2525
]

.evergreen/config.yml

Lines changed: 7 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -134,37 +134,12 @@ functions:
134134
args:
135135
- .evergreen/run-spec-benchmarks.sh
136136
tasks:
137-
- name: node-tests-v16
138-
tags: ["node"]
139-
commands:
140-
- func: fetch source
141-
vars:
142-
NODE_LTS_VERSION: 16
143-
NPM_VERSION: 9
144-
- func: install dependencies
145-
vars:
146-
NODE_LTS_VERSION: 16
147-
NPM_VERSION: 9
148-
- func: run tests
149-
vars:
150-
TEST_TARGET: node
151-
- name: node-tests-v18
152-
tags: ["node"]
153-
commands:
154-
- func: fetch source
155-
vars:
156-
NODE_LTS_VERSION: 18
157-
NPM_VERSION: 10
158-
- func: install dependencies
159-
- func: run tests
160-
vars:
161-
TEST_TARGET: node
162137
- name: node-tests-v20
163138
tags: ["node"]
164139
commands:
165140
- func: fetch source
166141
vars:
167-
NODE_LTS_VERSION: 20
142+
NODE_LTS_VERSION: "20.19.0"
168143
- func: install dependencies
169144
- func: run tests
170145
- name: node-tests-v22
@@ -256,8 +231,8 @@ tasks:
256231
commands:
257232
- func: fetch source
258233
vars:
259-
# This needs to stay pinned at Node v18.16.0 for consistency across perf runs.
260-
NODE_LTS_VERSION: v18.16.0
234+
# This needs to stay pinned at Node v22.11.0 for consistency across perf runs.
235+
NODE_LTS_VERSION: v22.11.0
261236
NPM_VERSION: 9
262237
- func: install dependencies
263238
vars:
@@ -273,8 +248,8 @@ tasks:
273248
commands:
274249
- func: fetch source
275250
vars:
276-
# This needs to stay pinned at Node v18.16.0 for consistency across perf runs.
277-
NODE_LTS_VERSION: v18.16.0
251+
# This needs to stay pinned at Node v22.11.0 for consistency across perf runs.
252+
NODE_LTS_VERSION: v22.11.0
278253
NPM_VERSION: 9
279254
- func: install dependencies
280255
vars:
@@ -287,8 +262,8 @@ tasks:
287262
commands:
288263
- func: fetch source
289264
vars:
290-
# This needs to stay pinned at Node v18.16.0 for consistency across perf runs.
291-
NODE_LTS_VERSION: v18.16.0
265+
# This needs to stay pinned at Node v22.11.0 for consistency across perf runs.
266+
NODE_LTS_VERSION: v22.11.0
292267
NPM_VERSION: 9
293268
- func: install dependencies
294269
vars:

.evergreen/install-dependencies.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -o errexit # Exit the script with error if any of the commands fail
55
## a nodejs major version (i.e., 16)
66
## 'latest'
77
## a full nodejs version, in the format v<major>.<minor>.patch
8-
export NODE_LTS_VERSION=${NODE_LTS_VERSION:-16}
8+
export NODE_LTS_VERSION=${NODE_LTS_VERSION:-20.19.0}
99
# npm version can be defined in the environment for cases where we need to install
1010
# a version lower than latest to support EOL Node versions. When not provided will
1111
# be handled by this script in drivers tools.

.github/dependabot.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,6 @@ updates:
2020
# sinon-chai 4.x+ supports chai 5.x+.
2121
- dependency-name: "sinon-chai"
2222
versions: [">=4.0.0"]
23-
# nyc is Node18+ only starting on nyc@16.x.
24-
- dependency-name: "nyc"
25-
versions: [">=16.0.0"]
2623
# we ignore TS as a part of quarterly dependency updates.
2724
- dependency-name: "typescript"
2825
groups:

etc/eslint/no-bigint-usage/test/no_bigint_literals.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
const { rules } = require('../index');
22
const { RuleTester } = require('eslint');
33

4-
const ruleTester = new RuleTester({ languageOptions: { ecmaVersion: 2020 } });
4+
const ruleTester = new RuleTester({ languageOptions: { ecmaVersion: 2023 } });
55

66
ruleTester.run('no-bigint-literals', rules['no-bigint-literals'], {
77
valid: [{

package-lock.json

Lines changed: 1 addition & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@
9393
"require": "./lib/bson.cjs"
9494
},
9595
"engines": {
96-
"node": ">=16.20.1"
96+
"node": ">=20.19.0"
9797
},
9898
"scripts": {
9999
"pretest": "npm run build",
@@ -117,4 +117,4 @@
117117
"prepare": "node etc/prepare.js",
118118
"release": "standard-version -i HISTORY.md"
119119
}
120-
}
120+
}

rollup.config.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ const tsConfig = {
99
checkJs: false,
1010
strict: true,
1111
alwaysStrict: true,
12-
target: 'es2021',
12+
target: 'es2023',
1313
module: 'esnext',
1414
moduleResolution: 'node',
1515
removeComments: true,
16-
lib: ['es2021', 'ES2022.Error'],
16+
lib: ['es2023'],
1717
importHelpers: false,
1818
noEmitHelpers: false,
1919
noEmitOnError: true,

test/.eslintrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"globalThis": true
1515
},
1616
"parserOptions": {
17-
"ecmaVersion": 2020
17+
"ecmaVersion": 2023
1818
},
1919
"extends": [
2020
"eslint:recommended",

test/bench/custom/main.mjs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ async function completeSuite() {
3737
if (++completedSuites >= collectedSuites.length) {
3838
let cpuBaselineResults;
3939
try {
40-
cpuBaselineResults = await import('../etc/cpuBaseline.json', { assert: { type: 'json' } });
40+
cpuBaselineResults = await import('../etc/cpuBaseline.json', {
41+
with: { type: 'json' }
42+
});
4143
} catch (cause) {
4244
throw new Error("Couldn't find baseline results", { cause });
4345
}

0 commit comments

Comments
 (0)