aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/bun.js/node/types.zig20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/bun.js/node/types.zig b/src/bun.js/node/types.zig
index 1576568c5..9dfb19c5f 100644
--- a/src/bun.js/node/types.zig
+++ b/src/bun.js/node/types.zig
@@ -1809,19 +1809,23 @@ pub const Process = struct {
) catch unreachable;
var args_list = std.ArrayListUnmanaged(JSC.ZigString){ .items = args, .capacity = args.len };
args_list.items.len = 0;
- args_list.appendAssumeCapacity(
- JSC.ZigString.init(
+ if (std.process.args().next()) |arg0| {
+ std.debug.assert(arg0.len > 0);
+
+ args_list.appendAssumeCapacity(
+ JSC.ZigString.init(
// cheap way to get the first argument
- bun.span(std.process.args().next().?),
- ),
- );
- args_list.appendAssumeCapacity(JSC.ZigString.init(vm.main).withEncoding());
+ arg0).withEncoding(),
+ );
+ }
+
+ if (vm.main.len > 0)
+ args_list.appendAssumeCapacity(JSC.ZigString.init(vm.main).withEncoding());
defer allocator.free(args);
{
for (vm.argv) |arg0| {
- var argv0 = JSC.ZigString.init(std.mem.span(arg0));
- argv0.setOutputEncoding();
+ const argv0 = JSC.ZigString.init(std.mem.span(arg0)).withEncoding();
// https://github.com/yargs/yargs/blob/adb0d11e02c613af3d9427b3028cc192703a3869/lib/utils/process-argv.ts#L1
args_list.appendAssumeCapacity(argv0);
}