create node pr: Node.js 20 deprecation & `DEP0040` warnings logged
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Newbie friendliness
- 80/100
Research direction
The issue points to the template file at scripts/template-oss/create-node-pr-yml.hbs. Look at line 24 to find the outdated actions/checkout@v3 reference. Update it to actions/checkout@v7. Verify the change by checking the GitHub Actions workflow syntax and ensuring no other references need updating. The fix is a one-line change in a template file.
Written by the indexing model from the issue text.
Description
Situation
When .github/workflows/create-node-pr.yml is executed to promote an npm release for packaging into Node.js, the following deprecation warnings are logged:
- a Node.js 20 deprecation warning from GitHub Actions and
- a DEP0040
node:punycode moduledeprecation warning
Logs
https://github.com/npm/cli/actions/runs/35881707767
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
https://github.com/npm/cli/actions/runs/35881707767/job/107251530925
Run actions/checkout@v3
(node:2429) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Suggestion
Update the template https://github.com/npm/cli/blob/c039090578a5b21a1aa3aba9c96e199feaf1823a/scripts/template-oss/create-node-pr-yml.hbs#L24 :
| FROM | TO |
|---|---|
| actions/checkout@v3 | actions/checkout@v7 |
- actions/checkout@v3 is an outdated release (originally from Mar 2022) which targets usage on
node16. It is forced to run undernode24. - actions/checkout@v7 is the currenet release which targets usage natively on
node24
Although this is a simple update, I prefer to leave a PR to the npm team, since I'm not able to test PR creation from the npm/cli repo into the nodejs/node end-to-end.
cc: @reggi
- Dominant language
- JavaScript
- Stars
- 10.1k
- Forks
- 4.7k
- Avg merge
- 3d 6h
- Merged PRs (30d)
- 18
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from npm/cli
-
Engineering
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Bug Needs Triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
[DOCS] `npm trust circle` docs should warn that OIDC token exchange in SSH reruns isn't supported OpenDocumentation Needs Triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Documentation Needs Triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
antfu-collective/icones#398 ·
-
ECmail.com Open
Difficulty 1/5 Under an hour Newbie friendliness 90/100
wesbos/burner-email-providers#554 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
radiantearth/stac-browser#1023 ·
-
HMR stops working Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
components-web-app/docs#92 ·