Repository navigation
Tracking Issue: process.binding to internalBinding #22160
Copy link
Copy link
Closed
Labels
c++Issues and PRs that require attention from people who are familiar with C++.Issues and PRs that require attention from people who are familiar with C++.help wantedIssues that need assistance from volunteers or PRs that need help to proceed.Issues that need assistance from volunteers or PRs that need help to proceed.
Description
Moving from process.binding() to internalBinding() will be a significant effort. There are hundreds of process.binding() uses inside core and many many userland references. It's going to take a while to convert everything.
TODO
-
inspector(this one is quite non-trivial... will require additional thought)
Done
-
async_wrapsrc: move process.binding('async_wrap') internal #22469 -
bufferbuffer: move process.binding('buffer') to internalBinding #22370 -
cares_wrapdns: make process.binding('cares_wrap') internal #22474 -
cryptocrypto: move process.binding('crypto') to internal #22426 -
configsrc,lib: make process.binding('config') internal #23400 -
constantssrc,lib: movenativesandconstantstointernalBinding()#23663 -
contextifyvm: move process.binding('contextify') to internalBinding #22419 -
fsfs: make process.binding('fs') internal #22478 -
fs_event_wrapfs: make fs_event_wrap binding internal #22480 -
http2http2: move process.binding('http2') to internalBinding #22328 -
http_parserhttp_parser: move process.binding('http_parser') to internalBinding #22329 -
icuicu: make process.binding('icu') internal #23234 -
js_streamjs_stream: move process.binding('js_stream') to internalBinding #22239 -
nativessrc,lib: movenativesandconstantstointernalBinding()#23663 -
osos: move process.binding('os') to internalBinding #25087 -
performancesrc: move process.binding('performance') to internalBinding #22029 -
pipe_wraplib: make pipe_wrap binding internal #22482 -
process_wrapchild_process: make process_wrap binding internal #22479 -
serdesv8: move serdes to internalBinding #22161 -
signal_wrapsrc: move process.binding('signal_wrap') to internalBinding #22290 -
spawn_syncspawn_sync: move process.binding('spawn_sync') to internalBinding #22260 -
stream_wrap -
tcp_wrapsrc: move process.binding('tcp_wrap') to internal #22432 -
tls_wrapcrypto: move process.binding('tls_wrap') internal #22429 -
trace_eventstrace_events: move trace_events to internalBinding #22159 -
tty_wraptty: make process.binding('tty_wrap') internal #22477 -
udp_wrapdgram: make process.binding('udp_wrap') internal #22475 -
urlurl: move process.binding('url') to internalBinding #22204 -
utilutil: make util binding internal #22675 -
uvuv: move process.binding('uv') to internalBinding #22163 -
v8v8: move process.binding('v8') to internalBinding #22288 -
zlib(removingprocess.binding('zlib')breaks npm) zlib: move process.binding('zlib') to internalBinding #23307
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
c++Issues and PRs that require attention from people who are familiar with C++.Issues and PRs that require attention from people who are familiar with C++.help wantedIssues that need assistance from volunteers or PRs that need help to proceed.Issues that need assistance from volunteers or PRs that need help to proceed.
Activity
devsnek commentedon Aug 6, 2018
updated to include all usage of NODE_BUILTIN_MODULE_CONTEXT_AWARE
jasnell commentedon Aug 6, 2018
I've got
uvin progress nowdevsnek commentedon Aug 6, 2018
@ChALkeR would it be possible to get info about the relative usage of all of these? i'm assuming there are some like serdes we can kill right away and others like util that will take longer.
jasnell commentedon Aug 6, 2018
I tried doing zlib but it broke npm.
I tried doing config but there's a buffer test that isn't feasible if config is moved. Planning to refactor
maclover7 commentedon Aug 6, 2018
Just double checking, should all migration PRs should be marked as semver-major?
jasnell commentedon Aug 6, 2018
Unfortunately that's likely the best thing.
jasnell commentedon Aug 6, 2018
For some of this it's likely going to be quite tricky to have a proper migration strategy in place given that moving something over to
internalBinding()means that theprocess.binding()version just stops working. We're going to have to take it very slow and work on migrating the bits with the smallest immediate impact and working up from there.v8: move serdes to internalBinding
pratik0509 commentedon Aug 12, 2018
I would also like to contribute here. Can you please give me some heads up?
82 remaining items
src,lib: make process.binding('config') internal
inspector: move process.binding to internalBinding
inspector: move process.binding to internalBinding
fs: make process.binding('fs') internal
src,lib: make process.binding('config') internal
inspector: move process.binding to internalBinding
src,lib: make process.binding('config') internal
inspector: move process.binding to internalBinding
inspector: move process.binding to internalBinding
fs: make process.binding('fs') internal
src,lib: make process.binding('config') internal
inspector: move process.binding to internalBinding
lib: migrate process.binding to internalBinding
lib: migrate process.binding to internalBinding
lib: migrate process.binding to internalBinding