aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-05-14 23:09:19 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-05-14 23:09:19 -0700
commita425376c3db49d4432e64b1cbf362cc91f39bfce (patch)
tree355357aa00c13ad80c0f2db09de57e7eae210013 /src/bun.js
parentc367408233ec6bdf0f8a5ae91225f2295d051059 (diff)
downloadbun-a425376c3db49d4432e64b1cbf362cc91f39bfce.tar.gz
bun-a425376c3db49d4432e64b1cbf362cc91f39bfce.tar.zst
bun-a425376c3db49d4432e64b1cbf362cc91f39bfce.zip
Fix `process.argv` with standalone
Diffstat (limited to 'src/bun.js')
-rw-r--r--src/bun.js/node/types.zig20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/bun.js/node/types.zig b/src/bun.js/node/types.zig
index dacb9540c..97098391e 100644
--- a/src/bun.js/node/types.zig
+++ b/src/bun.js/node/types.zig
@@ -1988,13 +1988,19 @@ pub const Process = struct {
var args_list = std.ArrayListUnmanaged(JSC.ZigString){ .items = args, .capacity = args.len };
args_list.items.len = 0;
- // get the bun executable
- // without paying the cost of a syscall to resolve the full path
- args_list.appendAssumeCapacity(
- JSC.ZigString.init(
- std.fs.selfExePathAlloc(allocator) catch "bun",
- ).withEncoding(),
- );
+ if (vm.standalone_module_graph != null) {
+ // Don't break user's code because they did process.argv.slice(2)
+ // Even if they didn't type "bun", we still want to add it
+ args_list.appendAssumeCapacity(
+ JSC.ZigString.init("bun"),
+ );
+ } else {
+ args_list.appendAssumeCapacity(
+ JSC.ZigString.init(
+ std.fs.selfExePathAlloc(allocator) catch "bun",
+ ).withEncoding(),
+ );
+ }
if (vm.main.len > 0)
args_list.appendAssumeCapacity(JSC.ZigString.init(vm.main).withEncoding());