]> git.saurik.com Git - cycript.git/blobdiff - Execute.cpp
Transform ECMAScript 6 import as CommonJS require.
[cycript.git] / Execute.cpp
index 3d9d6c4c4f9a52b0308422d5d509ef48f0ee051a..c6812a2ef4b0d4666d3863531813a75fa30cf110 100644 (file)
@@ -2092,7 +2092,13 @@ static JSValueRef require(JSContextRef context, JSObjectRef object, JSObjectRef
         CYCallAsFunction(context, function, NULL, 3, arguments);
     }
 
-    return CYGetProperty(context, module, property);
+    JSObjectRef exports(CYCastJSObject(context, CYGetProperty(context, module, property)));
+
+    CYJSString _default("default");
+    if (JSValueIsUndefined(context, CYGetProperty(context, exports, _default)))
+        CYSetProperty(context, exports, _default, exports, kJSPropertyAttributeDontEnum);
+
+    return exports;
 } CYCatch(NULL) }
 
 static bool CYRunScript(JSGlobalContextRef context, const char *path) {