aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/ZigGlobalObject.cpp
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-06-01 18:04:09 -0700
committerGravatar GitHub <noreply@github.com> 2023-06-01 18:04:09 -0700
commit3e84f18cc03a6bab898235ff2a9827b47a83aac9 (patch)
tree160b0bd3cf1b707bf68f500f0a82e85807a0fa99 /src/bun.js/bindings/ZigGlobalObject.cpp
parent42606d6aed323fa24b6783b24624e9f57cb9ef9d (diff)
downloadbun-3e84f18cc03a6bab898235ff2a9827b47a83aac9.tar.gz
bun-3e84f18cc03a6bab898235ff2a9827b47a83aac9.tar.zst
bun-3e84f18cc03a6bab898235ff2a9827b47a83aac9.zip
Implement `__dirname` and `__filename`, allow direct eval in CommonJS (#3164)
* Implement `__dirname` and `__filename`, allow direct eval in CommonJS * Fixup dirname and add test --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/bun.js/bindings/ZigGlobalObject.cpp')
-rw-r--r--src/bun.js/bindings/ZigGlobalObject.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/bun.js/bindings/ZigGlobalObject.cpp b/src/bun.js/bindings/ZigGlobalObject.cpp
index 2a6be49b2..0a453a9c8 100644
--- a/src/bun.js/bindings/ZigGlobalObject.cpp
+++ b/src/bun.js/bindings/ZigGlobalObject.cpp
@@ -2619,7 +2619,7 @@ void GlobalObject::finishCreation(VM& vm)
JSC::Structure* structure = globalObject->structureCache().emptyObjectStructureForPrototype(
globalObject,
globalObject->objectPrototype(),
- 3);
+ 5);
JSC::PropertyOffset offset;
auto& vm = globalObject->vm();
@@ -2640,6 +2640,20 @@ void GlobalObject::finishCreation(VM& vm)
structure = structure->addPropertyTransition(
vm,
structure,
+ JSC::Identifier::fromString(vm, "__dirname"_s),
+ 0,
+ offset);
+
+ structure = structure->addPropertyTransition(
+ vm,
+ structure,
+ JSC::Identifier::fromString(vm, "__filename"_s),
+ 0,
+ offset);
+
+ structure = structure->addPropertyTransition(
+ vm,
+ structure,
JSC::Identifier::fromString(vm, "require"_s),
JSC::PropertyAttribute::Function | JSC::PropertyAttribute::Builtin | 0,
offset);