restify / restify/node-restify
[DEP0111] deprecation warning from restify's dependency on node 16
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 10.7k
- Forks
- 975
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 5
Description
- Used appropriate template for the issue type
- Searched both open and closed issues for duplicates of this issue
- Title adequately and concisely reflects the feature or the bug
Restify Version: 8.5.1
Node.js Version: 16.1.0
Expected behaviour
No node deprecation warnings. This is mostly important in the longer term, because if the subsequent LTS version drops the deprecated functionality, that means that restify will be incompatible with node 18.
Actual behaviour
When starting the server:
(node:1751) [DEP0111] DeprecationWarning: Access to process.binding('http_parser') is deprecated.
at process.binding (node:internal/bootstrap/loaders:133:17)
at Object.<anonymous> (/dist/node_modules/http-deceiver/lib/deceiver.js:22:24)
// cut short
Repro case
Installing restify 8.5.1 and spinning up a restify server on node 16 seems to be enough to trigger the warning.
Cause
Dependency chain: restify -> spdy -> http-deceiver
Are you willing and able to fix this?
I don't think I'm able to. The core functionality that accesses process.binding lives in the http-deceiver package, which is part of spdy.
Unless the behavior can be changed there, or the whole dependency can be replaced, I'm not sure what else can be done.
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.
Research direction
Reproduce the warning with Restify 8.5.1 on Node.js 16, then inspect dist/node_modules/http-deceiver/lib/deceiver.js and the restify → spdy → http-deceiver dependency chain. Determine whether the deprecated process.binding('http_parser') access can be changed in that dependency or requires replacement. Done means starting a Restify server produces no DEP0111 warning and remains compatible with the stated Node.js versions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100