diff options
| author | 2022-02-11 14:56:28 -0800 | |
|---|---|---|
| committer | 2022-02-11 14:56:28 -0800 | |
| commit | 3d057950b9249bed3c5b0034ef7424ac84adf2e5 (patch) | |
| tree | d2f64bbf42890191711571708f110e79990880b2 /src/cli | |
| parent | 29f0159eae198aebf5ff9d2b6f76ddbdb2f8f63c (diff) | |
| download | bun-3d057950b9249bed3c5b0034ef7424ac84adf2e5.tar.gz bun-3d057950b9249bed3c5b0034ef7424ac84adf2e5.tar.zst bun-3d057950b9249bed3c5b0034ef7424ac84adf2e5.zip | |
`std.os.`exit -> `Global.exit` so stderr is always flushed
Diffstat (limited to 'src/cli')
| -rw-r--r-- | src/cli/bun_command.zig | 2 | ||||
| -rw-r--r-- | src/cli/create_command.zig | 40 | ||||
| -rw-r--r-- | src/cli/install_completions_command.zig | 18 | ||||
| -rw-r--r-- | src/cli/package_manager_command.zig | 4 | ||||
| -rw-r--r-- | src/cli/run_command.zig | 12 | ||||
| -rw-r--r-- | src/cli/test_command.zig | 2 | ||||
| -rw-r--r-- | src/cli/upgrade_command.zig | 44 |
7 files changed, 61 insertions, 61 deletions
diff --git a/src/cli/bun_command.zig b/src/cli/bun_command.zig index 5807a5858..225940d13 100644 --- a/src/cli/bun_command.zig +++ b/src/cli/bun_command.zig @@ -147,7 +147,7 @@ pub const BunCommand = struct { if (ctx.debug.dump_limits) { fs.FileSystem.printLimits(); - std.os.exit(0); + Global.exit(0); return; } diff --git a/src/cli/create_command.zig b/src/cli/create_command.zig index 7abea971b..b82370a5f 100644 --- a/src/cli/create_command.zig +++ b/src/cli/create_command.zig @@ -222,7 +222,7 @@ const CreateOptions = struct { Output.prettyln(" NPM_CLIENT<r> Absolute path to the npm client executable", .{}); Output.flush(); - std.os.exit(0); + Global.exit(0); } var opts = CreateOptions{ .positionals = args.positionals() }; @@ -416,7 +416,7 @@ pub const CreateCommand = struct { const examples = try Example.fetchAllLocalAndRemote(ctx, null, &env_loader, filesystem); Example.print(examples.items, dirname); Output.flush(); - std.os.exit(1); + Global.exit(1); }, else => { node.end(); @@ -530,7 +530,7 @@ pub const CreateCommand = struct { Output.prettyErrorln("<r>\n<d>To download {s} anyway, use --force<r>", .{template}); Output.flush(); - std.os.exit(1); + Global.exit(1); } } @@ -569,7 +569,7 @@ pub const CreateCommand = struct { Output.prettyErrorln("<r><red>{s}<r>: opening dir {s}", .{ @errorName(err), template }); Output.flush(); - std.os.exit(1); + Global.exit(1); }; std.fs.deleteTreeAbsolute(destination) catch {}; @@ -580,7 +580,7 @@ pub const CreateCommand = struct { Output.prettyErrorln("<r><red>{s}<r>: creating dir {s}", .{ @errorName(err), destination }); Output.flush(); - std.os.exit(1); + Global.exit(1); }; const Walker = @import("../walker_skippable.zig"); @@ -608,7 +608,7 @@ pub const CreateCommand = struct { Output.prettyErrorln("<r><red>{s}<r>: copying file {s}", .{ @errorName(err), entry.path }); Output.flush(); - std.os.exit(1); + Global.exit(1); }; }; defer outfile.close(); @@ -629,7 +629,7 @@ pub const CreateCommand = struct { Output.prettyErrorln("<r><red>{s}<r>: copying file {s}", .{ @errorName(err), entry.path }); Output.flush(); - std.os.exit(1); + Global.exit(1); }; }; } @@ -1938,11 +1938,11 @@ pub const Example = struct { try ctx.log.printForLogLevelWithEnableAnsiColors(Output.errorWriter(), false); } Output.flush(); - std.os.exit(1); + Global.exit(1); } else { Output.prettyErrorln("Error parsing package: <r><red>{s}<r>", .{@errorName(err)}); Output.flush(); - std.os.exit(1); + Global.exit(1); } }; @@ -1956,7 +1956,7 @@ pub const Example = struct { try ctx.log.printForLogLevelWithEnableAnsiColors(Output.errorWriter(), false); } Output.flush(); - std.os.exit(1); + Global.exit(1); } const tarball_url: string = brk: { @@ -1975,7 +1975,7 @@ pub const Example = struct { Output.prettyErrorln("package.json is missing tarball url. This is an internal error!", .{}); Output.flush(); - std.os.exit(1); + Global.exit(1); }; progress.name = "Downloading tarball"; @@ -2000,7 +2000,7 @@ pub const Example = struct { refresher.refresh(); Output.prettyErrorln("Error fetching tarball: <r><red>{d}<r>", .{response.status_code}); Output.flush(); - std.os.exit(1); + Global.exit(1); } refresher.refresh(); @@ -2027,12 +2027,12 @@ pub const Example = struct { error.WouldBlock => { Output.prettyErrorln("Request timed out while trying to fetch examples list. Please try again", .{}); Output.flush(); - std.os.exit(1); + Global.exit(1); }, else => { Output.prettyErrorln("<r><red>{s}<r> while trying to fetch examples list. Please try again", .{@errorName(err)}); Output.flush(); - std.os.exit(1); + Global.exit(1); }, } }; @@ -2040,7 +2040,7 @@ pub const Example = struct { if (response.status_code != 200) { Output.prettyErrorln("<r><red>{d}<r> fetching examples :( {s}", .{ response.status_code, mutable.list.items }); Output.flush(); - std.os.exit(1); + Global.exit(1); } initializeStore(); @@ -2052,12 +2052,12 @@ pub const Example = struct { } else { try ctx.log.printForLogLevelWithEnableAnsiColors(Output.errorWriter(), false); } - std.os.exit(1); + Global.exit(1); Output.flush(); } else { Output.prettyErrorln("Error parsing examples: <r><red>{s}<r>", .{@errorName(err)}); Output.flush(); - std.os.exit(1); + Global.exit(1); } }; @@ -2068,7 +2068,7 @@ pub const Example = struct { try ctx.log.printForLogLevelWithEnableAnsiColors(Output.errorWriter(), false); } Output.flush(); - std.os.exit(1); + Global.exit(1); } if (examples_object.asProperty("examples")) |q| { @@ -2093,7 +2093,7 @@ pub const Example = struct { Output.prettyErrorln("Corrupt examples data: expected object but received {s}", .{@tagName(examples_object.data)}); Output.flush(); - std.os.exit(1); + Global.exit(1); } }; @@ -2154,7 +2154,7 @@ const GitHandler = struct { thread = std.Thread.spawn(.{}, spawnThread, .{ destination, PATH, verbose }) catch |err| { Output.prettyErrorln("<r><red>{s}<r>", .{@errorName(err)}); Output.flush(); - std.os.exit(1); + Global.exit(1); }; } diff --git a/src/cli/install_completions_command.zig b/src/cli/install_completions_command.zig index 20b56c2b1..b64b31ebd 100644 --- a/src/cli/install_completions_command.zig +++ b/src/cli/install_completions_command.zig @@ -55,11 +55,11 @@ pub const InstallCompletionsCommand = struct { switch (shell) { .bash => { Output.prettyErrorln("<r><red>error:<r> Bash completions aren't implemented yet, just zsh & fish. A PR is welcome!", .{}); - std.os.exit(fail_exit_code); + Global.exit(fail_exit_code); }, .unknown => { Output.prettyErrorln("<r><red>error:<r> Unknown or unsupported shell. Please set $SHELL to one of zsh, fish, or bash. To manually output completions, run this:\n bun getcompletes", .{}); - std.os.exit(fail_exit_code); + Global.exit(fail_exit_code); }, else => {}, } @@ -69,7 +69,7 @@ pub const InstallCompletionsCommand = struct { if (std.os.getenvZ("IS_BUN_AUTO_UPDATE") == null) { if (!stdout.isTty()) { try stdout.writeAll(shell.completions()); - std.os.exit(0); + Global.exit(0); } } @@ -79,7 +79,7 @@ pub const InstallCompletionsCommand = struct { var cwd = std.os.getcwd(&cwd_buf) catch { Output.prettyErrorln("<r><red>error<r>: Could not get current working directory", .{}); Output.flush(); - std.os.exit(fail_exit_code); + Global.exit(fail_exit_code); }; for (std.os.argv) |arg, i| { @@ -100,7 +100,7 @@ pub const InstallCompletionsCommand = struct { if (!std.fs.path.isAbsolute(completions_dir)) { Output.prettyErrorln("<r><red>error:<r> Please pass an absolute path. {s} is invalid", .{completions_dir}); Output.flush(); - std.os.exit(fail_exit_code); + Global.exit(fail_exit_code); } break :found std.fs.openDirAbsolute(completions_dir, .{ @@ -108,7 +108,7 @@ pub const InstallCompletionsCommand = struct { }) catch |err| { Output.prettyErrorln("<r><red>error:<r> accessing {s} errored {s}", .{ completions_dir, @errorName(err) }); Output.flush(); - std.os.exit(fail_exit_code); + Global.exit(fail_exit_code); }; } @@ -248,7 +248,7 @@ pub const InstallCompletionsCommand = struct { .{}, ); Output.flush(); - std.os.exit(fail_exit_code); + Global.exit(fail_exit_code); }; const filename = switch (shell) { @@ -268,7 +268,7 @@ pub const InstallCompletionsCommand = struct { @errorName(err), }); Output.flush(); - std.os.exit(fail_exit_code); + Global.exit(fail_exit_code); }; output_file.writeAll(shell.completions()) catch |err| { @@ -277,7 +277,7 @@ pub const InstallCompletionsCommand = struct { @errorName(err), }); Output.flush(); - std.os.exit(fail_exit_code); + Global.exit(fail_exit_code); }; defer output_file.close(); diff --git a/src/cli/package_manager_command.zig b/src/cli/package_manager_command.zig index 447a21775..63fb416b5 100644 --- a/src/cli/package_manager_command.zig +++ b/src/cli/package_manager_command.zig @@ -2,7 +2,7 @@ const Command = @import("../cli.zig").Command; const PackageManager = @import("../install/install.zig").PackageManager; const std = @import("std"); const strings = @import("strings"); - +const Global = @import("../global.zig").Global; pub const PackageManagerCommand = struct { pub fn printHelp(_: std.mem.Allocator) void {} pub fn exec(ctx: Command.Context) !void { @@ -16,7 +16,7 @@ pub const PackageManagerCommand = struct { if (args.len == 0) { printHelp(ctx.allocator); - std.os.exit(0); + Global.exit(0); } first = std.mem.span(args[0]); diff --git a/src/cli/run_command.zig b/src/cli/run_command.zig index 86170965d..62f9b88e6 100644 --- a/src/cli/run_command.zig +++ b/src/cli/run_command.zig @@ -265,7 +265,7 @@ pub const RunCommand = struct { Output.prettyErrorln("<r><red>Script error<r> <b>\"{s}\"<r> exited with {d} status<r>", .{ name, result.Exited }); Output.flush(); - std.os.exit(result.Exited); + Global.exit(result.Exited); } return true; @@ -305,7 +305,7 @@ pub const RunCommand = struct { if (result.Exited > 0) { Output.prettyErrorln("<r><red>error<r> <b>\"{s}\"<r> exited with {d} status<r>", .{ std.fs.path.basename(executable), result.Exited }); Output.flush(); - std.os.exit(result.Exited); + Global.exit(result.Exited); } return true; @@ -615,7 +615,7 @@ pub const RunCommand = struct { const shebang_size = file.pread(&shebang_buf, 0) catch |err| { Output.prettyErrorln("<r><red>error<r>: Failed to read file <b>{s}<r> due to error <b>{s}<r>", .{ file_path, @errorName(err) }); Output.flush(); - std.os.exit(1); + Global.exit(1); }; var shebang: string = shebang_buf[0..shebang_size]; @@ -639,7 +639,7 @@ pub const RunCommand = struct { @errorName(err), }); Output.flush(); - std.os.exit(1); + Global.exit(1); }; return true; @@ -877,7 +877,7 @@ pub const RunCommand = struct { if (comptime log_errors) { Output.prettyError("<r>No \"scripts\" in package.json found.", .{}); Output.flush(); - std.os.exit(0); + Global.exit(0); } return false; @@ -924,7 +924,7 @@ pub const RunCommand = struct { if (comptime log_errors) { Output.prettyError("<r><red>error:<r> Missing script: <b>{s}<r>\n", .{script_name_to_search}); Output.flush(); - std.os.exit(0); + Global.exit(0); } return false; diff --git a/src/cli/test_command.zig b/src/cli/test_command.zig index 5a479189f..f7010d521 100644 --- a/src/cli/test_command.zig +++ b/src/cli/test_command.zig @@ -318,7 +318,7 @@ pub const TestCommand = struct { Output.flush(); if (reporter.summary.fail > 0) { - std.os.exit(1); + Global.exit(1); } } diff --git a/src/cli/upgrade_command.zig b/src/cli/upgrade_command.zig index 36ad03537..3febe4cee 100644 --- a/src/cli/upgrade_command.zig +++ b/src/cli/upgrade_command.zig @@ -219,11 +219,11 @@ pub const UpgradeCommand = struct { try log.printForLogLevelWithEnableAnsiColors(Output.errorWriter(), false); } Output.flush(); - std.os.exit(1); + Global.exit(1); } else { Output.prettyErrorln("Error parsing releases from GitHub: <r><red>{s}<r>", .{@errorName(err)}); Output.flush(); - std.os.exit(1); + Global.exit(1); } } @@ -241,7 +241,7 @@ pub const UpgradeCommand = struct { try log.printForLogLevelWithEnableAnsiColors(Output.errorWriter(), false); } Output.flush(); - std.os.exit(1); + Global.exit(1); } return null; @@ -257,7 +257,7 @@ pub const UpgradeCommand = struct { const json_type: js_ast.Expr.Tag = @as(js_ast.Expr.Tag, expr.data); Output.prettyErrorln("JSON error - expected an object but received {s}", .{@tagName(json_type)}); Output.flush(); - std.os.exit(1); + Global.exit(1); } return null; @@ -276,7 +276,7 @@ pub const UpgradeCommand = struct { Output.prettyErrorln("JSON Error parsing releases from GitHub: <r><red>tag_name<r> is missing?\n{s}", .{metadata_body.list.items}); Output.flush(); - std.os.exit(1); + Global.exit(1); } return null; @@ -332,7 +332,7 @@ pub const UpgradeCommand = struct { } Output.flush(); - std.os.exit(0); + Global.exit(0); } return null; @@ -343,7 +343,7 @@ pub const UpgradeCommand = struct { _exec(ctx) catch |err| { Output.prettyErrorln("<r>bun upgrade failed with error: <red><b>{s}<r>\n\n<cyan>Please upgrade manually<r>:\n <b>curl https://bun.sh/install | bash<r>\n\n", .{@errorName(err)}); Output.flush(); - std.os.exit(1); + Global.exit(1); }; } @@ -379,7 +379,7 @@ pub const UpgradeCommand = struct { }, ); Output.flush(); - std.os.exit(0); + Global.exit(0); } if (version.name() == null) { @@ -388,7 +388,7 @@ pub const UpgradeCommand = struct { .{}, ); Output.flush(); - std.os.exit(1); + Global.exit(1); } } @@ -435,7 +435,7 @@ pub const UpgradeCommand = struct { if (bytes.len == 0) { Output.prettyErrorln("<r><red>error:<r> Failed to download the latest version of bun. Received empty content", .{}); Output.flush(); - std.os.exit(1); + Global.exit(1); } const version_name = version.name().?; @@ -444,12 +444,12 @@ pub const UpgradeCommand = struct { var save_dir = save_dir_.makeOpenPath(version_name, .{ .iterate = true }) catch { Output.prettyErrorln("<r><red>error:<r> Failed to open temporary directory", .{}); Output.flush(); - std.os.exit(1); + Global.exit(1); }; var tmpdir_path = std.os.getFdPath(save_dir.fd, &tmpdir_path_buf) catch { Output.prettyErrorln("<r><red>error:<r> Failed to read temporary directory", .{}); Output.flush(); - std.os.exit(1); + Global.exit(1); }; tmpdir_path_buf[tmpdir_path.len] = 0; @@ -461,7 +461,7 @@ pub const UpgradeCommand = struct { var zip_file = save_dir.createFileZ(tmpname, .{ .truncate = true }) catch |err| { Output.prettyErrorln("<r><red>error:<r> Failed to open temp file {s}", .{@errorName(err)}); Output.flush(); - std.os.exit(1); + Global.exit(1); }; { @@ -469,7 +469,7 @@ pub const UpgradeCommand = struct { save_dir.deleteFileZ(tmpname) catch {}; Output.prettyErrorln("<r><red>error:<r> Failed to write to temp file {s}", .{@errorName(err)}); Output.flush(); - std.os.exit(1); + Global.exit(1); }; zip_file.close(); } @@ -483,7 +483,7 @@ pub const UpgradeCommand = struct { save_dir.deleteFileZ(tmpname) catch {}; Output.prettyErrorln("<r><red>error:<r> Failed to locate \"unzip\" in PATH. bun upgrade needs \"unzip\" to work.", .{}); Output.flush(); - std.os.exit(1); + Global.exit(1); }; // We could just embed libz2 @@ -508,14 +508,14 @@ pub const UpgradeCommand = struct { save_dir.deleteFileZ(tmpname) catch {}; Output.prettyErrorln("<r><red>error:<r> Failed to spawn unzip due to {s}.", .{@errorName(err)}); Output.flush(); - std.os.exit(1); + Global.exit(1); }; if (unzip_result.Exited != 0) { Output.prettyErrorln("<r><red>Unzip failed<r> (exit code: {d})", .{unzip_result.Exited}); Output.flush(); save_dir.deleteFileZ(tmpname) catch {}; - std.os.exit(1); + Global.exit(1); } } @@ -534,14 +534,14 @@ pub const UpgradeCommand = struct { save_dir_.deleteTree(version_name) catch {}; Output.prettyErrorln("<r><red>error<r> Failed to verify bun {s}<r>)", .{@errorName(err)}); Output.flush(); - std.os.exit(1); + Global.exit(1); }; if (result.term.Exited != 0) { save_dir_.deleteTree(version_name) catch {}; Output.prettyErrorln("<r><red>error<r> failed to verify bun<r> (exit code: {d})", .{result.term.Exited}); Output.flush(); - std.os.exit(1); + Global.exit(1); } if (!strings.eql(std.mem.trim(u8, result.stdout, " \n\r\t"), version_name)) { @@ -555,7 +555,7 @@ pub const UpgradeCommand = struct { }, ); Output.flush(); - std.os.exit(1); + Global.exit(1); } } @@ -572,7 +572,7 @@ pub const UpgradeCommand = struct { save_dir_.deleteTree(version_name) catch {}; Output.prettyErrorln("<r><red>error:<r> Failed to open bun's install directory {s}", .{@errorName(err)}); Output.flush(); - std.os.exit(1); + Global.exit(1); }; if (env_loader.map.get("BUN_DRY_RUN") == null) { @@ -580,7 +580,7 @@ pub const UpgradeCommand = struct { save_dir_.deleteTree(version_name) catch {}; Output.prettyErrorln("<r><red>error:<r> Failed to move new version of bun due to {s}. You could try the install script instead:\n curl -L https://bun.sh/install | bash", .{@errorName(err)}); Output.flush(); - std.os.exit(1); + Global.exit(1); }; } |
