diff options
author | 2022-07-10 15:44:57 +0200 | |
---|---|---|
committer | 2022-07-10 06:44:57 -0700 | |
commit | 16452c16da4eb0bf7ee1cbd348de06a3d2f12786 (patch) | |
tree | b7ea5b859e399b3207b5a97334164cb265e11510 /src | |
parent | 05970fe1fb007383438018b4b526db4ad2f22c86 (diff) | |
download | bun-16452c16da4eb0bf7ee1cbd348de06a3d2f12786.tar.gz bun-16452c16da4eb0bf7ee1cbd348de06a3d2f12786.tar.zst bun-16452c16da4eb0bf7ee1cbd348de06a3d2f12786.zip |
Remove unnecessary `Output.flush`s before `Global.exit` and `Global.crash` (#535)
* fix: add missing newline
* refactor: std.process.exit -> Global.exit
* fix: std.os.abort -> Global.exit
I'm not sure about this one. Please verify.
* cleanup: remove unnecessary `Output.flush`s
Diffstat (limited to 'src')
-rw-r--r-- | src/__global.zig | 2 | ||||
-rw-r--r-- | src/bun_js.zig | 2 | ||||
-rw-r--r-- | src/bundler.zig | 1 | ||||
-rw-r--r-- | src/cli.zig | 9 | ||||
-rw-r--r-- | src/cli/create_command.zig | 22 | ||||
-rw-r--r-- | src/cli/install_completions_command.zig | 6 | ||||
-rw-r--r-- | src/cli/run_command.zig | 9 | ||||
-rw-r--r-- | src/cli/upgrade_command.zig | 22 | ||||
-rw-r--r-- | src/http.zig | 2 | ||||
-rw-r--r-- | src/http_client_async.zig | 3 | ||||
-rw-r--r-- | src/install/extract_tarball.zig | 4 | ||||
-rw-r--r-- | src/install/install.zig | 23 | ||||
-rw-r--r-- | src/install/lockfile.zig | 6 | ||||
-rw-r--r-- | src/report.zig | 9 | ||||
-rw-r--r-- | src/resolver/resolver.zig | 4 |
15 files changed, 2 insertions, 122 deletions
diff --git a/src/__global.zig b/src/__global.zig index 76b93d29d..bbdbcf63c 100644 --- a/src/__global.zig +++ b/src/__global.zig @@ -107,7 +107,6 @@ inline fn _invariant(comptime fmt: string, args: anytype) noreturn { @panic(fmt); } else { Output.prettyErrorln(fmt, args); - Output.flush(); Global.exit(1); } } @@ -120,7 +119,6 @@ pub fn notimpl() noreturn { // Make sure we always print any leftover pub fn crash() noreturn { @setCold(true); - Output.flush(); Global.exit(1); } diff --git a/src/bun_js.zig b/src/bun_js.zig index a2472d864..896b25627 100644 --- a/src/bun_js.zig +++ b/src/bun_js.zig @@ -67,7 +67,6 @@ pub const Run = struct { run.vm.log.printForLogLevelWithEnableAnsiColors(Output.errorWriter(), false) catch {}; } Output.prettyErrorln("\n", .{}); - Output.flush(); Global.exit(1); }; run.vm.bundler.configureDefines() catch { @@ -77,7 +76,6 @@ pub const Run = struct { run.vm.log.printForLogLevelWithEnableAnsiColors(Output.errorWriter(), false) catch {}; } Output.prettyErrorln("\n", .{}); - Output.flush(); Global.exit(1); }; AsyncHTTP.max_simultaneous_requests = 255; diff --git a/src/bundler.zig b/src/bundler.zig index c21162129..912d935dc 100644 --- a/src/bundler.zig +++ b/src/bundler.zig @@ -1493,7 +1493,6 @@ pub const Bundler = struct { } else { const output_dir = bundler.options.output_dir_handle orelse { Output.printError("Invalid or missing output directory.", .{}); - Output.flush(); Global.crash(); }; diff --git a/src/cli.zig b/src/cli.zig index 32ad9bca5..7bdf75dbb 100644 --- a/src/cli.zig +++ b/src/cli.zig @@ -75,7 +75,6 @@ pub const Cli = struct { switch (err) { error.MissingEntryPoint => { Output.prettyErrorln("<r><red>MissingEntryPoint<r> what do you want to bundle?\n\n<d>Example:\n\n<r> <b><cyan>bun bun --use next<r>\n\n <b><cyan>bun bun ./src/index.ts ./src/file2.ts<r>\n", .{}); - Output.flush(); Global.exit(1); }, else => { @@ -211,7 +210,6 @@ pub const Arguments = struct { fn printVersionAndExit() noreturn { @setCold(true); Output.writer().writeAll(Global.package_json_version ++ "\n") catch {}; - Output.flush(); Global.exit(0); } @@ -222,7 +220,6 @@ pub const Arguments = struct { @errorName(err), std.mem.span(config_path), }); - Output.flush(); Global.exit(1); }; defer config_file.close(); @@ -232,7 +229,6 @@ pub const Arguments = struct { @errorName(err), std.mem.span(config_path), }); - Output.flush(); Global.exit(1); }; @@ -417,7 +413,6 @@ pub const Arguments = struct { Output.prettyln("\n-------\n\n", .{}); Output.flush(); HelpCommand.printWithReason(.explicit); - Output.flush(); Global.exit(0); } @@ -1196,7 +1191,6 @@ pub const Command = struct { std.fs.path.basename(file_path), @errorName(err), }); - Output.flush(); Global.exit(1); }; } @@ -1211,7 +1205,6 @@ pub const Command = struct { Output.prettyErrorln("<r><red>error<r>: Script not found \"<b>{s}<r>\"", .{ ctx.positionals[0], }); - Output.flush(); Global.exit(1); } @@ -1219,13 +1212,11 @@ pub const Command = struct { Output.prettyErrorln("<r><red>error<r>: Module not found \"<b>{s}<r>\"", .{ ctx.positionals[0], }); - Output.flush(); Global.exit(1); } else if (ctx.positionals.len > 0) { Output.prettyErrorln("<r><red>error<r>: File not found \"<b>{s}<r>\"", .{ ctx.positionals[0], }); - Output.flush(); Global.exit(1); } diff --git a/src/cli/create_command.zig b/src/cli/create_command.zig index fb65152cf..2a1b23e98 100644 --- a/src/cli/create_command.zig +++ b/src/cli/create_command.zig @@ -418,7 +418,6 @@ pub const CreateCommand = struct { const examples = try Example.fetchAllLocalAndRemote(ctx, null, &env_loader, filesystem); Example.print(examples.items, dirname); - Output.flush(); Global.exit(1); }, else => { @@ -532,7 +531,6 @@ pub const CreateCommand = struct { } Output.prettyErrorln("<r>\n<d>To download {s} anyway, use --force<r>", .{template}); - Output.flush(); Global.exit(1); } } @@ -571,7 +569,6 @@ pub const CreateCommand = struct { progress.refresh(); Output.prettyErrorln("<r><red>{s}<r>: opening dir {s}", .{ @errorName(err), template }); - Output.flush(); Global.exit(1); }; @@ -582,7 +579,6 @@ pub const CreateCommand = struct { progress.refresh(); Output.prettyErrorln("<r><red>{s}<r>: creating dir {s}", .{ @errorName(err), destination }); - Output.flush(); Global.exit(1); }; @@ -610,7 +606,6 @@ pub const CreateCommand = struct { progress_.refresh(); Output.prettyErrorln("<r><red>{s}<r>: copying file {s}", .{ @errorName(err), entry.path }); - Output.flush(); Global.exit(1); }; }; @@ -631,7 +626,6 @@ pub const CreateCommand = struct { progress_.refresh(); Output.prettyErrorln("<r><red>{s}<r>: copying file {s}", .{ @errorName(err), entry.path }); - Output.flush(); Global.exit(1); }; }; @@ -1876,11 +1870,9 @@ pub const Example = struct { if (content_type.len > 0) { Output.prettyErrorln("<r><red>error<r>: Unexpected content type from GitHub: {s}", .{content_type}); - Output.flush(); Global.crash(); } else { Output.prettyErrorln("<r><red>error<r>: Invalid response from GitHub (missing content type)", .{}); - Output.flush(); Global.crash(); } } @@ -1890,7 +1882,6 @@ pub const Example = struct { refresher.refresh(); Output.prettyErrorln("<r><red>error<r>: Invalid response from GitHub (missing body)", .{}); - Output.flush(); Global.crash(); } @@ -1937,11 +1928,9 @@ pub const Example = struct { } else { try ctx.log.printForLogLevelWithEnableAnsiColors(Output.errorWriter(), false); } - Output.flush(); Global.exit(1); } else { Output.prettyErrorln("Error parsing package: <r><red>{s}<r>", .{@errorName(err)}); - Output.flush(); Global.exit(1); } }; @@ -1955,7 +1944,6 @@ pub const Example = struct { } else { try ctx.log.printForLogLevelWithEnableAnsiColors(Output.errorWriter(), false); } - Output.flush(); Global.exit(1); } @@ -1974,7 +1962,6 @@ pub const Example = struct { refresher.refresh(); Output.prettyErrorln("package.json is missing tarball url. This is an internal error!", .{}); - Output.flush(); Global.exit(1); }; @@ -1999,7 +1986,6 @@ pub const Example = struct { progress.end(); refresher.refresh(); Output.prettyErrorln("Error fetching tarball: <r><red>{d}<r>", .{response.status_code}); - Output.flush(); Global.exit(1); } @@ -2026,12 +2012,10 @@ pub const Example = struct { switch (err) { error.WouldBlock => { Output.prettyErrorln("Request timed out while trying to fetch examples list. Please try again", .{}); - Output.flush(); Global.exit(1); }, else => { Output.prettyErrorln("<r><red>{s}<r> while trying to fetch examples list. Please try again", .{@errorName(err)}); - Output.flush(); Global.exit(1); }, } @@ -2039,7 +2023,6 @@ 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(); Global.exit(1); } @@ -2053,10 +2036,8 @@ pub const Example = struct { try ctx.log.printForLogLevelWithEnableAnsiColors(Output.errorWriter(), false); } Global.exit(1); - Output.flush(); } else { Output.prettyErrorln("Error parsing examples: <r><red>{s}<r>", .{@errorName(err)}); - Output.flush(); Global.exit(1); } }; @@ -2067,7 +2048,6 @@ pub const Example = struct { } else { try ctx.log.printForLogLevelWithEnableAnsiColors(Output.errorWriter(), false); } - Output.flush(); Global.exit(1); } @@ -2092,7 +2072,6 @@ pub const Example = struct { } Output.prettyErrorln("Corrupt examples data: expected object but received {s}", .{@tagName(examples_object.data)}); - Output.flush(); Global.exit(1); } }; @@ -2150,7 +2129,6 @@ const GitHandler = struct { thread = std.Thread.spawn(.{}, spawnThread, .{ destination, PATH, verbose }) catch |err| { Output.prettyErrorln("<r><red>{s}<r>", .{@errorName(err)}); - Output.flush(); Global.exit(1); }; } diff --git a/src/cli/install_completions_command.zig b/src/cli/install_completions_command.zig index d82169aaa..2316c92e5 100644 --- a/src/cli/install_completions_command.zig +++ b/src/cli/install_completions_command.zig @@ -78,7 +78,6 @@ pub const InstallCompletionsCommand = struct { var cwd_buf: [bun.MAX_PATH_BYTES]u8 = undefined; var cwd = std.os.getcwd(&cwd_buf) catch { Output.prettyErrorln("<r><red>error<r>: Could not get current working directory", .{}); - Output.flush(); Global.exit(fail_exit_code); }; @@ -99,7 +98,6 @@ 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(); Global.exit(fail_exit_code); } @@ -107,7 +105,6 @@ pub const InstallCompletionsCommand = struct { .iterate = true, }) catch |err| { Output.prettyErrorln("<r><red>error:<r> accessing {s} errored {s}", .{ completions_dir, @errorName(err) }); - Output.flush(); Global.exit(fail_exit_code); }; } @@ -247,7 +244,6 @@ pub const InstallCompletionsCommand = struct { "Please either pipe it:\n bun completions > /to/a/file\n\n Or pass a directory:\n\n bun completions /my/completions/dir\n", .{}, ); - Output.flush(); Global.exit(fail_exit_code); }; @@ -267,7 +263,6 @@ pub const InstallCompletionsCommand = struct { filename, @errorName(err), }); - Output.flush(); Global.exit(fail_exit_code); }; @@ -276,7 +271,6 @@ pub const InstallCompletionsCommand = struct { filename, @errorName(err), }); - Output.flush(); Global.exit(fail_exit_code); }; diff --git a/src/cli/run_command.zig b/src/cli/run_command.zig index 89a8b6787..5986781e4 100644 --- a/src/cli/run_command.zig +++ b/src/cli/run_command.zig @@ -304,20 +304,17 @@ pub const RunCommand = struct { if (rc == 0) { if (std.os.S.ISDIR(stat.mode)) { Output.prettyErrorln("<r><red>error<r>: Failed to run directory \"<b>{s}<r>\"\n", .{executable}); - Output.flush(); Global.exit(1); } } } } Output.prettyErrorln("<r><red>error<r>: Failed to run \"<b>{s}<r>\" due to error <b>{s}<r>", .{ std.fs.path.basename(executable), @errorName(err) }); - Output.flush(); Global.exit(1); }; 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(); Global.exit(result.Exited); } @@ -629,7 +626,6 @@ pub const RunCommand = struct { var shebang_buf: [64]u8 = undefined; 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(); Global.exit(1); }; @@ -653,7 +649,6 @@ pub const RunCommand = struct { std.fs.path.basename(file_path), @errorName(err), }); - Output.flush(); Global.exit(1); }; @@ -913,8 +908,7 @@ pub const RunCommand = struct { if (script_name_to_search.len == 0) { if (comptime log_errors) { - Output.prettyError("<r>No \"scripts\" in package.json found.", .{}); - Output.flush(); + Output.prettyError("<r>No \"scripts\" in package.json found.\n", .{}); Global.exit(0); } @@ -961,7 +955,6 @@ 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(); Global.exit(0); } diff --git a/src/cli/upgrade_command.zig b/src/cli/upgrade_command.zig index 699663f8d..aafbd7e18 100644 --- a/src/cli/upgrade_command.zig +++ b/src/cli/upgrade_command.zig @@ -218,11 +218,9 @@ pub const UpgradeCommand = struct { } else { try log.printForLogLevelWithEnableAnsiColors(Output.errorWriter(), false); } - Output.flush(); Global.exit(1); } else { Output.prettyErrorln("Error parsing releases from GitHub: <r><red>{s}<r>", .{@errorName(err)}); - Output.flush(); Global.exit(1); } } @@ -240,7 +238,6 @@ pub const UpgradeCommand = struct { } else { try log.printForLogLevelWithEnableAnsiColors(Output.errorWriter(), false); } - Output.flush(); Global.exit(1); } @@ -256,7 +253,6 @@ 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(); Global.exit(1); } @@ -275,7 +271,6 @@ pub const UpgradeCommand = struct { refresher.refresh(); Output.prettyErrorln("JSON Error parsing releases from GitHub: <r><red>tag_name<r> is missing?\n{s}", .{metadata_body.list.items}); - Output.flush(); Global.exit(1); } @@ -331,7 +326,6 @@ pub const UpgradeCommand = struct { }); } - Output.flush(); Global.exit(0); } @@ -344,7 +338,6 @@ 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(); Global.exit(1); }; } @@ -380,7 +373,6 @@ pub const UpgradeCommand = struct { version.name().?, }, ); - Output.flush(); Global.exit(0); } @@ -389,7 +381,6 @@ pub const UpgradeCommand = struct { "<r><red>error:<r> bun versions are currently unavailable (the latest version name didn't match the expeccted format)", .{}, ); - Output.flush(); Global.exit(1); } } @@ -436,7 +427,6 @@ 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(); Global.exit(1); } @@ -445,12 +435,10 @@ pub const UpgradeCommand = struct { var save_dir_ = filesystem.tmpdir(); var save_dir = save_dir_.makeOpenPath(version_name, .{ .iterate = true }) catch { Output.prettyErrorln("<r><red>error:<r> Failed to open temporary directory", .{}); - Output.flush(); 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(); Global.exit(1); }; @@ -462,7 +450,6 @@ 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(); Global.exit(1); }; @@ -470,7 +457,6 @@ pub const UpgradeCommand = struct { _ = zip_file.writeAll(bytes) catch |err| { save_dir.deleteFileZ(tmpname) catch {}; Output.prettyErrorln("<r><red>error:<r> Failed to write to temp file {s}", .{@errorName(err)}); - Output.flush(); Global.exit(1); }; zip_file.close(); @@ -484,7 +470,6 @@ pub const UpgradeCommand = struct { const unzip_exe = which(&unzip_path_buf, env_loader.map.get("PATH") orelse "", filesystem.top_level_dir, "unzip") orelse { 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(); Global.exit(1); }; @@ -508,13 +493,11 @@ pub const UpgradeCommand = struct { const unzip_result = unzip_process.spawnAndWait() catch |err| { save_dir.deleteFileZ(tmpname) catch {}; Output.prettyErrorln("<r><red>error:<r> Failed to spawn unzip due to {s}.", .{@errorName(err)}); - Output.flush(); 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 {}; Global.exit(1); } @@ -534,14 +517,12 @@ pub const UpgradeCommand = struct { }) catch |err| { save_dir_.deleteTree(version_name) catch {}; Output.prettyErrorln("<r><red>error<r> Failed to verify bun {s}<r>)", .{@errorName(err)}); - Output.flush(); 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(); Global.exit(1); } @@ -555,7 +536,6 @@ pub const UpgradeCommand = struct { version_name, }, ); - Output.flush(); Global.exit(1); } } @@ -572,7 +552,6 @@ pub const UpgradeCommand = struct { var target_dir = std.fs.openDirAbsoluteZ(target_dirname, .{ .iterate = true }) catch |err| { save_dir_.deleteTree(version_name) catch {}; Output.prettyErrorln("<r><red>error:<r> Failed to open bun's install directory {s}", .{@errorName(err)}); - Output.flush(); Global.exit(1); }; @@ -580,7 +559,6 @@ pub const UpgradeCommand = struct { C.moveFileZ(save_dir.fd, exe_subpath, target_dir.fd, target_filename) catch |err| { 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(); Global.exit(1); }; } diff --git a/src/http.zig b/src/http.zig index 8aa41ca2b..1515f976f 100644 --- a/src/http.zig +++ b/src/http.zig @@ -3474,7 +3474,6 @@ pub const Server = struct { }, else => { Output.prettyErrorln("<r><red>{s} while trying to start listening on port {d}.\n\n", .{ @errorName(err), port }); - Output.flush(); Global.exit(1); }, } @@ -3494,7 +3493,6 @@ pub const Server = struct { random_number.random().intRangeAtMost(u16, 3011, 65535), }, ); - Output.flush(); Global.exit(1); } } diff --git a/src/http_client_async.zig b/src/http_client_async.zig index 33f004f28..2da75b652 100644 --- a/src/http_client_async.zig +++ b/src/http_client_async.zig @@ -70,8 +70,7 @@ pub fn onThreadStart(_: ?*anyopaque) ?*anyopaque { Output.prettyErrorln("<r><red>error<r>: Failed to initialize network thread: <red><b>{s}<r>.\nHTTP requests will not work. Please file an issue and run strace().", .{@errorName(err)}); } - Output.flush(); - os.exit(1); + Global.exit(1); }; AsyncIO.global_loaded = true; diff --git a/src/install/extract_tarball.zig b/src/install/extract_tarball.zig index b58596540..fe50aa734 100644 --- a/src/install/extract_tarball.zig +++ b/src/install/extract_tarball.zig @@ -183,7 +183,6 @@ fn extract(this: *const ExtractTarball, tgz_bytes: []const u8) !string { name, }, ); - Output.flush(); Global.crash(); }; _ = if (PackageManager.verbose_install) @@ -243,7 +242,6 @@ fn extract(this: *const ExtractTarball, tgz_bytes: []const u8) !string { folder_name, }, ); - Output.flush(); Global.crash(); }; @@ -257,7 +255,6 @@ fn extract(this: *const ExtractTarball, tgz_bytes: []const u8) !string { name, }, ); - Output.flush(); Global.crash(); }; defer final_dir.close(); @@ -273,7 +270,6 @@ fn extract(this: *const ExtractTarball, tgz_bytes: []const u8) !string { name, }, ); - Output.flush(); Global.crash(); }; return try FileSystem.instance.dirname_store.append(@TypeOf(final_path), final_path); diff --git a/src/install/install.zig b/src/install/install.zig index ef737623b..fb53b8ecc 100644 --- a/src/install/install.zig +++ b/src/install/install.zig @@ -943,7 +943,6 @@ const PackageInstall = struct { progress_.refresh(); Output.prettyErrorln("<r><red>{s}<r>: copying file {s}", .{ @errorName(err), entry.path }); - Output.flush(); Global.exit(1); }; }; @@ -962,7 +961,6 @@ const PackageInstall = struct { progress_.refresh(); Output.prettyErrorln("<r><red>{s}<r>: copying file {s}", .{ @errorName(err), entry.path }); - Output.flush(); Global.exit(1); }; }; @@ -1317,7 +1315,6 @@ pub const PackageManager = struct { return std.fs.cwd().makeOpenPath("node_modules/.cache", .{ .iterate = true }) catch |err| { Output.prettyErrorln("<r><red>error<r>: bun is unable to write files: {s}", .{@errorName(err)}); - Output.flush(); Global.crash(); }; } @@ -1339,7 +1336,6 @@ pub const PackageManager = struct { tried_dot_tmp = true; break :brk cache_directory.makeOpenPath(".tmp", .{ .iterate = true }) catch |err| { Output.prettyErrorln("<r><red>error<r>: bun is unable to access tempdir: {s}", .{@errorName(err)}); - Output.flush(); Global.crash(); }; }; @@ -1353,7 +1349,6 @@ pub const PackageManager = struct { tempdir = cache_directory.makeOpenPath(".tmp", .{ .iterate = true }) catch |err| { Output.prettyErrorln("<r><red>error<r>: bun is unable to access tempdir: {s}", .{@errorName(err)}); - Output.flush(); Global.crash(); }; continue :brk; @@ -1361,7 +1356,6 @@ pub const PackageManager = struct { Output.prettyErrorln("<r><red>error<r>: {s} accessing temporary directory. Please set <b>$BUN_TMPDIR<r> or <b>$BUN_INSTALL<r>", .{ @errorName(err2), }); - Output.flush(); Global.crash(); }; @@ -1370,7 +1364,6 @@ pub const PackageManager = struct { tried_dot_tmp = true; tempdir = cache_directory.makeOpenPath(".tmp", .{ .iterate = true }) catch |err2| { Output.prettyErrorln("<r><red>error<r>: bun is unable to write files to tempdir: {s}", .{@errorName(err2)}); - Output.flush(); Global.crash(); }; continue :brk; @@ -1379,7 +1372,6 @@ pub const PackageManager = struct { Output.prettyErrorln("<r><red>error<r>: {s} accessing temporary directory. Please set <b>$BUN_TMPDIR<r> or <b>$BUN_INSTALL<r>", .{ @errorName(err), }); - Output.flush(); Global.crash(); }; cache_directory.deleteFileZ(tmpname) catch {}; @@ -1798,7 +1790,6 @@ pub const PackageManager = struct { tmpfile.create(&FileSystem.instance.fs, tmpname) catch |err| { Output.prettyErrorln("<r><red>error:<r> failed to create tmpfile: {s}", .{@errorName(err)}); - Output.flush(); Global.crash(); }; @@ -3418,7 +3409,6 @@ pub const PackageManager = struct { clap.help(Output.writer(), params) catch {}; - Output.flush(); Global.exit(0); } @@ -3456,7 +3446,6 @@ pub const PackageManager = struct { // cli.omit.peer = true; // } else { // Output.prettyErrorln("<b>error<r><d>:<r> Invalid argument <b>\"--omit\"<r> must be one of <cyan>\"dev\"<r>, <cyan>\"optional\"<r>, or <cyan>\"peer\"<r>. ", .{}); - // Output.flush(); // Global.exit(1); // } // } @@ -3566,7 +3555,6 @@ pub const PackageManager = struct { @tagName(op), }); } - Output.flush(); Global.exit(1); } @@ -3589,7 +3577,6 @@ pub const PackageManager = struct { @tagName(op), }); } - Output.flush(); Global.exit(1); } @@ -3706,7 +3693,6 @@ pub const PackageManager = struct { \\ , .{}); } - Output.flush(); Global.exit(0); }, .remove => { @@ -3765,7 +3751,6 @@ pub const PackageManager = struct { } } - Output.flush(); Global.crash(); } @@ -3797,12 +3782,10 @@ pub const PackageManager = struct { if (op == .remove) { if (current_package_json.data != .e_object) { Output.prettyErrorln("<red>error<r><d>:<r> package.json is not an Object {{}}, so there's nothing to remove!", .{}); - Output.flush(); Global.exit(1); return; } else if (current_package_json.data.e_object.properties.len == 0) { Output.prettyErrorln("<red>error<r><d>:<r> package.json is empty {{}}, so there's nothing to remove!", .{}); - Output.flush(); Global.exit(1); return; } else if (current_package_json.asProperty("devDependencies") == null and @@ -3811,7 +3794,6 @@ pub const PackageManager = struct { current_package_json.asProperty("peerDependencies") == null) { Output.prettyErrorln("package.json doesn't have dependencies, there's nothing to remove!", .{}); - Output.flush(); Global.exit(0); return; } @@ -3875,7 +3857,6 @@ pub const PackageManager = struct { if (!any_changes) { Output.prettyErrorln("\n<red>error<r><d>:<r> \"<b>{s}<r>\" is not in a package.json file", .{updates[0].name}); - Output.flush(); Global.exit(1); return; } @@ -3927,7 +3908,6 @@ pub const PackageManager = struct { // so we can commit the version we changed from the lockfile current_package_json = json_parser.ParseJSONUTF8(&source, ctx.log, manager.allocator) catch |err| { Output.prettyErrorln("<red>error<r><d>:<r> package.json failed to parse due to error {s}", .{@errorName(err)}); - Output.flush(); Global.exit(1); return; }; @@ -4315,12 +4295,10 @@ pub const PackageManager = struct { skip_verify = true; std.fs.cwd().makeDirZ("node_modules") catch |err| { Output.prettyErrorln("<r><red>error<r>: <b><red>{s}<r> creating <b>node_modules<r> folder", .{@errorName(err)}); - Output.flush(); Global.crash(); }; break :brk std.fs.cwd().openDirZ("node_modules", .{ .iterate = true }) catch |err| { Output.prettyErrorln("<r><red>error<r>: <b><red>{s}<r> opening <b>node_modules<r> folder", .{@errorName(err)}); - Output.flush(); Global.crash(); }; }; @@ -4814,7 +4792,6 @@ pub const PackageManager = struct { } if (manager.log.errors > 0) { - Output.flush(); Global.exit(1); } diff --git a/src/install/lockfile.zig b/src/install/lockfile.zig index bbddf8f70..e3b1b2345 100644 --- a/src/install/lockfile.zig +++ b/src/install/lockfile.zig @@ -894,7 +894,6 @@ pub const Printer = struct { try log.printForLogLevelWithEnableAnsiColors(Output.errorWriter(), false); } } - Output.flush(); Global.exit(1); return; }, @@ -902,7 +901,6 @@ pub const Printer = struct { Output.prettyErrorln("<r><red>lockfile not found:<r> {s}", .{ std.mem.span(lockfile_path), }); - Output.flush(); Global.exit(1); return; }, @@ -1378,7 +1376,6 @@ pub fn saveToDisk(this: *Lockfile, filename: stringZ) void { if (comptime Environment.allow_assert) { this.verifyData() catch |err| { Output.prettyErrorln("<r><red>error:<r> failed to verify lockfile: {s}", .{@errorName(err)}); - Output.flush(); Global.crash(); }; } @@ -1398,7 +1395,6 @@ pub fn saveToDisk(this: *Lockfile, filename: stringZ) void { tmpfile.create(&FileSystem.instance.fs, tmpname) catch |err| { Output.prettyErrorln("<r><red>error:<r> failed to open lockfile: {s}", .{@errorName(err)}); - Output.flush(); Global.crash(); }; @@ -1407,7 +1403,6 @@ pub fn saveToDisk(this: *Lockfile, filename: stringZ) void { Lockfile.Serializer.save(this, std.fs.File, file) catch |err| { tmpfile.dir().deleteFileZ(tmpname) catch {}; Output.prettyErrorln("<r><red>error:<r> failed to serialize lockfile: {s}", .{@errorName(err)}); - Output.flush(); Global.crash(); }; @@ -1420,7 +1415,6 @@ pub fn saveToDisk(this: *Lockfile, filename: stringZ) void { tmpfile.promote(tmpname, std.fs.cwd().fd, filename) catch |err| { tmpfile.dir().deleteFileZ(tmpname) catch {}; Output.prettyErrorln("<r><red>error:<r> failed to save lockfile: {s}", .{@errorName(err)}); - Output.flush(); Global.crash(); }; } diff --git a/src/report.zig b/src/report.zig index d2ec21703..4def423a8 100644 --- a/src/report.zig +++ b/src/report.zig @@ -295,7 +295,6 @@ pub noinline fn globalError(err: anyerror) noreturn { "\n<r><red>SyntaxError<r><d>:<r> An error occurred while parsing code", .{}, ); - Output.flush(); Global.exit(1); }, error.OutOfMemory => { @@ -304,7 +303,6 @@ pub noinline fn globalError(err: anyerror) noreturn { .{}, ); printMetadata(); - Output.flush(); Global.exit(1); }, error.CurrentWorkingDirectoryUnlinked => { @@ -312,7 +310,6 @@ pub noinline fn globalError(err: anyerror) noreturn { "\n<r><red>error: <r>The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.", .{}, ); - Output.flush(); Global.exit(1); }, error.BundleFailed => { @@ -320,7 +317,6 @@ pub noinline fn globalError(err: anyerror) noreturn { "\n<r><red>BundleFailed<r>", .{}, ); - Output.flush(); Global.exit(1); }, error.InvalidArgument, error.InstallFailed => { @@ -382,11 +378,9 @@ pub noinline fn globalError(err: anyerror) noreturn { } } - Output.flush(); Global.exit(1); }, error.@"Invalid Bunfig" => { - Output.flush(); Global.exit(1); }, error.ProcessFdQuotaExceeded => { @@ -449,7 +443,6 @@ pub noinline fn globalError(err: anyerror) noreturn { } } - Output.flush(); Global.exit(1); }, // The usage of `unreachable` in Zig's std.os may cause the file descriptor problem to show up as other errors @@ -503,7 +496,6 @@ pub noinline fn globalError(err: anyerror) noreturn { ); } - Output.flush(); Global.exit(1); } }, @@ -532,7 +524,6 @@ pub noinline fn globalError(err: anyerror) noreturn { "\n<r><red>error<r><d>:<r> <b>MissingPackageJSON<r>\nbun could not find a package.json file.\n", .{}, ); - Output.flush(); Global.exit(1); }, error.MissingValue => { diff --git a/src/resolver/resolver.zig b/src/resolver/resolver.zig index febfae338..0a49e68a1 100644 --- a/src/resolver/resolver.zig +++ b/src/resolver/resolver.zig @@ -460,7 +460,6 @@ pub const Resolver = struct { switch (err) { error.ModuleNotFound => { Output.prettyErrorln("<r><red>ResolveError<r> can't find framework: <b>\"{s}\"<r>.\n\nMaybe it's not installed? Try running this:\n\n <b>bun add -d {s}<r>\n <b>bun bun --use {s}<r>", .{ package, package, package }); - Output.flush(); Global.exit(1); }, else => { @@ -480,7 +479,6 @@ pub const Resolver = struct { switch (err2) { error.ModuleNotFound => { Output.prettyErrorln("<r><red>ResolveError<r> can't find framework: <b>\"{s}\"<r>.\n\nMaybe it's not installed? Try running this:\n\n <b>bun add -d {s}\n <b>bun bun --use {s}<r>", .{ package, prefixed_name, package }); - Output.flush(); Global.exit(1); }, else => { @@ -500,8 +498,6 @@ pub const Resolver = struct { switch (err) { error.ModuleNotFound => { Output.prettyError("<r><red>ResolveError<r> can't find local framework: <b>\"{s}\"<r>.", .{package}); - - Output.flush(); Global.exit(1); }, else => { |