diff options
-rw-r--r-- | docs/ecosystem/nodejs.md | 2 | ||||
-rw-r--r-- | packages/bun-types/fs/promises.d.ts | 2 | ||||
-rw-r--r-- | src/bun.js/fs.exports.js | 2 | ||||
-rw-r--r-- | src/bun.js/fs_promises.exports.js | 1 | ||||
-rw-r--r-- | src/bun.js/module_loader.zig | 8 | ||||
-rw-r--r-- | test/js/node/fs/fs.test.ts | 5 |
6 files changed, 14 insertions, 6 deletions
diff --git a/docs/ecosystem/nodejs.md b/docs/ecosystem/nodejs.md index d74acc8ca..c821d3d9a 100644 --- a/docs/ecosystem/nodejs.md +++ b/docs/ecosystem/nodejs.md @@ -87,7 +87,7 @@ This page is updated regularly to reflect compatibility status of the latest ver - {% anchor id="node_fs" %} [`node:fs`](https://nodejs.org/api/fs.html) {% /anchor %} - 🟡 -- Missing `fs.constants` `fs.fdatasync{Sync}` `fs.opendir{Sync}` `fs.readv{Sync}` `fs.{watch|watchFile|unwatchFile}` `fs.writev{Sync}`. +- Missing `fs.fdatasync{Sync}` `fs.opendir{Sync}` `fs.readv{Sync}` `fs.{watch|watchFile|unwatchFile}` `fs.writev{Sync}`. --- diff --git a/packages/bun-types/fs/promises.d.ts b/packages/bun-types/fs/promises.d.ts index 71465c8f8..0d71464b9 100644 --- a/packages/bun-types/fs/promises.d.ts +++ b/packages/bun-types/fs/promises.d.ts @@ -28,6 +28,8 @@ declare module "fs/promises" { RmDirOptions, } from "node:fs"; + const constants: typeof import("node:fs")["constants"]; + interface FlagAndOpenMode { mode?: Mode | undefined; flag?: OpenMode | undefined; diff --git a/src/bun.js/fs.exports.js b/src/bun.js/fs.exports.js index 9036e14a2..dfb1947e7 100644 --- a/src/bun.js/fs.exports.js +++ b/src/bun.js/fs.exports.js @@ -925,7 +925,7 @@ export default { chownSync, close, closeSync, - constants, + constants: promises.constants, copyFile, copyFileSync, createReadStream, diff --git a/src/bun.js/fs_promises.exports.js b/src/bun.js/fs_promises.exports.js index fbf7cf641..f1026b5d0 100644 --- a/src/bun.js/fs_promises.exports.js +++ b/src/bun.js/fs_promises.exports.js @@ -110,5 +110,6 @@ export default { lutimes, rm, rmdir, + constants, [Symbol.for("CommonJS")]: 0, }; diff --git a/src/bun.js/module_loader.zig b/src/bun.js/module_loader.zig index 71990a7ac..4f57d8c67 100644 --- a/src/bun.js/module_loader.zig +++ b/src/bun.js/module_loader.zig @@ -1672,7 +1672,7 @@ pub const ModuleLoader = struct { if (comptime Environment.isDebug) { return ResolvedSource{ .allocator = null, - .source_code = ZigString.init(strings.append(bun.default_allocator, JSC.Node.fs.constants_string, jsModuleFromFile(jsc_vm.load_builtins_from_path, "fs.exports.js")) catch unreachable), + .source_code = ZigString.init(jsModuleFromFile(jsc_vm.load_builtins_from_path, "fs.exports.js")), .specifier = ZigString.init("node:fs"), .source_url = ZigString.init("node:fs"), .hash = 0, @@ -1680,7 +1680,7 @@ pub const ModuleLoader = struct { } else if (jsc_vm.load_builtins_from_path.len != 0) { return ResolvedSource{ .allocator = null, - .source_code = ZigString.init(strings.append(bun.default_allocator, JSC.Node.fs.constants_string, jsModuleFromFile(jsc_vm.load_builtins_from_path, "fs.exports.js")) catch unreachable), + .source_code = ZigString.init(jsModuleFromFile(jsc_vm.load_builtins_from_path, "fs.exports.js")), .specifier = ZigString.init("node:fs"), .source_url = ZigString.init("node:fs"), .hash = 0, @@ -1689,7 +1689,7 @@ pub const ModuleLoader = struct { return ResolvedSource{ .allocator = null, - .source_code = ZigString.init(JSC.Node.fs.constants_string ++ @embedFile("fs.exports.js")), + .source_code = ZigString.init(@embedFile("fs.exports.js")), .specifier = ZigString.init("node:fs"), .source_url = ZigString.init("node:fs"), .hash = 0, @@ -1733,7 +1733,7 @@ pub const ModuleLoader = struct { .@"node:fs/promises" => { return ResolvedSource{ .allocator = null, - .source_code = ZigString.init(@embedFile("fs_promises.exports.js") ++ JSC.Node.fs.constants_string), + .source_code = ZigString.init(JSC.Node.fs.constants_string ++ @embedFile("fs_promises.exports.js")), .specifier = ZigString.init("node:fs/promises"), .source_url = ZigString.init("node:fs/promises"), .hash = 0, diff --git a/test/js/node/fs/fs.test.ts b/test/js/node/fs/fs.test.ts index f7b343539..83739837c 100644 --- a/test/js/node/fs/fs.test.ts +++ b/test/js/node/fs/fs.test.ts @@ -1093,6 +1093,11 @@ it("fs.constants", () => { expect(constants.S_IWOTH).toBeDefined(); }); +it("fs.promises.constants", () => { + expect(promises.constants).toBeDefined(); + expect(promises.constants).toBe(fs.constants); +}); + it("fs.Dirent", () => { expect(Dirent).toBeDefined(); }); |