Skip to content

Commit fe45b35

Browse files
committed
chore: drop support for Node.js 14 and 16
1 parent 01d4059 commit fe45b35

8 files changed

Lines changed: 22 additions & 32 deletions

File tree

.github/workflows/ci.yaml

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,13 @@ jobs:
1010
strategy:
1111
fail-fast: false
1212
matrix:
13-
node: [14, 16, 18, 20]
13+
node: [18, 20, 22]
1414
steps:
1515
- uses: actions/checkout@v4
1616
- uses: actions/setup-node@v4
1717
with:
1818
node-version: ${{ matrix.node }}
1919
- run: node --version
20-
# Upgrade npm to newest supported version so it understands lockfile v3
21-
- run: npm install -g npm@9.9.3
22-
if: matrix.node == 14
2320
- run: npm install
2421
- run: npm test
2522
- name: coverage
@@ -32,8 +29,6 @@ jobs:
3229
- uses: actions/checkout@v4
3330
- uses: actions/setup-node@v4
3431
with:
35-
node-version: 14
36-
# Upgrade npm to newest supported version so it understands lockfile v3
37-
- run: npm install -g npm@9.9.3
32+
node-version: 20
3833
- run: npm install
3934
- run: npm run lint

README.md

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,15 @@
77
[pprof][pprof-url] support for Node.js.
88

99
## Prerequisites
10-
1. Your application will need to be using Node.js 14 or greater. This package is tested against
11-
[current versions of Node.js][node-versions]: 14, 16, 18, and 20.
12-
13-
2. The `pprof` module has a native component that is used to collect profiles
14-
with v8's CPU and Heap profilers. You may need to install additional
15-
dependencies to build this module.
16-
* For Linux: `pprof` has prebuilt binaries available for Linux and Alpine
17-
Linux for Node 14 and 16. No additional dependencies are required.
18-
* For other environments: when using `@google-cloud/profiler` on environments
19-
that `pprof` does not have prebuilt binaries for, the module
20-
[`node-gyp`](https://www.npmjs.com/package/node-gyp) will be used to
21-
build binaries. See `node-gyp`'s
22-
[documentation](https://github.com/nodejs/node-gyp#installation)
23-
for information on dependencies required to build binaries with `node-gyp`.
10+
1. Your application will need to be using Node.js 18 or greater. This package is tested against
11+
[current versions of Node.js][node-versions]: 18, 20, and 22.
12+
13+
2. The `pprof` module has a native component that is compiled on installation using
14+
[`node-gyp`](https://www.npmjs.com/package/node-gyp). You will need to install the build
15+
dependencies for `node-gyp`. See `node-gyp`'s
16+
[documentation](https://github.com/nodejs/node-gyp#installation) for details on
17+
the dependencies required for your platform.
18+
2419

2520
3. The [`pprof`][pprof-url] CLI can be used to view profiles collected with
2621
this module. Instructions for installing the `pprof` CLI can be found

package-lock.json

Lines changed: 3 additions & 3 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
@@ -1,6 +1,6 @@
11
{
22
"name": "pprof",
3-
"version": "4.0.0",
3+
"version": "5.0.0",
44
"description": "pprof support for Node.js",
55
"repository": {
66
"type": "git",
@@ -80,7 +80,7 @@
8080
]
8181
},
8282
"engines": {
83-
"node": ">=14.0.0"
83+
"node": ">=18.0.0"
8484
},
8585
"publishConfig": {
8686
"registry": "https://wombat-dressing-room.appspot.com"

system-test/system_test.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ cd $(dirname $0)
1414
# official releases. https://nodejs.org/en/about/releases/
1515
if [[ -z "$BINARY_HOST" ]]; then
1616
ADDITIONAL_PACKAGES="python3 g++ make"
17-
NODE_VERSIONS=(14 16 18 20)
17+
NODE_VERSIONS=(18 20 22)
1818
else
1919
# Tested versions for pre-built binaries are limited based on
2020
# what node-pre-gyp can specify as its target version.
21-
NODE_VERSIONS=(14 16)
21+
NODE_VERSIONS=(18 20 22)
2222
fi
2323

2424
for i in ${NODE_VERSIONS[@]}; do

tools/build/Dockerfile.alpine

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
FROM node:14-alpine
1+
FROM node:20-alpine
22
RUN apk add --no-cache python3 curl bash g++ make

tools/build/Dockerfile.linux

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
# are dynamically linked to certain C++ libraries, like libstdc++. Using an
44
# older docker image allows for some backwards compatibility.
55

6-
# node:14-stretch images has dependencies required to build pre-built binaries
6+
# node:20-bookworm images has dependencies required to build pre-built binaries
77
# already installed.
8-
FROM node:14-stretch
8+
FROM node:20-bookworm

tools/build/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ mkdir -p "$ARTIFACTS_OUT"
2828

2929
npm install --quiet
3030

31-
for version in 12.0.0 14.0.0 16.0.0 17.0.1
31+
for version in 18.0.0 20.0.0 22.0.0
3232
do
3333
./node_modules/.bin/node-pre-gyp configure rebuild package \
3434
--target=$version --target_arch="x64"

0 commit comments

Comments
 (0)