mirror of
https://github.com/oven-sh/bun
synced 2026-02-09 10:28:47 +00:00
Natively support CommonJS at runtime (#3104)
* Natively support CommonJS at runtime * cleanup how getters are handled, add fast path * more consistent with node * use * As * Remove thrown modules on exception * Handle exception better --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
This commit is contained in:
@@ -35,6 +35,7 @@
|
||||
#include "../modules/NodeModuleModule.h"
|
||||
#include "../modules/TTYModule.h"
|
||||
#include "node_util_types.h"
|
||||
#include "CommonJSModuleRecord.h"
|
||||
|
||||
namespace Bun {
|
||||
using namespace Zig;
|
||||
@@ -475,6 +476,11 @@ static JSValue fetchSourceCode(
|
||||
Bun__transpileFile(bunVM, globalObject, specifier, referrer, res, false);
|
||||
}
|
||||
|
||||
if (res->success && res->result.value.commonJSExportsLen) {
|
||||
auto source = Bun::createCommonJSModule(globalObject, res->result.value);
|
||||
return rejectOrResolve(JSSourceCode::create(vm, WTFMove(source)));
|
||||
}
|
||||
|
||||
if (!res->success) {
|
||||
throwException(scope, res->result.err, globalObject);
|
||||
auto* exception = scope.exception();
|
||||
|
||||
Reference in New Issue
Block a user