aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-11 00:20:17 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-11 00:20:42 -0800
commit24a85f8de6430620a493ee784a7617292b4c598f (patch)
tree925f8ad6efe2aac74f26af7c15785b52eb15b96e
parent2432150321d94eae21013d2175a96e557fd207e5 (diff)
downloadbun-24a85f8de6430620a493ee784a7617292b4c598f.tar.gz
bun-24a85f8de6430620a493ee784a7617292b4c598f.tar.zst
bun-24a85f8de6430620a493ee784a7617292b4c598f.zip
Improve error message
-rw-r--r--src/bun.js/javascript.zig16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/bun.js/javascript.zig b/src/bun.js/javascript.zig
index 8a9483736..82d34a986 100644
--- a/src/bun.js/javascript.zig
+++ b/src/bun.js/javascript.zig
@@ -1131,8 +1131,20 @@ pub const VirtualMachine = struct {
pub fn processFetchLog(globalThis: *JSGlobalObject, specifier: ZigString, referrer: ZigString, log: *logger.Log, ret: *ErrorableResolvedSource, err: anyerror) void {
switch (log.msgs.items.len) {
0 => {
- const msg = logger.Msg{
- .data = logger.rangeData(null, logger.Range.None, std.fmt.allocPrint(vm.allocator, "{s} while building {s}", .{ @errorName(err), specifier.slice() }) catch unreachable),
+ const msg: logger.Msg = brk: {
+ if (err == error.UnexpectedPendingResolution) {
+ break :brk logger.Msg{
+ .data = logger.rangeData(
+ null,
+ logger.Range.None,
+ std.fmt.allocPrint(vm.allocator, "Unexpected pending import in \"{s}\". To automatically install npm packages with Bun, please use an import statement instead of require() or dynamic import().\nThis error can also happen if dependencies import packages which are not referenced anywhere. Worst case, run `bun install` and opt-out of the node_modules folder until we come up with a better way to handle this error.", .{specifier.slice()}) catch unreachable,
+ ),
+ };
+ }
+
+ break :brk logger.Msg{
+ .data = logger.rangeData(null, logger.Range.None, std.fmt.allocPrint(vm.allocator, "{s} while building {s}", .{ @errorName(err), specifier.slice() }) catch unreachable),
+ };
};
{
ret.* = ErrorableResolvedSource.err(err, @ptrCast(*anyopaque, BuildError.create(globalThis, vm.bundler.allocator, msg)));