aboutsummaryrefslogtreecommitdiff
path: root/src/js_parser.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/js_parser.zig')
-rw-r--r--src/js_parser.zig44
1 files changed, 38 insertions, 6 deletions
diff --git a/src/js_parser.zig b/src/js_parser.zig
index 392d7d922..2ce10a77d 100644
--- a/src/js_parser.zig
+++ b/src/js_parser.zig
@@ -21186,7 +21186,7 @@ fn NewParser_(
logger.Loc.Empty,
);
const cjsGlobal = p.newSymbol(.unbound, "$_BunCommonJSModule_$") catch unreachable;
- var all_call_args = allocator.alloc(Expr, 7) catch unreachable;
+ var all_call_args = allocator.alloc(Expr, 8) catch unreachable;
const this_module = p.newExpr(
E.Dot{
.name = "module",
@@ -21195,9 +21195,19 @@ fn NewParser_(
},
logger.Loc.Empty,
);
- var call_args = all_call_args[1..];
+
var bind_args = all_call_args[0..1];
bind_args[0] = this_module;
+ var bind_resolve_args = all_call_args[1..2];
+ var call_args = all_call_args[2..];
+
+ const module_id = p.newExpr(E.Dot{
+ .name = "id",
+ .target = this_module,
+ .name_loc = logger.Loc.Empty,
+ }, logger.Loc.Empty);
+
+ bind_resolve_args[0] = module_id;
const get_require = p.newExpr(
E.Dot{
.name = "require",
@@ -21219,12 +21229,24 @@ fn NewParser_(
logger.Loc.Empty,
);
- const module_id = p.newExpr(E.Dot{
- .name = "id",
- .target = this_module,
+ const get_resolve = p.newExpr(E.Dot{
+ .name = "resolve",
.name_loc = logger.Loc.Empty,
+ .target = get_require,
}, logger.Loc.Empty);
+ const create_resolve_binding = p.newExpr(
+ E.Call{
+ .target = p.newExpr(E.Dot{
+ .name = "bind",
+ .name_loc = logger.Loc.Empty,
+ .target = get_resolve,
+ }, logger.Loc.Empty),
+ .args = bun.BabyList(Expr).init(bind_resolve_args),
+ },
+ logger.Loc.Empty,
+ );
+
const require_path = p.newExpr(
E.Dot{
.name = "path",
@@ -21242,15 +21264,25 @@ fn NewParser_(
logger.Loc.Empty,
);
+ const assign_resolve_binding = p.newExpr(
+ E.Binary{
+ .left = get_resolve,
+ .right = create_resolve_binding,
+ .op = .bin_assign,
+ },
+ logger.Loc.Empty,
+ );
+
const assign_id = p.newExpr(E.Binary{
.left = require_path,
.right = module_id,
.op = .bin_assign,
}, logger.Loc.Empty);
- var create_require = [3]Expr{
+ var create_require = [4]Expr{
assign_binding,
assign_id,
+ assign_resolve_binding,
get_require,
};