deno/ext/node
Daniel Osvaldo Rahmanto 432761aac5
Some checks are pending
ci / build libs (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 / 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 / publish canary (push) Blocked by required conditions
fix(ext/node): fs.stat and fs.statSync compatibility (#30637)
Closes #30570

Changes in this PR:
- Implement `ino`, `nlink`, and `blocks` properties of `Deno.FileInfo`
on Windows. These changes are automatically reflected to the
corresponding node stat function. In order to do so, I had to tinker
with the
[createByteStruct](a3a904da14/ext/fs/30_fs.js (L297))
function to create another optional int type, apart from `?u64`. It's
common for small sized files on Windows (particularly NTFS file system)
to have a `Stats.blocks` property of 0, and currently all 0 values with
type `?u64` will be coerced into `null` by `createByteStruct`.
- Refactor the `BigIntStats` and `Stats` class, to use the same class
with Node.js that are provided from
[utils.mjs](7f8e488c36/ext/node/polyfills/internal/fs/utils.mjs (L577)).
Also ensures that all properties are not `null` or `undefined`.
- Addresses the `prefer-primordials` lint rule.
2025-09-15 15:29:30 +02:00
..
benchmarks chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
ops feat: V8 14.0.0 (#30629) 2025-09-08 22:12:54 +02:00
polyfills fix(ext/node): fs.stat and fs.statSync compatibility (#30637) 2025-09-15 15:29:30 +02:00
build.rs chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
Cargo.toml 2.5.0 (#30673) 2025-09-10 09:17:46 +05:30
clippy.toml fix(ext/node): support JS underlying stream in TLS (#30465) 2025-08-28 17:56:17 +05:30
global.rs chore: update to edition 2024 (#29923) 2025-07-02 17:59:39 -07:00
lib.rs fix(ext/node): fs.mkdtemp and fs.mkdtempSync compatibility (#30602) 2025-09-05 16:12:42 -04:00
README.md chore(ext/node): correct publishing for ext/node (#15461) 2022-08-11 17:25:41 -04:00
update_node_stream.ts fix(ext/node): upgrade node:stream (#28855) 2025-04-14 21:35:34 +05:30

deno_node

require and other node related functionality for Deno.