deno/ext/node/polyfills/internal_binding
Divy 36e9eb2023
Some checks are pending
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
fix(ext/node): support JS underlying stream in TLS (#30465)
Fixes https://github.com/denoland/deno/issues/20594

This implements `JSStreamSocket` which drives the TLS underlying stream
in `rustls_tokio_stream` using 2 sets of channels. One for piping the
encrypted protocol transport and the other for plaintext application
data.

This fixes connecting to `npm:mssql`:
```js
import sql from "npm:mssql";

const sqlConfig = {
  server: "localhost",
  user: "divy",
  password: "123",
  database: "master",
  options: {
    trustServerCertificate: true,
  },
};

const pool = await sql.connect(sqlConfig);
const result = await pool.request().query(`SELECT * FROM sys.databases`);
```
2025-08-28 17:56:17 +05:30
..
_libuv_winerror.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
_listen.ts fix(ext/node): use primordials in ext/node/polyfills/internal_binding/_listen.ts (#30100) 2025-07-21 13:35:42 +02:00
_node.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
_timingSafeEqual.ts fix(ext/node): crypto.timingSafeEqual (#29758) 2025-06-16 21:33:49 +09:00
_utils.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
ares.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
async_wrap.ts refactor(ext/node): rewrite HandleWrap in Rust (#28765) 2025-04-10 17:20:25 +05:30
buffer.ts fix(ext/node): use primordials in ext/node/polyfills/internal_binding/buffer.ts (#30287) 2025-08-05 13:10:45 +00:00
cares_wrap.ts fix(ext/node): improve getaddrinfo compatibility (#29501) 2025-06-02 11:34:36 +09:00
connection_wrap.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
constants.ts fix(ext/node): define fs constants correctly across platforms (#30113) 2025-07-31 17:11:01 -04:00
crypto.ts fix(ext/node): stub getFipsCrypto to false (#29485) 2025-05-30 15:15:03 +09:00
handle_wrap.ts refactor(ext/node): rewrite HandleWrap in Rust (#28765) 2025-04-10 17:20:25 +05:30
http_parser.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
mod.ts test(ext/node): expose TTY class from tty_wrap for testing (#29862) 2025-06-25 12:54:35 +09:00
node_file.ts fix(ext/node): use primordials in ext/node/polyfills/internal_binding/node_file.ts (#30066) 2025-07-31 10:28:58 -04:00
node_options.ts fix(ext/node): support DEP0005 deprecation warning (#29530) 2025-06-04 12:25:32 +09:00
pipe_wrap.ts fix(ext/node): use primordials in ext/node/polyfills/internal_binding/pipe_wrap.ts (#30241) 2025-07-30 09:44:29 -04:00
README.md feat(ext/node): embed std/node into the snapshot (#17724) 2023-02-14 17:38:45 +01:00
stream_wrap.ts fix(ext/node): support JS underlying stream in TLS (#30465) 2025-08-28 17:56:17 +05:30
string_decoder.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
symbols.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
tcp_wrap.ts fix(ext/node): better dns.lookup compatibility (#27936) 2025-04-02 11:38:07 +09:00
tty_wrap.ts test(ext/node): expose TTY class from tty_wrap for testing (#29862) 2025-06-25 12:54:35 +09:00
types.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
udp_wrap.ts fix(ext/node): implement dgram setMulticastLoopback (#29241) 2025-05-12 08:53:15 +05:30
util.ts fix(ext/node): fix Buffer.inspect compatiblity (#29617) 2025-06-05 14:44:06 +05:30
uv.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00

Internal Bindings

The modules in this directory implement (simulate) C++ bindings implemented in the ./src/ directory of the Node.js repository.

These bindings are created in the Node.js source code by using NODE_MODULE_CONTEXT_AWARE_INTERNAL.

Please refer to https://github.com/nodejs/node/blob/master/src/README.md for further information.