aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar r00ster91 <r00ster91@proton.me> 2022-07-10 15:44:57 +0200
committerGravatar GitHub <noreply@github.com> 2022-07-10 06:44:57 -0700
commit16452c16da4eb0bf7ee1cbd348de06a3d2f12786 (patch)
treeb7ea5b859e399b3207b5a97334164cb265e11510 /src
parent05970fe1fb007383438018b4b526db4ad2f22c86 (diff)
downloadbun-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.zig2
-rw-r--r--src/bun_js.zig2
-rw-r--r--src/bundler.zig1
-rw-r--r--src/cli.zig9
-rw-r--r--src/cli/create_command.zig22
-rw-r--r--src/cli/install_completions_command.zig6
-rw-r--r--src/cli/run_command.zig9
-rw-r--r--src/cli/upgrade_command.zig22
-rw-r--r--src/http.zig2
-rw-r--r--src/http_client_async.zig3
-rw-r--r--src/install/extract_tarball.zig4
-rw-r--r--src/install/install.zig23
-rw-r--r--src/install/lockfile.zig6
-rw-r--r--src/report.zig9
-rw-r--r--src/resolver/resolver.zig4
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 => {